Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when auditing or fixing discoverability metadata for a website before publication, including titles, descriptions, canonical URLs, robots policy, Open Graph, structured data, and sitemaps. Not for content strategy or keyword research.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | -4% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -4% | 0% |
| case-21 | ✗→✓ | ▲ Improved | 24% | 0% |
| case-22 | ✗→✓ | ▲ Improved | 22% | 0% |
| case-13 | ✓→✓ | = Same ✓ | 6% | 0% |
Garnish checks the metadata and indexing controls that surround a site's actual content. It works with the framework and policy already present in the target repository. It does not carry domains, account names, brand values, or fleet conventions from one site into another.
If the request says only "audit", stop after the report. Never turn an indexing review into an unrequested production change.
Before checking tags, find the site's declared policy and public identity:
Project policy wins over generic advice. If the repository does not declare a production domain or indexing policy, report that gap and stop before inventing one.
Walk five stations. Score each 0-5, where 5 is correct and verified, 3 works with material gaps, 1 is mostly absent, and 0 actively blocks discovery.
| # | Station | What to verify | |---|---|---| | 1 | Page identity | One useful title and description per indexable page, one canonical URL, declared language, and no duplicate head tags | | 2 | Social metadata | Open Graph type, title, description, URL, image, and image alt text; platform-specific tags only when project policy requires them | | 3 | Indexing policy | Production robots directives match intent; previews and private environments are not indexed; robots.txt does not contradict page metadata | | 4 | URL inventory | Sitemap exists when the site needs one; sitemap URLs, canonical URLs, redirects, and trailing-slash policy agree | | 5 | Structured and rendered output | Structured data matches visible content and parses; a production build renders the expected tags without duplicates |
Read rendered output when the framework generates metadata at build time. A correct-looking component import is not evidence that each route receives correct values.
For cross-page checks, collect titles, descriptions, canonicals, and indexability across the route set. One page cannot reveal duplicates or contradictory URL forms.
markdown# garnish audit: <site> (<date>) ## Verdict State whether metadata is ready, drifted, or blocking discovery. Name the first fix. ## Scorecard | Station | Score (0-5) | Evidence | ## Findings ### [SEVERITY] Imperative title - **Station:** one of the five stations - **Where:** exact file, route, or rendered page - **What:** the observed mismatch - **Why it matters:** the concrete search, preview, or indexing effect - **Fix:** the smallest action that resolves it - **Effort:** S / M / L ## Not checked List live indexing systems, webmaster consoles, or production responses that were unavailable.
Severity is critical for an unintended production noindex or a canonical that sends an entire site to the wrong host, high for missing or conflicting core metadata, medium for page-level duplication or invalid structured data, and low for presentation polish.
Work the accepted backlog in impact order:
Do not change the production domain, indexing status, redirect policy, analytics identity, or account metadata unless the user explicitly approved that value.
Use check before any readiness claim. Evidence must include the build command and rendered output for the tags or files changed. A source diff alone does not prove what a crawler receives.
Run public prose through plate, including descriptions, social preview copy, robots.txt comments, and public examples.
Stop and ask when:
Other measured skills in the registry, with their headline benchmark lift.