command-development_skill

This skill helps you design and implement slash commands in Claude Code, including frontmatter, dynamic arguments, and bash execution for faster automation.
  • Shell
  • Official

73.8k

GitHub Stars

2

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill anthropics/claude-code --skill command-development

  • README.md7.5 KB
  • SKILL.md18.5 KB

Overview

This skill explains how to create, organize, and run slash commands for Claude Code. It covers Markdown command format, YAML frontmatter options, dynamic arguments, file references, bash execution, and best practices for reliable, reusable commands. Use it to build consistent developer workflows that Claude can execute directly.

How this skill works

Commands are Markdown files that Claude executes when invoked; the file content becomes instructions directed to the agent. YAML frontmatter configures description, allowed tools, model selection, and argument hints. Arguments ($1, $2, $ARGUMENTS) and @ file references inject user input and file contents, while inline bash can run repository commands to gather context prior to processing. Place commands in project, user, or plugin locations to control scope and namespacing.

When to use it

  • You want to create a reusable slash command for common tasks (reviews, deploys, tests).
  • You need dynamic arguments or file contents inserted into a command run.
  • You must run repository-level commands (git, npm) and include results in the prompt.
  • You want to limit tool access or specify the model for safer, faster execution.
  • You need to organize many commands into namespaces or plugin-specific sets.

Best practices

  • Design single-responsibility commands with clear verb-noun names (review-pr, deploy).
  • Write prompts as direct instructions to Claude, not descriptions for users.
  • Document arguments with argument-hint and validate missing/invalid args inside the prompt.
  • Use allowed-tools to restrict Bash scope (e.g., Bash(git:*)) and avoid destructive commands.
  • Prefer explicit file paths, handle missing files gracefully, and test bash snippets locally.

Example use cases

  • Review a specific pull request: /review-pr 123 — uses $1 and allowed-tools: Read, Bash(git:*).
  • Run tests for a file: /test-file spec/unit/foo.test.js — uses Bash(npm:*) to run tests and analyze output.
  • Deploy an app: /deploy api staging v1.2.3 — combines positional args and bash to fetch build info.
  • Generate docs from a template: /generate-docs src/components/Button — includes @file references and templates.
  • Compare files: /diff src/old.js src/new.js — uses multiple @ references and reports breaking changes.

FAQ

Project commands go in .claude/commands/ for team scope; personal commands go in ~/.claude/commands/ for global use.

How do I include file contents in a command?

Use @file-path or @${CLAUDE_PLUGIN_ROOT}/path for plugin files; Claude reads those files before running the prompt.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
command-development skill by anthropics/claude-code | VeilStrat