New: Credits are here. One balance for web and MCP. See pricing

    Guides
    skill.md
    open standard
    specification

    The SKILL.md Open Standard — Full Specification

    The complete SKILL.md open standard specification covering file structure, frontmatter, and agent compatibility.

    May 19, 20266 min read
    Share:

    SKILL.md is an open standard for teaching AI coding agents new capabilities. This page is the reference specification.

    Quick Answer: SKILL.md defines an open standard for teaching AI coding agents new capabilities, using a SKILL.md file within a skill directory, containing YAML frontmatter for metadata and markdown for instructions.

    Overview

    A skill is a directory containing a file named SKILL.md. The file uses YAML frontmatter for metadata and markdown for instructions. AI coding agents read the frontmatter to determine when to activate the skill, then follow the markdown instructions when it's active.

    Recommended skills

    File structure

    skill-name/
    ├── SKILL.md           ← Required
    ├── templates/         ← Optional
    ├── references/        ← Optional
    ├── scripts/           ← Optional
    └── examples/          ← Optional
    

    The only required file is SKILL.md. Supporting files (templates, reference docs, scripts, examples) are optional and can be organized in any directory structure within the skill folder.

    SKILL.md format

    ---
    name: skill-name
    description: A sentence describing when this skill should activate.
    ---
    
    # Skill Title
    
    Instructions for the AI agent.
    

    Frontmatter (required)

    The frontmatter block starts and ends with --- on their own lines. It must be the very first content in the file — no whitespace before the opening ---.

    Required fields:

    FieldTypeDescription
    namestringUnique identifier. Lowercase, hyphens, no spaces.
    descriptionstringWhen this skill should activate. The agent reads this to decide if the skill is relevant to the current task.

    Optional fields:

    FieldTypeDescription
    versionstringSemantic version (e.g., "1.2.0")
    authorstringCreator name
    tagsstring[]Categorization tags
    agentsstring[]Explicitly compatible agents

    Instruction body (required)

    Everything after the frontmatter closing --- is the instruction body. Written in standard markdown. This is what the AI agent reads and follows when the skill is active.

    The instruction body should be written as if briefing a senior developer:

    • Clear, direct language
    • Concrete rules, not vague guidelines
    • Examples of desired output when helpful
    • Structured with headings for different aspects of the task

    Description field

    The description is the most important field. It determines when the agent activates the skill. Write it as a sentence describing the task or context that should trigger activation.

    Good descriptions:

    • "Reviews code for security vulnerabilities, logic errors, and style violations."
    • "Generates pytest test files matching existing project test patterns."
    • "Writes conventional commit messages from staged git changes."

    Bad descriptions:

    • "Helps with code" (too vague — matches everything)
    • "A really useful skill for developers" (describes the skill, not the trigger)
    • "Use this when you want to review Python Flask API endpoints for SQL injection vulnerabilities in PostgreSQL queries" (too narrow — only triggers on exact matches)

    Agent compatibility

    SKILL.md is supported by:

    AgentPersonal pathProject path
    Claude Code~/.claude/skills/.claude/skills/
    Codex CLI~/.codex/skills/.codex/skills/
    OpenClaw~/.openclaw/skills/.openclaw/skills/
    Cursor.cursor/skills/
    Gemini CLI~/.gemini/skills/.gemini/skills/

    Skills are portable across all compatible agents without modification. The SKILL.md file is identical regardless of which agent reads it.

    Activation behavior

    When an agent starts a session, it scans the skills directories and reads the frontmatter from every SKILL.md found. When the user sends a prompt, the agent compares the prompt against each skill's description field. If there's a semantic match, the skill is activated and its instructions are applied.

    Multiple skills can activate simultaneously if more than one matches the current task.

    Naming conventions

    • Skill folder: lowercase with hyphens (code-reviewer, not CodeReviewer)
    • File name: exactly SKILL.md (uppercase, case-sensitive)
    • Name field: match the folder name

    Contributing to the standard

    SKILL.md is an open standard. Propose changes through community discussion in the awesome-skill-md repository.


    Browse skills built on this standard at Agensi.

    Frequently Asked Questions