with one click
agent
// Use when creating, validating, or integrating reusable skill packages for AI agents. Reach for this skill when building domain-specific instructions, packaging workflows, or setting up skill discovery in agent systems.
// Use when creating, validating, or integrating reusable skill packages for AI agents. Reach for this skill when building domain-specific instructions, packaging workflows, or setting up skill discovery in agent systems.
| name | Agent |
| description | Use when creating, validating, or integrating reusable skill packages for AI agents. Reach for this skill when building domain-specific instructions, packaging workflows, or setting up skill discovery in agent systems. |
| metadata | {"mintlify-proj":"agent","version":"1.0"} |
Agent Skills is a lightweight, open format for extending AI agent capabilities with specialized knowledge and workflows. Skills are directories containing a SKILL.md file (YAML frontmatter + Markdown instructions) plus optional supporting files (scripts, references, assets). Use the skills-ref CLI to validate skills and generate prompt XML for agent integration. Primary documentation: https://agentskills.io
Reach for this skill when:
| Field | Constraints | Example |
|---|---|---|
name | Max 64 chars, lowercase + hyphens only, no leading/trailing hyphens | pdf-processing |
description | Max 1024 chars, non-empty, describes what skill does and when to use | Extract text and tables from PDFs, fill forms, merge documents. |
| Field | Purpose | Example |
|---|---|---|
license | License name or reference to bundled license file | MIT or licenses/LICENSE.txt |
compatibility | Environment requirements (max 500 chars) | Requires Python 3.8+, pdfplumber library |
metadata | Arbitrary key-value pairs for custom properties | author: org-name version: "1.0" |
allowed-tools | Space-delimited pre-approved tools (experimental) | Bash(git:*) Bash(jq:*) |
skill-name/
āāā SKILL.md # Required: frontmatter + instructions
āāā scripts/ # Optional: executable code
āāā references/ # Optional: detailed reference material
āāā assets/ # Optional: templates, images, data files
# Validate a skill directory
skills-ref validate ./my-skill
# Generate <available_skills> XML for agent prompts
skills-ref to-prompt /path/to/skill1 /path/to/skill2
Use relative paths from skill root:
See [the guide](references/REFERENCE.md) for details.
Run the script: `scripts/extract.py`
| Approach | When to use | Activation | Resource access |
|---|---|---|---|
| Filesystem-based | Agent has shell/bash environment; maximum capability needed | Agent issues cat /path/to/skill/SKILL.md | Shell commands access bundled files |
| Tool-based | Agent lacks dedicated computer environment; sandboxed execution | Developer implements custom tools | Tools provide access to bundled assets |
| Field | Include when | Skip if |
|---|---|---|
license | Skill uses third-party code or has specific licensing | Skill is internal-only or unlicensed |
compatibility | Skill requires specific system packages, Python versions, or network access | Skill is pure Markdown instructions |
metadata | Tracking author, version, or custom properties is important | Not needed for simple skills |
allowed-tools | Restricting which tools the skill can invoke is required | Agent doesn't support tool restrictions |
| Content type | Keep in SKILL.md | Move to separate file |
|---|---|---|
| Core instructions | < 500 lines | Detailed reference material |
| Quick examples | Yes | Exhaustive API documentation |
| Decision trees | Yes | Large lookup tables or schemas |
| Step-by-step workflows | Yes | Multi-page tutorials |
Create the directory structure: Make a folder named skill-name (lowercase, hyphens only)
Write the SKILL.md file:
name and description (required)scripts/extract.py, references/GUIDE.mdOrganize supporting files:
scripts/: Executable code (Python, Bash, etc.)references/: Detailed documentation, lookup tables, schemasassets/: Templates, images, data filesValidate the skill:
skills-ref validate ./skill-name
Fix any frontmatter errors (name format, description length, etc.)
Test the skill: Read the SKILL.md file to verify instructions are clear and complete
Discover skills: Scan configured directories for folders containing SKILL.md files
Load metadata at startup: Parse only the YAML frontmatter from each skill:
name: pdf-processing
description: Extract text and tables from PDFs...
This keeps initial context usage low (~100 tokens per skill)
Generate prompt XML:
skills-ref to-prompt /path/to/skills/*
Output includes name, description, and location for each skill
Inject into system prompt: Add the XML to your agent's system prompt so it knows available skills:
<available_skills>
<skill>
<name>pdf-processing</name>
<description>Extract text and tables from PDFs...</description>
<location>/path/to/skills/pdf-processing/SKILL.md</location>
</skill>
</available_skills>
Activate on demand: When a user task matches a skill's description, load the full SKILL.md into context (~5000 tokens max)
Execute resources: Load referenced files or run scripts only when the skill instructions require them
my-skill ā, MySkill ā, -my-skill ā--- on its own line. Missing delimiters break parsing.scripts/extract.py), never absolute paths (/home/user/scripts/extract.py)references/ subdirectory.skills-ref validate before sharing or deploying a skill. Frontmatter errors are silent until validation.Before submitting a skill:
name (max 64 chars, lowercase + hyphens) and description (max 1024 chars)--- delimiters on separate linesscripts/extract.py)references/ or assets/skills-ref validate ./skill-nameFor additional documentation and navigation, see: https://agentskills.io/llms.txt