Project Orchestration Handbook

The encyclopedic guide to running projects with BoB (Big ol’ Brain). For humans and agents.

This handbook is the human-facing how-to. For under-the-hood architecture and internals, see PROJECT-MANAGEMENT-REFERENCE.md. For deep dives on individual subsystems, see the See Also section.


Table of Contents

  1. The Big Picture
  2. Quick Start
  3. Setup & Lifecycle
  4. The Product Hierarchy
  5. Dev Environment Lifecycle
  6. Manual Workflow
  7. Autonomous Workflow (Couch Mode)
  8. Parallel Work (cdfork)
  9. Reporting & Continuous Improvement
  10. Skill Glossary
  11. Agent Glossary
  12. Slash Command Glossary
  13. Shell Command Glossary
  14. Hooks Reference
  15. Files & Layout
  16. Troubleshooting
  17. See Also

1. The Big Picture

What BoB is

BoB (Big ol’ Brain) is a global Claude Code tooling framework. Skills, agents, slash commands, hooks, scripts, and templates live in a single source-of-truth git repo and get distributed to every project via deploy + symlink.

When someone says Bob, BoB, big brain, or big ol’ brain, they mean this framework. See bob-identity.md for the full identity definition.

Source of truth β†’ runtime

BOB_SOURCE (~/projects/bigbrain)        <- Source of truth (git repo)
    β”‚
    β”‚   scripts/deploy.sh   (sync)
    β–Ό
BOB_HOME (~/.claude/)                   <- Runtime (Claude Code reads here)
    β”‚
    β”‚   cdi  (per-project init: symlinks)
    β–Ό
.claude/  (in each project)             <- Project-level entry points
LayerLocationPurpose
BOB_SOURCE~/projects/bigbrainEdit here. One git repo. Single source of truth.
BOB_HOME~/.claudeWhere Claude Code reads at runtime. Synced from src.
Project<repo>/.claude/Per-project symlinks to BOB_HOME items + local items

The Prime Directive

Everything BoB manages must be declarative, version-controlled, reproducible, idempotent, and observable β€” with every piece of state owned by exactly one source of truth.

Full text and approved patterns: prime-directive.md.

Work tracking lives in GitHub Issues

Every project’s vision lives in docs/vision.md. Everything below the vision lives in GitHub Issues β€” capabilities, requirements, bugs, decisions, lessons, session summaries, and TODOs. There are no REQ-*.md, BUG-*.md, SOL-*.md, or PM index files. If someone tries to create one, stop them.

Component types at a glance

TypeSource pathLoading model
Universal skillBOB_SOURCE/skills/Auto-loaded everywhere by Claude Code
Universal commandBOB_SOURCE/commands/Symlinked into each project’s .claude/commands/ by cdi
Universal agentBOB_SOURCE/agents/Symlinked into each project’s .claude/agents/ by cdi
Universal runbookBOB_SOURCE/runbooks/Referenced by absolute path; not symlinked
Registry skillBOB_SOURCE/registry/skills/Provisioned per-project via manifest (provisions/<project>.json)
Registry commandBOB_SOURCE/registry/commands/Same β€” opt-in per project
Registry agentBOB_SOURCE/registry/agents/Same β€” opt-in per project
HookBOB_SOURCE/hooks/Wired up in ~/.claude/settings.json by event
ScriptBOB_SOURCE/scripts/Invoked by absolute path from skills, commands, hooks, or shell
TemplateBOB_SOURCE/templates/Copied (not symlinked) into projects, then customized
Provision manifestBOB_SOURCE/provisions/Declares which registry items a project gets

2. Quick Start

2A. Brand-new project

cd ~/Sites/my-project           # Project must be a git repo
 
cdi                             # Wire up .claude/ symlinks
cdprov                          # Provision skills/commands/agents from manifest
claude                          # Start Claude Code
 
# Inside Claude:
/vision                         # Living doc: why, who, where (docs/vision.md)
/capability                     # First feature spec (GitHub Issue, label: cap)
/requirement                    # Acceptance criteria (GitHub Issue, label: req)
# Approve a requirement: add the `approved` label

2B. Existing project

cd ~/Sites/my-project
cdb                             # Sanity-check tooling status
cdprov --status                 # See what's provisioned
claude

Inside Claude:

/what-next                      # Tells you the next sensible work item

2C. Couch mode (autonomous)

claude -a3 -rdb                 # Level 3 + Telegram bridge

Inside Claude:

/warp-drive                     # Picks up next approved requirement and goes

Phone nearby. Decisions land in Telegram. /stop-warp-drive to abort cleanly.

2D. Parallel work clusters

cdfork fork feat/a feat/b feat/c        # 3 worktrees, 3 tmux windows, 3 warp-drives
cdfork fork --from-issues 4              # Auto-pick 4 approved requirements
cdfork status                            # See every active worktree
cdfork drop feat/a                       # Tear down one cleanly

3. Setup & Lifecycle

3.1 First-time install on a machine

git clone git@github.com:paulirv/bigbrain.git ~/projects/bigbrain
cd ~/projects/bigbrain
 
scripts/bob-install.sh           # Adds BoB shell wrapper + aliases to your shell rc
source ~/.zshrc                  # (or ~/.bashrc) β€” picks up wrapper + aliases
 
scripts/deploy.sh --first-run    # Sync source β†’ ~/.claude/ for the first time

What bob-install.sh adds to your shell rc:

  • claude shell wrapper β€” intercepts -a1 / -a2 / -a3 (automation level) and -rdb (Telegram), then exec’s the real claude CLI.
  • Aliases: cdprov, cdr, cdfork.

3.2 Deploying changes from BOB_SOURCE β†’ BOB_HOME

deploy.sh is the only sanctioned way to update ~/.claude/. Direct edits to ~/.claude/ are anti-pattern β€” you’d lose them on the next deploy.

scripts/deploy.sh --dry-run      # Preview what would change
scripts/deploy.sh                # Apply
scripts/deploy.sh --first-run    # First-deploy mode (cleans up legacy .git/ in BOB_HOME)
scripts/deploy.sh --force        # Skip confirmation prompts

Machine-specific files are protected and never overwritten:

  • ~/.claude/settings.json
  • ~/.claude/settings.local.json
  • ~/.claude/CLAUDE.local.md

3.3 Per-project initialization (cdi)

cd <project>
cdi                              # Idempotent β€” safe to re-run

Creates <project>/.claude/ with symlinks to:

  • commands/ from ~/.claude/commands/
  • agents/ from ~/.claude/agents/
  • hooks/ referenced in settings.json
  • Templates (copied, not symlinked)

Skills are not symlinked β€” they’re auto-loaded globally from ~/.claude/skills/.

3.4 Provisioning registry items (cdprov + /provision)

Each project has a manifest at BOB_SOURCE/provisions/<project>.json declaring which registry skills, commands, and agents it uses (in addition to the universal set).

cdprov                           # Apply manifest β€” create symlinks to match
cdprov --status                  # What's in manifest vs. what's actually linked
cdprov --diff                    # Dry run β€” show planned changes
cdprov --refresh                 # Re-sync symlinks (drop stale, add missing)

Inside Claude (/provision):

/provision status
/provision add skill cloudflare-dev
/provision add command deploy
/provision add agent code-reviewer
/provision remove skill seo-auditing
/provision diff
/provision init                  # Bootstrap a manifest for a new project

Manifest shape (provisions/<project>.json):

{
  "_meta": { "project": "myproj", "stack": ["cloudflare-workers", "d1"] },
  "skills":   ["cloudflare-dev", "d1-expert"],
  "commands": ["deploy", "research"],
  "agents":   ["code-reviewer", "code-debugger"],
  "runbooks": []
}

Validate against schemas/manifest.schema.json.

3.5 Updating BoB

cd ~/projects/bigbrain
git pull                         # Get upstream changes
scripts/deploy.sh --dry-run      # Always preview first
scripts/deploy.sh                # Apply
make check                       # Verify nothing broke

3.6 Local overrides (gitignored)

  • <project>/.claude/CLAUDE.local.md β€” project notes that don’t get checked in.
  • ~/.claude/CLAUDE.local.md β€” global notes that don’t sync.

These are loaded into context but never deployed or committed.

3.7 Verification (Makefile)

make is the IaC verification layer. Run any of these from BOB_SOURCE:

TargetWhat it checks
make checkAll of: deps + schemas + symlinks + hooks + provisions
make check-depsnode, jq, git, make versions
make check-schemasAll *.json configs against JSON Schema definitions
make check-symlinksEvery symlink across registered projects resolves
make check-hooksEvery hook script in settings.json exists and is executable
make check-provisionsEach project’s actual symlink state matches its manifest
make testSchema validator unit tests + warp-drive state machine tests + integration
make cicheck + test (what GitHub Actions runs)
make doctorDiagnostic dump for triaging weirdness
make helpPrint all targets

Current test counts (run make test for the live numbers):

  • Schema validator: 34 unit tests
  • Warp-drive state machine: 99 transition tests
  • Integration tests for all check scripts: 13

make ci is what GitHub Actions runs on push and PR to master. CI skips check-symlinks and check-provisions because those scan local project directories that don’t exist on the runner.

Doc-link sweep: scripts/checks/check-doc-links.sh validates every relative .md/.txt link across README.md, CLAUDE.md, and docs/**/*.md (excluding docs/archive/**, which is frozen historical content).


4. The Product Hierarchy

Vision & Strategy (docs/vision.md)        /vision
└── Capability  (GitHub Issue, label: cap) /capability
    └── Requirement (GitHub Issue, req)    /requirement
        └── Warp-drive chunks              automatic β€” individual commits
LevelFormatCommandContains
Visiondocs/vision.md/visionWhy, who, where, principles, non-goals, roadmap. Living doc.
CapabilityGitHub Issue (cap)/capabilityUser stories, success metrics, requirements checklist
RequirementGitHub Issue (req)/requirementDescription, acceptance criteria (checkboxes), priority, notes
BugGitHub Issue (bug)gh issue create --label bugBug reports
TODOGitHub Issue (todo)auto-created by warp-drive timeoutHuman action items

Labels

LabelMeaning
capCapability
reqRequirement
bugBug report
todoHuman action item
approvedReady to work β€” picked up by /warp-drive
in-progressBeing worked on
blockedWaiting on something
implementedCode done, awaiting verification
serial-onlyExcluded from cdfork --from-issues (pinch points)
decisionArchitecture decision (created by /journal decision)
lessonLesson learned (created by /journal lesson)
session-summarySession summary (created by /session-summary)
p1-critical / p2-high / p3-medium / p4-lowPriority

The approval workflow

  1. /capability creates an issue (label cap).
  2. Break it into requirements with /requirement (label req, with Part of #NN linking back to the capability).
  3. Add approved when a requirement is ready to work.
  4. /warp-drive picks the highest-priority req + approved issue not in progress.
  5. When done, warp-drive flags it implemented and moves on.

What NOT to create

The following filename patterns are forbidden. They predate the GitHub Issues migration. Do not regenerate them:

  • REQ-*.md, SOL-*.md, BUG-*.md, RISK-*.md, INC-*.md, CR-*.md, UXR-*.md, STATUS-*.md
  • REQUIREMENTS-INDEX.md, SOLUTIONS-INDEX.md, backlog.md, traceability-matrix.md
  • .claude/project-management/, .claude/requirements/, .claude/journal/decisions/ (or lessons/, sessions/)

If a tool emits any of these, treat it as a bug and fix the tool.

Pinch points (mark serial-only)

Some work cannot be parallelized. Mark these requirements serial-only so cdfork --from-issues skips them:

  • Config / settings sync
  • Lockfile bumps
  • DB migrations
  • Compiled-asset rebuilds
  • Deploy steps

5. Dev Environment Lifecycle

Every project can declare its dev environment in dev.json. The /dev-up command (and bin/dev-up from a terminal) reads it and brings the environment to a fully testable state β€” server, migrations, seed data, test users, health check.

Full reference: dev-lifecycle.md.

5.1 The dev.json manifest

Lives at the project root. Sample at templates/dev.json. Schema at schemas/dev.schema.json.

{
  "server":     { "command": "npm run dev", "port": 5173, "health": "/api/health" },
  "migrations": { "command": "npm run migrate:dev", "auto_run": true },
  "seed":       { "directory": "seed/", "runner": "node", "order": "alphabetical" },
  "auth":       { "adapter": "d1", "users_file": "seed/users.json" },
  "access":     { "localhost": "http://localhost:5173" }
}

5.2 /dev-up and friends

CommandPurpose
/dev-upFull lifecycle (server + migrations + seed + users + health)
/dev-up --checkHealth probe only
/dev-up --skip-seed / --skip-users / --skip-serverPartial run
/dev-up --regen-seedDiscard cached seed and regenerate
bin/dev-upSame, from a regular terminal
bin/dev-healthShortcut for dev-up --check

5.3 Seed convention

  • Seed scripts live in seed/ β€” alphabetical execution order.
  • Seed data must cover all lifecycle states the domain defines (not just fresh records).
  • New features include their seed updates in the same commit.
  • Seed coverage gate: scripts/dev-lifecycle/check-seed-coverage.sh.

5.4 Standardized test users

seed/users.json declares test users, provisioned via pluggable auth adapters.

AdapterUse when…
d1Cloudflare D1 (SQLite)
sqliteLocal SQLite
supabaseSupabase auth
scriptCustom provisioning script
customInline command in provision_command

The superuser is consistent across every project: admin@test.local / admin123.

5.5 Integration with warp-drive

When dev.json exists, warp-drive automatically:

  1. Calls dev-up before the first chunk
  2. Verifies health between chunks
  3. Auto-recovers on dev failure
  4. Treats dev health failure as a blockable event

6. Manual Workflow

The day-to-day cycle when you’re at the keyboard.

/start-work          β†’ branch off
… code …
/commit              β†’ create a commit
/journal             β†’ optional: capture a decision/lesson
/pr                  β†’ optional: open a PR
/finish-work         β†’ merge + cleanup
/session-summary     β†’ close the session as a GitHub Issue

/start-work

Creates a new branch with a sensible name. Argument: feature | fix | docs | refactor | tooling | chore.

/commit

Stages and commits with a generated message. The commit skill enforces:

  • No commits to master/main (use /start-work first)
  • Pre-commit hooks run (don’t bypass with --no-verify)
  • Commit message reflects the why, not just the what

/pr

Pushes branch and opens a PR with requirement traceability β€” links back to the GitHub Issue(s) the branch addresses.

Subactions: /pr create, /pr template, /pr link.

/finish-work

Merges current branch to master (Level 3) or opens a PR (Level 2), runs cleanup, deletes the local branch.

/journal

Create a journal entry as a GitHub Issue. Three types:

SubcommandLabel
/journal decision <name>decision
/journal lesson <name>lesson
/journal session <name>session-summary

/session-summary

End-of-session writeup as a GitHub Issue. Captures what shipped, what’s next, decisions, lessons.

Built-in Claude Code commands you’ll use alongside

CommandPurpose
/reviewCode review of pending changes
/security-reviewSecurity review of pending changes
/initInitialize a CLAUDE.md from existing codebase
/clean_goneClean up local branches that are gone on the remote
/commit-push-prCommit, push, and open PR in one go (built-in plugin)
/loopRun a slash command on a recurring interval
/scheduleCron-style scheduling for recurring agents

7. Autonomous Workflow (Couch Mode)

7.1 Automation levels

LevelNameStart withDefault behavior
1Supervisedclaude / -a1Confirm every tool that can change state
2Trusted Devclaude -a2Auto-approve safe ops; PRs instead of direct merges
3Autonomousclaude -a3Minimize prompts; merge directly to master

Switch mid-session with /automation level <N>. See profiles/{supervised,trusted,autonomous}.json for the exact permission profiles.

7.2 /warp-drive β€” the autonomous development loop

This replaces /auto-loop. /auto-loop is legacy and will be removed.

/warp-drive               # Discover next approved requirement, work it
/warp-drive 42            # Work on issue #42 specifically
/stop-warp-drive          # Graceful stop

What it does each cycle:

  1. Discover work (gh issue list --label approved --label req)
  2. Plan implementation
  3. Code (chunked: max 3 acceptance criteria per commit)
  4. Test
  5. Update issue (flip ACs, add labels)
  6. Commit + journal
  7. Merge (L3) or open PR (L2)
  8. Ask β€œcontinue?” β†’ loop or stop

Full deep-dive: warp-drive-guide.md.

7.3 The warp CLI (terminal observation)

Run from any shell β€” no Claude session needed:

warp status               # Phase, current chunk, recent activity
warp stop                 # Abort the loop from outside
warp help                 # All commands

7.4 /what-next β€” discover work without committing

Reads project state and proposes the next sensible work item. Use it when you’re not sure where to pick up.

/what-next

7.5 /stop-warp-drive

Inside Claude β€” graceful stop with proper cleanup. Don’t kill the session with Ctrl-C; let the skill flush state cleanly.

7.6 Remote Decision Bridge (/rdb)

When you’re away from the keyboard, RDB routes all decisions to Telegram via ask_remote/notify_remote.

/rdb on                   # Decisions go to Telegram
/rdb off                  # Back to terminal prompts
/rdb status               # Current state

Going AFK? Saying β€œI’m stepping away” is treated as /rdb on automatically.

7.7 Couch-mode checklist

  • claude -a3 -rdb (or -a2 -rdb)
  • /warp-drive started
  • Phone has Telegram open
  • Laptop plugged in and won’t sleep
  • At least one req + approved issue exists

7.8 Error handling

  • Warp-drive does 3 strikes on failed fixes before escalating.
  • Failures escalate to a Telegram prompt (RDB) or terminal (no RDB).
  • β€œType β€˜skip’” or β€œdo whatever you think is best” are valid responses.
  • Repeated escalations create a todo-labeled issue for human follow-up.

8. Parallel Work (cdfork)

cdfork fans out N parallel /warp-drive sessions, one per branch, in isolated git worktrees + tmux windows. Tmux + git are the state β€” no daemon, no DB. If the orchestrator dies, your worktrees and commits survive.

Full reference: cdfork-guide.md.

8.1 Subcommands

CommandPurpose
cdfork fork <branch>...Spawn one warp-drive per named branch
cdfork fork --from-issues [N]Auto-pick N approved requirements; fan out
cdfork status [--json]List worktrees + tmux + warp-drive state
cdfork drop <branch> [--force]Tear down a worktree + tmux window
cdfork drop --all [--force]Tear down every cdfork worktree for this repo
cdfork pair --contract <p> --backend <r> --frontend <r> --branch <n>Cross-repo contract-driven mode
cdfork-pair ...Standalone shape of cdfork pair
cdfork helpShow command summary

8.2 Worktree layout

For a repo at /path/to/<repo>/:

/path/to/<repo>.worktrees/<branch>/

Sibling, not nested β€” keeps Composer, Bundler, npm, etc. from getting confused.

8.3 When to use cdfork vs. a single warp-drive

Use cdfork when…Use single /warp-drive when…
Multiple independent issues are approvedSingle issue or tightly-coupled work
Work clusters don’t touch the same filesIssues touch shared config/migrations
You want to maximize throughput while AFKLinear progression matters
You have CPU + RAM to spareSingle-threaded resource constraint

8.4 What cdfork --from-issues actually does

  1. Runs gh issue list --label approved --label req (excluding serial-only)
  2. Picks the top N (default 3) by priority + age
  3. Derives a branch name per issue (e.g. req-42-add-auth)
  4. Spawns one worktree + tmux window + warp-drive per branch

8.5 cdfork pair (cross-repo)

Designed for headless splits where backend + frontend share a contract. Anchor use case: nanawall.com Drupal-headless migration.

cdfork pair \
  --contract  ~/contracts/api-spec.yaml \
  --backend   ~/Sites/nanawall-api \
  --frontend  ~/Sites/nanawall-web \
  --branch    feat/product-listing

Two worktrees, two tmux windows, both warp-drives anchored to the same contract path.

8.6 Prerequisites

ToolWhyInstall
gitWorktreesbrew install git
tmuxWindow managementbrew install tmux (NOT installed by default)
claudeSpawned in each windowClaude Code CLI
gh--from-issuesbrew install gh
jqStatus JSON, issue filteringbrew install jq

Preflight runs before any worktree is touched and fails fast on missing deps.


9. Reporting & Continuous Improvement

9.1 Per-event reporting (GitHub Issues)

WhatCommandLabel
Architecture decision/journal decision <name>decision
Lesson learned/journal lesson <name>lesson
Session writeup/session-summary or /journal session <name>session-summary
Bug reportgh issue create --label bugbug
Human action itemauto-created by warp-drive timeouttodo

9.2 /rebob β€” full state reconciliation

Think git fsck for project management. Examines ground truth (git log, file system, codebase) and reconciles all PM artifacts against it.

/rebob

Use it after long absences, before/after major refactors, or when state feels off.

9.3 /trace-mining β€” outer improvement loop

Analyzes past session journals to extract failure patterns, identify recurring harness gaps, and propose targeted improvements.

/trace-mining

Output feeds back into BoB β€” surfacing missing skills, broken hooks, or workflow friction. Pair with gh issue list --label lesson to mine accumulated learnings.

9.4 Registry-only continuous-improvement commands

Provision and use as needed (not universal β€” opt-in per project):

  • /research β€” Manage research projects (questions, sources, findings, decisions). Also available as a universal skill (research).
  • /retrospective β€” Standard / start-stop-continue / 4Ls retros.
  • /standup β€” Daily standup format.
  • /status β€” Status reports at quick / weekly / monthly cadence.

10. Skill Glossary

Skills give Claude specialized knowledge or workflow. Universal skills are auto-loaded everywhere; registry skills are opt-in per project.

10.1 Universal skills (BOB_SOURCE/skills/)

SkillPurpose
agent-builderCreate and maintain agent definitions
automationSwitch automation level (L1/L2/L3) for current project
code-expertTypeScript / SvelteKit / Cloudflare Workers / Hono / D1 / R2 / Vitest
code-simplifyingReduce complexity, dedupe, refactor for clarity
commitGit commit workflow (used by /commit)
explaining-codeVisual diagrams + analogies for code explanations
prPull request workflow (used by /pr)
rdbToggle Remote Decision Bridge on/off
researchGeneric research project management
skill-creatorGuide for creating new skills
software-project-managerStrategic PM thinking (modern software delivery practices)
stop-warp-driveGraceful warp-drive stop
timelordTemporal accuracy guardian for documentation
doc-auditRead-only documentation drift audit (#151)
doc-syncMechanical documentation drift fixes (#151)
docs-siteProvision and operate a Quartz 4 docs site (#153). Auto-deploy on doc changes via Cloudflare Pages (#155); see dev-lifecycle.md.

10.2 Registry skills (BOB_SOURCE/registry/skills/)

Provision per-project via cdprov or /provision add skill <name>.

Code & dev

  • cloudflare-dev β€” Cloudflare Workers development
  • d1-expert β€” Cloudflare D1 (SQLite) expertise
  • drupal-dev, drush β€” Drupal-specific
  • wordpress-dev β€” WordPress-specific
  • strapi-dev β€” Strapi headless
  • mcp-builder β€” Build Model Context Protocol servers

API & integration

  • api-designing β€” API design
  • kalshi-api β€” Kalshi-specific

Frontend & UX

  • frontend-design β€” Distinctive, production-grade UI
  • responsive-design β€” Responsive layout patterns
  • accessibility-auditing β€” WCAG 2.1 AA
  • ux-designing β€” UX design
  • visual-design β€” Visual design
  • visual-explainer β€” Visual explanations
  • web-artifacts-builder β€” Web component / page artifacts
  • theme-factory β€” Themes
  • design-systems β€” Design systems work
  • brand-guidelines β€” Brand application
  • information-architecting β€” IA

Audit & QA

  • performance-auditing β€” Web performance
  • seo-auditing β€” SEO audits
  • webapp-testing β€” Playwright-driven testing
  • user-research β€” User research projects

Deploy

  • deploy-cloudflare β€” Atomic Cloudflare Pages/Workers deploys (provides /deploy)

Document handling

  • docx, pdf, pptx, xlsx β€” Office document handling
  • image-processing β€” Image manipulation
  • token-report β€” Token usage reporting

11. Agent Glossary

Agents are specialized subagents the main Claude session can launch via the Task tool.

11.1 Universal agents (BOB_SOURCE/agents/)

AgentWhen to use
lessons-extractorAfter significant work β€” extract & document lessons learned
project-historianSynthesize project history; answer β€œwhy did we…” questions
requirements-analystCapture or refine requirements; ensure testable acceptance criteria
solution-architectDesign solutions, compare alternatives, assess trade-offs

11.2 Registry agents (BOB_SOURCE/registry/agents/)

Code & architecture

  • code-expert β€” Deep TypeScript / Cloudflare-stack analysis
  • code-debugger β€” Bug diagnosis
  • code-reviewer β€” Code review
  • lead-dev-architect β€” Strategic technical guidance
  • unit-test-generator β€” Generate unit tests

Domain-specific

  • drupal-expert β€” Drupal 9/10
  • sentry-integration-expert β€” Sentry SDK integration

Audit

  • accessibility-auditor β€” WCAG 2.1 AA audits
  • seo-performance-auditor β€” SEO + performance
  • ahrefs-expert β€” Ahrefs SEO tools

UX

  • ux-architect β€” UX design

PM-flavored

  • project-manager β€” Project planning / coordination
  • qa-strategist β€” Test strategy / DoD
  • risk-manager β€” Risk identification / mitigation
  • release-engineer β€” Deployment / release management
  • stakeholder-liaison β€” Stakeholder communication

12. Slash Command Glossary

By topic. Universal commands ship with every project. Registry commands need cdprov add per-project. Built-in commands ship with Claude Code itself.

12.1 Foundation (universal)

CommandPurpose
/visionCreate or update docs/vision.md (living strategy doc)
/capabilityCreate a capability as a GitHub Issue (label cap)
/requirementCreate a requirement as a GitHub Issue (label req)

12.2 Discovery (universal)

CommandPurpose
/what-nextAnalyze project state, propose next work item

12.3 Manual development (universal)

CommandPurpose
/start-workCreate a feature/fix branch
/commitCreate a git commit
/prOpen a PR with requirement traceability
/finish-workMerge to master / open PR + cleanup
/session-summaryClose session as a GitHub Issue
/journalCreate decision/lesson/session issue

12.4 Autonomous (universal)

CommandPurpose
/warp-drive [issue]The autonomous development loop
/stop-warp-driveGraceful stop
/auto-loopLegacy β€” predecessor of /warp-drive; will be removed

12.5 Parallel (universal)

CommandPurpose
/cdforkMulti-agent worktree orchestration (subcommands match cdfork CLI)

12.6 Dev environment (universal)

CommandPurpose
/dev-upBring dev env to fully testable state

12.7 Maintenance (universal)

CommandPurpose
/provisionManage provisioning (status / add / remove / refresh / diff / init)
/rebobFull project state reconciliation
/trace-miningMine session journals for harness improvements

12.8 Skill toggles (universal)

CommandPurpose
/automationSwitch automation level
/rdbToggle Remote Decision Bridge

12.9 Registry / opt-in commands

Provision before use (cdprov add command <name>):

  • /research β€” Research project management
  • /deploy β€” Cloudflare atomic deploy (from deploy-cloudflare skill)
  • /release, /review-lessons, /ux-review β€” As provisioned

Older registry commands (/spec, /backlog, /risk, /bug, /incident, /change, /status, /dashboard, /standup, /retrospective, /solution) predate the GitHub-Issues hierarchy and are scheduled for removal. Do not use them on new work. Use /capability + /requirement + GitHub Issues with appropriate labels instead.

12.10 Built-in Claude Code & plugin commands

Always available, not BoB-specific:

CommandPurpose
/initInitialize a CLAUDE.md from existing codebase
/reviewReview pending changes
/security-reviewSecurity review of pending changes
/loopRun a slash command on a recurring interval
/scheduleCron-style scheduling for recurring agents
/clean_goneClean up local branches that are gone on the remote (commit-commands plugin)
/commit-push-prCommit, push, open PR (commit-commands plugin)
/helpBuilt-in Claude Code help

Plugin command families also available: sentry:*, frontend-design:*, commit-commands:*. List them with /help inside Claude.


13. Shell Command Glossary

Every command runnable from a regular terminal.

13.1 BoB CLI aliases (set up by bob-install.sh)

AliasBacked byPurpose
cdiBOB_SOURCE/claude-init.shInitialize project with BoB tooling
cdbBOB_SOURCE/claude-dashboard.shDashboard β€” tooling + symlink status
cdpBOB_SOURCE/claude-promote.shPromote a local item to global registry
cdlBOB_SOURCE/claude-link.shLink a global item into project
cdprovBOB_SOURCE/scripts/provision.shProvision project from manifest
cdrBOB_SOURCE/scripts/lib/cdr.shClaude Disaster Recovery β€” cdr status / check / recover / reprovision / reset (see backup-recovery.md)
cdforkBOB_SOURCE/bin/cdforkParallel worktree orchestration

13.2 claude shell wrapper

The bob-install.sh wrapper intercepts custom flags before exec’ing the real claude CLI:

FlagEffect
-a1Set automation Level 1 (Supervised)
-a2Set automation Level 2 (Trusted Dev)
-a3Set automation Level 3 (Autonomous)
-rdbEnable Remote Decision Bridge (Telegram)

Combine: claude -a3 -rdb is the canonical β€œcouch mode” launch.

13.3 BoB scripts (BOB_SOURCE/scripts/ and bin/)

PathPurpose
scripts/bob-install.shSet up shell wrapper + aliases (idempotent)
scripts/deploy.shSync BOB_SOURCE β†’ BOB_HOME (--dry-run, --first-run, --force)
scripts/provision.shProvision project from manifest (called by cdprov)
scripts/sync-requirements-index.jsLegacy β€” predates GitHub Issues
scripts/migrate-pm-to-issues.shOne-shot migration: PM markdown β†’ GitHub Issues
scripts/migrate-to-registry.shOne-shot migration to registry/
scripts/cleanup-legacy-pm.shRemove forbidden PM files
scripts/dashboard-server.jsLocal dashboard server (cds)
scripts/mission-control-server.jsMulti-project mission-control server
scripts/lib/preflight-check.shCommon preflight (deps, tools)
scripts/lib/safe-json-write.shAtomic JSON write helper
scripts/lib/settings-write.shSafe settings.json mutation
scripts/checks/*.shmake check-* targets
scripts/warp-drive/state-machine.jsWarp-drive state engine
scripts/cdfork/{fork,status,drop,pair,from-issues}.shcdfork subcommand implementations
scripts/dev-lifecycle/{dev-up,health-check,provision-users,seed-discover,seed-generate,check-seed-coverage}.shDev env IaC
scripts/rebob/*.js/rebob engine
scripts/cascade-engine/*.jsCascade rule engine
scripts/autoloop/state-machine.jsLegacy auto-loop state engine

13.4 bin/ entrypoints (intended for direct PATH use)

BinPurpose
bin/warpHuman control plane for warp-drive (warp status, warp stop)
bin/cdforkParallel worktree orchestration (also exposed as cdfork alias)
bin/cdfork-pairCross-repo cdfork pair (standalone shape of cdfork pair)
bin/dev-upDev env lifecycle from a regular terminal
bin/dev-healthShortcut for dev-up --check

13.5 Makefile targets

Run from BOB_SOURCE. See make help for the full list.

Verification: check, check-deps, check-schemas, check-symlinks, check-hooks, check-provisions Testing: test, test-checks, test-schemas, test-warp-drive Combined: ci (= check + test), doctor (diagnostic dump)


14. Hooks Reference

Hooks are shell scripts wired into Claude Code events via ~/.claude/settings.json. They run automatically at the right moment β€” never invoke them manually.

Hooks receive ALL data via stdin as JSON. There are no magic variable substitutions.

INPUT=$(cat)
COMMAND=$(echo "$INPUT" | jq -r '.tool_input.command')

Template: templates/hooks/command-hook.sh. Requires jq.

14.1 Hooks by event

EventHookPurpose
SessionStarttemporal-context.shInject current date/time so Claude doesn’t drift
SessionStartautoloop-inject.sh / warp-drive-inject.shRestore loop state on session resume
PreToolUsestrip-ai-boilerplate.shStrip generic AI prose from outgoing edits
PreToolUsecheck-branch.shBlock writes on master/main
PreToolUsesession-branch-guard.shGuard against committing to wrong branch
PreToolUserdb-enforce-ask-remote.shWhen _rdb.enabled, force ask_remote over AskUserQuestion
PreToolUseautoloop-gate.sh / warp-drive-gate.shBlock tool calls outside the current loop phase
PreToolUsevalidate-commit-message.shReject commits with generic / AI-boilerplate messages
PreToolUsevalidate-pr-requirements.shPR must reference a requirement issue
PreToolUsevalidate-requirement-refs.shRequirement IDs in commit messages must resolve
PreToolUsepre-release-checklist.shRun before release commands
PreToolUsedev-auto-start.shAuto-start dev server when project requires it
PostToolUseupdate-project-indexes.shRegenerate any local indexes after edits
PostToolUseupdate-traceability-on-commit.shUpdate traceability after commits
PostToolUserequirements-sync-reminder.shNudge to sync requirements index
PostToolUserisk-review-reminder.shNudge to review risks
PostToolUsewarp-drive-edit-tracker.shTrack edits during a warp-drive chunk
PostToolUsewarp-drive-commit-detector.shDetect commits and advance the state machine
PostToolUsewarp-drive-docs-detector.shDetect doc changes and route to journal
Stopautoloop-stop.sh / warp-drive-stop.shPersist state on session stop
Stopwarp-drive-pre-exit.shCleanup before exit
Stopsession-summary-reminder.shRemind to capture session summary
Stopstop-notify-rdb.shNotify Telegram when warp-drive stops

(Exact wiring lives in ~/.claude/settings.json. Use make check-hooks to verify all hook scripts exist and are executable.)


15. Files & Layout

15.1 BOB_SOURCE structure

BOB_SOURCE/
β”œβ”€β”€ skills/              # Universal skills (auto-loaded)
β”œβ”€β”€ commands/            # Universal slash commands
β”œβ”€β”€ agents/              # Universal subagents
β”œβ”€β”€ runbooks/            # Universal runbooks
β”œβ”€β”€ registry/
β”‚   β”œβ”€β”€ skills/          # Opt-in skills
β”‚   β”œβ”€β”€ commands/        # Opt-in commands
β”‚   β”œβ”€β”€ agents/          # Opt-in agents
β”‚   └── runbooks/        # Opt-in runbooks
β”œβ”€β”€ provisions/          # Per-project manifests (one JSON per project)
β”œβ”€β”€ hooks/               # All hooks; wired in settings.json
β”œβ”€β”€ scripts/             # CLI scripts, helpers, engines
β”œβ”€β”€ bin/                 # PATH-friendly entrypoints
β”œβ”€β”€ templates/           # Copied (not symlinked) into projects
β”œβ”€β”€ schemas/             # JSON Schema for manifest, projects, settings
β”œβ”€β”€ profiles/            # Permission profiles per automation level
β”œβ”€β”€ docs/                # Guides (this file lives here)
β”œβ”€β”€ tests/               # `make test` targets
β”œβ”€β”€ claude-init.sh       # cdi
β”œβ”€β”€ claude-dashboard.sh  # cdb
β”œβ”€β”€ claude-promote.sh    # cdp
β”œβ”€β”€ claude-link.sh       # cdl
β”œβ”€β”€ settings.json        # Default settings shipped to BOB_HOME
β”œβ”€β”€ CLAUDE.md            # Default project instructions
β”œβ”€β”€ README.md
β”œβ”€β”€ Makefile
└── bob-identity.md

15.2 Project-level structure

A typical project has:

my-project/
β”œβ”€β”€ .claude/                # Created by cdi β€” symlinks into BOB_HOME
β”‚   β”œβ”€β”€ commands/           # Symlinks
β”‚   β”œβ”€β”€ agents/             # Symlinks
β”‚   β”œβ”€β”€ settings.json       # Project-specific overrides (optional)
β”‚   └── settings.local.json # Machine-specific, gitignored
β”œβ”€β”€ CLAUDE.md               # Project instructions (committed)
β”œβ”€β”€ CLAUDE.local.md         # Local notes (gitignored)
β”œβ”€β”€ docs/
β”‚   └── vision.md           # The living vision doc
β”œβ”€β”€ dev.json                # Dev environment manifest
β”œβ”€β”€ seed/                   # Seed scripts + users.json
└── ...

15.3 Forbidden patterns

Do not create these β€” they predate the GitHub Issues migration:

.claude/project-management/         βœ—
.claude/requirements/               βœ—
.claude/journal/decisions/          βœ—  (use /journal decision)
.claude/journal/lessons/            βœ—  (use /journal lesson)
.claude/journal/sessions/           βœ—  (use /journal session)
REQ-*.md SOL-*.md BUG-*.md          βœ—
RISK-*.md INC-*.md CR-*.md          βœ—
UXR-*.md STATUS-*.md                βœ—
REQUIREMENTS-INDEX.md               βœ—
SOLUTIONS-INDEX.md                  βœ—
backlog.md                          βœ—
traceability-matrix.md              βœ—

15.4 BOB_HOME (~/.claude/) β€” runtime only

Synced from BOB_SOURCE by deploy.sh. Don’t edit directly. Files protected from overwrite:

  • ~/.claude/settings.json
  • ~/.claude/settings.local.json
  • ~/.claude/CLAUDE.local.md

16. Troubleshooting

16.1 Diagnostic commands

SymptomRun this
”Is BoB healthy?”make check
”Are my project’s symlinks ok?”cdb then cdb --check <project>
”What is provisioned in this project?”cdprov --status
”Does the manifest match reality?”cdprov --diff
”Why is warp-drive stuck?”warp status
”Is the dev env healthy?”bin/dev-health or /dev-up --check
”Hook script missing?”make check-hooks
”JSON config invalid?”make check-schemas
”Stale state across the system?”/rebob
”Lessons accumulating? Patterns?”/trace-mining

16.2 State files

FileOwnerNotes
<project>/.warp-drive-state.jsonwarp-drive engineCurrent chunk, phase, history
<project>/.autoloop-state.json(legacy) auto-loopWill be removed
~/.claude/settings.local.jsonmachine_rdb.enabled lives here

16.3 Common problems

ProblemFix
Hooks aren’t firingmake check-hooks; verify ~/.claude/settings.json references existing scripts
Symlinks point to nowherecdprov --refresh or rerun cdi
Warp-drive won’t startCheck warp status; ensure at least one req + approved issue exists
Telegram silent (RDB on)Check ~/.claude/settings.local.json for _rdb.enabled: true; type something in terminal
/auto-loop did weird thingsStop using /auto-loop β€” switch to /warp-drive
Got prompt to create REQ-NNNN.mdStop. That’s a regression. File a bug β€” work tracking is GitHub Issues
Tests stuck in fix loopWarp-drive 3-strikes-out automatically; let it escalate
cdfork worktree won’t dropcdfork drop <branch> --force; if that fails, manually git worktree prune
Deploy refuses to overwrite somethingThat’s by design β€” settings.json, settings.local.json, CLAUDE.local.md are protected

17. See Also


Last updated: 2026-05-07 β€” reconciled with doc audit (#144). Changelog: disambiguated cdr (Claude Disaster Recovery, not legacy reqs-index) in Β§13.1; surfaced live test counts and the doc-link sweep script in Β§3.7; added doc audit and archive subtree to Β§17 See Also.