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"
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.