Guide for creating effective skills following best practices. Use when creating or updating skills that extend agent capabilities.
Create Skill
Guide for creating effective skills that extend agent capabilities with specialized knowledge, workflows, and tool integrations.
About Skills
Skills are modular, self-contained packages that extend agent capabilities by providing specialized knowledge, workflows, and tools. Think of them as "onboarding guides" for specific domains or tasks.
What Skills Provide
- Specialized workflows - Multi-step procedures for specific domains
- Tool integrations - Instructions for working with specific file formats or APIs
- Domain expertise - Company-specific knowledge, schemas, business logic
- Bundled resources - Scripts, references, and assets for complex and repetitive tasks
Progressive Disclosure Principle
The 200-line rule is critical. SKILL.md must be under 200 lines. If you need more, split content into references/ files.
Three-Level Loading System
- Metadata (name + description) - Always in context (~100 words)
- SKILL.md body - When skill triggers (<200 lines, ideally <500 lines for optimal performance)
- Bundled resources - As needed by agent (unlimited)
Why Progressive Disclosure Matters
- 85% reduction in initial context load
- Activation times drop from 500ms+ to under 100ms
- Agent loads only what's needed, when it's needed
- Skills remain maintainable and focused
Skill Structure
skill-name/
├── SKILL.md (required, <200 lines)
│ ├── YAML frontmatter metadata (required)
│ │ ├── name: (required)
│ │ └── description: (required)
│ └── Markdown instructions (required)
└── Bundled Resources (optional)
├── scripts/ - Executable code
├── references/ - Documentation loaded as needed
└── assets/ - Files used in output
Core Principles
Concise is Key
The context window is a shared resource. Your skill shares it with everything else the agent needs. Be concise and challenge each piece of information:
- Does the agent really need this explanation?
- Can I assume the agent knows this?
- Does this paragraph justify its token cost?
Set Appropriate Degrees of Freedom
- High freedom: Text-based instructions for multiple valid approaches
- Medium freedom: Pseudocode or scripts with parameters
- Low freedom: Specific scripts with few/no parameters for fragile operations
Test with All Models
Skills act as additions to models, so effectiveness depends on the underlying model. Test your skill with all models you plan to use it with.
References
For detailed guidance, see:
references/progressive-disclosure.md- 200-line rule and references patternreferences/skill-structure.md- SKILL.md format and frontmatter detailsreferences/examples.md- Good skill examplesreferences/best-practices.md- Comprehensive best practices guide
You Might Also Like
Related Skills

coding-agent
Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.
openclaw
add-uint-support
Add unsigned integer (uint) type support to PyTorch operators by updating AT_DISPATCH macros. Use when adding support for uint16, uint32, uint64 types to operators, kernels, or when user mentions enabling unsigned types, barebones unsigned types, or uint support.
pytorch
at-dispatch-v2
Convert PyTorch AT_DISPATCH macros to AT_DISPATCH_V2 format in ATen C++ code. Use when porting AT_DISPATCH_ALL_TYPES_AND*, AT_DISPATCH_FLOATING_TYPES*, or other dispatch macros to the new v2 API. For ATen kernel files, CUDA kernels, and native operator implementations.
pytorch
skill-writer
Guide users through creating Agent Skills for Claude Code. Use when the user wants to create, write, author, or design a new Skill, or needs help with SKILL.md files, frontmatter, or skill structure.
pytorch
implementing-jsc-classes-cpp
Implements JavaScript classes in C++ using JavaScriptCore. Use when creating new JS classes with C++ bindings, prototypes, or constructors.
oven-sh
implementing-jsc-classes-zig
Creates JavaScript classes using Bun's Zig bindings generator (.classes.ts). Use when implementing new JS APIs in Zig with JSC integration.
oven-sh