ab-test-plan
Design a statistically rigorous A/B or multivariate test plan — If/Then/Because hypothesis,…
Audit whether AI agents and AI crawlers can actually use a site — robots.txt rules per AI crawler token (OpenAI, Anthropic and Perplexity bots, Google-Extended, Applebot-Extended), Product/Offer/Organization/FAQ JSON-LD, whether main content is in the no-JavaScript server HTML,
$ npx -y skills add indranilbanerjee/digital-marketing-pro --skill agent-readiness-audit --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/agent-readiness-auditContext preview
The summary Claude sees to decide when to auto-load this skill.
Audit whether AI agents and AI crawlers can actually use a site — robots.txt rules per AI crawler token (OpenAI, Anthropic and Perplexity bots, Google-Extended, Applebot-Extended), Product/Offer/Organization/FAQ JSON-LD, whether main content is in the no-JavaScript server HTML,
name: agent-readiness-audit description: "Audit whether AI agents and AI crawlers can actually use a site — robots.txt rules per AI crawler token (OpenAI, Anthropic and Perplexity bots, Google-Extended, Applebot-Extended), Product/Offer/Organization/FAQ JSON-LD, whether main content is in the no-JavaScript server HTML, Merchant Center feed completeness incl. native_commerce checkout eligibility and conversational attributes, an optional agentic-commerce feed, and an optional experimental WebMCP check. Triggers on \"/digital-marketing-pro:agent-readiness-audit\", \"can AI agents use our site\", \"are we blocking GPTBot or ClaudeBot\", \"is our product feed ready for AI Mode shopping\", \"run an agent-readiness check\". Runs agent-readiness-audit.py offline on exports (network only with --fetch) and never recommends llms.txt for Google." argument-hint: "[site URL, or paths to robots.txt / HTML / feed exports]"
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](https://developers.google.com/search/docs/fundamentals/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](https://developers.openai.com/api/docs/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](https://support.claude.com/en/articles/8896518) | | `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](https://docs.perplexity.ai/guides/bots) | | `Perplexity-User` | Perplexity | user fetch: **must be allowed** | Perplexity says this fetcher "generally ignores robots.txt rules" | same | | `Google-Extended` | Google | 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](https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-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](https://support.apple.com/en-us/119829) |
"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`.
Your agency just signed a 50-brand client. The previous agency left no playbook. Three brands are bleeding budget, two have stale positioning, one is launching in a regulated jurisdiction next month. Where do you start?
Repo: indranilbanerjee/digital-marketing-pro
Design a statistically rigorous A/B or multivariate test plan — If/Then/Because hypothesis,…
Generate 3-5 ad copy variations per platform — headlines, descriptions, and CTAs formatted to…
Walk through adding a custom MCP server integration to the plugin — searches npm for an…
Audit how a brand appears across the 6 canonical AI answer surfaces — ChatGPT, Perplexity,…
Strategy module for Answer Engine / Generative Engine Optimization — audits AI visibility,…
Generate a portfolio-level dashboard across ALL client brands — per-client RAG health scores,…