claudeers.
// Claude Plugins

plan-build-run

Plan it. Build it. Run it. A Claude Code plugin for structured development with context-engineered agents.

Install with your AI

Paste into Claude Code, Cursor, or any agent — it reads the repo and wires the tool into your project.

Install and set up plan-build-run (git-clone project) into my current project.
Found on https://claudeers.com/plan-build-run
Repo: https://github.com/SienkLogic/plan-build-run
Homepage/docs: https://github.com/SienkLogic/plan-build-run/wiki
Detected install method: git-clone → git clone https://github.com/SienkLogic/plan-build-run
Category: plugins. Platforms: cli, api, web.
Read the repo's README for exact setup and env vars, then install it and wire it into my project.

Claudeers Health Verdict:
unknown; community-verified: false. Confirm the source before running anything.
// or clone
git clone https://github.com/SienkLogic/plan-build-run

// compatibility

Platformscli, api, web
Operating systems
AI compatibilityclaude
LicenseMIT
Pricingopen-source
LanguageJavaScript

Plan-Build-Run Logo

Context-engineered development workflow for Claude Code, Cursor, GitHub Copilot CLI, OpenAI Codex, and OpenCode.
Build ambitious multi-phase software without quality degradation.


ProblemInstallQuick StartCommandsArchitectureConfigUser GuideWiki


The Problem

Claude Code is remarkably capable — until your context window fills up. As tokens accumulate, reasoning quality degrades, hallucinations increase, and the model loses track of earlier decisions. This is context rot.

Plan-Build-Run solves this. It keeps your orchestrator lean by delegating heavy work to fresh subagent contexts. All state lives on disk. Sessions are killable without data loss. Whether you're on Free or Max 5x, wasted context means wasted budget.

Plan-Build-Run workflow demo

Use PBR for: Multi-phase projects — new features spanning 5+ files, large refactors, greenfield builds. Use depth: quick on Free/Pro, depth: standard on Max, depth: comprehensive on Max 5x.

Skip PBR for: Single-file fixes, quick questions, one-off scripts. Use /pbr:quick for atomic commits without full workflow overhead.


Install

Claude Code Plugin (recommended):

claude plugin marketplace add SienkLogic/plan-build-run
claude plugin install pbr@plan-build-run

Verify: /pbr:help

Other install methods

npx (alternative):

npx @sienklogic/plan-build-run@latest

The installer prompts for runtime (Claude Code, OpenCode, Gemini, Codex) and location (global/local).

Non-interactive (Docker, CI, Scripts):

npx @sienklogic/plan-build-run --claude --global    # Claude Code
npx @sienklogic/plan-build-run --opencode --global   # OpenCode
npx @sienklogic/plan-build-run --gemini --global     # Gemini CLI
npx @sienklogic/plan-build-run --codex --global      # Codex CLI
npx @sienklogic/plan-build-run --all --global        # All runtimes

Plugin install scopes:

ScopeCommandEffect
Global (default)claude plugin install pbr@plan-build-runAvailable in all projects
Project onlyclaude plugin install pbr@plan-build-run --scope localThis project only
Team projectclaude plugin install pbr@plan-build-run --scope projectShared via git

Cursor IDE: See Cursor Plugin wiki page.

GitHub Copilot:

npx @sienklogic/plan-build-run --copilot --local   # Install to .github/ in current project
npx @sienklogic/plan-build-run --copilot --global   # Install to ~/.copilot/ for all projects

This installs PBR agents, skills, references, and a minimal preToolUse hook guard into Copilot's directory structure. A copilot-instructions.md file is generated to bootstrap the workflow.

Note: Copilot runs PBR in degraded mode — lightweight skills (pbr-status, pbr-todo, pbr-note, pbr-health, pbr-quick, pbr-explore, etc.) work fully. Advanced workflow skills (pbr-plan, pbr-build, pbr-review) require subagent spawning (Task()), which Copilot doesn't support yet. For the full PBR workflow, use Claude Code.

See Copilot Integration for details on what's supported.

Codex CLI: See Codex plugin README.

Development install:

git clone https://github.com/SienkLogic/plan-build-run.git
cd plan-build-run && npm install
claude --plugin-dir .   # Load as local plugin

Quick Start

cd your-project && claude
/pbr:new-project          # Questions → research → requirements → roadmap
/pbr:plan-phase 1         # Research + plan the first phase
/pbr:execute-phase 1      # Build with parallel agents, atomic commits
/pbr:verify-work 1        # Confirm the codebase matches requirements

Repeat plan → execute → verify for each phase. Kill your terminal anytime — /pbr:resume-work picks up where you left off.

Already have code? Run /pbr:map-codebase first to analyze your existing stack, then /pbr:new-project.


Architecture

PBR is a thin orchestrator that delegates heavy work to fresh subagent contexts via Task(). Data flows through files on disk, not through messages.

Main Session (~15% context)
  │
  ├── Task(researcher)  →  writes .planning/research/
  ├── Task(planner)     →  writes PLAN.md files
  ├── Task(executor)    →  builds code, creates commits
  ├── Task(executor)    →  (parallel, same wave)
  └── Task(verifier)    →  checks codebase against must-haves

Plans are grouped into waves based on dependencies. Within each wave, plans run in parallel. Waves run sequentially. Each executor gets a fresh context window — zero accumulated garbage.

Three layers: Skills → Agents → Hooks

Skills (46 slash commands)

Markdown files with YAML frontmatter defining /pbr:* slash commands. Each skill is a complete prompt that reads state, interacts with the user, and spawns agents. Skills are the user-facing interface.

Agents (18 specialized subagents)

Markdown files defining agent prompts that run in fresh Task() contexts with clean 200k token windows. Each agent type has a specific role:

AgentRole
researcherDomain research before planning
plannerCreate execution plans with task breakdown
plan-checkerValidate plans across 10 dimensions before build
executorBuild code, write tests, create atomic commits
verifierGoal-backward verification against must-haves
debuggerHypothesis-driven systematic debugging
codebase-mapperParallel codebase analysis
integration-checkerCross-phase integration and E2E flow verification

Hooks (26 lifecycle hooks)

Node.js scripts that fire on Claude Code lifecycle events — enforcing commit format, validating agent dispatch, tracking context budget, syncing state files, and more. Hooks provide deterministic guardrails that don't rely on the LLM remembering to follow rules.

Hook server architecture

Persistent HTTP Hook Server

PBR runs a persistent HTTP server (hook-server.js) on localhost:19836 that handles hook dispatch. Instead of spawning a new Node.js process for every hook event, Claude Code sends HTTP POST requests to the server, which routes them to the appropriate handler.

Why a hook server?

  • Performance: HTTP dispatch is 2-30ms vs 200-500ms for process spawning per hook
  • Shared state: In-memory config cache, circuit breaker state, and event log shared across all hooks
  • Consolidated routing: 38 handler routes registered in a single initRoutes() function
  • Fail-open design: Connection failures and timeouts are non-blocking — Claude Code continues normally

How it works:

Claude Code                     Hook Server (localhost:19836)
    │                                  │
    ├── POST /hook/PreToolUse/Bash  →  │── pre-bash-dispatch.js
    │   ← { decision: "allow" }        │     ├── validate-commit.js
    │                                  │     └── check-dangerous-commands.js
    │                                  │
    ├── POST /hook/PostToolUse/Write → │── post-write-dispatch.js
    │   ← { additionalContext: ... }   │     ├── check-plan-format.js
    │                                  │     ├── check-roadmap-sync.js
    │                                  │     └── check-state-sync.js
    │                                  │
    ├── POST /hook/PostToolUse/Read  → │── track-context-budget.js
    │   ← { }                          │
    │                                  │
    └── GET /health                  → │── { status: "ok", uptime: ... }

Lifecycle events handled:

EventHooksPurpose
PreToolUse6 routesCommit validation, dangerous command blocking, write policies, agent dispatch gates, context budget enforcement
PostToolUse10 routesContext tracking, plan/state sync, architecture guard, subagent output validation, test result analysis
PostToolUseFailure1 routeTool failure logging
SubagentStart/Stop2 routesAgent lifecycle tracking, auto-verification triggers
TaskCompleted1 routeTask result processing
PreCompact/PostCompact2 routesState preservation across context compaction
ConfigChange1 routeConfig validation
SessionEnd1 routeCleanup and graceful server shutdown
UserPromptSubmit1 routePrompt routing
Notification1 routeNotification logging

5 hooks remain as command-type (process-spawned): SessionStart, Stop, InstructionsLoaded, WorktreeCreate, WorktreeRemove — these need stdin/stdout interaction that HTTP can't provide.

Server reliability features:

  • PID lockfile with port tracking (.hook-server.pid)
  • EADDRINUSE recovery — tries sequential ports if configured port is taken
  • Crash recovery — auto-restart on health check failure
  • MSYS path normalization — Windows Git Bash compatibility
  • Per-hook timing — 100ms alert threshold, hooks perf CLI for analysis
  • Circuit breaker — tracks handler failures to avoid cascading errors
File-based state (the data model)

Skills and agents communicate through files on disk, not messages:

.planning/
  ├── STATE.md           ← source of truth for current position
  ├── ROADMAP.md         ← phase structure, goals, dependencies
  ├── PROJECT.md         ← project metadata, locked decisions
  ├── REQUIREMENTS.md    ← requirements with completion tracking
  ├── config.json        ← workflow settings
  └── phases/NN-slug/
        ├── PLAN.md        ← written by planner, read by executor
        ├── SUMMARY.md     ← written by executor, read by orchestrator
        └── VERIFICATION.md ← written by verifier, read by review skill

Every task gets its own atomic commit immediately after completion:

abc123f docs(08-02): complete user registration plan
def456g feat(08-02): add email confirmation flow
hij789k feat(08-02): implement password hashing

The orchestrator never does heavy lifting. It spawns agents, waits, integrates results. Your main context stays at 30-40% while thousands of lines of code are written in parallel fresh contexts.


Commands

Core Workflow

CommandWhat it does
/pbr:new-projectFull init: questions → research → requirements → roadmap
/pbr:discuss-phase [N]Capture implementation decisions before planning
/pbr:plan-phase [N]Research + plan + verify for a phase
/pbr:execute-phase <N>Execute all plans in parallel waves
/pbr:verify-work [N]User acceptance testing with auto-diagnosis
/pbr:continueAuto-advance to the next logical step
/pbr:quickAd-hoc task with atomic commit (no full workflow)
CommandWhat it does
/pbr:progressWhere am I? What's next?
/pbr:resume-workRestore from last session
/pbr:pause-workCreate handoff when stopping mid-phase
/pbr:map-codebaseAnalyze existing codebase before new-project
All commands

Milestone Management:

CommandWhat it does
/pbr:audit-milestoneVerify milestone achieved its definition of done
/pbr:complete-milestoneArchive milestone, tag release
/pbr:new-milestoneStart next version
/pbr:plan-milestone-gapsCreate phases to close gaps from audit

Phase Management:

CommandWhat it does
/pbr:add-phaseAppend phase to roadmap
/pbr:insert-phase [N]Insert urgent work between phases
/pbr:remove-phase [N]Remove future phase, renumber
/pbr:list-phase-assumptions [N]See Claude's intended approach before planning

Autonomous Mode:

CommandWhat it does
/pbr:autonomousRun multiple phases hands-free (discuss → plan → build → verify)
/pbr:do [text]Route freeform text to the right PBR skill automatically

Quality & Debugging:

CommandWhat it does
/pbr:debug [desc]Systematic debugging with persistent hypothesis tracking
/pbr:testGenerate tests for completed phase code
/pbr:validate-phasePost-build quality gate with test gap detection
/pbr:audit [--today]Review past sessions for workflow compliance
/pbr:health [--repair]Validate .planning/ integrity

Knowledge & Ideas:

CommandWhat it does
/pbr:note [text]Quick idea capture (persists across sessions)
/pbr:todo [text]File-based persistent todos
/pbr:explore [topic]Think through approaches, route insights
/pbr:intelRefresh or query codebase intelligence

Utilities:

CommandWhat it does
/pbr:settingsConfigure model profile and workflow
/pbr:set-profile <profile>Switch model profile (quality/balanced/budget)
/pbr:dashboardLaunch web dashboard (Vite + React)
/pbr:statuslineInstall terminal status line
/pbr:scanAnalyze an existing codebase
/pbr:shipCreate a rich PR from planning artifacts
/pbr:releaseGenerate changelog and release notes
/pbr:helpShow all commands and usage
/pbr:updateUpdate PBR with changelog preview

See the User Guide for all flags, cost-by-depth tables, and detailed descriptions.


Configuration

PBR stores settings in .planning/config.json. Configure during /pbr:new-project or update with /pbr:settings.

SettingOptionsDefaultWhat it controls
modeautonomous, interactiveinteractiveAuto-approve vs confirm at each step
depthquick, standard, comprehensivestandardAgent spawn count and research scope
context_window_tokens100000-2000000200000Context window size — set to 1000000 for Opus 1M

Model Profiles

ProfilePlanningExecutionVerification
qualityOpusOpusSonnet
balanced (default)OpusSonnetSonnet
budgetSonnetSonnetHaiku
/pbr:set-profile quality
More configuration options

Workflow Agents:

SettingDefaultWhat it does
features.research_phasetrueResearch domain before planning each phase
features.plan_checkingtrueVerify plans before execution (always-on, lighter check for quick depth)
features.goal_verificationtrueConfirm must-haves after execution
features.auto_advancefalseAuto-chain discuss → plan → execute
features.inline_simple_taskstrueSimple tasks run inline without subagent overhead
features.self_verificationtrueExecutor self-checks before presenting output

Override per-invocation: /pbr:plan-phase --skip-research or --skip-verify

Parallelization:

SettingDefaultWhat it does
parallelization.enabledtrueParallel plan execution within waves
parallelization.max_concurrent_agents5Max simultaneous executor subagents
parallelization.min_plans_for_parallel2Minimum plans in a wave to trigger parallel execution

Git Branching:

StrategyBehavior
none (default)Commits to current branch
phaseBranch per phase, merge at completion
milestoneOne branch for entire milestone

Hook Server:

SettingDefaultWhat it does
hook_server.enabledtrueRoute hooks through persistent HTTP server
hook_server.port19836TCP port for hook server (localhost only)
hook_server.event_logtrueLog all hook events to .hook-events.jsonl

See the User Guide for the full config schema.


Security

PBR reads files to understand your project. Protect secrets with Claude Code's deny list:

{
  "permissions": {
    "deny": [
      "Read(.env)", "Read(.env.*)", "Read(**/secrets/*)",
      "Read(**/*credential*)", "Read(**/*.pem)", "Read(**/*.key)"
    ]
  }
}
Recommended permissions setup

PBR works best with frictionless automation:

claude --dangerously-skip-permissions

Or configure granular permissions in .claude/settings.json:

{
  "permissions": {
    "allow": [
      "Bash(date:*)", "Bash(echo:*)", "Bash(cat:*)", "Bash(ls:*)",
      "Bash(mkdir:*)", "Bash(wc:*)", "Bash(head:*)", "Bash(tail:*)",
      "Bash(sort:*)", "Bash(grep:*)", "Bash(tr:*)",
      "Bash(git add:*)", "Bash(git commit:*)", "Bash(git status:*)",
      "Bash(git log:*)", "Bash(git diff:*)", "Bash(git tag:*)"
    ]
  }
}

Troubleshooting

Common issues

Commands not found after install?

  • Restart your runtime to reload commands
  • Plugin: verify with claude plugin list
  • npx: verify files exist in ~/.claude/commands/pbr/

Using Docker? Set CLAUDE_CONFIG_DIR before installing:

CLAUDE_CONFIG_DIR=/home/youruser/.claude npx @sienklogic/plan-build-run --global

Hook server not starting?

  • Check port availability: curl http://localhost:19836/health
  • Review logs: .planning/.hook-events.jsonl
  • Run hooks perf via pbr-tools for timing analysis

Uninstalling:

# Plugin
claude plugin uninstall pbr@plan-build-run

# npx
npx @sienklogic/plan-build-run --claude --global --uninstall

Learn More

ResourceDescription
User GuideFull configuration reference, all command flags, cost tables
WikiAgents, hooks, project structure, philosophy, platform details
ContributingDevelopment setup, testing, contribution guidelines
DashboardWeb UI for browsing .planning/ state
ChangelogRelease history grouped by component

Local Development

git clone https://github.com/SienkLogic/plan-build-run.git
cd plan-build-run && npm install
npm test          # 6500+ tests across 296 suites
claude --plugin-dir .   # Load locally for testing

CI runs on Node 18/20/22 across Windows, macOS, and Linux (9 platform combinations).


46 skills • 18 agents • 26 hooks • 38 server routes • 4 platforms

Claude Code is powerful. PBR makes it reliable.

MIT License

// faq

What is plan-build-run?

Plan it. Build it. Run it. A Claude Code plugin for structured development with context-engineered agents.. It is open-source on GitHub.

Is plan-build-run free to use?

plan-build-run is open-source under the MIT license, so it is free to use.

What category does plan-build-run belong to?

plan-build-run is listed under plugins in the Claudeers registry of Claude-compatible tools.

0 views
17 stars
unclaimed
updated about 1 hour ago

// embed badge

plan-build-run on Claudeers
[![Claudeers](https://claudeers.com/api/badge/plan-build-run.svg)](https://claudeers.com/plan-build-run)

// retro hit counter

plan-build-run hit counter
[![Hits](https://claudeers.com/api/counter/plan-build-run.svg)](https://claudeers.com/plan-build-run)

// reviews

// guestbook

0/500

// related in Claude Plugins

🔓

A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.

// pluginsmultica-ai/203,096[ claude ]
🔓

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explainin…

// pluginsanthropics/Python141,574[ claude ]
🔓

"CLI-Anything: Making ALL Software Agent-Native" -- CLI-Hub: https://clianything.cc/

// pluginsHKUDS/Python47,363Apache-2.0[ claude ]
🔓

financial-services — a Claude ecosystem project on GitHub.

// pluginsanthropics/Python34,276Apache-2.0[ claude ]
→ see how plan-build-run connects across the ecosystem