create-skill
Create Skill Skill
Create new Claude Code agent skills that Claude invokes autonomously based on task context.
Skill Structure
Each skill lives in its own folder within skills/:
skills/
└── skill-name/
├── SKILL.md # Main skill definition (required)
├── examples/ # Example files (optional)
│ └── example.md
└── templates/ # Templates (optional)
└── template.md
SKILL.md Format
---
name: skill-name
description: When and how Claude should use this skill. Be specific about triggers and use cases.
user-invocable: false
---
# Skill Title
Detailed instructions for how to apply this skill...
Required Frontmatter Fields
| Field | Description | Example |
|---|---|---|
name |
Unique identifier (kebab-case) | python-best-practices |
description |
When Claude should invoke this skill | Apply Python best practices when writing or reviewing Python code. Use for type hints, docstrings, and PEP compliance. |
Optional Frontmatter Fields
| Field | Description | Default | Example |
|---|---|---|---|
user-invocable |
Whether users can invoke skill with /skill-name |
true |
false for knowledge skills, true for action skills |
Writing Effective Descriptions
The description is critical - it tells Claude when to use the skill. Include:
- Trigger conditions: When should this skill activate?
- Use cases: What tasks benefit from this skill?
- Scope: What does and doesn't this skill cover?
Good Description Examples
description: Apply React best practices when creating or modifying React components. Use for hooks, state management, component structure, and performance optimization.
description: Enforce security best practices when writing code that handles user input, authentication, or sensitive data. Covers input validation, SQL injection prevention, and XSS protection.
description: Generate API documentation when creating or updating REST endpoints. Produces OpenAPI-compatible documentation with examples.
Bad Description Examples
# Too vague - Claude won't know when to use it
description: Helps with Python code
# Too broad - will trigger too often
description: Use this for all coding tasks
Skill Body Content
The body should include:
- Context: Background information Claude needs
- Rules/Guidelines: Specific practices to follow
- Examples: Concrete examples of correct usage
- Anti-patterns: What to avoid
- Output format: How to present results
Example Skill
---
name: conventional-commits
description: Apply conventional commit message format when the user is committing code or asking about commit messages. Enforces type prefixes, scope, and message structure.
user-invocable: false
---
# Conventional Commits
Format all commit messages following the Conventional Commits specification.
## Format
[optional scope]:
[optional body]
[optional footer(s)]
## Types
| Type | Description |
|------|-------------|
| `feat` | New feature |
| `fix` | Bug fix |
| `docs` | Documentation only |
| `style` | Formatting, no code change |
| `refactor` | Code restructuring |
| `perf` | Performance improvement |
| `test` | Adding tests |
| `chore` | Maintenance tasks |
## Examples
### Feature
feat(auth): add OAuth2 login support
### Bug Fix
fix(api): handle null response in user endpoint
### Breaking Change
feat(api)!: change response format for /users endpoint
BREAKING CHANGE: Response now returns array instead of object
## Rules
1. Type is required and lowercase
2. Description starts lowercase, no period at end
3. Use imperative mood ("add" not "added")
4. Keep first line under 72 characters
Adding Subfolders
Skills can include reference materials:
skills/
└── api-design/
├── SKILL.md
├── examples/
│ ├── rest-example.md
│ └── graphql-example.md
└── templates/
└── openapi-template.yaml
Reference these in your SKILL.md:
See `examples/rest-example.md` for a complete REST API example.
File Location
Save skills to:
plugins/<plugin-name>/skills/<skill-name>/SKILL.md
More from jpoutrin/product-forge
rfc-specification
RFC (Request for Comments) specification writing with objective technical analysis. Use when creating technical specifications, design documents, or architecture proposals that require structured evaluation of options and trade-offs.
10generate-tasks
Convert PRD to structured task list with automatic linking
6brainstorm-solution
Structured brainstorming for technical solutions
5typescript-import-style
Merge-friendly import formatting (one-per-line, alphabetical). Auto-loads when writing TypeScript/JavaScript imports to minimize merge conflicts in parallel development. Enforces consistent grouping and sorting.
5typescript-code-review
TypeScript and React code review guidelines (type safety, React patterns, performance). Auto-loads when reviewing TypeScript/React code.
5zod
Zod schema validation patterns and type inference. Auto-loads when validating schemas, parsing data, validating forms, checking types at runtime, or using z.object/z.string/z.infer in TypeScript.
5