remove commands

This commit is contained in:
Rathi Harivansh 2026-01-19 17:45:23 +00:00
parent 32038d2332
commit 5125fc6efc
6 changed files with 0 additions and 565 deletions

View file

@ -22,14 +22,6 @@ Orchestrator (tmux background)
└─→ Weaver 03 (tmux) → Verifier (subagent) → PR
```
## Commands
| Command | Description |
|---------|-------------|
| `/plan` | Start interactive planning session |
| `/build <plan-id>` | Execute a plan (spawns orchestrator + weavers) |
| `/status [plan-id]` | Check status of plans and weavers |
## Quick Start
```bash

View file

@ -57,14 +57,6 @@ Orchestrator (tmux background)
└─→ Weaver 03 (tmux) → Verifier (subagent) → PR
```
## Commands
| Command | Description |
|---------|-------------|
| `/plan` | Start interactive planning session |
| `/build <plan-id>` | Execute plan via tmux weavers |
| `/status [plan-id]` | Check plan/weaver status |
## Directory Structure
```

View file

@ -1,194 +0,0 @@
---
description: Execute a plan by launching orchestrator in tmux. Creates PRs for each spec.
argument-hint: <plan-id> [spec-names...]
---
# /build Command
Execute a plan. Launches orchestrator in tmux, which spawns weavers for each spec.
## Usage
```
/build plan-20260119-1430
/build plan-20260119-1430 01-schema 02-backend
```
## What You Do
When `/build <plan-id>` is invoked:
### Step 1: Validate Plan Exists
```bash
if [ ! -f ".claude/vertical/plans/<plan-id>/meta.json" ]; then
echo "Error: Plan not found: <plan-id>"
echo "Run /status to see available plans"
exit 1
fi
```
### Step 2: Generate Orchestrator Prompt
```bash
cat > /tmp/orch-prompt-<plan-id>.md << 'PROMPT_EOF'
<orchestrator-skill>
$(cat skills/orchestrator/SKILL.md)
</orchestrator-skill>
<plan-id><plan-id></plan-id>
<repo-path>$(pwd)</repo-path>
Execute the plan. Spawn weavers. Track progress. Write summary.
Begin now.
PROMPT_EOF
```
### Step 3: Launch Orchestrator in Tmux
```bash
tmux new-session -d -s "vertical-<plan-id>-orch" -c "$(pwd)" \
"claude -p \"\$(cat /tmp/orch-prompt-<plan-id>.md)\" --dangerously-skip-permissions --model claude-opus-4-5-20250514; echo '[Orchestrator complete. Press any key to close.]'; read"
```
### Step 4: Confirm Launch
Output to human:
```
════════════════════════════════════════════════════════════════
BUILD LAUNCHED: <plan-id>
════════════════════════════════════════════════════════════════
Orchestrator: vertical-<plan-id>-orch
The orchestrator will:
1. Read specs from .claude/vertical/plans/<plan-id>/specs/
2. Spawn weavers in parallel tmux sessions
3. Track progress and handle dependencies
4. Write summary when complete
Monitor commands:
/status <plan-id> # Check status
tmux attach -t vertical-<plan-id>-orch # Watch orchestrator
tmux list-sessions | grep vertical # List all sessions
Results will be at:
.claude/vertical/plans/<plan-id>/run/summary.md
════════════════════════════════════════════════════════════════
```
## Partial Execution
To execute specific specs only:
```
/build plan-20260119-1430 01-schema 02-backend
```
Modify the orchestrator prompt:
```
<specs-to-execute>01-schema, 02-backend</specs-to-execute>
```
The orchestrator will only process those specs.
## Monitoring While Running
### Check Status
```bash
/status <plan-id>
```
### Attach to Orchestrator
```bash
tmux attach -t vertical-<plan-id>-orch
# Detach: Ctrl+B then D
```
### Attach to a Weaver
```bash
tmux attach -t vertical-<plan-id>-w-01
# Detach: Ctrl+B then D
```
### Capture Weaver Output
```bash
tmux capture-pane -t vertical-<plan-id>-w-01 -p -S -100
```
## Results
When complete, find results at:
| File | Contents |
|------|----------|
| `run/state.json` | Overall status and weaver states |
| `run/summary.md` | Human-readable summary with PR links |
| `run/weavers/w-*.json` | Per-weaver status |
## Debugging Failures
### Resume a Failed Weaver
```bash
# Get session ID from weaver status
cat .claude/vertical/plans/<plan-id>/run/weavers/w-01.json | jq -r .session_id
# Resume
claude --resume <session-id>
```
### Attach to Running Weaver
```bash
tmux attach -t vertical-<plan-id>-w-01
```
## Killing a Build
```bash
# Source helpers
source lib/tmux.sh
# Kill all sessions for this plan
vertical_kill_plan <plan-id>
# Or kill everything
vertical_kill_all
```
## What Happens Behind the Scenes
```
/build plan-20260119-1430
├─→ Create orchestrator prompt
├─→ Launch tmux: vertical-plan-20260119-1430-orch
│ │
│ ├─→ Read specs
│ ├─→ Analyze dependencies
│ ├─→ Launch weavers in parallel
│ │ │
│ │ ├─→ vertical-plan-20260119-1430-w-01
│ │ │ └─→ Build → Verify → PR #42
│ │ │
│ │ ├─→ vertical-plan-20260119-1430-w-02
│ │ │ └─→ Build → Verify → PR #43
│ │ │
│ │ └─→ (waits for dependencies...)
│ │
│ ├─→ Poll weaver status
│ ├─→ Launch dependent specs when ready
│ └─→ Write summary.md
└─→ Human runs /status to check progress
```

View file

@ -1,141 +0,0 @@
---
description: Start an interactive planning session. Design specs through Q&A with the planner.
argument-hint: [description]
---
# /plan Command
Start a planning session. You become the planner agent.
## Usage
```
/plan
/plan Add user authentication with OAuth
```
## What You Do
When `/plan` is invoked:
### Step 1: Load Planner Skill
Read and internalize `skills/planner/SKILL.md`.
### Step 2: Generate Plan ID
```bash
plan_id="plan-$(date +%Y%m%d-%H%M%S)"
```
### Step 3: Create Plan Directory
```bash
mkdir -p ".claude/vertical/plans/${plan_id}/specs"
mkdir -p ".claude/vertical/plans/${plan_id}/run/weavers"
```
### Step 4: Start Interactive Planning
Follow the planner skill phases:
1. **Understand** - Ask questions until task is crystal clear
2. **Research** - Explore codebase, find patterns
3. **Assess Complexity** - Decide if Oracle is needed
4. **Oracle (optional)** - For complex tasks, invoke Oracle
5. **Design** - Break into specs (each = one PR)
6. **Write** - Create spec YAML files
7. **Hand off** - Tell human to run `/build <plan-id>`
### Step 5: Confirm Plan Ready
When specs are written:
```
════════════════════════════════════════════════════════════════
PLANNING COMPLETE: <plan-id>
════════════════════════════════════════════════════════════════
Specs created:
.claude/vertical/plans/<plan-id>/specs/
01-schema.yaml
02-backend.yaml
03-frontend.yaml
To execute:
/build <plan-id>
To check status:
/status <plan-id>
════════════════════════════════════════════════════════════════
```
## When to Use Oracle
The planner will invoke Oracle for:
| Trigger | Why |
|---------|-----|
| 5+ specs needed | Complex dependency management |
| Unclear dependencies | Need deep analysis |
| Architecture decisions | Needs extended thinking |
| Performance/migration planning | Requires careful sequencing |
Oracle runs via browser engine (10-60 minutes typical).
## Spec Output Location
```
.claude/vertical/plans/<plan-id>/
meta.json # Plan metadata
specs/
01-schema.yaml # First spec
02-backend.yaml # Second spec
03-frontend.yaml # Third spec
```
## Transitioning to Build
When specs are ready, the human runs:
```
/build <plan-id>
```
This launches the orchestrator in tmux, which spawns weavers.
## Multiple Planning Sessions
Run multiple planning sessions in parallel:
```
# Terminal 1
/plan Add authentication
# Terminal 2
/plan Add payment processing
# Terminal 3
/plan Add notification system
```
Each gets its own plan-id and can be built independently.
## Resuming a Planning Session
Planning sessions are Claude Code sessions. Resume with:
```bash
claude --resume <session-id>
```
The session ID is saved in `.claude/vertical/plans/<plan-id>/meta.json`.
## Example Interaction
```
Human: /plan
Claude: Starting plan: plan-20260119-143052
What would you like to build?

View file

@ -1,213 +0,0 @@
---
description: Check status of plans and weavers. Shows tmux sessions, weaver progress, and PRs.
argument-hint: [plan-id]
---
# /status Command
Check the status of plans and weavers.
## Usage
```
/status # All plans
/status plan-20260119-1430 # Specific plan
```
## What You Do
When `/status` is invoked:
### Without Arguments (All Plans)
```bash
# List active tmux sessions
echo "=== Active Tmux Sessions ==="
tmux list-sessions 2>/dev/null | grep "^vertical-" || echo "No active sessions"
echo ""
# List plan statuses
echo "=== Plan Status ==="
if [ -d ".claude/vertical/plans" ]; then
for plan_dir in .claude/vertical/plans/*/; do
if [ -d "$plan_dir" ]; then
plan_id=$(basename "$plan_dir")
state_file="${plan_dir}run/state.json"
if [ -f "$state_file" ]; then
status=$(jq -r '.status // "unknown"' "$state_file" 2>/dev/null)
echo " ${plan_id}: ${status}"
else
meta_file="${plan_dir}meta.json"
if [ -f "$meta_file" ]; then
echo " ${plan_id}: ready (not started)"
else
echo " ${plan_id}: incomplete"
fi
fi
fi
done
else
echo " No plans found"
fi
```
Output:
```
=== Active Tmux Sessions ===
vertical-plan-20260119-1430-orch
vertical-plan-20260119-1430-w-01
vertical-plan-20260119-1430-w-02
vertical-plan-20260119-1445-orch
=== Plan Status ===
plan-20260119-1430: running
plan-20260119-1445: running
plan-20260119-1400: complete
```
### With Plan ID (Specific Plan)
```bash
plan_id="$1"
plan_dir=".claude/vertical/plans/${plan_id}"
# Validate plan exists
if [ ! -d "$plan_dir" ]; then
echo "Error: Plan not found: ${plan_id}"
exit 1
fi
# Read state
state_file="${plan_dir}/run/state.json"
if [ -f "$state_file" ]; then
status=$(jq -r '.status // "unknown"' "$state_file")
started=$(jq -r '.started_at // "-"' "$state_file")
else
status="ready (not started)"
started="-"
fi
echo "=== Plan: ${plan_id} ==="
echo "Status: ${status}"
echo "Started: ${started}"
echo ""
# List specs
echo "=== Specs ==="
for spec in "${plan_dir}/specs/"*.yaml; do
[ -f "$spec" ] && echo " $(basename "$spec")"
done
echo ""
# List weaver status
echo "=== Weavers ==="
weavers_dir="${plan_dir}/run/weavers"
if [ -d "$weavers_dir" ]; then
for weaver_file in "${weavers_dir}"/*.json; do
if [ -f "$weaver_file" ]; then
w_name=$(basename "$weaver_file" .json)
w_status=$(jq -r '.status // "unknown"' "$weaver_file" 2>/dev/null)
w_spec=$(jq -r '.spec // "?"' "$weaver_file" 2>/dev/null)
w_pr=$(jq -r '.pr // "-"' "$weaver_file" 2>/dev/null)
printf " %-10s %-15s %-30s %s\n" "$w_name" "$w_status" "$w_spec" "$w_pr"
fi
done
else
echo " No weavers yet"
fi
echo ""
# List tmux sessions for this plan
echo "=== Tmux Sessions ==="
tmux list-sessions 2>/dev/null | grep "vertical-${plan_id}" | while read line; do
session_name=$(echo "$line" | cut -d: -f1)
echo " ${session_name}"
done || echo " No active sessions"
```
Output:
```
=== Plan: plan-20260119-1430 ===
Status: running
Started: 2026-01-19T14:35:00Z
=== Specs ===
01-schema.yaml
02-backend.yaml
03-frontend.yaml
=== Weavers ===
w-01 complete 01-schema.yaml https://github.com/...
w-02 verifying 02-backend.yaml -
w-03 waiting 03-frontend.yaml -
=== Tmux Sessions ===
vertical-plan-20260119-1430-orch
vertical-plan-20260119-1430-w-01
vertical-plan-20260119-1430-w-02
```
## Weaver Status Reference
| Status | Meaning |
|--------|---------|
| waiting | Waiting for dependency to complete |
| building | Implementing the spec |
| verifying | Running verification checks |
| fixing | Fixing verification failures |
| complete | PR created successfully |
| failed | Failed after max iterations |
| blocked | Dependency failed |
| crashed | Session terminated unexpectedly |
## Quick Actions
Based on status, suggest actions:
| Status | Suggested Action |
|--------|------------------|
| complete | `gh pr list` to review PRs |
| running | `tmux attach -t <session>` to watch |
| failed | `claude --resume <session-id>` to debug |
| ready | `/build <plan-id>` to start |
## Viewing Results
```bash
# Summary (after completion)
cat .claude/vertical/plans/<plan-id>/run/summary.md
# State JSON
cat .claude/vertical/plans/<plan-id>/run/state.json | jq
# Specific weaver
cat .claude/vertical/plans/<plan-id>/run/weavers/w-01.json | jq
# List PRs
gh pr list
```
## Tmux Helper Commands
```bash
# Source helpers
source lib/tmux.sh
# List all vertical sessions
vertical_list_sessions
# Full status
vertical_status
# Weaver status for a plan
vertical_weaver_status plan-20260119-1430
# Capture recent output
vertical_capture_output vertical-plan-20260119-1430-w-01
# Attach to a session
vertical_attach vertical-plan-20260119-1430-w-01
```

View file

@ -7,7 +7,6 @@ TMP="/tmp/claude-code-vertical-$$"
git clone --depth 1 "$REPO" "$TMP" 2>/dev/null
mkdir -p .claude/vertical/plans
cp -r "$TMP/commands" .claude/
cp -r "$TMP/skills" .claude/
cp -r "$TMP/skill-index" .claude/
cp -r "$TMP/lib" .claude/