Create a new Claude Code agent skill with proper folder structure and SKILL.md format. Use when the user wants to add a model-invoked skill that Claude uses autonomously based on context. Handles skill folder creation with SKILL.md and optional reference files.
78
75%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/claude-code-dev/skills/create-skill/SKILL.mdCreate new Claude Code agent skills that Claude invokes autonomously based on task context.
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---
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...| 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. |
| Field | Description | Default | Example |
|---|---|---|---|
user-invocable | Whether users can invoke skill with /skill-name | true | false for knowledge skills, true for action skills |
The description is critical - it tells Claude when to use the skill. Include:
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.# 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 tasksThe body should include:
---
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<type>[optional scope]: <description>
[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
### Featurefeat(auth): add OAuth2 login support
### Bug Fixfix(api): handle null response in user endpoint
### Breaking Changefeat(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 charactersSkills can include reference materials:
skills/
└── api-design/
├── SKILL.md
├── examples/
│ ├── rest-example.md
│ └── graphql-example.md
└── templates/
└── openapi-template.yamlReference these in your SKILL.md:
See `examples/rest-example.md` for a complete REST API example.Save skills to:
plugins/<plugin-name>/skills/<skill-name>/SKILL.md0ebe7ae
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.