plumbbob 0.6.1 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +38 -18
- package/package.json +1 -1
- package/skills/pb-build/SKILL.md +5 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "plumbbob",
|
|
3
3
|
"displayName": "PlumbBob",
|
|
4
|
-
"version": "0.6.
|
|
4
|
+
"version": "0.6.3",
|
|
5
5
|
"description": "Attention-first build process — driver skills + a CLI that keep you the decider; guidance, not enforcement.",
|
|
6
6
|
"author": { "name": "Rob McLarty", "email": "hello@robmclarty.com", "url": "https://robmclarty.com" },
|
|
7
7
|
"homepage": "https://github.com/robmclarty/plumbbob#readme",
|
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# PlumbBob
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
|
-
<img src="hero.
|
|
4
|
+
<img src="hero.svg" alt="A row of plumb bobs of varying shapes hanging from strings" width="600">
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
7
|
PlumbBob is a Claude Code plugin — twelve `/pb-*` skills and a small CLI — that runs
|
|
@@ -80,7 +80,7 @@ In Claude Code, inside any git repo with a clean tree:
|
|
|
80
80
|
|
|
81
81
|
1. **Plan.** Fire `/pb-plan` and give it whatever you have — nothing (it interviews
|
|
82
82
|
you), a rough line (`/pb-plan rate-limit POST /login, 5/min/IP, return 429`), or a
|
|
83
|
-
path to a spec file. Together you fill
|
|
83
|
+
path to a spec file. Together you fill the build's `intent.md`. No code is written
|
|
84
84
|
yet.
|
|
85
85
|
2. **Build.** Fire `/pb-build`. It implements the next undone step, runs the
|
|
86
86
|
heavy check gate, reviews its own diff against the plan, and stops:
|
|
@@ -115,21 +115,40 @@ every move, and `/pb-status` always names your next one. (Claude Code namespaces
|
|
|
115
115
|
under the plugin — the real command is `/plumbbob:pb-plan`; for readability these docs
|
|
116
116
|
write the short form `/pb-plan`.)
|
|
117
117
|
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
**The happy path** — the three moves every session makes; many sessions need
|
|
119
|
+
nothing else:
|
|
120
|
+
|
|
121
|
+
| Skill <img alt="" width="110" height="1"> | Does |
|
|
122
|
+
|------------------------------------|------|
|
|
120
123
|
| `/pb-plan` | plan the whole goal — open the session and author intent's Frame, Decisions, Constraints, **and all Steps** |
|
|
124
|
+
| `/pb-build` | implement the next planned step, then verify it to the pause — `--auto` self-approves and chains to done |
|
|
125
|
+
| `/pb-finish` | finish up — write the report, make the final commit, clear for a fresh goal |
|
|
126
|
+
|
|
127
|
+
**Plan-shaping moves** — optional, for when the plan needs work mid-flight:
|
|
128
|
+
|
|
129
|
+
| Skill <img alt="" width="110" height="1"> | Does |
|
|
130
|
+
|------------------------------------|------|
|
|
121
131
|
| `/pb-step` | revise/sharpen the next step (empty input auto-syncs it to reality) |
|
|
122
|
-
| `/pb-
|
|
123
|
-
| `/pb-
|
|
124
|
-
|
|
132
|
+
| `/pb-refine` | attack the frame for holes, or repair a drifted plan |
|
|
133
|
+
| `/pb-spike` | throwaway worktree experiment for a fork the plan can't settle |
|
|
134
|
+
|
|
135
|
+
**Helpers** — orient, verify, recover, diagnose:
|
|
136
|
+
|
|
137
|
+
| Skill <img alt="" width="110" height="1"> | Does |
|
|
138
|
+
|------------------------------------|------|
|
|
125
139
|
| `/pb-status` | orient — where you are, the next step's done-when and seam, and the next move |
|
|
140
|
+
| `/pb-verify` | the tick, standalone — check → self-review → validate → **PAUSE** → checkpoint, for a diff `/pb-build` didn't write |
|
|
141
|
+
| `/pb-revert` | recover — `git reset --hard` to a recorded checkpoint |
|
|
142
|
+
| `/pb-doctor` | check the install from inside a session |
|
|
143
|
+
|
|
144
|
+
**Capture** — the park/harvest loop for mid-build ideas:
|
|
145
|
+
|
|
146
|
+
| Skill <img alt="" width="110" height="1"> | Does |
|
|
147
|
+
|------------------------------------|------|
|
|
148
|
+
| `/pb-park` | capture a mid-build idea without chasing it |
|
|
126
149
|
| `/pb-harvest` | triage parked ideas between steps (blocker / tangent / pivot) |
|
|
127
|
-
| `/pb-finish` | finish up — write the report, make the final commit, clear for a fresh goal |
|
|
128
150
|
|
|
129
|
-
|
|
130
|
-
(throwaway worktree experiment for a fork the plan can't settle), and `/pb-refine`
|
|
131
|
-
(attack the frame for holes or repair a drifted plan) — plus `/pb-doctor` to check
|
|
132
|
-
your install. All twelve, with inputs and effects, are in
|
|
151
|
+
All twelve, with inputs and effects, are in
|
|
133
152
|
[`docs/skills-reference.md`](docs/skills-reference.md).
|
|
134
153
|
|
|
135
154
|
Under the skills ships a lean `plumbbob` CLI (the mechanical verbs the
|
|
@@ -139,10 +158,10 @@ flow), and a `.plumbbob/` sidecar you can open and edit by hand at any time —
|
|
|
139
158
|
that rides the branch into the PR, plus an untracked control plane (`settings.local.json`,
|
|
140
159
|
the session sentinel, the in-flight markers).
|
|
141
160
|
|
|
142
|
-
**`/pb-build` is
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
not the author*.
|
|
161
|
+
**`/pb-build` is the default engine, not the only one.** It's one executor — the
|
|
162
|
+
loop doesn't care who writes the code. Implement a step by hand — or vibe it in
|
|
163
|
+
another session, or in another harness entirely — and run `/pb-verify` instead:
|
|
164
|
+
same checks, same pause, same checkpoint. It reads the *diff, not the author*.
|
|
146
165
|
|
|
147
166
|
**Bring your own agents.** Because the executor is author-blind, you can plug your
|
|
148
167
|
own in. A **user-authored agent** is any executable that speaks one small JSON
|
|
@@ -194,7 +213,7 @@ actually learning is the method: decisions before code, one verified step at a
|
|
|
194
213
|
time, capture instead of chase. That transfers to whatever tool wins. If
|
|
195
214
|
something better ships, you walk away with your archives and your habits intact.
|
|
196
215
|
|
|
197
|
-
**…admit the pause is unenforceable?** It is — on purpose (D10/D13 in
|
|
216
|
+
**…admit the pause is unenforceable?** It is — on purpose ([D10](docs/decisions.md#d10)/[D13](docs/decisions.md#d13) in
|
|
198
217
|
[`docs/decisions.md`](docs/decisions.md)). A hard lock buys ritual, not control:
|
|
199
218
|
a determined model routes around it. So PlumbBob enforces deterministically where
|
|
200
219
|
it can — `checkpoint` refuses on a red check, `revert` restores only recorded
|
|
@@ -211,7 +230,8 @@ Each doc answers one question — in rough reading order for a new user:
|
|
|
211
230
|
- *Should I / can I / what about…?* → [`docs/faq.md`](docs/faq.md) — the adoption questions, answered straight.
|
|
212
231
|
- *What is each method for?* → [`docs/techniques.md`](docs/techniques.md) — steps, seams, the pause, park/harvest, spikes.
|
|
213
232
|
- *What does each skill do?* → [`docs/skills-reference.md`](docs/skills-reference.md) — all twelve `/pb-*` skills: inputs, effects, when to reach for each.
|
|
214
|
-
- *How do I plug in my own agent?* → [`docs/agents.md`](docs/agents.md) — the subprocess envelope, the manifest, `harness.json`, and a
|
|
233
|
+
- *How do I plug in my own agent?* → [`docs/agents.md`](docs/agents.md) — the subprocess envelope, the manifest, `harness.json`, and working examples (including a local-model reviewer via Ollama).
|
|
234
|
+
- *How do I get a local model reviewing my steps?* → [`docs/local-model-review.md`](docs/local-model-review.md) — the ollama-reviewer example walked end to end, install to every-pause review.
|
|
215
235
|
- *How do I install it, exactly?* → [`docs/install.md`](docs/install.md) — the full guide and the agent-neutral roadmap.
|
|
216
236
|
- *What does the CLI underneath do?* → [`docs/cli-reference.md`](docs/cli-reference.md) — every verb, flag, exit code, and the `.plumbbob/` sidecar.
|
|
217
237
|
- *Something's broken.* → [`docs/troubleshooting.md`](docs/troubleshooting.md) — fixes for the common snags.
|
package/package.json
CHANGED
package/skills/pb-build/SKILL.md
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pb-build
|
|
3
|
-
description: The
|
|
3
|
+
description: The default engine — read the next planned step from intent, implement it (its done-when, seam, Decisions, Constraints), then verify it through to the approval pause. Swappable — build by hand/vibed/another harness and run /pb-verify instead. `--auto` self-approves and chains to done.
|
|
4
4
|
argument-hint: "[step-number] [--auto]"
|
|
5
5
|
disable-model-invocation: true
|
|
6
6
|
model: opus
|
|
7
7
|
allowed-tools: Read, Edit, Write, Bash(plumbbob status:*), Bash(plumbbob build:*), Bash(plumbbob check:*), Bash(plumbbob checkpoint:*), Bash(plumbbob agent:*), Bash(git diff:*)
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
# PlumbBob — build a step (the
|
|
10
|
+
# PlumbBob — build a step (the default engine)
|
|
11
11
|
|
|
12
12
|
Current session state (injected when this skill runs): !`plumbbob status 2>/dev/null || echo "plumbbob CLI not on PATH in this session. Marketplace install: confirm the plugin is enabled in /plugin, then /reload-plugins. Skills-dir/global install: npm i -g plumbbob && plumbbob init."`
|
|
13
13
|
|
|
14
|
-
This is the **bundled executor** —
|
|
15
|
-
**
|
|
14
|
+
This is the **bundled executor** — the default engine, not the only one. It is
|
|
15
|
+
**swappable** (D3): you can implement any step by hand, in a vibe session, or with
|
|
16
16
|
another harness and go straight to `/pb-verify` instead — plumbbob does not care how
|
|
17
17
|
the diff appeared. When you do run it, it reads the plan, writes the step, and
|
|
18
18
|
carries straight through to the verify pause.
|
|
@@ -100,7 +100,7 @@ human asked for it by name. The default — no flag — always ends at the pause
|
|
|
100
100
|
|
|
101
101
|
## The hard contracts
|
|
102
102
|
|
|
103
|
-
- **
|
|
103
|
+
- **Swappable, never required.** The loop works without this skill; `/pb-verify`
|
|
104
104
|
checkpoints a hand-built or vibed diff just the same (D3).
|
|
105
105
|
- **Build the decided step, not a new one.** Implement what `intent.md` settled. A
|
|
106
106
|
new idea mid-build is a `/pb-park`, not an edit.
|