Files
SlipItIn/.github/skills/agent-ready-cloudflare/README.md
Tim Krampitz 01046b01e4 Neue Skills, Referenzen & OpenWiki-Doku integriert
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.
2026-07-26 14:00:58 +02:00

339 lines
11 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🤖 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 (05)
- **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 |