3.1 KiB
3.1 KiB
description
| description |
|---|
| Create a custom Claude Code slash command in .claude/commands/ |
Create a Custom Claude Code Command
Create a new slash command in .claude/commands/ for the requested task.
Goal
#$ARGUMENTS
Key Capabilities to Leverage
File Operations:
- Read, Edit, Write - modify files precisely
- Glob, Grep - search codebase
- MultiEdit - atomic multi-part changes
Development:
- Bash - run commands (git, tests, linters)
- Task - launch specialized agents for complex tasks
- TodoWrite - track progress with todo lists
Web & APIs:
- WebFetch, WebSearch - research documentation
- GitHub (gh cli) - PRs, issues, reviews
- Puppeteer - browser automation, screenshots
Integrations:
- Platform-specific MCPs for account context and docs
- shadcn/ui MCP - component documentation
- Stripe, Todoist, Featurebase (if relevant)
Best Practices
- Be specific and clear - detailed instructions yield better results
- Break down complex tasks - use step-by-step plans
- Use examples - reference existing code patterns
- Include success criteria - tests pass, linting clean, etc.
- Think first - use "think hard" or "plan" keywords for complex problems
- Iterate - guide the process step by step
Structure Your Command
# [Command Name]
[Brief description of what this command does]
## Steps
1. [First step with specific details]
- Include file paths, patterns, or constraints
- Reference existing code if applicable
2. [Second step]
- Use parallel tool calls when possible
- Check/verify results
3. [Final steps]
- Run tests
- Lint code
- Commit changes (if appropriate)
## Success Criteria
- [ ] Tests pass
- [ ] Code follows style guide
- [ ] Documentation updated (if needed)
Tips for Effective Commands
- Use $ARGUMENTS placeholder for dynamic inputs
- Reference PREFERENCES.md for framework-specific patterns and guidelines
- Include verification steps - tests, linting, visual checks
- Be explicit about constraints - don't modify X, use pattern Y
- Use XML tags for structured prompts:
<task>,<requirements>,<constraints>
Example Pattern
Implement #$ARGUMENTS following these steps:
1. Research existing patterns
- Search for similar code using Grep
- Read relevant files to understand approach
2. Plan the implementation
- Think through edge cases and requirements
- Consider test cases needed
3. Implement
- Follow existing code patterns (reference specific files)
- Write tests first if doing TDD
- Ensure code follows CLAUDE.md conventions
4. Verify
- Run tests:
- Local development: `npm test` or appropriate dev server
- TypeScript: `npm run typecheck` or `tsc --noEmit`
- Unit tests: `vitest` or `jest`
- Run linter:
- Rails: `bundle exec standardrb` or `bundle exec rubocop`
- TypeScript: `npm run lint` or `eslint .`
- Python: `ruff check .` or `flake8`
- Check changes with git diff
5. Commit (optional)
- Stage changes
- Write clear commit message
Now create the command file at .claude/commands/[name].md with the structure above.