From bon
Plan multi-session work as a bon hierarchy. Outcomes narrate the journey, actions carry execution detail, understanding.md provides the frame. Replaces plan mode for work that spans sessions. Triggers on 'plan this', 'how should we approach', or when about to enter plan mode for non-trivial work. (user)
npx claudepluginhub spm1001/batterie-de-savoir --plugin bonThis skill is limited to using the following tools:
Express your thinking as a bon hierarchy instead of a plan file.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Express your thinking as a bon hierarchy instead of a plan file.
Why this exists: Plan files are orphans. Written once, never synthesized, never updated. understanding.md has /open and /close maintaining it every session. Bon items have tracking, persistence, tactical steps. This skill channels planning into artifacts that are already alive.
What it replaces: Plan mode. Don't call EnterPlanMode — stay in normal conversation mode where writing to understanding.md and creating bon items is natural behavior, not a format conversion.
In Calvino's If on a winter's night a traveller, the chapter titles read as a continuous story. The Table of Contents IS a narrative.
Your outcomes work the same way. Read them in sequence — they should tell the implementation story:
- A shared Yjs document serves a CodeMirror editor
- Claude reads and edits the document as a Yjs peer
- Documents are markdown files on disk, not CRDT blobs
- Comments are a standalone messaging layer
- Documents export cleanly to Google Docs
Each title is a clause in the story. Each outcome expands into actions with
rich --how. The narrative lives in the sequence; the detail lives in the
chapters.
Read the terrain. Same exploration you'd do in plan mode, without entering the mode.
.bon/understanding.md — the project's soulCLAUDE.md — the manualbon list — what work already exists?Take your time. Planning quality depends on understanding what's already here.
Seed understanding.md with the architectural context that applies across all outcomes. This is where cross-cutting concerns live — the content that would have been Context, Approach, Gotchas, and Scope in a plan file.
Write to understanding.md:
The sorting question: Does it apply to multiple outcomes? →
understanding.md. Does it apply to one action? → that action's --how.
Present the understanding.md update to the user before proceeding.
Create outcomes whose titles, read in sequence, tell the implementation story.
For each outcome:
The narrative test: Read all outcome titles in order. Ask the user: "does this read as a story?" Reorder or reword until it does.
Create outcomes sequentially, not in parallel.
Create actions under each outcome. Each action is a chapter opening — rich enough that a cold-start Claude can pick it up and execute.
For each action:
bon work).Set waiting_for where real dependencies exist, not just ordering preference.
The self-containment test: For each action, ask: could a Claude with
only this brief and understanding.md execute this? If not, the --how
needs more detail.
Present the full hierarchy (capture bon list to a file and Read it).
Three checks:
Iterate until the user is satisfied. The hierarchy IS the plan — there's nothing else to write.
| Content type | Home | Example |
|---|---|---|
| Architecture decisions | understanding.md | "Y.Text not Y.XmlFragment because..." |
| Cross-cutting constraints | understanding.md | "Don't import Combine anywhere" |
| Gotchas from spikes | understanding.md | "StickyIndex constructor doesn't work" |
| Scope boundaries | understanding.md | "Not multi-user beyond Sameer + Claude" |
| Implementation strategy | Outcome --how | "Redis distributed locks, not file locks" |
| Per-step approach | Action --how | "Mirror Injector.swift:89-108 pattern" |
| Deliverables | Action --what | "1. Add middleware 2. Configure limits" |
| Completion criteria | Action --done | "P99 < 500ms at 500 RPS for 10 min" |
| The story | Outcome titles in order | Table of Outcomes |
| About to do this | Do this instead |
|---|---|
| Call EnterPlanMode | Stay in normal mode, follow these phases |
| Write a plan file | Frame → understanding.md, work → bons |
| Paste code blocks in --how | Reference by file:line |
| Create one large outcome | Multiple outcomes that narrate a sequence |
| Skip --how on actions | --how is where execution quality lives |
| Put cross-cutting context on one action | Put it in understanding.md |