
What Are Agent Skills — Adding Reusable Capabilities to AI Agents
Introduction
Claude Code, Cursor, Codex, Gemini CLI — AI-powered development tools keep multiplying. But as the number of tools grows, so do the challenges: "I want to reuse the setup from one agent in another" and "I need the whole team to share the same workflow."
Agent Skills is the solution to these challenges. They are reusable plugins you can add to any agent, defined in a common format called SKILL.md.
This article covers how Agent Skills came to be, how they differ from existing customization methods, the structure of SKILL.md, and how to build your own skills.
The Birth and Spread of Agent Skills
Origins
Agent Skills were designed and developed by Anthropic, first released in October 2025 as a feature of Claude Code. The design was led by Anthropic's Barry Zhang, Keith Lazuka, and Mahesh Murag — the latter also being one of the creators of the Model Context Protocol (MCP).
Shortly after launch, security researcher Simon Willison commented that Agent Skills "might have a bigger impact than MCP," drawing significant attention.
Open Standardization and Rapid Adoption
| Period | Event |
|---|---|
| October 2025 | Anthropic releases Agent Skills as a Claude Code feature |
| December 2025 | Anthropic publishes Agent Skills as an open standard (agentskills.io). Atlassian, Stripe, Figma, Notion, and other major companies join as launch partners |
| December 2025 | OpenAI adds Skills support to Codex CLI. GitHub Copilot begins experimental support |
| January 2026 | Vercel launches skills.sh and the npx skills CLI — "the npm for AI skills" — providing search, install, and publish infrastructure |
| January 2026 | Google Antigravity and Cursor (v2.4) officially adopt the standard |
| February 2026 | 17+ agent platforms now support the standard |
The same strategy that worked for MCP — Anthropic builds it first, releases it as an open standard, and competitors adopt en masse — has succeeded again.
How Agent Skills Differ from Custom Slash Commands
Before Agent Skills, each agent had its own customization mechanisms: .claude/commands/ for Claude Code, .cursor/rules/ for Cursor, and so on. How are Agent Skills different?
Three Layers of Customization
AI agent customization breaks down into roughly three layers:
| Rules | Custom Slash Commands | Agent Skills | |
|---|---|---|---|
| Activation | Always auto-applied | User explicitly runs /command | Agent auto-selects based on task |
| Context cost | Always loaded | Loaded on execution | Progressive loading (metadata, then body, then referenced files) |
| File structure | Single file | Single file | Directory (SKILL.md + scripts/ + references/) |
| Cross-platform | Agent-specific | Agent-specific | Common across 17+ agents |
Progressive Disclosure
The technical key to Agent Skills is efficient use of the context window:
- Tier 1 (always): Only the frontmatter
nameanddescriptionare loaded (~100 tokens) - Tier 2 (when relevant): If the agent determines the task is related, the SKILL.md body is loaded
- Tier 3 (at execution): Files in
scripts/andreferences/are loaded only when actually needed
Rule files are always fully loaded, so they eat into the context window as they accumulate. Slash commands require the user to explicitly invoke them. Agent Skills combine the strengths of both — loading only when needed, and only as much as needed.
Portability
The other major difference is portability. .claude/commands/ only works in Claude Code; .cursor/rules/ only works in Cursor. Agent Skills run on every supported agent from the same SKILL.md. Team members using different agents can still share the same skills.
In a late-2025 update to Claude Code, legacy custom slash commands (.claude/commands/) were integrated into the Skills system. Existing commands continue to work, but the SKILL.md format is now recommended for new creations.
How Agent Skills Work
What Is a Skill?
Agent Skills are installable modules that add specific capabilities to an AI agent.
For example, installing a "spec generator" skill means you can simply tell the agent "create a requirements doc," and it produces a specification in the defined format. Without the skill, you'd need to craft a prompt every time. With it, the process, output format, and quality standards are all standardized.
Without skills: Craft a prompt each time → inconsistent output
With skills: "Create a requirements doc" → standardized spec generated
The SKILL.md Format
Every skill is defined in a file called SKILL.md. It's an open standard created by Anthropic, with a simple structure: YAML frontmatter + Markdown body.
---
name: spec-generator
description: |
Generate project requirements, design documents, and task lists.
Triggers: "Create requirements", "Create a spec"
license: MIT
---
# spec-generator
(Detailed instructions for the agent go here)
## Execution Flow
1. Parse user input
2. Investigate project structure
3. Generate requirements document
...The frontmatter contains skill metadata (name, description, trigger phrases), while the body describes the concrete steps the agent should follow at execution time.
SKILL.md is just a Markdown file. No special runtime or compiler is needed. It can be managed with Git and reviewed or edited by anyone.
Directory Structure
Skill directories follow this pattern:
skills/
└── skill-name/
├── SKILL.md # Skill definition (required)
└── references/ # Supplementary docs (optional)
├── guide.md # English guide
└── guide.ja.md # Japanese guide
SKILL.md is the core of the skill, while references/ holds supplementary materials. The skill body can reference files in references/ to keep its own line count manageable while still providing detailed information.
Supported Agents and Ecosystem
Supported Agents
As of February 2026, 17+ agents support the SKILL.md format. The major ones:
| Agent | Developer | Support Since |
|---|---|---|
| Claude Code | Anthropic | October 2025 (original) |
| Codex CLI | OpenAI | December 2025 |
| GitHub Copilot | GitHub | December 2025 (experimental) |
| Cursor | Cursor | January 2026 (v2.4) |
| Gemini CLI / Antigravity | January 2026 | |
| Windsurf | Codeium | January 2026 |
| Kiro CLI | AWS | Supported |
| OpenCode | OpenCode | Supported |
Additional agents including Amp, Goose, Roo, Trae, and Droid also support the format. Since skills are agent-independent, a skill you create once works across all of these agents.
Installation
Skills are installed via the npx skills command:
# Install from a GitHub repository
npx skills add username/repo-name -g -y
# Install a specific skill only
npx skills add username/repo-name --skill skill-name -g -yThe -g flag installs globally (to ~/.claude/skills/). Omit -g for project-specific installation (to .claude/skills/).
Publishing Skills
Skills are published as GitHub repositories. Place skills in the repository's skills/ directory and include installation commands in the README. No dedicated registry like npm or PyPI is needed.
No special infrastructure is required to distribute skills. GitHub repositories function directly as the package registry.
Building Your Own Skills
Minimal Setup
The minimum setup is just a directory and a SKILL.md file:
mkdir -p skills/my-skill---
name: my-skill
description: |
A brief description of what this skill does.
Trigger: "do something"
license: MIT
---
# my-skill
## Execution Flow
1. Parse user input
2. Gather necessary information
3. Output results
## Output Format
(Describe output format and rules)Design Tips
A few guidelines for designing effective skills:
Define clear trigger phrases
Include natural-language phrases in the description that users would naturally say. For multilingual support, include both languages:
description: |
Generate requirements documents.
Triggers: "Create requirements", "Create a spec"Write concrete instructions
The steps the agent follows should be specific enough that a human reader wouldn't be confused. Avoid vague expressions like "handle appropriately" — spell out the specific inputs, processing steps, and outputs.
Don't hardcode tool names
Referencing specific MCP servers or tool names makes the skill break in environments without those tools. Describe actions in terms of capabilities instead:
# Good
Read the file to understand the existing code structure.
# Bad
Use mcp__serena__read_file to read the file.
Keep it under 500 lines
An overly long SKILL.md consumes too much agent context. Move detailed information to references/ and load it on demand.
Summary
Agent Skills are an open mechanism for adding reusable capabilities to AI agents.
- SKILL.md provides a common format for defining agent-independent skills
npx skills addenables one-command installation from GitHub repositories- Easy to build — start with just a directory and one Markdown file
- Team sharing — standardize workflows and ensure consistent quality through shared skills
At ZenChAIne, we've built on Agent Skills to publish an open-source agent-skills repository. It implements spec-driven development workflows as skills. See the articles below for details.

