Custom Skills
Create reusable slash commands that encode your team's workflows.
What Are Skills
Skills (also called custom slash commands) are reusable prompts that you can invoke by name. They encode common workflows into a single command, making complex multi-step processes repeatable and consistent.
Creating a Skill
Skills are defined as Markdown files placed in a .claude/commands/ directory. The filename becomes the command name.
# .claude/commands/review.md
Review the current git diff for:
1. Security vulnerabilities (injection, auth issues)
2. Performance problems (N+1 queries, missing indexes)
3. Code style violations
4. Missing error handling
For each issue found, provide:
- File and line number
- Severity (critical/warning/info)
- Suggested fixAfter creating the file, the skill is available as /project:review in Claude Code.
Using $ARGUMENTS
Skills can accept arguments using the $ARGUMENTS placeholder, making them flexible enough to handle variations:
# .claude/commands/test.md
Write comprehensive tests for: $ARGUMENTS
Include:
- Happy path tests
- Edge cases
- Error scenarios
- Use the project's existing test framework and patterns# Usage
/project:test the authentication middleware
/project:test the payment processing moduleContext Engineering with Skills
Skills are themselves a form of context engineering. A well-written skill injects a structured, tested prompt that produces consistent results every time. Combined with memory files (via @ references inside the skill), they become powerful workflow automations.
Skills can be committed to version control and shared with your team. This means everyone uses the same workflows, following the same standards, producing consistent results across the codebase.