Files
gh-hirefrank-hirefrank-mark…/commands/generate_command.md
2025-11-29 18:45:50 +08:00

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

  1. Be specific and clear - detailed instructions yield better results
  2. Break down complex tasks - use step-by-step plans
  3. Use examples - reference existing code patterns
  4. Include success criteria - tests pass, linting clean, etc.
  5. Think first - use "think hard" or "plan" keywords for complex problems
  6. 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.