claude-commands

Create and manage custom slash commands for Claude Code.

24|6|Updated Nov 15, 2025
One-click install
npx skills add https://github.com/vinnie357/claude-skills --skill claude-commands-vinnie357
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: claude-commands
Source: https://github.com/vinnie357/claude-skills/tree/main/claude-code/skills/claude-commands
Command: npx skills add https://github.com/vinnie357/claude-skills --skill claude-commands-vinnie357

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill enables users to create custom slash commands in Claude Code, streamlining repetitive tasks and providing quick access to complex workflows. It enhances productivity by allowing users to trigger predefined actions or expand prompts with dynamic content.

Core Features & Use Cases

  • Custom Command Creation: Define commands with static text, dynamic arguments ({{arg}}, {{named_arg}}), and conditional content ({{#if}}).
  • Multi-Step Workflows: Orchestrate complex sequences by embedding shell commands ({{shell:git diff}}) or referencing other files within a single command.
  • Command Organization & Best Practices: Learn to structure commands within plugins, use clear naming conventions, and document arguments for discoverability.
  • Use Case: Create a /gcm (Git Commit Message) command that automatically analyzes staged changes ({{shell:git diff --staged}}) and generates a conventional commit message, saving time on manual commit message crafting.

Quick Start

Create a new command named '/greet' that takes a single argument (a name) and responds with "Hello, {{name}}!".

Frequently Asked Questions about claude-commands

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create custom slash commands in Claude Code?

Custom slash commands in Claude Code are defined using markdown-based command files with static text, dynamic arguments (`{{arg}}`), and conditional sections (`{{#if}}`). Place command files in your plugin or user command directory, register them in `plugin.json` with kebab-case naming, and Claude Code loads them automatically for instant access.

Can I automate Git workflows with Claude Code slash commands?

Yes. Embed shell commands like `{{shell:git diff --staged}}` directly in your command definition to automate Git workflows. For example, create a `/gcm` command that analyzes staged changes and generates conventional commit messages, eliminating manual composition.

What's the best way to organize custom commands across multiple plugins?

Organize commands using directory-based loading and `plugin.json` registration. Use clear kebab-case naming conventions, document command arguments for discoverability, and structure related commands within their respective plugin roots to maintain clean separation and cross-plugin workflows.

How do I pass multiple arguments or named parameters to a slash command?

Define arguments using `{{arg}}` for positional parameters and `{{named_arg}}` for named parameters in your command file. Claude Code parses both single and multiple argument types, allowing you to build flexible commands that accept user input dynamically.

Can I reference file content or execute multi-step workflows in a single command?

Yes. Include file references and shell commands within a single command definition using `{{shell:...}}` syntax and file inclusion patterns. This enables multi-step workflows where one command orchestrates complex sequences across templating, file access, and command execution.

What happens if my custom command fails or doesn't execute?

Debug command execution by verifying registration in `plugin.json`, checking directory placement against plugin roots and user directories, validating argument syntax (`{{arg}}` format), and ensuring kebab-case naming. Claude Code's directory-based loading and cross-plugin workflows surface configuration issues during execution.