Skills create-skill
Scaffolds new agent skills for the dotnet/skills repository. Use when creating a new skill, generating SKILL.md files, or setting up skill directory structures. Handles frontmatter generation, section templates, and validation guidance.
install
source · Clone the upstream repo
git clone https://github.com/dotnet/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/dotnet/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.agents/skills/create-skill" ~/.claude/skills/dotnet-skills-create-skill && rm -rf "$T"
manifest:
.agents/skills/create-skill/SKILL.mdsource content
Create Skill
This skill helps you scaffold new agent skills that conform to the Agent Skills specification and the dotnet/skills repository conventions.
When to Use
- Creating a new skill from scratch
- Generating a SKILL.md file with proper frontmatter
- Setting up the skill directory structure with optional folders
- Ensuring compliance with agentskills.io specification
When Not to Use
- Modifying existing skills (edit directly instead)
- Creating custom agents (use the agents/ directory pattern)
Inputs
| Input | Required | Description |
|---|---|---|
| Skill name | Yes | Lowercase, alphanumeric, hyphens only (e.g., , ) |
| Description | Yes | What the skill does and when agents should use it (1-1024 chars) |
| Purpose | Yes | One paragraph describing the outcome |
| Workflow steps | Recommended | Numbered steps the agent should follow |
Workflow
Step 1: Validate the skill name
Ensure the name:
- Contains only lowercase letters, numbers, and hyphens
- Does not start or end with a hyphen
- Does not contain consecutive hyphens
- Is between 1-64 characters
Step 2: Create the skill directory
skills/<skill-name>/ └── SKILL.md
Step 3: Generate SKILL.md with frontmatter
Create the file with required YAML frontmatter:
--- name: <skill-name> description: <description of what the skill does and when to use it> ---
Step 4: Add body content sections
Include these recommended sections:
- Purpose: One paragraph describing the outcome
- When to Use: Bullet list of appropriate scenarios
- When Not to Use: Boundaries and exclusions
- Inputs: Table of required and optional inputs
- Workflow: Numbered steps with checkpoints
- Validation: How to confirm the skill worked correctly
- Common Pitfalls: Known traps and how to avoid them
Step 5: Add optional directories (if needed)
skills/<skill-name>/ ├── SKILL.md ├── scripts/ # Executable code agents can run ├── references/ # Additional documentation loaded on demand └── assets/ # Templates, images, data files
Step 6: Update CODEOWNERS
Add entries in
.github/CODEOWNERS for the new skill and its test directory:
/plugins/<plugin>/skills/<skill-name>/ @owner-team /tests/<plugin>/<skill-name>/ @owner-team
Match the owner pattern used by sibling skills in the same plugin.
Step 7: Validate the skill
- Confirm frontmatter fields are valid
- Ensure SKILL.md is under 500 lines
- Check that file references use relative paths
- Verify instructions are actionable and specific
SKILL.md Template
Use this template when creating a new skill:
--- name: <skill-name> description: <1-1024 char description of what the skill does and when to use it> --- # <Skill Title> <One paragraph describing the skill's purpose and outcome.> ## When to Use - <Scenario 1> - <Scenario 2> ## When Not to Use - <Exclusion 1> - <Exclusion 2> ## Inputs | Input | Required | Description | |-------|----------|-------------| | <input-name> | Yes/No | <description> | ## Workflow ### Step 1: <Action> <Instructions for this step> ### Step 2: <Action> <Instructions for this step> ## Validation - [ ] <Verification step 1> - [ ] <Verification step 2> ## Common Pitfalls | Pitfall | Solution | |---------|----------| | <Problem> | <How to avoid or fix> |
Validation Checklist
After creating a skill, verify:
- Skill name matches directory name exactly
- Skill name is lowercase with hyphens only
- Description is non-empty and under 1024 characters
- SKILL.md body is under 500 lines
- Instructions are specific and actionable
- Workflow has numbered steps with clear checkpoints
- Validation section exists with observable success criteria
- No secrets, tokens, or internal URLs included
-
has entries for the new skill and its test directory.github/CODEOWNERS
Common Pitfalls
| Pitfall | Solution |
|---|---|
| Name contains uppercase letters | Use only lowercase: not |
| Description is vague | Include what it does AND when to use it |
| Instructions are ambiguous | Use numbered steps with concrete actions |
| Missing validation steps | Add checkpoints that verify success |
| SKILL.md too long | Move detailed content to files |
| Hardcoded environment assumptions | Document requirements in field |
| Missing CODEOWNERS entry | Add entries for both and matching sibling skills' owner pattern |