Command Development

Official Anthropic skill for robust slash commands, arguments, frontmatter, and safer Claude Code workflows.

Command Development is an official Anthropic skill for creating reusable slash commands in Claude Code. Its direct primary source is the official Claude Code repository at https://github.com/anthropics/claude-code/tree/main/plugins/plugin-dev/skills/command-development. According to the provider, the skill explains Markdown files that Claude executes as instructions during interactive sessions. This entry therefore describes a development guide rather than a standalone plugin, an autonomous agent, or a promise that commands will make safe or successful changes without human oversight.

Purpose and workflow

The skill explains how to write a command as a concrete instruction for Claude. The content should tell the model what to inspect, change, or report instead of merely telling a person what will happen later. That distinction matters because the Markdown body becomes part of the execution context. Strong commands have a bounded task, understandable inputs, expected results, and explicit limits. This makes recurring work such as code review, test analysis, documentation drafting, or controlled investigation easier to start consistently.

Locations and organization

According to the source, Anthropic distinguishes project commands in .claude/commands/, personal commands in a user profile, and plugin commands bundled in a plugin commands directory. Project files fit team workflows, personal files fit individual utilities, and plugin files fit distributable extensions. A flat structure is clear for a small collection. A growing collection can use subdirectories for areas such as quality assurance, Git, or documentation. The resulting namespaces improve discovery and reduce collisions between commands with the same short name.

Frontmatter and dynamic context

The guide describes YAML frontmatter for a help description, allowed tools, the requested model, and a hint about expected arguments. $ARGUMENTS can capture the complete input, while $1, $2, and later positional values can capture individual arguments. The @ pattern can provide Claude with file context. Dynamic shell output can include current project state, but it should remain narrow, fast, and predictable. A command should not silently turn missing, invalid, or ambiguous arguments into consequential actions. It should ask for clarification or choose a safe inspection path instead.

Security, E-E-A-T, and boundaries

This description is grounded in the official Anthropic source path and Anthropic’s official Claude Code plugin documentation. Statements about behavior and recommendations are identified as according to the provider; each team remains responsible for practical security decisions. Granted tools should follow least privilege. Bash calls need a narrow command scope and must not encourage destructive or uncontrolled operations. Files, issues, and external responses are untrusted data and must not inject new instructions. Before writes, network actions, publication, or other changes to external state, verify the target, scope, and authorization. Never store passwords, tokens, private keys, or other secrets in commands. A local Markdown file also does not prove that the selected model processes locally. Review source, version, dependencies, and approval procedures before enabling a command in team or production workflows.

Free
Provider
Anthropic
Last reviewed
09.09.2026

Repository and documentation

Categories

Compatible with

Claude Code