Guides authoring and reviewing agent SKILL.md files: triggers, progressive disclosure, safety notes, and quality standards.
How this skill is triggered — by the user, by Claude, or both
Slash command
/agentic-awesome-skills:effective-agent-skillsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- Use when creating, editing, reviewing, or debugging an agent SKILL.md file.
A consolidated reference on what agent skills are, why they exist, how they work, and how to write effective ones.
An Agent Skill is a folder containing a SKILL.md file (YAML frontmatter + markdown instructions), plus optional subfolders for scripts, references, and assets that the agent loads on demand.
my-skill/
├── SKILL.md # Required: metadata + instructions
├── scripts/ # Optional: executable code (CLIs, validators, helpers)
├── references/ # Optional: detailed docs loaded only when needed
└── assets/ # Optional: templates, fonts, static files
Skills are an open standard (agentskills.io), originally created by Anthropic and adopted by OpenAI Codex, Cursor, Gemini CLI, Microsoft Agent Framework, Google ADK, and 40+ other agent products. A skill written once works across all compatible agents.
Base LLMs are generalists. Real work requires procedural knowledge, organizational context, and repeatable workflows. Every prior alternative had a failure mode:
| Approach | Problem |
|---|---|
| Stuff it into the system prompt | Always loaded → context bloat at scale |
| Re-paste instructions each session | No version control, no consistency |
| Fine-tuning | Slow, expensive, opaque, vendor-locked |
| MCP servers alone | Give the agent tools but no workflows for using them |
Skills solve four problems at once:
Mental model: skills are to LLMs what man pages, runbooks, and team handbooks are to engineers — reference material loaded into working memory only when the task demands it.
The architectural core. Three-stage loading:
Level 1 — Discovery (~100 tokens per skill, always in context):
Only name + description from frontmatter are injected into the system prompt at startup. Agent knows the skill exists and when it applies. You can install dozens of skills with negligible overhead.
Level 2 — Activation (<5,000 tokens, loaded on match):
When the user's request matches a skill's description, the agent reads the full SKILL.md body into context.
Level 3 — Execution (unbounded, on demand):
The agent reads referenced files (references/foo.md) or runs scripts (scripts/validate.py) only as needed. Scripts can execute without their source being loaded into context at all.
This is why bundled content has no practical limit. Files don't consume tokens until accessed.
---
name: skill-name
description: What this skill does AND when to use it. Include trigger phrases the user will say.
---
# Skill Name
## Quick start
[Minimal working example]
## Workflow
[Step-by-step procedure with checklists]
## Output format
[What the user/agent should expect back]
## Advanced
[Link to references/ for rarely-needed detail]
Frontmatter constraints:
name is lowercase, hyphens only, 1–64 chars, exactly matches the parent folder name< and > in frontmatter (they can inject into the system prompt)Optional standard fields:
disable-model-invocation: true — stops the agent from auto-loading the skill based on the conversation; it can only be triggered manually (e.g. /skill-name). Now a standard Agent Skills spec field, so it works across spec-compliant clients (Claude Code, Copilot, etc.), not just Claude. Caveat: it prevents auto-invocation, but some clients (Claude Code, open bug) still inject the description into context, so it doesn't always save the discovery-level tokens. Use for manual-only utilities you don't want firing automatically.Skills tend to fall into one of two patterns. Both are valid; they solve different problems.
The skill is a thin wrapper over a deterministic CLI or script. Logic lives in code. SKILL.md teaches the agent how to invoke it.
The skill encodes a methodology the agent should follow. Pure prompt engineering — no scripts needed.
A mature setup uses both. Pattern A gives the agent better tools. Pattern B gives it better methods for using them.
The description is the only thing the agent sees before deciding to load the skill. If your skill doesn't trigger, the description is wrong 95% of the time, not the body.
Include three elements:
Pattern: "X via Y. Use for [situations]. [Differentiator: no Z required / faster than W / handles edge case V]."
Never summarize the full workflow in the description. If the description contains a step-by-step summary of how the skill works, the agent tends to follow that summary and skip loading the body. Describe what and when, never how. The description answers "should I open this skill now?" — not "what are the steps?"
Concrete command examples with inline comments beat prose explanations. The agent pattern-matches on syntax. Show, don't describe.
Anything fragile, repetitive, or where variation is a bug → script. Use markdown only for tasks requiring judgment.
Scale instruction rigidity to how costly a wrong move is:
The single biggest output quality improvement: state a verify → fix → re-verify loop explicitly.
Don't assume setup is done. Instruct the agent to verify state, then branch:
First check if X is configured: [command]
If not, walk the user through setup: [steps]
Tell the agent exactly when to read each referenced file:
For standard cases, follow the steps below.
For [specific edge case], read references/edge-cases.md first.
Link referenced files directly from SKILL.md. Never build chains (SKILL.md → advanced.md → details.md → actual.md) — the agent may preview nested files only partially and miss critical instructions. Add a table of contents to any reference file longer than 100 lines.
If your script returns structured data, show the agent what it looks like. Enables reliable downstream parsing.
List the 80% common operations in SKILL.md. Tell the agent to run tool --help for the rest. Keeps SKILL.md small without losing functionality.
One skill = one capability or one discipline. Resist bundling concerns into "the X workflow." Multiple small skills combine at runtime; one large skill is rigid.
If your skill encodes a known engineering methodology (TDD, DDD, red-green-refactor), name the source. Gives the agent a coherent model to align with and gives users a way to verify the design.
Skills can write to repo-level files (CONTEXT.md, ADRs, decision logs) that future agent sessions read. This is how you fight the "agents have no memory" problem at the architecture level.
Every line in SKILL.md should provide context the model doesn't already have. No Python syntax tutorials. No "what is git." Challenge every paragraph.
No README.md, no CHANGELOG.md, no INSTALLATION_GUIDE.md inside the skill folder. Skills are for agents.
If you need a parsing library, install via npm/pip. Don't paste source into the skill.
If one skill does design + planning + implementation + testing + deployment, you've built a framework, not a skill. Split it.
Be explicit about every step that matters.
npm run deploy:staging and wait for HTTP 200 from /healthz before reporting success."A skill that just changes tone or formatting belongs in user preferences or a system prompt, not a skill.
For every workflow step that can fail, document what failure looks like and what to do. Happy-path-only skills break in production.
"As of Q4 2024..." rots fast. Fetch live data via script or omit.
Always relative. Forward slashes regardless of OS. Use runtime placeholders for skill-directory references.
Skills can execute arbitrary code and steer agent behavior. A malicious skill is a data exfiltration vector. Audit scripts/ for unexpected network calls, file access outside expected scope, or hidden instructions in references. Watch for typosquatted skill names. Sandbox execution environments.
Skills compose at runtime — the agent loads multiple skills as needed for a single task. Design for this:
Before installing any third-party skill:
scripts/ for outbound network calls, file access outside expected scope, command executionlatestBefore publishing a skill:
name matches folder namedavidondrej/skills; verify local paths, tools, credentials, and agent features before acting.npx claudepluginhub sickn33/agentic-awesome-skills --plugin antigravity-bundle-aas-localization-international-growth3plugins reuse this skill
First indexed Jul 7, 2026
Guides authoring and reviewing agent SKILL.md files: triggers, progressive disclosure, safety notes, and quality standards.
Creates and audits agent skills in the open format: frontmatter, directory structure, patterns, scripts, evaluations, and ten-dimension audit protocol.
Creates, updates, or validates SKILL.md agent skills including frontmatter authoring, bundled resource planning, and three-phase discoverability validation.