Claude Code Command Development
Design reusable, interactive slash commands for Claude Code.
The document recommends allowed-tools scoping and avoiding destructive Bash operations, and explains file references and script execution. However, several examples use Bash(*), deployment, or deletion operations without consistently requiring explicit confirmation, sensitive-data handling, transparent data-flow boundaries, or verifiable rollback. Anthropic provenance is supplied, but the license is unknown, so points are deducted.
Core structures, arguments, file references, and error-handling patterns are described reasonably well. However, the static material contains no test suite or CI evidence, and some Bash, conditional-syntax, and AskUserQuestion examples may depend on undocumented runtime behavior. The static cap is respected, with further deductions for syntax consistency and incomplete failure paths.
Trigger phrases, intended audience, and primary scenarios are clear, covering ordinary commands, plugin commands, arguments, file references, and interactive workflows. Non-fit boundaries, actual version compatibility, missing-argument behavior, and Chinese-language guidance are limited. The core function does not clearly depend on an unreachable overseas service, so no extra mainland-China deduction is applied.
SKILL.md offers a layered entry point, reference-document links, and examples, and includes maintenance advice. However, README version 0.1.0 conflicts with frontmatter version 0.2.0, the status says enhancements remain in progress, licensing and explicit maintenance ownership are absent, and the README claims reference content not present in the supplied evidence.
The material addresses the main task of creating Claude Code slash commands and provides many reusable templates, giving it direct practical value. Several examples nevertheless depend on unverified syntax, external scripts, tool permissions, or plugin resources, so outputs require manual validation and adaptation. The static ceiling of 7 is respected.
Concrete code blocks, directory conventions, field tables, and checklists provide limited auditable evidence. There is no committed test suite, CI result, execution log, or independent review, and no example was executed. The assessment therefore relies mainly on internal documentation claims and receives a low score.
- Do not treat Bash(*), deployment, deletion, or rollback patterns in the examples as verified safe defaults; validate permissions, confirmation points, argument escaping, failure states, and recovery paths before production use.
- Version metadata is inconsistent, and some referenced documents or resources are not included in the supplied material; verify against the target Claude Code version and repository files.
- Chinese trigger and output conventions are not documented; add localized examples and explicit non-fit boundaries for Chinese users.
What it does & when to use it
This skill guides the design and organization of Claude Code slash commands. It covers Markdown command files, YAML frontmatter, argument substitution, file references, and inline Bash execution. It also explains plugin command namespaces, plugin resources, and coordination with agents, skills, and hooks. It fits users who want to turn recurring coding workflows into personal or team commands.
It explains how to create .md slash commands and configure fields such as description, allowed-tools, model, argument-hint, and disable-model-invocation; use $ARGUMENTS, $1, and related variables; reference files with @; gather Git or environment context with inline Bash; organize project, personal, and plugin commands; and add validation and error-handling patterns for arguments, files, plugin resources, and command execution.
- A team wants to share code review, testing, or deployment workflows in `.claude/commands/`.
- An individual wants reusable workflows available across projects through `~/.claude/commands/`.
- A plugin developer needs namespaced commands that reference scripts, templates, configuration, or other plugin resources.
- A developer needs commands to accept dynamic issue, pull request, environment, or file-path arguments.
- A user wants a command to read specified files or collect repository state with Bash before processing a request.
Pros & cons
- Covers command design from basic Markdown files through plugin-oriented workflows.
- Includes examples for arguments, file references, Bash execution, validation, and error handling.
- Clearly distinguishes project, personal, and plugin command scopes.
- Documents integration patterns for agents, skills, hooks, and plugin resources.
- It depends heavily on Claude Code mechanisms such as slash commands, `$ARGUMENTS`, `@` file references, and inline `!` commands.
- The source does not document standalone installation, version compatibility, or a test suite.
- Some examples use Git, npm, gh, Node.js, or plugin scripts, which may not exist in every environment.
- The skill provides development guidance rather than acting as an independent command runner.
How to install
The skill is located at plugins/plugin-dev/skills/command-development/SKILL.md. The source does not document a standalone installation method for this skill. The README documents Claude Code installation with curl -fsSL https://claude.ai/install.sh | bash on MacOS/Linux or irm https://claude.ai/install.ps1 | iex on Windows, followed by running claude from a project directory.
How to use
In Claude Code, ask for command-development help with prompts such as “create a slash command” or “define command arguments.” When implementing one, place commands in .claude/commands/, ~/.claude/commands/, or a plugin’s commands/ directory, then write the Markdown, frontmatter, argument variables, file references, and Bash snippets described by the guide.