Skip to content

📐 Agent Skills Specification

The open standard for reusable AI agent instruction packages. Any tool implementing this spec can read agent skills written by anyone.

spec version: 1.0.0 · last updated: 2026-04-01

Overview

An agent skill is a self-contained directory that extends an AI coding agent's capabilities. The skill directory contains a mandatory SKILL.md file and optional supporting files. Agent tools scan well-known directories at startup, discover available skills from their metadata, and load skill instructions on demand.

The standard is intentionally minimal — a single Markdown file with a YAML header is all that's required to create a valid, portable agent skill.

Skill Folder Structure

skill-name/
├── SKILL.md            # REQUIRED
├── scripts/
│   └── *.sh / *.py      # Optional executable scripts
├── references/
│   └── *.md / *.txt     # Optional reference documents
└── assets/
    └── *.png / *.svg    # Optional images, diagrams

Only SKILL.md is required. All other directories are optional and loaded on demand by the agent when needed.

SKILL.md Format

A SKILL.md file consists of two parts separated by a YAML frontmatter block:

SKILL.md — complete example
---
name: React Best Practices
description: Enforces React component patterns and hooks rules
version: 1.2.0
authors:
  - vercel-labs
tags: [react, javascript, frontend, hooks]
platforms: [claude-code, cursor, github-copilot]
license: MIT
---

# React Best Practices

When writing React code, follow these rules:

## Components
- Always use functional components with hooks
- Keep components small and focused (single responsibility)
- Use named exports for components

## Performance
- Wrap expensive calculations in `useMemo`
- Use `useCallback` for functions passed as props
- Avoid anonymous functions in JSX render

YAML Frontmatter Fields

Field Required Type Description
name ✅ Yes string Human-readable skill name. Keep under 50 chars.
description ✅ Yes string One-line summary loaded at startup (~100 tokens budget). Be specific.
version ⚠️ Rec. semver Semantic version. Allows tools to check for updates.
authors ⚠️ Rec. string[] GitHub usernames or org names of skill authors.
tags ⚠️ Rec. string[] Searchable keywords for skill discovery.
platforms ❌ Opt. string[] List of compatible platform slugs. Omit = all platforms.
license ❌ Opt. string SPDX license identifier (e.g., MIT, Apache-2.0).
repository ❌ Opt. url Source repository URL.
docs ❌ Opt. url Link to extended documentation.

Progressive Loading Model

Compliant implementations MUST follow the three-tier loading model to keep context window usage minimal:

1

Discovery (Startup)

MUST

At agent startup, scan the skills directory. Load ONLY YAML frontmatter from each SKILL.md. Budget: ~100 tokens per skill. The agent now knows all available skills by name and description.

2

Activation (On demand)

MUST

When the user references a skill by name, or when the agent determines a skill is relevant to the current task, load the full SKILL.md instruction body into context.

3

Resources (Lazy)

SHOULD

Load contents of scripts/, references/, and assets/ only when the agent explicitly needs them to complete a step. Never eagerly load all resources.

Directory Conventions

Skills are discovered from two scopes. Project-level skills take precedence over global skills when names conflict.

Platform Project Scope Global Scope
🤖 Claude Code .claude/skills/ ~/.claude/skills/
🐙 GitHub Copilot .github/skills/ ~/.copilot/skills/
⚡ Cursor .cursor/skills/ ~/.cursor/skills/
✨ Gemini CLI .gemini/skills/ ~/.gemini/skills/
🌊 Windsurf .windsurf/skills/ ~/.codeium/windsurf/skills/
🧠 OpenAI Codex .codex/skills/ ~/.codex/skills/
☁️ Kiro .kiro/skills/ ~/.kiro/skills/
🔓 OpenCode .opencode/skills/ ~/.config/opencode/skills/

💡 Cross-platform tip: To share one skill across multiple tools, symlink the folder or use a monorepo setup where you copy the skill directory into each platform's skills path during setup.

Platform Compatibility

Platforms that fully or partially implement the agent skills open standard:

🤖 Claude Code

✅ Full

Reference implementation by Anthropic

🐙 Copilot

✅ Full

Supported in agent mode since 2025

⚡ Cursor

✅ Full

Supported via .cursor/skills/

✨ Gemini CLI

✅ Full

Google implementation, open source

🌊 Windsurf

⚠️ Partial

Cascade agent; some fields ignored

🧠 Codex

✅ Full

OpenAI implementation

☁️ Kiro

⚠️ Partial

Integrates with spec/hook system

🔓 OpenCode

✅ Full

SST open source CLI

🧩 What are Agent Skills? → 🗂️ Browse Skills → ⚔️ Agent Skills vs MCP →