TL;DR. The skill is the design unit after prompts and context. We work through it in order: definition → the principle by which LLMs apply it → Claude's load stages and priority. The key point:
AGENTS.mdis read beforeSKILL.mdand carries higher priority.
What a Skill Is and How an LLM Applies It
Definition
An Agent Skill is a bundle of reusable procedures, resources, policies, and deterministic code packaged as a single unit. The most common form is a directory plus a SKILL.md markdown file inside it, with metadata (name, description, trigger conditions) in the frontmatter and the actual procedure in the body.
What sets it apart from prompts and context comes from the unit's persistence and composability.
| Unit | Volatility | Composition |
|---|---|---|
| prompt | single-use message | not possible |
| context | session-scoped | partial |
| skill | persists as a file | can call other skills, can be versioned |
In other words, a skill is closer to a software module. You can import it, it has dependencies, and the more you use it, the more it accrues as an asset.
The Principle by Which an LLM Applies a Skill
The key is the separation of metadata from body.
- Metadata (name, description, trigger) loads into context at session start. The model always knows "which skills exist."
- The body (the actual procedure) is lazy-loaded only at invocation time. This is to cut context-window cost.
The invocation trigger has two branches.
- Explicit invocation — the user calls it directly with a slash command like
/skill-name. - Self-invocation — the model takes the user's request, matches it against the description, and invokes it on its own (using a meta-tool like
Skill).
Once invoked, the body enters context and the model follows that procedure. Even while the body is still empty, the fact that the skill exists is known to the model, so it's used in the very judgment of matching the user's intent to the right skill.
Claude's Load Stages and Priority
In Claude Code, skills and context load in the following order.
- SessionStart hook — context always loaded at session start (e.g. a context manifest or active-work notes the user wires in via the hook)
CLAUDE.md— project root + global (~/.claude/CLAUDE.md)AGENTS.md— the project policy file. Auto-loaded if present- List of available skills — only names and descriptions loaded as metadata (body not yet)
- A specific skill's body — lazy-loaded at invocation time via the
Skilltool or/command
When a conflict arises, the priority that applies is as follows.
- Explicit user instruction (
CLAUDE.md,AGENTS.md, a direct request mid-conversation) — highest - Rules in the skill body — overrides default behavior
- The default system prompt — lowest
This order is the core of operation — AGENTS.md is read before SKILL.md and carries higher priority. When a homegrown skill collides with an externally curated skillset, the decider is, in the end, the AGENTS.md/CLAUDE.md the user wrote. In the 7 conflict patterns we'll cover later, these policy files recur as the last guardrail.
Skill and Tool Categories That Have Settled In
We'll run once through the skills and tools you frequently meet in operation, by purpose. Detailed situational use and conflicts are covered in the child documents. The catalog grows every week, so read this section as a map of types, not a complete list.
Official and Semi-official Standards
- The
.claude/skillsdirectory pattern — Anthropic's de facto standard. A structure where the SKILL.md sits inside a directory and is discovered by its description. - Codex Plugins and Skills — the OpenAI Codex track. Different vocabulary, same intent.
- Claude Code Routines — a different expression centered on procedures.
Personally Curated Skillsets
- forrestchang/andrej-karpathy-skills — Karpathy's LLM-coding-pitfalls memo organized into a CLAUDE.md.
- mattpocock/skills — a public
.claude/skillsdirectory case. - obra/superpowers — a meta-skill framework.
- addyosmani/agent-skills — a production-grade engineering skillset for coding agents.
- ComposioHQ/awesome-codex-skills — an awesome list for the Codex CLI/API.
Domain-Specific
- browserbase/skills — web browsing.
- anthropics/financial-services — finance.
Memory and Context Accessories
Not skills, but accessories you have to operate alongside to survive.
- thedotmack/claude-mem — session compression and re-injection.
- mksglu/context-mode — context token reduction.
- rohitg00/agentmemory — persistent memory.
The Academic Track
Not tools you can grab right now, but the evaluation / self-evolution / RL-integration middleware of the future will come from this spot:
- structuring skill representation (From Skill Text to Skill Structure)
- skill self-evolution (Skills-Coach, SkillOS)
- skill-RL integration (Skill1, HeavySkill)
- domain auditing (MedSkillAudit)
Over the past month this track has hardened into a trajectory where form → author → residence leave the human's hands in turn — covered in full in The End of Hand-Written Skills — From SKILL.md to Self-Evolving and Latent Skills.
MCP and Tool Proxies
Not skills, but operated alongside. The setup is that the skill fills in the procedure and MCP fills in the tools.
- ChromeDevTools/chrome-devtools-mcp — browser automation.
- General MCP servers — the tool channel.
Synthesis
A skill works only when operation is layered on top of mechanism. Definition, the principle by which LLMs apply it, and load priority are mechanism; on top of that, what to use in which situation and which combinations break is the operations domain.
The catalog grows every week. But matching patterns and conflict patterns sit at a high level of abstraction and don't shake much. The catalog can be updated separately, and operating patterns can be refined through repeated verification.
References
- addyosmani/agent-skills
- Agent Skills guide (addyosmani)
- mattpocock/skills
- obra/superpowers
- browserbase/skills
- anthropics/financial-services
- Codex Plugins and Skills (OpenAI)
- Claude Code Routines
- From Skill Text to Skill Structure (paper)
- Skill1: Unified Evolution of Skill-Augmented Agents via RL
- SkillOS: Learning Skill Curation for Self-Evolving Agents
- Agents need control flow, not more prompts