Plan an A/B test by script: sample size per variant, days to run, stopping rules. "how many visitors per variant"
日本語の概要は準備中です。原文の説明を表示しています。
Audit agent readiness by script: AI-crawler rules, product schema, no-JS HTML, feeds. "can AI agents use our site"
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Script location. If your host does not set
${CLAUDE_PLUGIN_ROOT}, the scripts are in this plugin'sscripts/folder, next toskills/. Run them with Python 3.10 or newer:python, orpython3wherepythonis not found (macOS, many Linux systems).
Answer one question with evidence: can AI agents and AI crawlers use this site? Concretely, the audit checks five things:
Every check is deterministic and runs in scripts/agent-readiness-audit.py. The skill adds interpretation and the brand's policy decisions on top of the script's output; it never replaces that output with judgment.
From Google's AI optimization guide (last updated 2026-07-10):
| Token | Vendor | Role in the audit | What blocking it means (vendor's words, paraphrased) | Source |
|---|---|---|---|---|
OAI-SearchBot | OpenAI | search: must be allowed | Site not surfaced in ChatGPT search features | OpenAI bots |
ChatGPT-User | OpenAI | user fetch: must be allowed | User-initiated visits. OpenAI: robots.txt "may not apply" to these | same |
OAI-AdsBot | OpenAI | ads: must be allowed if the brand runs ChatGPT Ads | Validates the safety of pages submitted as ChatGPT ads | same |
GPTBot | OpenAI | training: policy | Content excluded from foundation-model training | same |
Claude-SearchBot | Anthropic | search: must be allowed | Content not indexed for Claude's search results | Anthropic |
Claude-User | Anthropic | user fetch: must be allowed | Claude can't retrieve the page for a user's question. Anthropic honors robots.txt for all three of its bots | same |
ClaudeBot | Anthropic | training: policy | Future content excluded from training datasets | same |
PerplexityBot | Perplexity | search: must be allowed | Not surfaced or linked in Perplexity results (Perplexity says it is not used for model training) | Perplexity bots |
Perplexity-User | Perplexity | user fetch: must be allowed | Perplexity says this fetcher "generally ignores robots.txt rules" | same |
Google-Extended | training: policy | Controls use for Gemini training and grounding. It "does not impact a site's inclusion in Google Search nor is it used as a ranking signal", and it has no separate user-agent string | Google crawlers | |
Applebot-Extended | Apple | training: policy | Controls use in Apple foundation-model training. It does not crawl, and pages that disallow it "can still be included in search results" | Apple |
"Policy" means that blocking training crawlers is the brand's choice. The audit reports it as info unless the brand sets --training-policy allow|block, in which case a mismatch fails the check.
All checks run offline on files the user exports. The script fetches over the network only with --fetch.
--robots FILE, or --site URL --fetch. Add --path /products/ (repeatable) to test the paths that matter, beyond /.--html FILE (repeatable). Save it as the server sends it, for example with curl -L URL > page.html, not "Save as" from a browser, which saves the post-JavaScript DOM. Add --expect "Product name" (repeatable) for text that must be in that HTML, such as a product name or price.--feed FILE (TSV, CSV, or RSS/Atom XML with g: attributes).--acp-feed FILE. Accepts the JSONL "OpenAI format" or the Google-compatible CSV/TSV (spec).--webmcp.--training-policy either|allow|block. The default, either, reports training-crawler rules without judging them.Load brand context. Read ~/.claude-marketing/brands/_active-brand.json, then ~/.claude-marketing/brands/{slug}/profile.json.
--training-policy).Collect inputs. Ask for exports first. If the user only has a URL, confirm they want a live fetch before using --fetch.
Run the audit.
python "${CLAUDE_PLUGIN_ROOT}/scripts/agent-readiness-audit.py" \
--robots robots.txt --path /products/ \
--html home.html --html product.html --expect "Acme Anvil" \
--feed products.tsv --acp-feed openai-feed.jsonl --webmcp \
--training-policy either --format json > "${CLAUDE_PLUGIN_DATA}/{brand}/seo/agent-readiness/{date}/02-audit.json"
Live variant, used only when the user agreed to network access:
python "${CLAUDE_PLUGIN_ROOT}/scripts/agent-readiness-audit.py" --site https://example.com --fetch \
--page https://example.com/products/anvil --format json
Exit codes:
0: no check failed (warnings allowed)1: at least one check failed2: bad input (nothing to audit, a missing or unparseable file, a bad flag)On 2, fix the input and re-run. Do not interpret a partial run.
Interpret each check. Report the script's status per check: pass, warn, fail, info or skipped.
offers is a warn, because merchant-listing rich results require name, image and offers (Google)--min-text, default 250 characters), when an app-shell root (#root, #__next, #app, ...) holds little text, or when an --expect phrase is missing from the server HTML.<html lang>, images without alt, unlabelled inputs, and unnamed buttons.id, title, description, link, image_link, availability, price (product data spec)availability value is outside in_stock, out_of_stock, preorder, backordernative_commerce(checkout_eligibility) value is not TRUE/FALSEnative_commerce: report how many products opt into checkout on Google. Only listings with native_commerce(checkout_eligibility) = TRUE show the "Buy" button. The feature is for select merchants, with products eligible in the US, Canada and Australia (Merchant Center help; UCP guide). The account-level return policy and customer-support contact can't be checked from a feed, so list them as manual checks.question_and_answer, document_link, related_product, item_group_title, variant_option, popularity_rank) are optional (help). Report their coverage; never fail on them.is_eligible_search / is_eligible_checkout counts.info. WebMCP is a Chrome origin trial (from Chrome 149) and "under active discussion and subject to change" (Chrome docs). Report the declarative toolname / tooldescription forms and the inline registerTool calls found. Recommend nothing beyond "optional experiment".Decide policy questions with the user, not for them. Two are the brand's call: whether to block training crawlers, and whether to opt products into checkout on Google. Present the trade-off and the source.
Prioritize fixes. Use the script's recommendations array as the backbone.
/digital-marketing-pro:tech-seo-audit, markup to /digital-marketing-pro:entity-audit, and visibility follow-up to /digital-marketing-pro:aeo-geo.All outputs go to ${CLAUDE_PLUGIN_DATA}/{brand}/seo/agent-readiness/{YYYY-MM-DD}/:
00-input.md domain, which exports were supplied, fetch yes/no, training policy
01-inputs/ the robots.txt, HTML and feed files actually audited (for reproducibility)
02-audit.json raw script output
03-findings.md per-check status, findings, sources (with the 2026-10-04 check date)
04-policy-decisions.md training-crawler stance, checkout opt-in decision — with rationale
05-fix-plan.md prioritized fixes with owners and the skill each routes to
PLAN.md one-page summary: verdict, top 3 fixes, re-audit date
| Gate | Pass when |
|---|---|
| script_ran_clean | Exit code 0 or 1 (never 2). A 2 means the inputs were wrong, not the site |
| inputs_are_server_html | 00-input.md states the HTML was captured as served (curl or --fetch), not from a browser's saved DOM |
| sources_cited | Every finding in 03-findings.md carries the source URL from the script output or this skill |
| policy_explicit | 04-policy-decisions.md records the training-crawler stance and checkout opt-in as the brand's decisions |
| no_llms_txt_for_google | Nothing in the deliverable recommends llms.txt as a Google visibility lever |
ready (no warnings or failures), needs_work (warnings only), or not_ready (any failure). Experimental and skipped checks do not count.allowed / partially_blocked / blocked per tested path, the deciding robots rule, and the vendor's caveat./digital-marketing-pro:tech-seo-audit for that./digital-marketing-pro:geo-monitor (probes plus Bing Webmaster AI Performance) and /digital-marketing-pro:gsc-ai-performance.--fetch, a 4xx robots.txt means allow-all, and a 5xx or network error means every crawler must assume complete disallow (RFC 9309). The first finding says so; if the cause was your own network rather than the site, re-run.skills/paid-advertising/ads-in-ai-answers.md)/digital-marketing-pro:tech-seo-audit: full technical crawl and rendering/digital-marketing-pro:entity-audit: Organization and entity consistency/digital-marketing-pro:aeo-geo: optimizing for AI answers once agents can read the site/digital-marketing-pro:geo-monitor: whether AI answers actually cite the brandまだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Plan an A/B test by script: sample size per variant, days to run, stopping rules. "how many visitors per variant"
日本語の概要は準備中です。原文の説明を表示しています。
Write ad copy variants to each platform's specs, policy-checked and in brand voice. "write ad copy for Meta"
日本語の概要は準備中です。原文の説明を表示しています。
Add a custom MCP integration: scaffold the server, write .mcp.json, test it. "add a new MCP server"
日本語の概要は準備中です。原文の説明を表示しています。
Run a one-time AEO audit of six AI answer engines, scored per surface. "check our AI search visibility"
日本語の概要は準備中です。原文の説明を表示しています。
Plan AEO/GEO strategy to get cited by AI: content, entities, schema, 90-day plan. "how do we get cited by AI"
日本語の概要は準備中です。原文の説明を表示しています。
Build the agency dashboard across all client brands: health, pacing, risk. "how are all our clients doing"
日本語の概要は準備中です。原文の説明を表示しています。