Agent skill

validating-setup-commands

Use before creating worktrees or executing tasks - validates that CLAUDE.md defines required setup commands (install, optional postinstall) and provides clear error messages with examples if missing

Stars 10
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/arittr/spectacular/tree/main/skills/validating-setup-commands

SKILL.md

Validating Setup Commands

Overview

Worktrees require dependency installation before tasks can execute. Projects MUST define setup commands in CLAUDE.md.

This skill validates setup commands exist BEFORE creating worktrees, preventing cryptic failures later.

When to Use

Use this skill when:

  • Creating new worktrees (spec, execute commands)
  • Before executing tasks that need dependencies
  • Any time you need to verify project setup is documented

Use early: Validate during setup phase, not during task execution.

Why This Matters

Without validation:

  • Worktrees get created
  • Tasks start executing
  • Fail with "command not found" errors
  • User debugging nightmare: "Why is npm/pytest/cargo missing?"

With validation:

  • Missing commands detected immediately
  • Clear error with exact CLAUDE.md section to add
  • User fixes once, all worktrees work

The Validation Process

Announce: "Validating CLAUDE.md setup commands before creating worktrees."

Step 1: Check File Exists

bash
# Get repo root
REPO_ROOT=$(git rev-parse --show-toplevel)

# Check if CLAUDE.md exists
if [ ! -f "$REPO_ROOT/CLAUDE.md" ]; then
  echo "❌ Error: CLAUDE.md not found in repository root"
  echo ""
  echo "Spectacular requires CLAUDE.md to define setup commands."
  echo "See: https://docs.claude.com/claude-code"
  exit 1
fi

Why fail fast: No CLAUDE.md = no command configuration. Stop before creating any worktrees.

Step 2: Parse Setup Section

bash
# Parse CLAUDE.md for setup section
INSTALL_CMD=$(grep -A 10 "^### Setup" "$REPO_ROOT/CLAUDE.md" | grep "^- \*\*install\*\*:" | sed 's/.*: `\(.*\)`.*/\1/')

if [ -z "$INSTALL_CMD" ]; then
  echo "❌ Error: Setup commands not defined in CLAUDE.md"
  echo ""
  echo "Worktrees require dependency installation before tasks can execute."
  echo ""
  echo "Add this section to CLAUDE.md:"
  echo ""
  echo "## Development Commands"
  echo ""
  echo "### Setup"
  echo "- **install**: \`npm install\`  (or your package manager)"
  echo "- **postinstall**: \`npx prisma generate\`  (optional - any codegen)"
  echo ""
  echo "Example for different package managers:"
  echo "- Node.js: npm install, pnpm install, yarn, or bun install"
  echo "- Python: pip install -r requirements.txt"
  echo "- Rust: cargo build"
  echo "- Go: go mod download"
  echo ""
  echo "See: https://docs.claude.com/claude-code"
  echo ""
  echo "Execution stopped. Add setup commands to CLAUDE.md and retry."
  exit 1
fi

# Extract postinstall command (optional)
POSTINSTALL_CMD=$(grep -A 10 "^### Setup" "$REPO_ROOT/CLAUDE.md" | grep "^- \*\*postinstall\*\*:" | sed 's/.*: `\(.*\)`.*/\1/')

Parsing logic:

  • Look for ### Setup header
  • Extract **install**: command (required)
  • Extract **postinstall**: command (optional)
  • Use sed to extract command from backticks

Step 3: Report Success

bash
# Report detected commands
echo "✅ Setup commands found in CLAUDE.md"
echo "   install: $INSTALL_CMD"
if [ -n "$POSTINSTALL_CMD" ]; then
  echo "   postinstall: $POSTINSTALL_CMD"
fi

Store for later use:

  • Return INSTALL_CMD to caller
  • Return POSTINSTALL_CMD (may be empty)
  • Caller uses these in worktree dependency installation

Expected CLAUDE.md Format

The skill expects this exact format:

markdown
## Development Commands

### Setup
- **install**: `npm install`
- **postinstall**: `npx prisma generate`  (optional)

Format requirements:

  • Section header: ### Setup (exactly)
  • Install line: - **install**: command`` (required)
  • Postinstall line: - **postinstall**: command`` (optional)
  • Commands must be in backticks

Multi-language examples:

markdown
### Setup
- **install**: `npm install`           # Node.js
- **install**: `pip install -r requirements.txt`  # Python
- **install**: `cargo build`           # Rust
- **install**: `go mod download`       # Go
- **install**: `bundle install`        # Ruby

Error Messages

Error 1: CLAUDE.md Not Found

❌ Error: CLAUDE.md not found in repository root

Spectacular requires CLAUDE.md to define setup commands.
See: https://docs.claude.com/claude-code

User action: Create CLAUDE.md in repository root.

Error 2: Setup Commands Missing

❌ Error: Setup commands not defined in CLAUDE.md

Worktrees require dependency installation before tasks can execute.

Add this section to CLAUDE.md:

## Development Commands

### Setup
- **install**: `npm install`  (or your package manager)
- **postinstall**: `npx prisma generate`  (optional - any codegen)

Example for different package managers:
- Node.js: npm install, pnpm install, yarn, or bun install
- Python: pip install -r requirements.txt
- Rust: cargo build
- Go: go mod download

See: https://docs.claude.com/claude-code

Execution stopped. Add setup commands to CLAUDE.md and retry.

User action: Add Setup section with at least install command.

Integration Pattern

How commands use this skill:

bash
# In execute.md or spec.md:

# Step 1.5: Validate Setup Commands
# Use validating-setup-commands skill to extract and verify
INSTALL_CMD=$(validate_setup_commands_install)
POSTINSTALL_CMD=$(validate_setup_commands_postinstall)

# Step 3: Create worktrees
git worktree add .worktrees/{runid}-task-1

# Step 4: Install dependencies using validated commands
cd .worktrees/{runid}-task-1
$INSTALL_CMD
if [ -n "$POSTINSTALL_CMD" ]; then
  $POSTINSTALL_CMD
fi

Reusable across:

  • /spectacular:spec - Validates before creating main worktree
  • /spectacular:execute - Validates before creating task worktrees
  • Future commands that create worktrees

Common Mistakes

Mistake 1: Running Validation Too Late

Wrong: Create worktrees, then validate Right: Validate BEFORE creating ANY worktrees

Why: Failed validation after worktrees exist leaves orphaned directories.

Mistake 2: Not Providing Examples

Wrong: "Error: Add setup commands" Right: "Error: Add setup commands. Here's the exact format: [example]"

Why: Users need to know WHAT to add and WHERE.

Mistake 3: Requiring Postinstall

Wrong: Fail if postinstall missing Right: Postinstall is optional (codegen only needed in some projects)

Why: Not all projects have codegen (Prisma, GraphQL, etc.).

Quick Reference

Validation sequence:

  1. Check CLAUDE.md exists (exit if missing)
  2. Parse for ### Setup section
  3. Extract install command (exit if missing)
  4. Extract postinstall command (optional)
  5. Report success and return commands

Exit points:

  • Missing CLAUDE.md → Error with creation instructions
  • Missing setup section → Error with exact format example
  • Success → Return INSTALL_CMD and POSTINSTALL_CMD

Format validated:

  • ### Setup header
  • - **install**: command``
  • - **postinstall**: command`` (optional)

The Bottom Line

Validate setup commands BEFORE creating worktrees.

Early validation with clear error messages prevents confusing failures during task execution.

The skill provides users with exact examples of what to add, making fixes easy.

Expand your agent's capabilities with these related and highly-rated skills.

arittr/spectacular

phase-task-verification

Shared branch creation and verification logic for sequential and parallel task execution - handles git operations, HEAD verification, and MODE-specific behavior

10 0
Explore
arittr/spectacular

understanding-cross-phase-stacking

Use before starting any new phase - explains how sequential and parallel phases automatically chain together through base branch inheritance (main worktree tracks progress, parallel phases inherit from current branch, no manual intervention needed)

10 0
Explore
arittr/spectacular

executing-sequential-phase

Use when orchestrating sequential phases in plan execution - executes tasks one-by-one in main worktree using git-spice natural stacking (NO manual upstack commands, NO worktree creation, tasks build on each other)

10 0
Explore
arittr/spectacular

troubleshooting-execute

Use when execute command encounters errors - diagnostic guide for phase failures, parallel agent failures, merge conflicts, worktree issues, and recovery strategies

10 0
Explore
arittr/spectacular

executing-plan

Use to execute an implementation plan with automatic sequential/parallel orchestration - handles worktree verification, resume detection, phase dispatch, and quality verification

10 0
Explore
arittr/spectacular

testing-workflows-with-subagents

Use when creating or editing commands, orchestrator prompts, or workflow documentation before deployment - applies RED-GREEN-REFACTOR to test instruction clarity by finding real execution failures, creating test scenarios, and verifying fixes with subagents

10 0
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results