cd /news/ai-tools/i-made-a-claude-code-skill-to-check-… Β· home β€Ί topics β€Ί ai-tools β€Ί article
[ARTICLE Β· art-40430] src=github.com β†— pub= topic=ai-tools verified=true sentiment=Β· neutral

I made a Claude Code skill to check if AI crawlers can read your site

A developer released a Claude Code skill that diagnoses whether websites are visible to AI crawlers like ClaudeBot, GPTBot, and PerplexityBot, which do not run JavaScript. The tool fetches pages as raw HTML, reports verdicts of visible, partial, or invisible, and provides framework-specific fixes. It aims to help sites that rank on Google but remain invisible in AI search results due to client-side rendering.

read4 min views1 publishedJun 26, 2026
I made a Claude Code skill to check if AI crawlers can read your site
Image: source

A Claude Code skill that tells you whether your website is actually visible to AI search β€” and exactly how to fix it if it isn't.

ChatGPT Search, Claude, and Perplexity are sending people to websites now. But the crawlers that feed them β€” ClaudeBot, GPTBot, PerplexityBot, Bytespider, Meta-ExternalAgent β€” do not run JavaScript. They read only the raw HTML your server returns.

Google's renderer has handled JavaScript for years, so a client-rendered site (React, Vite, Vue, Svelte, any SPA) can rank perfectly fine on Google and still be completely invisible in AI answers.

If you've ever thought "we get Google traffic but nothing from AI" β€” or you shipped a slick vibe-coded SPA and you're nowhere in ChatGPT β€” this is almost always why.

This skill fetches your page(s) the same way a non-JS crawler does β€” raw HTML, no browser β€” and reports, per page, whether your real content and key signals (title

, meta description, canonical, Open Graph, JSON-LD, crawlable links) are actually present.

Then it prescribes a concrete, framework-specific fix. Not "consider SSR" β€” the exact tool, config change, and one-line way to verify it worked.

Every page gets one of three verdicts:

Verdict What it means
βœ… VISIBLE
Real content is in the raw HTML. The crawler can read you.
PARTIAL
Only a fraction is in raw HTML; the main body is JS-rendered.
❌ INVISIBLE
The crawler gets an empty shell (<div id="root"></div> ). Nothing useful is there.

It diagnoses and prescribes. It does not write marketing copy, do keyword research, or chase backlinks.

This is a Claude Code Agent Skill. Drop the folder into your skills directory and Claude Code picks it up automatically.

Personal (available in every project):

git clone https://github.com/<merqrylabs>/ai-crawler-visibility.git \
  ~/.claude/skills/ai-crawler-visibility

Project-scoped (just this repo):

git clone https://github.com/<merqrylabs>/ai-crawler-visibility.git \
  ./.claude/skills/ai-crawler-visibility

That's it. No npm install, no API keys, no third-party packages β€” the analyzer runs on plain Python 3.

Check the official

[Agent Skills docs]for the canonical skills path if your setup differs.

Just talk to Claude Code in natural language. The skill triggers on its own when you ask the kind of question it's built for:

"Why isn't my site showing up in ChatGPT?""Is my new site visible to AI search engines?""I added JSON-LD but rich results still aren't showing."

You can also run the bundled analyzer directly:

python3 scripts/check_visibility.py https://thesite.com

python3 scripts/check_visibility.py https://thesite.com https://thesite.com/pricing

python3 scripts/check_visibility.py --sitemap https://thesite.com/sitemap.xml --limit 10

Add --json

to process results programmatically.

⚠️ Always check yourproductionURL, notlocalhost

β€” local dev servers don't reflect how the deployed site is served to crawlers.


## Verdict
https://thesite.com         β€” INVISIBLE
https://thesite.com/pricing β€” INVISIBLE

## What the crawler actually sees
/ : 0 visible words. Missing from raw HTML: meta description,
    canonical, Open Graph, JSON-LD, crawlable links.

## Fixes (highest impact first)
[Concrete, framework-specific steps β€” each with how to verify]

## How to confirm the fix
View Page Source (not Inspect) and confirm your headline text
and JSON-LD appear in the raw HTML.

This skill tells you what's broken and what the fix is. If you'd rather not hand-implement prerendering and static JSON-LD injection yourself, the companion AI Crawler Fixer pack does it for you:

  • Injects static SEO + JSON-LD straight into index.html

  • Sets up post-build prerendering so real content lands in the raw HTML

  • Works through approval gates so nothing touches your codebase without your sign-off

  • Re-runs the diagnosis after to prove the fix landed

πŸ‘‰ **[Get the AI Crawler Fixer pack β†’] https://novae8.gumroad.com/l/AICrawlerFixer

Diagnosis is free and always will be. The Fixer is for when you want the problem gone today.

The User-Agent isn't what makes a page invisible β€” not executing JavaScript is.(The script still sends a real bot UA as a second request to detect server-side prerendering.)** JSON-LD injected by JavaScript is invisibleto non-rendering crawlers. It has to be in the raw HTML. Hydration is fine.It attaches handlers to already-rendered HTML, so the content's already there. Pure client-side rendering (CSR) is the problem."View Page Source"** shows raw HTML (what the crawler sees)."Inspect" shows the rendered DOM (what it doesnotsee). Always verify with View Page Source.

MIT β€” use it, fork it, ship it.

Built by Novae Systems β€” websites, AI automation, and SEO for local businesses.

Novae builds. Systems flow.

── more in #ai-tools 4 stories Β· sorted by recency
── more on @claude code 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/i-made-a-claude-code…] indexed:0 read:4min 2026-06-26 Β· β€”