Browse / Productivity Workflow / Command Development

Command Development

Guides the creation and implementation of custom slash commands for reusable workflows in Claude Code.

SkillProductivity WorkflowSkill AuthoringOrchestration

The source repository doesn't declare a license. Check its terms before reusing the code.

Key features

  • YAML frontmatter for command configuration (e.g., allowed tools, model selection).
  • Best practices for command organization using flat and namespaced structures.
  • Inline bash command execution to dynamically gather context.
  • Guidance on plugin-specific features like the CLAUDE_PLUGIN_ROOT variable.
  • Support for dynamic arguments ($ARGUMENTS, $1) and file references (@path/to/file).

Use cases

  • Developing a set of namespaced commands for a plugin to manage its specific workflows.
  • Creating a reusable command to review pull requests with dynamic arguments.
  • Building a project-specific command that runs linters on staged files using inline bash.

FAQ

When should I use this skill?

Use this skill whenever you find yourself repeating a complex prompt or workflow. It's ideal for creating shortcuts for code reviews, generating boilerplate, running tests, interacting with git, or any frequent task you want to standardize and accelerate.

How does this skill improve my development workflow?

It boosts efficiency by turning multi-step tasks into single-line commands. This ensures consistency across your team, reduces manual effort, and allows you to build a library of powerful, context-aware tools tailored to your specific projects.

What does the Command Development skill do?

This skill guides you in creating custom slash commands for Claude Code. It helps you define reusable prompts as Markdown files, configure their behavior with YAML frontmatter, and make them dynamic for powerful, automated workflows.

What key capabilities does this skill teach for creating commands?

It covers essential features like using YAML frontmatter to control models and tools, accepting dynamic arguments ($ARGUMENTS, $1), including code with file references (@path/to/file), and executing inline bash commands to gather real-time context.