Adds a Content Signals check to geo-crawlers (new Step 6) and geo-ai-visibility (extended Step 3). Both skills already fetch robots.txt — this check scans that existing fetch for the Content-Signal: directive, so no extra HTTP request is needed.
Identified while auditing isitagentready.com, a Cloudflare tool that evaluates agent-layer readiness. It checks for Content Signals; geo-seo-claude did not.
Content Signals (draft-romm-aipref-contentsignals, contentsignals.org) is an IETF draft that lets site owners declare AI usage preferences directly in robots.txt — separate from crawler access rules. The directive looks like:
Content-Signal: ai-train=no, search=yes, ai-retrieval=yes
This tells AI operators what they can and cannot do with the content downstream (train models, surface in search, use for retrieval), while the existing User-agent/Disallow directives control whether crawlers can access the content at all. Most sites have not added this yet.
skills/geo-crawlers/SKILL.md— New Step 6 in the Analysis Procedure: scan robots.txt forContent-Signal:directives. Parse key=value pairs, validate against known keys (ai-train,search,ai-personalization,ai-retrieval) and values (yes/no). Flag unknown keys as warnings (draft is still evolving). Extend output template with a Content Signals section.agents/geo-ai-visibility.md— Extended Step 3 (AI Crawler Access Check) to also parse Content Signals from the already-fetched robots.txt. Non-scoring flag — does not affect the Crawler Access Score.specs/agent-readiness-checks.md— Full spec for this check (and the two HTTP-level checks in a separate PR).tests/agent-readiness-test-results.md— Test results covering Content Signals across 2 sites.
This check is non-scoring. It produces a pass or recommendation, never a deduction. The standard is an IETF draft; penalizing absence would be unfair.
| State | Treatment |
|---|---|
| Present, valid | Pass — report parsed values and plain-English meaning |
| Present, unknown keys or invalid values | Warning — flag specific issues with correction |
| Absent | Recommendation — explain what to add |
| Site | Check | Result | Notes |
|---|---|---|---|
| contentsignals.org | Content Signals | Pass | Content-Signal: directive present with 3 key=value pairs |
| tradewater.co | Content Signals | Recommendation | No Content-Signal: directive; standard WordPress robots.txt |
Notable finding: the spec author's own site (contentsignals.org) uses an unknown key (ai-input=yes). This confirms the draft is still evolving and that flagging unknown keys as warnings (not failures) is the right behavior.
skills/geo-crawlers/SKILL.mdagents/geo-ai-visibility.mdspecs/agent-readiness-checks.mdtests/agent-readiness-test-results.md