Umfangreiche Erweiterung der Skill-Bibliothek: Neue Skills für Humanisierung (Englisch/PT-BR), Design-Validierung, AI-SEO und Coolify-Deployment inkl. Regelwerke, Presets, Pattern-Referenzen, Testfälle und Automatisierungsskripte. Zusätzliche Skills für Revenue-Centric Design, Pier Cloud, OKF, Lebenslauf- und LinkedIn-Optimierung sowie zahlreiche Referenzdateien, Checklisten und YAML/JSON/Markdown-Templates. Einführung einer vollständigen OpenWiki-Dokumentation mit Architektur-, Domain- und Workflow-Beschreibungen, zentralem Index und automatisierten Updates. Modularer Aufbau, restriktive Lizenzen und umfassende Qualitäts- und Evaluationsmechanismen für alle neuen Inhalte.
339 lines
11 KiB
Markdown
339 lines
11 KiB
Markdown
# 🤖 Agent Ready — Cloudflare Scanner Skill
|
||
|
||
Scan any website for AI agent readiness and get actionable fix prompts — powered by [isitagentready.com](https://isitagentready.com).
|
||
|
||
This skill wraps the Cloudflare "Is It Agent Ready?" scanner into a reusable agent skill with full API documentation, 20 implementation sub-skills, and copy-paste prompts for every failing check.
|
||
|
||
---
|
||
|
||
## What It Does
|
||
|
||
Give it a domain. It scans 18 checks across 5 categories and tells you:
|
||
|
||
- **What level** your site is at (0–5)
|
||
- **What's passing** and what's failing
|
||
- **How to fix** every failure — with a prompt you can paste into any coding agent
|
||
- **What to prioritize** to reach the next level
|
||
|
||
```
|
||
You: "Scan example.com for agent readiness"
|
||
|
||
Agent: Scans via API → generates Markdown report → includes fix prompts for every failure
|
||
```
|
||
|
||
---
|
||
|
||
## Quick Start
|
||
|
||
### 1. Scan a single domain
|
||
|
||
```bash
|
||
curl -s -X POST 'https://isitagentready.com/api/scan' \
|
||
-H 'Content-Type: application/json' \
|
||
-H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36' \
|
||
-H 'Referer: https://isitagentready.com/' \
|
||
-H 'Origin: https://isitagentready.com' \
|
||
-d '{"url":"https://example.com/"}'
|
||
```
|
||
|
||
### 2. Get a markdown report (for LLMs)
|
||
|
||
```bash
|
||
curl -s -X POST 'https://isitagentready.com/api/scan' \
|
||
-H 'Content-Type: application/json' \
|
||
-H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36' \
|
||
-H 'Referer: https://isitagentready.com/' \
|
||
-H 'Origin: https://isitagentready.com' \
|
||
-d '{"url":"https://example.com/","format":"agent"}'
|
||
```
|
||
|
||
### 3. Use the MCP server
|
||
|
||
Connect your agent to the MCP endpoint:
|
||
|
||
```
|
||
https://isitagentready.com/mcp
|
||
```
|
||
|
||
Call the `scan_site` tool with `{"url": "https://example.com"}`.
|
||
|
||
---
|
||
|
||
## The 18 Checks
|
||
|
||
### Discoverability
|
||
|
||
| # | Check | What passes |
|
||
|---|-------|-------------|
|
||
| 1 | **robots.txt** | `/robots.txt` returns 200 with `text/plain` and `User-agent` directives |
|
||
| 2 | **sitemap.xml** | `/sitemap.xml` returns valid XML, or `Sitemap:` directive in robots.txt |
|
||
| 3 | **Link headers** | Homepage `Link` headers include agent-useful relations (`api-catalog`, `service-desc`, etc.) |
|
||
|
||
### Content
|
||
|
||
| # | Check | What passes |
|
||
|---|-------|-------------|
|
||
| 4 | **Markdown for Agents** | `Accept: text/markdown` → response with `Content-Type: text/markdown` |
|
||
|
||
### Bot Access Control
|
||
|
||
| # | Check | What passes |
|
||
|---|-------|-------------|
|
||
| 5 | **AI bot rules** | robots.txt has `User-agent` entries for GPTBot, Claude-Web, Google-Extended, etc. |
|
||
| 6 | **Content Signals** | robots.txt has `Content-Signal:` directives (ai-train, search, ai-input) |
|
||
| 7 | **Web Bot Auth** | `/.well-known/http-message-signatures-directory` with valid JWKS *(informational)* |
|
||
|
||
### API, Auth, MCP & Skill Discovery
|
||
|
||
| # | Check | What passes |
|
||
|---|-------|-------------|
|
||
| 8 | **API Catalog** | `/.well-known/api-catalog` returns `application/linkset+json` (RFC 9727) |
|
||
| 9 | **OAuth/OIDC** | `/.well-known/openid-configuration` or `oauth-authorization-server` with valid metadata |
|
||
| 10 | **OAuth Protected Resource** | `/.well-known/oauth-protected-resource` with `resource` + `authorization_servers` (RFC 9728) |
|
||
| 11 | **MCP Server Card** | `/.well-known/mcp/server-card.json` with `serverInfo`, transport, capabilities (SEP-1649) |
|
||
| 12 | **A2A Agent Card** | `/.well-known/agent-card.json` with name, version, supportedInterfaces |
|
||
| 13 | **Agent Skills Index** | `/.well-known/agent-skills/index.json` with skills array (v0.2.0) |
|
||
| 14 | **WebMCP** | Page calls `navigator.modelContext.provideContext()` with tool definitions |
|
||
|
||
### Commerce *(optional — scored only for e-commerce sites)*
|
||
|
||
| # | Check | What passes |
|
||
|---|-------|-------------|
|
||
| 15 | **x402** | API routes return HTTP 402 with x402 payment headers |
|
||
| 16 | **UCP** | `/.well-known/ucp` with protocol_version and services |
|
||
| 17 | **ACP** | `/.well-known/acp.json` with protocol metadata |
|
||
| 18 | **AP2** | A2A Agent Card includes AP2 extension with role |
|
||
|
||
---
|
||
|
||
## Level System
|
||
|
||
```
|
||
Level 0 Not Ready — Fails basic checks
|
||
Level 1 Basic Web Presence — 2 of 3: robots.txt, sitemap, link headers
|
||
Level 2 Bot-Aware — Level 1 + AI bot rules + Content Signals
|
||
Level 3 Agent-Readable — Level 2 + markdown content negotiation
|
||
Level 4 Agent-Integrated — Level 3 + 1 of: MCP card, A2A card, agent skills, API catalog
|
||
Level 5 Agent-Native — Level 4 + 2 of: Web Bot Auth, all integrations, auth metadata
|
||
```
|
||
|
||
---
|
||
|
||
## Example Output
|
||
|
||
Scanning a site at Level 1 produces a report like:
|
||
|
||
```markdown
|
||
# Agent Ready Scan — example.com
|
||
|
||
> **Score:** Level 1 — Basic Web Presence
|
||
> **Scanned:** 2026-04-18T13:10:58Z
|
||
> **Link:** [View online](https://isitagentready.com/example.com)
|
||
|
||
## Summary
|
||
|
||
| Category | Score |
|
||
|-----------------------------------|-------|
|
||
| Discoverability | 2/3 |
|
||
| Content | 0/1 |
|
||
| Bot Access Control | 1/3 |
|
||
| API, Auth, MCP & Skill Discovery | 0/7 |
|
||
|
||
## Details
|
||
|
||
### Discoverability (2/3)
|
||
|
||
- ✅ **robots.txt** — robots.txt exists with valid format
|
||
- ✅ **sitemap.xml** — sitemap.xml exists with valid structure
|
||
- ❌ **Link headers** — No Link headers found on homepage
|
||
|
||
### Content (0/1)
|
||
|
||
- ❌ **Markdown for Agents** — Site does not support Markdown for Agents
|
||
|
||
(... more categories ...)
|
||
|
||
## 🔧 How to Implement — Agent Prompts
|
||
|
||
#### ❌ Link headers
|
||
|
||
**Issue:** No Link headers found on homepage
|
||
|
||
```
|
||
Goal: Include Link response headers for agent discovery (RFC 8288)
|
||
|
||
Issue: No Link headers found on homepage
|
||
|
||
Fix: Add Link response headers to your homepage that point agents to useful
|
||
resources. For example: Link: </.well-known/api-catalog>; rel="api-catalog"
|
||
|
||
Skill: https://isitagentready.com/.well-known/agent-skills/link-headers/SKILL.md
|
||
|
||
Docs: https://www.rfc-editor.org/rfc/rfc8288
|
||
```
|
||
|
||
> 📖 Reference: [link-headers/SKILL.md](link-headers/SKILL.md)
|
||
|
||
(... one block per failing check ...)
|
||
|
||
## Next Level
|
||
|
||
**Level 2 — Bot-Aware**
|
||
|
||
To reach the next level, implement:
|
||
- Content Signals in robots.txt
|
||
```
|
||
|
||
---
|
||
|
||
## Fix Prompts
|
||
|
||
Every failing check gets a prompt block you can copy-paste into any coding agent (Cursor, Copilot, Claude, etc.). The format matches the isitagentready.com web UI:
|
||
|
||
```
|
||
Goal: <what the check expects>
|
||
Issue: <what was found (dynamic from scan)>
|
||
Fix: <step-by-step implementation>
|
||
Skill: <URL to the detailed SKILL.md>
|
||
Docs: <links to RFCs and specs>
|
||
```
|
||
|
||
The SKILL.md contains templates for all 20 checks. The `{issue}` placeholder is replaced with the actual message from the API response.
|
||
|
||
---
|
||
|
||
## Batch Scanning
|
||
|
||
Scan multiple domains with a 2-second delay between requests:
|
||
|
||
```python
|
||
import json, time, urllib.request
|
||
|
||
HEADERS = {
|
||
"Content-Type": "application/json",
|
||
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 ...",
|
||
"Referer": "https://isitagentready.com/",
|
||
"Origin": "https://isitagentready.com"
|
||
}
|
||
|
||
domains = ["example.com", "another.com", "third.com"]
|
||
|
||
for domain in domains:
|
||
body = json.dumps({"url": f"https://{domain}/"}).encode()
|
||
req = urllib.request.Request(
|
||
"https://isitagentready.com/api/scan",
|
||
data=body, headers=HEADERS
|
||
)
|
||
with urllib.request.urlopen(req, timeout=90) as resp:
|
||
data = json.loads(resp.read())
|
||
|
||
level = data["level"]
|
||
name = data["levelName"]
|
||
print(f"{domain}: Level {level} — {name}")
|
||
time.sleep(2)
|
||
```
|
||
|
||
---
|
||
|
||
## API Response Shape
|
||
|
||
```json
|
||
{
|
||
"url": "https://example.com",
|
||
"scannedAt": "2026-04-18T13:10:58.788Z",
|
||
"level": 1,
|
||
"levelName": "Basic Web Presence",
|
||
"isCommerce": false,
|
||
"checks": {
|
||
"discoverability": {
|
||
"robotsTxt": {
|
||
"status": "pass",
|
||
"message": "robots.txt exists with valid format",
|
||
"evidence": [ ... ],
|
||
"durationMs": 42
|
||
}
|
||
}
|
||
},
|
||
"nextLevel": {
|
||
"target": 2,
|
||
"name": "Bot-Aware",
|
||
"requirements": [
|
||
{
|
||
"check": "contentSignals",
|
||
"description": "...",
|
||
"prompt": "...",
|
||
"skillUrl": "...",
|
||
"specUrls": ["..."]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
| Status | Meaning |
|
||
|--------|---------|
|
||
| `pass` | ✅ Check passed |
|
||
| `fail` | ❌ Action needed |
|
||
| `neutral` | ⬜ Not applicable / informational |
|
||
|
||
---
|
||
|
||
## Skill Structure
|
||
|
||
```
|
||
agent-ready-cloudflare/
|
||
├── README.md ← You are here
|
||
├── SKILL.md ← Main skill (operational flow, API docs, prompt templates)
|
||
│
|
||
├── scan-site/SKILL.md ← Meta: scan API + MCP server docs
|
||
│
|
||
│ Discoverability
|
||
├── robots-txt/SKILL.md ← Implement robots.txt (RFC 9309)
|
||
├── sitemap/SKILL.md ← Implement sitemap.xml
|
||
├── link-headers/SKILL.md ← Link response headers (RFC 8288)
|
||
├── llms-txt/SKILL.md ← Publish /llms.txt
|
||
├── llms-full-txt/SKILL.md ← Publish /llms-full.txt
|
||
│
|
||
│ Content
|
||
├── markdown-negotiation/SKILL.md ← Accept: text/markdown negotiation
|
||
│
|
||
│ Bot Access Control
|
||
├── ai-rules/SKILL.md ← AI bot User-agent rules
|
||
├── content-signals/SKILL.md ← Content-Signal directives
|
||
├── web-bot-auth/SKILL.md ← Web Bot Auth (JWKS)
|
||
│
|
||
│ API, Auth, MCP & Skill Discovery
|
||
├── api-catalog/SKILL.md ← API Catalog (RFC 9727)
|
||
├── oauth-discovery/SKILL.md ← OAuth/OIDC discovery (RFC 8414)
|
||
├── oauth-protected-resource/SKILL.md ← Protected Resource Metadata (RFC 9728)
|
||
├── mcp-server-card/SKILL.md ← MCP Server Card (SEP-1649)
|
||
├── a2a-agent-card/SKILL.md ← A2A Agent Card (Google A2A)
|
||
├── agent-skills/SKILL.md ← Agent Skills Discovery Index
|
||
├── webmcp/SKILL.md ← WebMCP browser API
|
||
│
|
||
│ Commerce
|
||
├── x402/SKILL.md ← x402 payment protocol
|
||
├── ucp/SKILL.md ← Universal Commerce Protocol
|
||
└── acp/SKILL.md ← Agent Commerce Protocol
|
||
```
|
||
|
||
**21 files** — 1 main skill + 20 implementation sub-skills.
|
||
|
||
---
|
||
|
||
## Sources
|
||
|
||
| Resource | URL |
|
||
|----------|-----|
|
||
| Scanner | https://isitagentready.com |
|
||
| API endpoint | `POST https://isitagentready.com/api/scan` |
|
||
| MCP server | `https://isitagentready.com/mcp` |
|
||
| API Catalog | https://isitagentready.com/.well-known/api-catalog |
|
||
| Agent Skills Index | https://isitagentready.com/.well-known/agent-skills/index.json |
|
||
| MCP Server Card | https://isitagentready.com/.well-known/mcp/server-card.json |
|
||
| Full docs (llms-full.txt) | https://isitagentready.com/llms-full.txt |
|
||
| Cloudflare Agents | https://developers.cloudflare.com/agents/ |
|
||
| MCP Protocol | https://modelcontextprotocol.io/ |
|
||
| Content Signals | https://contentsignals.org/ |
|
||
| Agent Skills Discovery | https://github.com/cloudflare/agent-skills-discovery-rfc |
|