X

Web-Skills-Protocol

Information

# Web Skills Protocol > **skills.txt** — Teach AI agents how to use your website. English | [中文](README_ZH.md) --- In 1994, \`robots.txt\` told web crawlers what **not** to do. In 2024, \`llms.txt\` told LLMs what content to **read**. In 2026, \`skills.txt\` (or \`agents.txt\`) teaches AI agents how to **act**. The **Web Skills Protocol (WSP)** is an open standard for websites to publish skill files that teach AI agents how to interact with the site — its APIs, workflows, and capabilities — instead of scraping HTML and guessing. **WSP does not invent a new format.** AI agent skills — Markdown files with YAML metadata that teach agents how to perform tasks — are already an established standard in the AI agent ecosystem (used by Claude, OpenClaw, and others). WSP simply brings this existing skill format to the web by adding a discovery layer: a \`skills.txt\` file that tells agents which skills a website offers, just like \`robots.txt\` tells crawlers which pages to avoid. ## The Problem AI agents are visiting your website right now. They're parsing HTML, guessing at buttons, and reverse-engineering your API from network traffic. It's fragile, slow, and breaks constantly. Websites have no standard way to say: *"Hey agent, here's how to actually use us."* ## The Solution Drop a \`skills.txt\` (or \`agents.txt\`) file on your site root. List your capabilities. Publish skill definitions in \`/skills/\` (or \`/agents/\`). Done. \`\`\` your-website.com/ ├── skills.txt ← Discovery file (or agents.txt) └── skills/ ← Skills directory (or /agents/) ├── search/ │ └── SKILL.md ← "Here's how to search our products" └── order/ └── SKILL.md ← "Here's how to place an order" \`\`\` WSP also supports an **alternative convention** using \`agents.txt\` and \`/agents/\` — same protocol, same format, different name. Use whichever feels natural. AI agents check both. AI agents check \`skills.txt\` (or \`agents.txt\`) first, find the right skill, and follow your instructions — not their guesses. ## Why Not a New Format? AI agent skills already exist. Thousands of skills are published and used daily by AI agents like Claude — each one a simple \`SKILL.md\` file with YAML frontmatter (name, description, version) and Markdown instructions. This format is proven, adopted, and works. WSP inherits this standard as-is. The only addition is a **web discovery mechanism**: \`\`\` Existing standard: SKILL.md (YAML frontmatter + Markdown instructions) WSP adds: skills.txt → points agents to the right SKILL.md files \`\`\` Think of it this way: WSP is to agent skills what RSS was to XML — not a new format, but a well-known location and discovery convention on top of what already works. ## The Evolution \`\`\` robots.txt (1994) → "Dear robot, don't crawl /admin" → Access Control llms.txt (2024) → "Dear LLM, here's our documentation" → Content skills.txt (2026) → "Dear agent, here's how to use our API" → Capabilities \`\`\` ## Install Add WSP auto-discovery skill to your AI agent — one command: **OpenClaw** \`\`\`bash mkdir -p ~/.openclaw/workspace/skills/web-skills-protocol && curl -sL \ https://raw.githubusercontent.com/0xtresser/Web-Skills-Protocol/main/skill/SKILL.md \ -o ~/.openclaw/workspace/skills/web-skills-protocol/SKILL.md \`\`\` **OpenCode** \`\`\`bash mkdir -p ~/.claude/skills/web-skills-protocol && curl -sL \ https://raw.githubusercontent.com/0xtresser/Web-Skills-Protocol/main/skill/SKILL.md \ -o ~/.claude/skills/web-skills-protocol/SKILL.md \`\`\` **Claude Code** \`\`\`bash mkdir -p ~/.claude/skills/web-skills-protocol && curl -sL \ https://raw.githubusercontent.com/0xtresser/Web-Skills-Protocol/main/skill/SKILL.md \ -o ~/.claude/skills/web-skills-protocol/SKILL.md \`\`\` **Codex (OpenAI)** Codex reads instructions from \`AGENTS.md\`. Append the skill to your project: \`\`\`bash curl -sL \ https://raw.githubusercontent.com/0xtresser/Web-Skills-Protocol/main/skill/SKILL.md \ >> AGENTS.md \`\`\` ## Quick Start ### 1. Create \`/skills.txt\` (or \`/agents.txt\`) \`\`\`markdown # Bob's Online Store > E-commerce platform for electronics and gadgets. Product search is open (no auth). Other endpoints require an API key — get one at https://bobs-store.com/developers. ## Skills - [Product Search](/skills/search/SKILL.md): Search products by keyword, category, or price range - [Place Order](/skills/order/SKILL.md): Add items to cart and complete checkout via API \`\`\` ### 2. Create a Skill \`/skills/search/SKILL.md\` (or \`/agents/search/SKILL.md\`): \`\`\`markdown --- name: search description: > Search and browse products in Bob's Online Store catalog. Use when the user wants to find products by keyword, category, price, or brand. version: 1.0.0 auth: none base_url: https://api.bobs-store.com/v1 --- # Product Search ## Endpoint GET /products ## Parameters | Parameter | Type | Required | Description | |------------|--------|----------|---------------------------------| | q | string | yes | Search query | | category | string | no | Filter by category | | min_price | number | no | Minimum price | | max_price | number | no | Maximum price | | sort | string | no | Sort by: relevance, price, rating | | page | number | no | Page number (default: 1) | ## Example Request: ​\`\`\` GET /products?q=wireless+headphones&sort=rating&max_price=100 ​\`\`\` Response: ​\`\`\`json \{ "products": [ \{ "id": "prod_8x7k", "name": "SoundWave Pro Wireless Headphones", "price": 79.99, "rating": 4.7, "in_stock": true, "url": "https://bobs-store.com/products/prod_8x7k" \} ], "total": 42, "page": 1, "per_page": 20 \} ​\`\`\` \`\`\` That's it. An AI agent visiting your site will: 1. Fetch \`/skills.txt\` (or \`/agents.txt\`) → discover available skills 2. Match user intent → pick the right skill 3. Follow your SKILL.md → call your API correctly ## skills.txt Format The discovery file has a **fixed structure** — not free-form Markdown: \`\`\` # \{Site Name\} ← H1: REQUIRED. Exactly one. > \{Site description\} ← Blockquote: RECOMMENDED. \{General notes: auth, rate limits...\} ← Prose: OPTIONAL. ## Skills ← H2: REQUIRED. At least one section. - [Skill Name](url): Description ← List entry: REQUIRED format. - [Another Skill](url): Description ## Optional ← H2 "Optional": agents may skip these. - [Extra Skill](url): Description \`\`\` **Rules:** | Element | Format | Required | |---------|--------|----------| | Site name | \`# Name\` (H1) | Yes — exactly one | | Description | \`> text\` (blockquote) | Recommended | | Prose | Paragraphs | No | | Skill section | \`## Section Name\` (H2) | Yes — at least one | | Skill entry | \`- [Name](path/SKILL.md): description\` | Yes — at least one per section | The H2 section \`## Optional\` has special meaning: agents may skip these skills when context is limited. All other H2 sections are treated as primary. ## SKILL.md Format Each skill file is a standard **AgentSkills** document — the same \`SKILL.md\` format already used by AI agent platforms (Claude, OpenClaw, and others). WSP does not modify this format. - **YAML frontmatter** (\`---\`): \`name\`, \`description\`, \`version\` (required) + optional fields like \`auth\`, \`base_url\`, \`rate_limit\` - \`rate_limit\` is an object with two optional sub-fields: \`agent\` (recommended limit for AI agents, e.g., \`20/minute\`) and \`api\` (actual API rate limit, e.g., \`100/minute\`) - **Markdown body**: Instructions for the agent — endpoints, parameters, examples, workflows If you’ve written an agent skill before, you already know how to write a web skill. See [examples/](examples/) for complete samples. ## For Website Owners **Why publish skills?** - **Control the narrative.** Define how AI agents use your site — don't let them guess. - **Replace scraping.** Structured skills are faster and more reliable than HTML parsing. - **Reduce load.** One API call beats 50 page fetches. - **Monetize agent traffic.** Require API keys. Track usage. Offer premium tiers. - **Progressive adoption.** Start with one \`skills.txt\` (or \`agents.txt\`), add skills over time. ## For AI Agent Developers **Why check for skills?** - **Structured instructions** instead of parsing unpredictable HTML. - **Auto-discovery** — one fetch to \`/skills.txt\` (or \`/agents.txt\`) reveals all capabilities. - **Reliable integrations** — follow the site's official instructions, not brittle hacks. - **Better results** — API calls return structured data, not rendered web pages. Install the [web-skills-protocol agent skill](skill/SKILL.md) to make your agent automatically discover and use published skills. ## Dual-Path Compatibility WSP supports two naming conventions — use whichever feels right: | Component | Primary | Alternative | |-----------|---------|-------------| | Discovery file | \`/skills.txt\` | \`/agents.txt\` | | Skills directory | \`/skills/\` | \`/agents/\` | | Skill document | \`/skills/\{name\}/SKILL.md\` | \`/agents/\{name\}/SKILL.md\` | Both conventions use the **exact same format**. \`skills.txt\` frames it as *"what the site can teach"*. \`agents.txt\` mirrors the \`robots.txt\` naming — *"talking to agents"*. **For website owners:** Pick one convention and use it consistently. **For AI agent developers:** Your agent MUST check both (\`skills.txt\` first, then \`agents.txt\`). See [SPEC.md](SPEC.md) for the full dual-path discovery algorithm. ## Relationship to Other Standards | Standard | Purpose | Relationship | |-------------|--------------------------------------|--------------------------------| | robots.txt | Access control for crawlers | WSP does NOT override robots.txt. They coexist. | | llms.txt | Content summary for LLMs | Complementary. llms.txt = read. skills.txt/agents.txt = act. | | OpenAPI | API schema for developers | Skills MAY reference OpenAPI specs for detail. | | MCP | Runtime protocol for AI tools | WSP is web-native discovery; MCP is runtime transport. | | sitemap.xml | Page index for search engines | skills.txt/agents.txt is a capability index for AI agents. | ## Project Structure \`\`\` Web-Skills-Protocol/ ├── README.md ← You are here ├── README_ZH.md ← 中文说明 ├── SPEC.md ← Formal protocol specification ├── skill/ ← Agent skill (install this to auto-discover web skills) │ └── SKILL.md └── examples/ ← Example implementations ├── bobs-store/ ← E-commerce example └── devtools-saas/ ← SaaS platform example \`\`\` ## Specification See [SPEC.md](SPEC.md) for the complete protocol specification. ## Live Example [**awesomeai.info**](https://www.awesomeai.info/) — A dashboard tracking 2800+ AI GitHub repositories and OpenClaw agent skills. This site has adopted WSP in production. Try it yourself: \`\`\`bash # 1. Discover what the site can do curl https://www.awesomeai.info/skills.txt # 2. Read a specific skill curl https://www.awesomeai.info/skills/explore-ai-repos/SKILL.md # 3. Call the API as the skill describes curl "https://awesomeai.info/api/repos?q=llm&sort=stars&pageSize=5" \`\`\` The site publishes two skills — both public, no auth required: | Skill | Endpoint | What it does | |-------|----------|--------------| | [explore-ai-repos](https://www.awesomeai.info/skills/explore-ai-repos/SKILL.md) | \`GET /api/repos\` | Search/filter AI repositories by keyword, stars, AI score, growth trends | | [explore-ai-skills](https://www.awesomeai.info/skills/explore-ai-skills/SKILL.md) | \`GET /api/skills\` | Search/browse OpenClaw agent skills by category, keyword, popularity | This is what WSP looks like in the real world — a \`skills.txt\` file and a few \`SKILL.md\` files, and any AI agent can immediately understand and use the site. ## Examples See [examples/](examples/) for reference implementations (fictional stores and SaaS platforms). ## Contributing This is an early-stage open standard. Contributions welcome: - **Spec feedback** — Open an issue to discuss protocol design - **Reference implementations** — Add examples for different site types - **Agent integrations** — Build skills.txt (or agents.txt) support into your AI agent - **Adopt it** — Publish skills.txt (or agents.txt) on your website ## License The Web Skills Protocol specification is licensed under [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/). Example code and the agent skill are licensed under [MIT](https://opensource.org/licenses/MIT).

Prompts

Reviews

Tags

Write Your Review

Detailed Ratings

ALL
Correctness
Helpfulness
Interesting
Upload Pictures and Videos

Name
Size
Type
Download
Last Modified
  • Community

Add Discussion

Upload Pictures and Videos