⏳ This skill is pending AI review.
Scores will appear once the review pipeline completes.
seo-scan
>-
Choose how to use this skill
You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.
1. Native installer
This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.
Do not guess an installer command or replace an existing version without reviewing the diff.
2. Complete package recommended
Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.
No complete ProSkills package is published for this listing yet.3. Prompt-only
Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.
Need only the instruction file?
Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.
No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.
// RATINGS
Not yet listed on ClawHub or SkillsMP
// README
Narwhal scans a web page or whole site for SEO and GEO/LLMO (visibility in
AI answer engines) and hands back a prioritized, fix-first report. It ships as
an agent skill: use it from Claude Code via
SKILL.md, or from any agent that reads
AGENTS.md — Codex, Cursor, OpenCode, and friends.
No accounts, no API keys, nothing phones home. It runs on a bare Python install and gets sharper when optional parsing/rendering libraries are present.
Why "Narwhal"?
The narwhal is the perfect mascot for a search-and-AI-visibility tool:
- The tusk is a sensor, not a weapon. A narwhal's tusk is packed with millions of nerve endings that read tiny changes in the water around it. Narwhal the tool does the same for a page — it senses the subtle, easy-to-miss signals (meta, canonical, schema, passage citability, crawler access) that decide whether you're seen.
- It navigates dark, opaque water. Narwhals thrive in deep, ice-covered Arctic seas using sound, surfacing where nothing else can. Modern search and AI answer engines are exactly that kind of murky water — Narwhal helps you navigate it.
- The "unicorn of the sea." Rare and unmistakable. That's the whole goal of SEO and GEO: to be the distinctive result that ranks and gets cited by AI, not one of the anonymous many.
- It dives deep. Deep audits, not surface-level checks.
And yes, it works as a backronym too: Navigate AI Rankings, Web Health And LLM-visibility.
What it checks
| Area | Highlights |
|---|---|
| Technical SEO | title/meta, headings, canonical, robots directives, viewport/mobile, hreflang, images, links, HTTP hygiene, robots.txt, sitemap |
| Content & E-E-A-T | thin-content detection, readability, author/date signals, Open Graph / Twitter cards |
| Structured data | JSON-LD + Microdata + bounded schema.org RDFa detection, required/recommended property validation, merchant checks, source-backed Google feature-retirement notes, JSON-LD generation |
| E-commerce | evidence-gated Product detection; Product/Offer/AggregateOffer completeness; variants; expired prices; visible-vs-schema price, currency, availability, SKU, and brand consistency |
| GEO / LLMO | question-based headings, citable passage structure, evidence density, direct-answer intros, llms.txt, and AI-crawler access (GPTBot, ClaudeBot, PerplexityBot, Google-Extended…) |
| Search performance (opt-in) | real Google Search Console query data: striking-distance queries, CTR laggards, decaying pages, keyword cannibalization |
| Site structure | click depth from the start URL, orphan-page candidates (sitemap vs crawl), internal-link equity (zero-inbound + most-linked pages) — sample-aware honesty built in |
| Competitor gaps | narwhal compare <you> <rival…>: same auditors on every page, then a gap analysis — schema types, meta strategy, depth, structure, evidence, social packaging (local-first; on-page facts only) |
| Content briefs | narwhal brief <you> <rival…>: a data-driven writing plan — your page's real striking-distance GSC queries + competitor gaps, missing subtopics, questions to answer, schema and structure targets. No keyword APIs; without GSC it's a clearly labeled structure-only brief |
Multi-agent deep audit
/narwhal audit <site> (in Claude Code) is more than a script — it's a
parallel, multi-agent audit:
- Runs the deterministic baseline (
audit.py) for fast, reproducible hard data (homepage + site crawl + sitemap, per-area subscores, broken links, duplicates). - Fans out ~10 specialist subagents in parallel — technical, content, schema, geo, performance, links, duplication, sitemap, sxo (+ local or e-commerce when relevant). Each runs the deterministic scripts as its tools, then adds expert reasoning and exact fixes for its domain.
- Synthesizes one report: an SEO Health Score, executive summary, prioritized action plan (Critical → Low), and quick wins.
The scripts do the measurement (fast, zero-dep, reproducible); the agents do the
reasoning (business context, what heuristics miss, concrete fixes). Specialist
definitions live in agents/. The other actions (scan, crawl,
sitemap, llms, schema) run directly for quick, deterministic output.
Fix it, don't just report it
The audit finds; /narwhal fix <site> closes the loop. When the site's
source code is in your working directory, it maps each finding to the file that
owns it (title/meta, canonical, Open Graph, JSON-LD, alt text, robots.txt,
llms.txt…), applies minimal framework-idiomatic edits, then re-scans and
diffs to prove the score moved — resolved findings and the delta, from
diff_scan.py, not vibes.
It's honest about what a local re-scan can verify: page-level fixes check out against a local preview; site-level signals (robots.txt, sitemap, HTTPS) are labeled verify after deploy. If the source isn't in the workspace, it makes no edits and hands you a per-finding fix plan instead. A SaaS auditor emits a PDF — Narwhal emits a diff.
Before editing, narwhal plan before.json --repo . produces a versioned,
read-only remediation contract. It detects plain HTML, Next.js, Astro, Nuxt,
Hugo, or Jekyll; maps stable finding IDs to likely route/layout/static owners;
groups shared-template fixes; flags policy conflicts; and separates safe,
review-required, external, and post-deploy work. Use --format json for agents
or the concise Markdown default for humans. It proposes work but never edits.
See the remediation-plan contract.
Real search data (Google Search Console, opt-in)
Audits guess at priority from severity; your own query data removes the
guessing. narwhal gsc <site> pulls Search Analytics rows for your verified
property and answers "which page do I fix first":
- Striking distance — queries sitting at positions 8–20 with real impressions: the "push to page 1" list.
- CTR laggards — top-10 rankings whose CTR is far below the expected curve for that position: title/meta rewrite candidates.
- Decaying pages — clicks down ≥25% versus the previous period.
- Keyword cannibalization — several of your pages splitting one query (cross-check with the audit's near-duplicate clusters).
Add --gsc to narwhal audit and the same data lands in the report + JSON, so
/narwhal audit prioritizes by real queries instead of severity guesswork,
and /narwhal fix fixes the p
// HOW IT'S BUILT
KEY FILES