| name | skill-creator |
| description | Guide for creating effective skills that extend agent capabilities with specialized knowledge, workflows, or tool integrations. Use this skill when the user asks to: create a skill, make a skill, build a skill, set up a skill, initialize a skill, scaffold a skill, update or modify an existing skill, validate a skill, learn about skill structure, understand how skills work, or get guidance on skill design patterns. |
Skill Creator
This skill provides guidance for creating effective skills.
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—they transform a general-purpose agent into a specialized agent equipped with procedural knowledge and domain expertise.
Skill Location for Deepagents
In deepagents CLI, skills are stored in ~/.deepagents/<agent>/skills/ where <agent> is your agent configuration name (default is agent). For example, with the default configuration, skills live at:
~/.deepagents/agent/skills/
├── skill-name-1/
│ └── SKILL.md
├── skill-name-2/
│ └── SKILL.md
└── ...
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
Core Principles
Concise is Key
The context window is a public good. Skills share the context window with everything else the agent needs: system prompt, conversation history, other Skills' metadata, and the actual user request.
Default assumption: The agent is already very capable. Only add context the agent doesn't already have.
Anatomy of a Skill
Every skill consists of a required SKILL.md file and optional bundled resources:
skill-name/
├── SKILL.md (required)
│ ├── YAML frontmatter metadata (required)
│ │ ├── name: (required)
│ │ └── description: (required)
│ └── Markdown instructions (required)
└── Bundled Resources (optional)
├── scripts/ - Executable code (TypeScript/JavaScript/etc.)
├── references/ - Documentation intended to be loaded into context as needed
└── assets/ - Files used in output (templates, icons, fonts, etc.)
Skill Creation Process
Skill creation involves these steps:
- Understand the skill with concrete examples
- Plan reusable skill contents (scripts, references, assets)
- Initialize the skill (run init_skill.ts)
- Edit the skill (implement resources and write SKILL.md)
- Validate the skill (run quick_validate.ts)
- Iterate based on real usage
Step 3: Initializing the Skill
When creating a new skill from scratch, run the init_skill.ts script:
npx tsx scripts/init_skill.ts <skill-name> --path <output-directory>
For deepagents, use the agent's skills directory:
npx tsx scripts/init_skill.ts <skill-name> --path ~/.deepagents/agent/skills
Step 5: Validate the Skill
Once development of the skill is complete, validate it:
npx tsx scripts/quick_validate.ts <path/to/skill-folder>
The validation script checks:
- YAML frontmatter format and required fields
- Skill naming conventions (hyphen-case, max 64 characters)
- Description completeness (max 1024 characters)
- Required fields:
nameanddescription