Agent skill

commands-manager

Branch skill for building and improving commands. Use when creating new slash commands, adapting marketplace commands, validating command structure, working with $ARGUMENTS, or improving existing commands. Triggers: 'create command', 'improve command', 'validate command', 'fix command', 'slash command', '$ARGUMENTS', 'adapt command', 'multi-phase command', 'command frontmatter'.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/commands-manager

SKILL.md

Commands Manager - Branch of JARVIS-06

Build and improve commands following the commands-management policy.

Policy Source

Primary policy: JARVIS-06 → .claude/skills/commands-management/SKILL.md

This branch executes the policy defined by JARVIS-06. Always sync with Primary before major operations.

Quick Decision Tree

text
Task Received
    │
    ├── Create new command? ─────────────> Workflow 1: Build
    │   └── What type?
    │       ├── Simple action ───────────> Single-phase command
    │       ├── Complex workflow ────────> Multi-phase command
    │       └── Skill invocation ────────> Skill-invoking command
    │
    ├── Adapt marketplace command? ──────> Workflow 3: Adapt
    │
    ├── Fix existing command? ───────────> Workflow 2: Improve
    │
    └── Validate command? ───────────────> Validation Checklist

Command Overview

Slash commands are frequently-used prompts defined as Markdown files that Claude executes during interactive sessions.

Key concepts:

  • Markdown file format for commands
  • YAML frontmatter for configuration
  • Dynamic arguments ($ARGUMENTS, $1, $2)
  • File references (@$1, @file.txt)
  • Bash execution for context (!command)
  • Commands are instructions FOR Claude, not messages TO user

Critical: Commands are Instructions FOR Claude

Commands are written for agent consumption, not human consumption.

When a user invokes /command-name, the command content becomes Claude's instructions.

Correct (instructions for Claude):

markdown
Review this code for security vulnerabilities including:
- SQL injection
- XSS attacks
- Authentication issues

Provide specific line numbers and severity ratings.

Incorrect (messages to user):

markdown
This command will review your code for security issues.
You'll receive a report with vulnerability details.

Always use the first approach - tell Claude what to do.

Command Locations

Location Scope Label Use For
.claude/commands/ Project (project) Team workflows, project-specific
~/.claude/commands/ User (user) Personal workflows, cross-project
plugin/commands/ Plugin (plugin-name) Plugin-bundled functionality

Command Types

Type Phases Use When
Single-phase 1 Simple, direct action
Multi-phase 2-4 Complex workflow with stages
Skill-invoking 1+ Needs skill knowledge

Workflow 1: Build New Command

Step 1: Define Command Purpose

Answer these questions:

  • What task does this command automate?
  • What arguments does it need (if any)?
  • What tools should it use?
  • Does it need multiple phases?
  • Should it invoke a skill?
  • Does it need bash execution for context?

Step 2: Write Frontmatter

yaml
---
description: Brief description for /help (<60 chars)
argument-hint: [file-path] [options]
allowed-tools: Read, Write, Edit, Bash(git:*)
model: inherit
---

Frontmatter fields:

Field Required Purpose Example
description Yes Shows in /help, max 60 chars "Review code for security issues"
argument-hint If args Shows expected arguments "[file-path] [options]"
allowed-tools Optional Restricts available tools "Read, Bash(git:*)"
model Optional Override model sonnet/opus/haiku
disable-model-invocation Optional Prevent programmatic calls true

Step 3: Write Command Body

Single-Phase Template:

markdown
---
description: [What it does in <60 chars]
argument-hint: [expected-args]
allowed-tools: Read, Write, Edit
---

[Action verb] the [target] to [achieve goal]:

1. [First step with specific action]
2. [Second step]
3. [Third step]

Report [expected output format].

Multi-Phase Template:

markdown
---
description: [What it does]
argument-hint: [args]
---

## Phase 1: Analysis

Analyze [target] for [criteria]:

1. [Analysis step 1]
2. [Analysis step 2]

Document findings before proceeding.

## Phase 2: Implementation

Based on Phase 1 findings, implement [changes]:

1. [Implementation step 1]
2. [Implementation step 2]

## Phase 3: Verification

Verify implementation:

1. [Verification step 1]
2. [Verification step 2]

Report completion status with summary.

Skill-Invoking Template:

markdown
---
description: [What it does]
disable-model-invocation: true
---

Invoke the [skill-name] skill to [purpose].

Follow the skill's workflow for [specific task].

Report results following skill's output format.

Step 4: Use Arguments Correctly

Syntax Purpose Example
$ARGUMENTS All args as single string "Fix issue #$ARGUMENTS"
$1, $2, $3 Positional arguments "Compare $1 with $2"
@$1 Include file contents "Review code in @$1"
@file.txt Static file reference "Load @config.json"

Examples:

markdown
# Using $ARGUMENTS (all args)
---
description: Create PR with given title
argument-hint: [title]
---

Create a pull request with title: $ARGUMENTS

# Using positional args
---
description: Compare two files
argument-hint: [file1] [file2]
---

Compare the contents of @$1 with @$2

# Using @$1 for file content
---
description: Review code file
argument-hint: [file-path]
---

Review the following code for issues:

@$1

Provide feedback on quality and suggestions.

Step 5: Add Bash Execution (if needed)

Use ! backticks to execute bash and include output:

markdown
---
description: Review changed files
allowed-tools: Read, Bash(git:*)
---

Files changed: !`git diff --name-only`

Review each file for:
1. Code quality and style
2. Potential bugs or issues
3. Test coverage

Provide specific feedback for each file.

Bash execution patterns:

markdown
# Get git status
Current branch: !`git branch --show-current`

# Run tests
Test results: !`npm test 2>&1`

# Check environment
Node version: !`node --version`

Note: Requires Bash in allowed-tools with appropriate pattern.

Step 6: Save and Validate

Save to: commands/[command-name].md

Run validation checklist.

Workflow 2: Improve Existing Command

Step 1: Analyze Current State

bash
# Read command file
cat commands/[name].md

# Check for common issues:
# - Written as message TO user?
# - Missing description?
# - No argument-hint when needed?
# - Missing output format?

Step 2: Gap Analysis

Component Check Common Issues
description Present? <60 chars? Missing or too long
argument-hint Present if args needed? Missing when command takes args
body Instructions FOR Claude? Written as "This command will..."
body Imperative form? Uses "I will" or "should"
output Defined? No "Report..." section
bash Correct syntax? Wrong backtick pattern

Step 3: Apply Fixes

Converting message to instructions:

Before (wrong):

markdown
This command will analyze your code and find bugs.
You'll receive a report when it's done.

After (correct):

markdown
Analyze the code for bugs and issues:

1. Search for common error patterns
2. Check for security vulnerabilities
3. Identify performance issues

Report findings with severity levels and fix suggestions.

Adding output format:

markdown
Report results as:
- Summary: [1-2 sentences]
- Findings: [Bulleted list]
- Recommendations: [Action items]

Converting to multi-phase:

markdown
## Phase 1: Discovery
[Analysis steps]

## Phase 2: Action
[Implementation steps]

## Phase 3: Verification
[Check steps]

Fixing bash execution:

Wrong:

markdown
`git status`

Correct:

markdown
!`git status`

Step 4: Validate

Run full validation checklist.

Workflow 3: Adapt Marketplace Command

When taking a command from wshobson-agents, obra-superpowers, or similar:

Step 1: Read Original Command

bash
cat marketplace-plugin/commands/[command].md

Note:

  • Frontmatter structure
  • Phase structure (if multi-phase)
  • Argument handling
  • Tool restrictions
  • Bash execution patterns

Step 2: Identify JARVIS Fit

Original Purpose JARVIS Application
Generic code review Category-specific code review
Generic deployment MCP-aware deployment
Generic testing Category testing patterns
Generic workflow 4-plugin aware workflow

Step 3: Adapt Frontmatter

Original:

yaml
---
description: Review code for issues
---

Adapted for JARVIS:

yaml
---
description: Review code following JARVIS standards
argument-hint: [file-path]
allowed-tools: Read, Grep, Glob
---

Step 4: Adapt Body

Add JARVIS-specific context:

markdown
Review the code following JARVIS ecosystem standards:

1. Check compliance with Primary Skill patterns
2. Verify MCP tool usage follows category guidelines
3. Ensure 4-plugin architecture is respected
4. Validate CLAUDE.md references are current

Report findings with JARVIS-specific recommendations.

Add category-specific instructions:

markdown
For this category (JARVIS-XX), additionally check:
- [Category-specific check 1]
- [Category-specific check 2]

Step 5: Validate Adaptation

Run full validation checklist.

Plugin Command Features

CLAUDE_PLUGIN_ROOT Variable

Plugin commands can reference plugin files portably:

markdown
---
description: Analyze using plugin script
allowed-tools: Bash(node:*)
---

Run analysis: !`node ${CLAUDE_PLUGIN_ROOT}/scripts/analyze.js $1`

Review results and report findings.

Common patterns:

markdown
# Execute plugin script
!`bash ${CLAUDE_PLUGIN_ROOT}/scripts/script.sh`

# Load plugin configuration
@${CLAUDE_PLUGIN_ROOT}/config/settings.json

# Use plugin template
@${CLAUDE_PLUGIN_ROOT}/templates/report.md

# Access plugin resources
@${CLAUDE_PLUGIN_ROOT}/docs/reference.md

Plugin Command Organization

text
plugin-name/
├── commands/
│   ├── foo.md              # /foo (plugin:plugin-name)
│   ├── bar.md              # /bar (plugin:plugin-name)
│   └── utils/
│       └── helper.md       # /helper (plugin:plugin-name:utils)
└── plugin.json

Subdirectories create namespaces shown in /help.

Integration with Plugin Components

Agent integration:

markdown
---
description: Deep code review
argument-hint: [file-path]
---

Initiate comprehensive review of @$1 using the code-reviewer agent.

The agent will analyze:
- Code structure
- Security issues
- Performance
- Best practices

Skill integration:

markdown
---
description: Document API with standards
argument-hint: [api-file]
---

Document API in @$1 following plugin standards.

Use the api-docs-standards skill to ensure:
- Complete endpoint documentation
- Consistent formatting
- Example quality

Multi-component workflow:

markdown
---
description: Comprehensive review workflow
argument-hint: [file]
allowed-tools: Bash(node:*), Read
---

Target: @$1

Phase 1 - Static Analysis:
!`node ${CLAUDE_PLUGIN_ROOT}/scripts/lint.js $1`

Phase 2 - Deep Review:
Launch code-reviewer agent for detailed analysis.

Phase 3 - Standards Check:
Use coding-standards skill for validation.

Phase 4 - Report:
Template: @${CLAUDE_PLUGIN_ROOT}/templates/review.md

Compile findings into report following template.

Validation Patterns

Argument Validation

markdown
---
description: Deploy with validation
argument-hint: [environment]
---

Validate environment: !`echo "$1" | grep -E "^(dev|staging|prod)$" || echo "INVALID"`

If $1 is valid environment:
  Deploy to $1
Otherwise:
  Explain valid environments: dev, staging, prod
  Show usage: /deploy [environment]

File Existence Checks

markdown
---
description: Process configuration
argument-hint: [config-file]
---

Check file exists: !`test -f $1 && echo "EXISTS" || echo "MISSING"`

If file exists:
  Process configuration: @$1
Otherwise:
  Explain where to place config file
  Provide example configuration

Plugin Resource Validation

markdown
---
description: Run plugin analyzer
allowed-tools: Bash(test:*)
---

Validate plugin setup:
- Script: !`test -x ${CLAUDE_PLUGIN_ROOT}/bin/analyze && echo "OK" || echo "MISSING"`
- Config: !`test -f ${CLAUDE_PLUGIN_ROOT}/config.json && echo "OK" || echo "MISSING"`

If all checks pass, run analysis.
Otherwise, report missing components.

Validation Checklist

Structure

  • File in commands/ directory with .md extension
  • Filename is lowercase with hyphens
  • Valid YAML frontmatter between --- markers

Frontmatter

  • description present and under 60 characters
  • argument-hint present if command takes arguments
  • allowed-tools present if tool restriction needed
  • model valid if specified (sonnet/opus/haiku/inherit)

Body Content

  • Written as instructions FOR Claude (imperative)
  • Does NOT use "I will", "This command will", "You'll get"
  • Uses action verbs: "Analyze", "Create", "Review", "Check"
  • Has numbered steps for procedures
  • Has "Report..." section defining output format

Arguments (if applicable)

  • $ARGUMENTS used correctly for all args
  • $1, $2, $3 used correctly for positional args
  • @$1 used correctly for file content inclusion
  • argument-hint matches actual usage

Bash Execution (if applicable)

  • Uses ! backticks syntax (!command)
  • allowed-tools includes Bash with appropriate pattern
  • Commands are safe and tested
  • Error output handled (2>&1 if needed)

Multi-Phase (if applicable)

  • Phases clearly marked with ## headers
  • Each phase has distinct purpose
  • Phases build on each other logically
  • Final phase includes verification

Plugin Commands (if applicable)

  • Uses ${CLAUDE_PLUGIN_ROOT} for plugin paths
  • No hardcoded absolute paths
  • Resources exist in plugin

Command Examples

Example 1: Simple Review Command

markdown
---
description: Review file for code quality
argument-hint: [file-path]
allowed-tools: Read, Grep
---

Review @$1 for code quality issues:

1. Check for code style violations
2. Identify potential bugs
3. Look for performance issues
4. Verify error handling

Report findings with:
- Issue: [description]
- Severity: [high/medium/low]
- Suggestion: [fix recommendation]

Example 2: Multi-Phase Deployment Command

markdown
---
description: Deploy category to production
argument-hint: [category-number]
allowed-tools: Read, Bash(git:*), Bash(gcloud:*)
---

## Phase 1: Pre-Deployment Checks

Verify JARVIS-$1 is ready for deployment:

1. Check all tests pass
2. Verify CLAUDE.md is up to date
3. Confirm Primary Skill has no TODOs
4. Validate mcp.json configuration

Document any issues before proceeding.

## Phase 2: Deployment

Deploy JARVIS-$1:

1. Tag the release with version
2. Push to production branch
3. Deploy MCP server if applicable
4. Update BigQuery tables if needed

## Phase 3: Verification

Verify deployment success:

1. Test MCP tools are responding
2. Verify category loads correctly
3. Check logs for errors

Report deployment status with:
- Version deployed
- Components updated
- Any issues encountered

Example 3: Skill-Invoking Command

markdown
---
description: Improve category following dev cycle
argument-hint: [category-number]
disable-model-invocation: true
---

Invoke the category-optimizer skill for JARVIS-$1.

Follow the skill's self-improvement cycle:

1. Analyze current CLAUDE.md
2. Review settings.json
3. Check Primary Skill completeness
4. Apply improvements

Report all changes made following the skill's output format.

Example 4: Plugin Command with Bash

markdown
---
description: Run full analysis pipeline
argument-hint: [target-file]
allowed-tools: Read, Bash(node:*)
---

Target: @$1

Run analysis pipeline:

Step 1 - Lint:
!`node ${CLAUDE_PLUGIN_ROOT}/scripts/lint.js $1`

Step 2 - Type Check:
!`node ${CLAUDE_PLUGIN_ROOT}/scripts/typecheck.js $1`

Step 3 - Security Scan:
!`node ${CLAUDE_PLUGIN_ROOT}/scripts/security.js $1`

Compile all findings and provide summary with:
- Total issues found
- Issues by severity
- Recommended fixes

Troubleshooting

Issue Cause Fix
Command not appearing Wrong directory Check .claude/commands/ or commands/
Command not appearing Missing .md extension Add .md extension
Arguments not working Wrong syntax Use $1 not ${1}, $ARGUMENTS not ${ARGUMENTS}
File reference fails Missing @ Use @$1 not $1 for file content
Bash not executing Wrong syntax Use !cmd not cmd or $(cmd)
Bash fails No tool permission Add Bash(pattern:*) to allowed-tools
Plugin path fails Wrong variable Use ${CLAUDE_PLUGIN_ROOT} not $PLUGIN_ROOT

Common Issues & Fixes

Issue Diagnosis Fix
Written as message Uses "This command will" Rewrite with imperative verbs
No output format Missing "Report..." Add output specification
Args not working Wrong syntax Check $ARGUMENTS vs $1 vs @$1
Too vague "Check the code" Add specific numbered steps
Missing hint Takes args but no hint Add argument-hint field
Tool errors Needs restricted tool Add allowed-tools field
Bash not running Missing allowed-tools Add Bash(pattern:*)

Best Practices

DO:

  • ✅ Write instructions FOR Claude
  • ✅ Use imperative verbs (Analyze, Create, Review)
  • ✅ Include numbered steps for procedures
  • ✅ Define output format with "Report..."
  • ✅ Add argument-hint when taking arguments
  • ✅ Use appropriate tool restrictions
  • ✅ Test commands before deployment

DON'T:

  • ❌ Write messages TO user ("This will...")
  • ❌ Use vague instructions ("Check the code")
  • ❌ Skip output format definition
  • ❌ Forget argument-hint for arg-taking commands
  • ❌ Use Bash(*) when specific pattern works
  • ❌ Hardcode paths in plugin commands
  • ❌ Skip validation

When to Use This Skill

  • User asks to create a new slash command
  • User asks to adapt a marketplace command
  • User asks to validate command structure
  • User asks to fix command that's not working
  • User asks about command arguments or bash execution
  • DEV-Manager detects command issues during improvement cycle
  • Regular improvement cycle (~6 sessions)

Sync Protocol

Before executing any workflow:

  1. Read JARVIS-06's commands-management SKILL.md
  2. Check for policy updates
  3. Apply current policy, not cached knowledge

Didn't find tool you were looking for?

Be as detailed as possible for better results