Claude Code custom commands: build your own /deploy, /review, and /standup

Dev.to / 4/5/2026

💬 OpinionDeveloper Stack & InfrastructureTools & Practical Usage

Key Points

  • Claude Code custom slash commands are defined as Markdown files under <project>/.claude/commands/, where each filename (e.g., review.md) maps directly to a slash command (e.g., /review).
  • The article shows how to create a /review command that reads the staged PR diff and produces a structured, actionable code review covering logic/edge cases, missing error handling, security concerns, test coverage, and a one-line PR description.
  • It provides an example /deploy command that runs pre-flight checks (tests and lint), verifies no uncommitted changes, generates a conventional commit and dated git tag, and outputs a deployment checklist without pushing.
  • It also demonstrates a /standup command that uses recent git activity to generate a concise standup update summarizing completed work in plain English.
  • Overall, the guide emphasizes encoding a team’s workflow into repeatable one-line prompts to standardize reviews and release routines.

Claude Code custom commands: build your own /deploy, /review, and /standup

Claude Code's built-in slash commands are useful. But the real power comes from building your own.

Custom commands let you encode your team's workflow into repeatable, one-line prompts. Here's how to build them.

Where custom commands live

Custom commands are markdown files inside .claude/commands/ in your project root:

my-project/
  .claude/
    commands/
      deploy.md
      review.md
      standup.md
  src/
  package.json

Each file becomes a slash command. deploy.md/deploy. review.md/review.

Your first custom command: /review

Create .claude/commands/review.md:

Review the staged changes in this PR. For each file:
1. Check for logic errors and edge cases
2. Flag any missing error handling
3. Note security concerns (SQL injection, XSS, auth bypass)
4. Check test coverage for the changed code
5. Suggest a one-line PR description

Be concise. No praise. Only actionable feedback.

Now in Claude Code:

/review

Claude reads your staged diff and gives you a structured code review.

A /deploy command

Create .claude/commands/deploy.md:

Prepare this branch for deployment:
1. Run `npm test` — fix any failures before continuing
2. Run `npm run lint` — fix any errors
3. Check git log for uncommitted changes
4. Write a conventional commit message summarizing all changes
5. Create a git tag with today's date: v$(date +%Y-%m-%d)
6. Output the deployment checklist as markdown

Do not push. Just prepare and report.

Run /deploy before every release. Claude handles the pre-flight checklist.

A /standup command

Create .claude/commands/standup.md:

Generate my standup update:
1. Run `git log --since='24 hours ago' --author='$USER' --oneline`
2. Summarize what was completed in plain English (2-3 bullets)
3. Check open TODO comments in changed files
4. List any failing tests or lint warnings as blockers

Format: Yesterday / Today / Blockers
Keep it under 100 words.

Now /standup writes your daily update automatically.

Passing arguments with $ARGUMENTS

Custom commands can accept arguments using the $ARGUMENTS placeholder:

Create .claude/commands/ticket.md:

Create a new feature branch and scaffold for ticket: $ARGUMENTS

1. Create branch: feature/$ARGUMENTS
2. Create file: src/features/$ARGUMENTS/index.ts with basic exports
3. Create test file: src/features/$ARGUMENTS/index.test.ts
4. Add TODO comment with ticket reference
5. Stage all new files

Usage:

/ticket AUTH-247

Claude creates the branch feature/AUTH-247, scaffolds the files, and stages them.

A /debug command for production issues

Create .claude/commands/debug.md:

Debug this production issue: $ARGUMENTS

1. Search codebase for files related to: $ARGUMENTS
2. Check recent git changes to those files (last 7 days)
3. Look for error handling gaps
4. Check if there are existing tests covering this path
5. Propose 3 likely root causes ranked by probability
6. Suggest the minimal fix for the most likely cause

Usage:

/debug users seeing 500 on checkout

Sharing commands with your team

Commit .claude/commands/ to git. Everyone gets the same commands:

git add .claude/commands/
git commit -m "add team Claude Code commands"

New teammates onboard in seconds. /review, /deploy, /standup are part of the project from day one.

Global commands (personal, not shared)

For commands that are personal (not team-wide), use ~/.claude/commands/ instead:

~/.claude/
  commands/
    explain.md      # explain code to a junior dev
    refactor.md     # my personal refactoring style
    commit.md       # my commit message format

These are available in every project but never committed to git.

Pro tip: chain commands with hooks

Custom commands + hooks = fully automated workflows.

In your .claude/settings.json:

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write",
        "hooks": [
          {"type": "command", "command": "npm run lint --fix"}
        ]
      }
    ]
  }
}

Now every time Claude writes a file, lint runs automatically. Combine with /deploy and you have a zero-touch release pipeline.

Rate limits break automation

The one thing that breaks custom command workflows: rate limits.

If Claude hits a rate limit mid-command, your /deploy checklist stops halfway. Your /review cuts off before security checks.

Fix it with ANTHROPIC_BASE_URL:

export ANTHROPIC_BASE_URL=https://simplylouie.com

SimplyLouie is a ✌️2/month Claude proxy that removes rate limits. Your custom commands run to completion every time.

# In your .bashrc or .zshrc
export ANTHROPIC_BASE_URL=https://simplylouie.com
export ANTHROPIC_API_KEY=your-simply-louie-key

Now /deploy never gets interrupted. /review never cuts off. ✌️2/month.

Summary

Command What it does
/review Structured code review of staged changes
/deploy Pre-flight checklist before release
/standup Auto-generate daily standup from git log
/ticket AUTH-247 Scaffold new feature branch
/debug users seeing 500 Root cause analysis with fix suggestions

Custom commands are the most underused Claude Code feature. Build three this week and you won't go back.

Using ANTHROPIC_BASE_URL to avoid rate limit interruptions? SimplyLouie is ✌️2/month — 7-day free trial, no commitment.