Claude Code slash commands are reusable prompt templates that extend the Claude Code CLI with custom workflows. Stored as markdown files in the .claude/commands/ directory, they let developers invoke complex, multi-step instructions with a single / prefix command. Slash commands eliminate repetitive prompting, enforce consistency across teams, and turn tribal knowledge into executable, version-controlled automation that lives alongside your codebase.
The command system in Claude Code follows a straightforward convention: one markdown file equals one command. When you create a file at .claude/commands/review.md, Claude Code automatically registers it as the /review command. The file content becomes the prompt template that Claude receives when you invoke the command. This design means there is no build step, no configuration file to update, and no registration process. You write a markdown file, and the command appears instantly in your CLI autocomplete.
Project-scoped commands live in your repository's .claude/commands/ directory and are shared with every developer who clones the project. This is the recommended approach for team workflows because commands stay in sync through version control. When a senior developer writes a thorough code review command that checks for security issues, performance antipatterns, and style violations, every team member gets access to that same review standard simply by pulling the latest changes.
User-scoped commands live in ~/.claude/commands/ in your home directory and are available across all projects. These are ideal for personal productivity commands that are not project-specific, such as a general debugging workflow, a commit message generator, or a documentation template. User-scoped commands let you carry your personal toolkit from project to project without polluting each repository's configuration.
Commands support dynamic arguments through the $ARGUMENTS placeholder. When you invoke /deploy staging, the word "staging" replaces $ARGUMENTS in the command template. This makes commands flexible without sacrificing simplicity. A single deploy command can target different environments, a test command can focus on specific modules, and a documentation command can generate docs for whichever component you specify. The argument system keeps the number of commands manageable while covering a wide range of use cases.
Organizing commands into subdirectories creates namespaced command groups. Placing files in .claude/commands/test/unit.md and .claude/commands/test/integration.md creates /test:unit and /test:integration commands. This naming convention scales well for large projects that need dozens of commands without cluttering the top-level autocomplete menu. Teams commonly organize commands by workflow stage: plan/, build/, test/, deploy/, and review/.
The real power of slash commands emerges when you combine them with Claude Code's other extension mechanisms. A command can reference project-specific instructions from CLAUDE.md, trigger hooks that run before or after tool execution, and leverage skills for complex behavioral patterns. For example, a full release command might instruct Claude to run the test suite, update the changelog, bump the version number, create a git tag, and open a pull request, all from a single /release invocation. The command file contains the orchestration logic, while hooks and settings provide the guardrails.
This directory contains 5 curated command collections covering the most impactful slash command patterns. Each collection has been tested for reliability, documented with installation instructions, and categorized by use case. Whether you need to streamline code reviews, automate deployment workflows, standardize testing practices, or build custom project management commands, you will find production-ready solutions below.
