Skip to main content
Glama

talon_scan

Read-only

Run deterministic design audits on a page: color palette, spacing grid, type scale, heading structure, motion safety, and geometry. Each finding cites the governing principle.

Instructions

Run Raven's deterministic detector engine over a page — no LLM, pure measurement. Covers color-system discipline (palette budget, near-duplicate hex, hue diversity), spacing-grid conformance (base-unit, scale count), type-scale/rhythm (size count, body line-height, measure, font-family budget), heading/landmark structure, motion-duration/easing sanity (flashing-animation risk, prefers-reduced-motion coverage), and orphan-stretch/horizontal-overflow geometry. Pass html, url (rendered headless), or pre-measured elements+viewport (the same DevTools-snippet shape audit_layout takes — required for the two geometry rules). Every finding cites the src/data/principles/*.json entry it derives from. Pass project (and profile) to resolve a saved taste surface binding (see bind_taste_surface) — a finding the binding silences via an 'off' override is still returned, flagged waived_by_taste:true, never dropped.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoLive URL — rendered headless with scroll-settle.
htmlNoFull HTML/CSS of the page to scan.
profileNoTaste profile name to resolve project's binding against (see list_taste_profiles). Only used when project or url is also given.
projectNoProject identifier — resolves a saved surface binding (see bind_taste_surface) whose overrides can waive specific TAL-### rules. Requires profile.
surfaceNoWhat surface is being scanned — activates/skips scope-tagged rules by token match. Omit if unsure.
elementsNoPre-measured element rects (DevTools-snippet shape from audit_layout) — enables the geometry rules (orphan-stretch, horizontal-overflow).
viewportNoViewport used for the horizontal-overflow geometry check.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description adds rich behavioral details: it runs headless, is deterministic, uses cited principles, and flags waived findings with waived_by_taste:true. This goes beyond the annotations significantly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is information-dense and front-loads the core purpose, but is presented as a single lengthy paragraph. Breaking it into bullet points or sections would improve readability and conciseness for an AI agent parsing the definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, nested objects, no output schema), the description adequately covers input variations, behavioral aspects, output characteristics (citation, waiver flag), and relations to sibling tools like audit_layout and bind_taste_surface. It provides sufficient context for correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although the input schema covers 100% of parameters with descriptions, the tool description adds crucial context: how url/html/elements are processed, that elements+viewport enable geometry rules, and how project/profile interact with taste binding. This enriches the agent's understanding beyond the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Run Raven's deterministic detector engine over a page — no LLM, pure measurement.' It specifies the verb 'run' and resource 'detector engine over a page', and distinguishes from siblings by emphasizing deterministic, rule-based scanning without LLM, contrasting with LLM-based evaluation tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description provides usage context by listing acceptable inputs (html, url, pre-measured elements+viewport) and mentions optional parameters (project, profile, surface). However, it lacks explicit guidance on when to prefer this tool over sibling audit tools like audit_layout or audit_consistency, and does not state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rhinocap/raven-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server