The idea: three levels
Everything in Bentoban hangs off three linked levels. Work flows from left to right.
Objectives
What an engagement is for. They live in each Client’s Context and change rarely, only after a conversation with the Client.
Commitments
3–5 results you promise yourself each Week, each serving an Objective. True or not by Friday.
Tasks
The work. A Task links to the Commitment it moves forward. A Task linked to nothing is unplanned.
╭─ Objectives ─────╮ ╭─ Commitments ────╮ ╭─ Tasks ──────────╮ │ per Client, │ │ 3–5 per Week, │ │ the work, each │ │ change rarely │───▶│ true or not │───▶│ linked to its │ │ │ │ by Friday │ │ Commitment │ │ acme/Security │ │ C1 Controls │ │ ACME-16 ACME-41 │ ╰──────────────────╯ ╰──────────────────╯ ╰─────────┬────────╯ ▲ │ ╰─────────── Friday: kept or missed ◀───────────╯
Friday’s review closes the loop back to the Objectives. A Week with no Commitments, seven Tasks in doing and every finished Task off-plan is easy to have and hard to notice. b won’t stop it, but it makes it visible every day and countable every Friday.
The daily loop
About five minutes of planning a day: pick a few Tasks in the morning, capture interruptions without acting on them, and close out at the end.
- Morning
Pick Today with
/todayClaude reads Focus (this Week’s Commitments, the Flags, what’s in
doing) and proposes 1–3 Tasks for Today, favouring ones linked to a Commitment. Say yes and it marks them. - All day
Capture, don’t switch
A request in Slack or a meeting goes straight to the Inbox, and you go back to what you were doing. Sort the Inbox in a quick daily pass or on Friday, never mid-flow.
$ b add "Check cookie banner on regional site" -c acme - Starting
One thing in
doingper ClientA second one raises the WIP Flag. Blocked? Move it to waiting and say on whom.
$ b move ACME-25 doing $ b move ACME-25 waiting --waiting-on "Anna: staging access"
- Finishing
Tell people
Moving a Task to done makes it Untold for its Notify list. Send the update (
/telldrafts it), then record that you did.$ b move ACME-16 done $ b told ACME-16 -m "write-up sent"
- Evening
Close out with
/wrapClaude reviews Today’s Tasks, records what got done, carries over or unmarks the rest, captures loose ends into the Inbox, drafts updates for Untold Tasks, and offers to sync.
Prefer keys? Run b with no arguments. Home shows the same Focus, and the Board moves Tasks with single keys.
The Friday loop
Run /friday once a week and set aside 45 minutes. This is where Bentoban earns its keep. Claude walks through it step by step and asks before every write.
Close the Week
For each Commitment, Claude suggests kept or missed from its linked Tasks, and you decide. Closing writes the Week Snapshot, a record that never changes, even if Tasks do later.
$ b week close --kept C1,C3 --missed C2Decide each carry-over
Each missed Commitment needs a decision before next Week can be planned.
- Carry
--carry C2Unchanged. Its open Tasks move with it.
- Re-scope
--rescope 'C2: Staging plan written'Smaller, so you can actually finish it.
- Drop
--drop 'C2: Client paused it'Gone, with a reason on record.
- Carry
Clean up
Triage the Inbox, nudge people on Waiting Tasks, revive or drop Stale ones.
Re-anchor
Check each Client’s Objectives.
b trendsshows which ones you’re neglecting.Commit
Pick 3–5 results for next Week, carries included. Claude pushes back on vague ones (“what will exist on Friday?”) and on more than five.
Plan time and write it down
Book Focus blocks in your calendar, then
b week newwrites next Week. The Retro takes its numbers from the Snapshot.
Reading the trends
After 3–4 closed Weeks, b trends starts telling you something. It reads only Week Snapshots, so it shows what actually happened, and each of its three sections points to a different action.
Trends 2026-W44 to 2026-W47 Drift: Tasks finished that served none of the Week's Commitments (drift/done) Week acme internal All 2026-W44 1/4 25% 1/1 100% 2/5 40% 2026-W45 2/5 40% 0/1 0% 2/6 33% 2026-W46 0/3 0% 1/2 50% 1/5 20% 2026-W47 3/6 50% 1/1 100% 4/7 57% Total 6/18 33% 3/5 60% 9/23 39% Neglect: Objectives with no kept Commitment in their last 3 Snapshots Client Objective Last kept Tried acme Security 2026-W43, 4 Weeks 1 missed, 1 carried Unanchored: Commitments with no Objective in each Client's last 4 Snapshots (group at 3) Client Unanchored Snapshots acme 0 4 internal 3 4 group them
| Measure | What it counts | Worry when | What to do |
|---|---|---|---|
| Drift | Finished Tasks that served no Commitment that Week, like 2/7 29% | It stays above about a third for several Weeks | Commit to the work you actually do, or start saying no to it |
| Neglect | An Objective with no kept Commitment in its last 3 Snapshots | Any line at all, “never” most of all | Talk to the Client. Is it still an Objective? Change it, drop it or schedule it |
| Unanchored | Commitments with no Objective, per Client, over its last 4 Snapshots | 3 or more, marked “group them” | Let /friday group them: an Objective to agree with the Client, or unrequested work to raise |
Thresholds live in config.yml under planning:: neglect_after, unanchored_group_at and unanchored_window.
Worked example: W43 into W44
Acme is a made-up Client. Its Commitments, Task IDs and results are for illustration only.
- Fri 23 Oct
Close W43
The security controls write-up went out (C1: ACME-16, ACME-41, ACME-25 done), and so did the contact-form bot protection (C3: ACME-63). The CMS staging plan (C2: ACME-2) slipped, because the old content needed more cleanup than expected. The AI workshop prep (C4: INT-4) is done.
$ b week close 2026-W43 --kept C1,C3,C4 --missed C2 - Fri 23 Oct
Re-scope and plan W44
C2 still matters, but the full result is too big for one Week, so re-scope it:
$ b week new 2026-W44 \ --rescope 'C2: CMS staging plan written and reviewed with Anna' \ -o 'acme/Security: Pen-test findings triaged into Tasks' \ -o 'acme/CMS migration: First content item live in test environment' \ -o 'internal/Grow AI offering: Workshop follow-up sent to attendees'ACME-2 moves to the new C1 on its own, while the finished Tasks stay with W43. Then link next Week’s work:
$ b set ACME-70 commitment=C2 - Mon 26 Oct
/today, and an interruption
Claude proposes ACME-2 and ACME-70 for Today. At 10:00 a request about the homepage comes in. You capture it and keep going.
$ b add "Homepage hero image wrong" -c acme - Four Weeks later
b trends
Security shows under Neglect: last kept 2026-W43, 4 Weeks, like the sample above. That’s the cue to put Security on the next Acme check-in. Is it still a priority, or is the CMS migration the whole engagement now?
Habits and cheat sheet
Four habits do most of the work:
Write results, not activities
“Pricing calculator demoed” can be kept or missed. “Work on pricing” can’t.
Link every Task you start
To a Commitment, with
b set <ID> commitment=C2. Or accept that it’s Drift.Drop on purpose
b move <ID> droppedand--drop 'C2: reason'beat letting work rot.Never skip Friday
The one hard rule: next Week can’t be planned until the last one is closed.
| When | Command |
|---|---|
| Capture something | b add "<title>" -c <client> |
| Start it | b move <ID> doing |
| Blocked on someone | b move <ID> waiting --waiting-on "<who: what>" |
| Finish it | b move <ID> done |
| Link it to this Week | b set <ID> commitment=C2 |
| Who should hear about it | b set <ID> notify=Anna,Bob |
| You told them | b told <ID> -m "<summary>" |
| Park a known Off-plan Task | b snooze <ID> fri |
| What needs attention | b flags or b focus --brief |
| This Week | b week show |
| Close the Week | b week close --kept C1 --missed C2 |
| Plan next Week | b week new --carry C2 -o '<client>/<Objective>: <result>' |
| Am I on the right things? | b trends |
| Add an Objective | b objective add <client> "<name>: <what done looks like>" |
| Save and back up the Brain | b sync |
| Rituals, in Claude Code | /today /wrap /friday /tell <ID> |