kaizen-agent 1.7.1 → 1.7.2

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.
Files changed (39) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +657 -657
  3. package/agents/kaizen-builder.md +77 -77
  4. package/agents/kaizen-planner.md +250 -250
  5. package/agents/kaizen-reviewer.md +127 -127
  6. package/cli/dashboard.ts +1187 -1187
  7. package/cli/install.ts +947 -947
  8. package/cli/publish-gh.sh +27 -27
  9. package/cli/release.sh +45 -45
  10. package/cli/settings.ts +415 -415
  11. package/cli/state.test.ts +197 -197
  12. package/cli/state.ts +704 -704
  13. package/cli/web.ts +423 -423
  14. package/commands/kaizen-abort.md +5 -5
  15. package/commands/kaizen-approve.md +5 -5
  16. package/commands/kaizen-auto.md +6 -6
  17. package/commands/kaizen-backlog.md +5 -5
  18. package/commands/kaizen-config.md +5 -5
  19. package/commands/kaizen-full.md +5 -5
  20. package/commands/kaizen-init.md +5 -5
  21. package/commands/kaizen-install.md +5 -5
  22. package/commands/kaizen-lite.md +5 -5
  23. package/commands/kaizen-plan.md +6 -6
  24. package/commands/kaizen-reject.md +6 -6
  25. package/commands/kaizen-review.md +6 -6
  26. package/commands/kaizen-run.md +5 -5
  27. package/commands/kaizen-status.md +5 -5
  28. package/package.json +1 -1
  29. package/skills/kaizen/README.md +281 -281
  30. package/skills/kaizen/SKILL.md +440 -440
  31. package/skills/kaizen/adapters.md +77 -77
  32. package/skills/kaizen/config.default.yml +167 -167
  33. package/skills/kaizen/spec-build.md +119 -119
  34. package/skills/kaizen/spec-main.md +104 -104
  35. package/skills/kaizen/spec-plan.md +201 -201
  36. package/skills/kaizen/spec-review.md +121 -121
  37. package/skills/kaizen/spec.md +153 -153
  38. package/skills/kaizen-help/SKILL.md +129 -129
  39. package/web/board.html +520 -513
@@ -1,77 +1,77 @@
1
- # Adapters — running kaizen outside Claude Code
2
-
3
- `spec.md` plus its per-stage files (`spec-plan.md`, `spec-build.md`, `spec-review.md`,
4
- `spec-main.md`) are the workflow. It does not mention any vendor, and it is the single
5
- source of truth. An adapter is a thin file that points a given tool at it and
6
- describes how that tool dispatches stages. Adapters never restate the stage rules;
7
- duplicating them is how the tools drift apart.
8
-
9
- The portability comes from `.kaizen/` being plain files in the repository. Any tool
10
- that can read a directory can resume a run another tool started.
11
-
12
- ## Claude Code
13
-
14
- Native. The skill in this directory dispatches each stage through the Agent tool
15
- using the `kaizen-planner`, `kaizen-builder`, and `kaizen-reviewer` agent
16
- definitions, and the main thread owns `state.json`.
17
-
18
- ## Codex — `AGENTS.md`
19
-
20
- Codex reads `AGENTS.md` from the repository root. Append:
21
-
22
- ```markdown
23
- ## Kaizen workflow
24
-
25
- Non-trivial work in this repo follows the staged workflow in
26
- `.kaizen/spec.md`: plan, human approval, implement, independent review, bounded
27
- fix loop. Read that file before starting, and read the config chain (`.kaizen/config.yml`, `~/.kaizen/config.yml`, `config.default.yml`) for the
28
- mode and approval settings.
29
-
30
- Run state lives in `.kaizen/runs/<id>/`. Always read `state.json` first and
31
- continue from the stage it names. Never advance a run whose `awaiting` field is
32
- non-null without a recorded human decision in `02-approval.md` — another tool or
33
- session may be mid-run.
34
-
35
- Codex has no separate subagents, so run the stages sequentially in one session,
36
- but keep them clean: start each stage by reading only that stage's declared inputs
37
- from its stage file, and write its artifact before moving on. When reviewing, judge the
38
- diff on its own terms rather than defending the reasoning you used while writing it.
39
- ```
40
-
41
- Copy `spec*.md` into `.kaizen/` so the reference resolves
42
- without this skill installed.
43
-
44
- ## Antigravity
45
-
46
- Antigravity reads `AGENTS.md` as well; use the same block. If a workspace-level rules
47
- file is configured instead, point it at `.kaizen/spec.md` and the stage file being run with the same three
48
- paragraphs.
49
-
50
- Where Antigravity can run parallel agents, map planner, builder, and reviewer onto
51
- separate agents exactly as Claude Code does — the independent reviewer context is the
52
- part worth preserving in any port.
53
-
54
- ## Handing a run between tools
55
-
56
- Nothing special is required. Because every stage's input and output are files:
57
-
58
- 1. Tool A finishes a stage and updates `state.json`.
59
- 2. Tool B opens the repo, reads `state.json`, sees `stage: "review"` and
60
- `awaiting: null`, and runs the reviewer.
61
-
62
- The only rule is that whichever tool holds the run updates `state.json` when a stage
63
- completes. A stale `state.json` is the one way this breaks.
64
-
65
- ## Installing the adapter files
66
-
67
- `/kaizen init` writes `.kaizen/` with the `spec*.md` files into the
68
- project folder, plus the gitignore entry when that folder is a git repository.
69
- `/kaizen install` additionally offers to append the `AGENTS.md` block above.
70
- `.kaizen/spec*.md` and `.kaizen/config.yml` should be committed even though run state
71
- is ignored — the workflow is shared, the run data is not:
72
-
73
- ```gitignore
74
- .kaizen/*
75
- !.kaizen/spec*.md
76
- !.kaizen/config.yml
77
- ```
1
+ # Adapters — running kaizen outside Claude Code
2
+
3
+ `spec.md` plus its per-stage files (`spec-plan.md`, `spec-build.md`, `spec-review.md`,
4
+ `spec-main.md`) are the workflow. It does not mention any vendor, and it is the single
5
+ source of truth. An adapter is a thin file that points a given tool at it and
6
+ describes how that tool dispatches stages. Adapters never restate the stage rules;
7
+ duplicating them is how the tools drift apart.
8
+
9
+ The portability comes from `.kaizen/` being plain files in the repository. Any tool
10
+ that can read a directory can resume a run another tool started.
11
+
12
+ ## Claude Code
13
+
14
+ Native. The skill in this directory dispatches each stage through the Agent tool
15
+ using the `kaizen-planner`, `kaizen-builder`, and `kaizen-reviewer` agent
16
+ definitions, and the main thread owns `state.json`.
17
+
18
+ ## Codex — `AGENTS.md`
19
+
20
+ Codex reads `AGENTS.md` from the repository root. Append:
21
+
22
+ ```markdown
23
+ ## Kaizen workflow
24
+
25
+ Non-trivial work in this repo follows the staged workflow in
26
+ `.kaizen/spec.md`: plan, human approval, implement, independent review, bounded
27
+ fix loop. Read that file before starting, and read the config chain (`.kaizen/config.yml`, `~/.kaizen/config.yml`, `config.default.yml`) for the
28
+ mode and approval settings.
29
+
30
+ Run state lives in `.kaizen/runs/<id>/`. Always read `state.json` first and
31
+ continue from the stage it names. Never advance a run whose `awaiting` field is
32
+ non-null without a recorded human decision in `02-approval.md` — another tool or
33
+ session may be mid-run.
34
+
35
+ Codex has no separate subagents, so run the stages sequentially in one session,
36
+ but keep them clean: start each stage by reading only that stage's declared inputs
37
+ from its stage file, and write its artifact before moving on. When reviewing, judge the
38
+ diff on its own terms rather than defending the reasoning you used while writing it.
39
+ ```
40
+
41
+ Copy `spec*.md` into `.kaizen/` so the reference resolves
42
+ without this skill installed.
43
+
44
+ ## Antigravity
45
+
46
+ Antigravity reads `AGENTS.md` as well; use the same block. If a workspace-level rules
47
+ file is configured instead, point it at `.kaizen/spec.md` and the stage file being run with the same three
48
+ paragraphs.
49
+
50
+ Where Antigravity can run parallel agents, map planner, builder, and reviewer onto
51
+ separate agents exactly as Claude Code does — the independent reviewer context is the
52
+ part worth preserving in any port.
53
+
54
+ ## Handing a run between tools
55
+
56
+ Nothing special is required. Because every stage's input and output are files:
57
+
58
+ 1. Tool A finishes a stage and updates `state.json`.
59
+ 2. Tool B opens the repo, reads `state.json`, sees `stage: "review"` and
60
+ `awaiting: null`, and runs the reviewer.
61
+
62
+ The only rule is that whichever tool holds the run updates `state.json` when a stage
63
+ completes. A stale `state.json` is the one way this breaks.
64
+
65
+ ## Installing the adapter files
66
+
67
+ `/kaizen init` writes `.kaizen/` with the `spec*.md` files into the
68
+ project folder, plus the gitignore entry when that folder is a git repository.
69
+ `/kaizen install` additionally offers to append the `AGENTS.md` block above.
70
+ `.kaizen/spec*.md` and `.kaizen/config.yml` should be committed even though run state
71
+ is ignored — the workflow is shared, the run data is not:
72
+
73
+ ```gitignore
74
+ .kaizen/*
75
+ !.kaizen/spec*.md
76
+ !.kaizen/config.yml
77
+ ```
@@ -1,167 +1,167 @@
1
- # Kaizen defaults. Settings live in ~/.kaizen/config.yml and apply to every project.
2
- # To make one project different, copy this to .kaizen/config.yml there and override
3
- # only the keys you care about; anything absent falls back to the global file, then
4
- # to this one.
5
-
6
- # Quick preset: low | medium | ultra | custom
7
- # Selecting low, medium, or ultra applies its bundled defaults for runner, executor,
8
- # approvals, and auto-fix. Modifying individual keys sets this to custom.
9
- preset: medium
10
-
11
- # plan-only | approve | auto | review-only
12
- mode: approve
13
-
14
- approvals:
15
- # Stop after the plan, before any code is written.
16
- plan: true
17
- # Stop after the review, before the work is called done. Off by default: when
18
- # auto_fix has already closed the findings at or above its threshold, this second
19
- # stop mostly asks the user to approve a report they are about to read anyway.
20
- review: false
21
- # Confirm every individual file edit. Maximum control, slowest.
22
- each_file: false
23
-
24
- # How much machinery a run uses.
25
- # full - each stage is its own agent, started cold. The reviewer never sees how the
26
- # work was done, which is the only reason its findings are worth reading.
27
- # Costs several times what the same change costs in one session.
28
- # lite - the session you are talking to runs every stage itself, in order, keeping
29
- # each stage to its own declared inputs. Roughly the cost of doing the work
30
- # by hand, and you watch it happen. The reviewer has seen the work, so
31
- # expect it to miss what it just did.
32
- # Everything else is the same either way: the plan, the approval, the gate, the
33
- # findings, the files, and resuming a run in another tool.
34
- # Override for one run with `/kaizen lite <request>` or `/kaizen full <request>`.
35
- runner: full
36
-
37
- build:
38
- # Who carries out the approved plan.
39
- # subagent - dispatch the builder as its own agent. The main thread keeps its
40
- # context and the work is reported back. The default, and the only
41
- # sane option for a large run.
42
- # inline - the main thread does the work itself, against the same plan and the
43
- # same contract. You watch it happen and can interrupt mid-step, at
44
- # the cost of main-thread context.
45
- # ask - offer the choice at the plan approval.
46
- # The reviewer is a separate agent in every case; that is not configurable, because
47
- # an agent reviewing work it just did will defend it.
48
- executor: subagent
49
-
50
- auto_fix:
51
- # false: every finding stops the run and becomes a user decision.
52
- # true: findings at or above min_severity are fixed and re-reviewed automatically.
53
- enabled: true
54
- # critical | high | medium | low
55
- min_severity: high
56
- # Fix/recheck rounds before remaining findings are escalated to the user. Each round
57
- # is a full builder pass plus a full reviewer pass, so this is the most expensive
58
- # knob in the file. A third round rarely closes what two could not.
59
- max_iterations: 2
60
-
61
- track:
62
- # The kind of work a run is doing, which decides what "deliverable",
63
- # "verification", and "finding" mean for every stage. It is INFERRED from the
64
- # request by the planner and stated back in the plan's Framing for the user to
65
- # correct at the approval — the user is never asked to categorize their own request.
66
- # Set this only to pin a default for a repo that is always one kind of work
67
- # (e.g. a docs repo). auto (or empty) infers per run.
68
- default: auto
69
-
70
- review:
71
- # Checks that run in every track.
72
- checks:
73
- - correctness
74
- - plan_conformance
75
- # Additional checks per track, chosen by what the run actually is. The planner may
76
- # name a track not listed here; the reviewer then derives its checks from the
77
- # track's "what would make it wrong".
78
- # Each check below is one question the reviewer asks; the line beside it says which.
79
- track_checks:
80
- # security - no new way in, no secret or user data exposed
81
- # reuse_simplification - nothing rebuilt that the codebase already had
82
- # test_coverage - the changed behaviour has a check that fails when it breaks
83
- software: [security, reuse_simplification, test_coverage]
84
- # blast_radius and regression are universal — see spec-review.md — not listed here.
85
- # completeness - every part the piece promises is actually present
86
- # claim_accuracy - every checkable claim traced to a source
87
- # reader_usability - its intended reader can act on it without asking
88
- writing: [completeness, claim_accuracy, reader_usability]
89
- # audience_fit - written for the people who will actually read it
90
- # voice_consistency - reads as the same voice as the surrounding material
91
- communication: [claim_accuracy, audience_fit, voice_consistency]
92
- # prerequisites - everything needed before step one is stated
93
- # rollback - a way back exists for every step that changes something
94
- # executability - someone else can run it start to finish unaided
95
- operations: [prerequisites, rollback, executability]
96
- # evidence_support - the conclusion follows from evidence shown, not asserted
97
- # selection_bias - the evidence was not picked to fit the answer
98
- # alternatives - the readings that were rejected are named and why
99
- research: [evidence_support, selection_bias, alternatives]
100
- # Let the reviewer append durable lessons to .kaizen/memory.md.
101
- write_memory: true
102
- # Every stage of every future run reads memory.md, so cap it. Over this, the reviewer
103
- # prunes stale or superseded lessons before appending rather than growing the file.
104
- memory_max_lines: 100
105
-
106
- backlog:
107
- # Capture what a run deliberately did not do: out-of-scope suggestions the user did
108
- # not take, findings below the fix threshold, and debts deferred at an approval.
109
- # Written by the main thread at the plan approval and again at the final approval.
110
- enabled: true
111
- # Per run, beside its plan and review — provenance without a central file to sync.
112
- file: 06-backlog.md
113
- # Items are open | done | rejected. Only open ones are printed by /kaizen backlog;
114
- # closed ones stay in their run's file as record.
115
- statuses: [open, done, rejected]
116
- # Before state.keep_runs prunes a run, its still-open items move here, relative to
117
- # state.dir. Done and rejected items are pruned with the run.
118
- orphan_file: backlog.md
119
-
120
- state:
121
- dir: .kaizen
122
- # Keep this many completed runs before pruning the oldest. Pruning first rescues
123
- # open backlog items into backlog.orphan_file, so it never destroys open work.
124
- keep_runs: 20
125
-
126
- git:
127
- # Never commit, push, or open a PR unless the user explicitly asks.
128
- # Ignored when the project is not a git repository.
129
- auto_commit: false
130
- # Create a branch before the implement stage when on the default branch.
131
- # Ignored when the project is not a git repository.
132
- branch_before_implement: true
133
-
134
- ui:
135
- # Mouse in the TUI: click a row or card to select it, click it again to open or
136
- # run it, wheel to scroll. Off by default, and the reason is a real trade: while
137
- # the TUI holds the mouse, the terminal cannot select text with it, so copying a
138
- # run id out of the dashboard stops working until you leave.
139
- mouse: false
140
-
141
- subagents:
142
- # Claude Code only: other tools (Codex, Antigravity, opencode, gemini) have no
143
- # per-stage model knob and run every stage on whatever the tool itself is set to.
144
- # Model each stage subagent runs on, when the runner is full.
145
- # inherit - whatever the main session uses. The default.
146
- # opus | sonnet | haiku - pin it. A cheaper model for the builder is the usual
147
- # reason to touch this; the reviewer on a cheaper model finds less.
148
- model: inherit
149
- # Reasoning effort for the stage subagents: inherit | low | medium | high.
150
- # Set through the agent definition's frontmatter.
151
- effort: inherit
152
-
153
- agent:
154
- # Default coding agent to launch from dashboard backlog (auto | claude | codex | agy | opencode | gemini).
155
- # auto picks Claude Code if installed, otherwise the first agent found on PATH.
156
- default: auto
157
- # Per-tool model and effort for the session the board launches, passed as that
158
- # tool's own flags (claude --model/--effort, agy --model/--effort, codex -m and
159
- # model_reasoning_effort, gemini -m, opencode -m). Model names are the tool's own:
160
- # `agy models`, `opencode models`, Claude's opus|sonnet|haiku. Absent = tool default.
161
- # Uncomment the tool you launch:
162
- # claude: { model: opus, effort: high }
163
- # codex: { model: gpt-5, effort: low }
164
- # agy: { model: gemini-3.1-pro-low }
165
- # opencode: { model: anthropic/claude-sonnet-4-6 }
166
- # gemini: { model: gemini-2.5-pro }
167
-
1
+ # Kaizen defaults. Settings live in ~/.kaizen/config.yml and apply to every project.
2
+ # To make one project different, copy this to .kaizen/config.yml there and override
3
+ # only the keys you care about; anything absent falls back to the global file, then
4
+ # to this one.
5
+
6
+ # Quick preset: low | medium | ultra | custom
7
+ # Selecting low, medium, or ultra applies its bundled defaults for runner, executor,
8
+ # approvals, and auto-fix. Modifying individual keys sets this to custom.
9
+ preset: medium
10
+
11
+ # plan-only | approve | auto | review-only
12
+ mode: approve
13
+
14
+ approvals:
15
+ # Stop after the plan, before any code is written.
16
+ plan: true
17
+ # Stop after the review, before the work is called done. Off by default: when
18
+ # auto_fix has already closed the findings at or above its threshold, this second
19
+ # stop mostly asks the user to approve a report they are about to read anyway.
20
+ review: false
21
+ # Confirm every individual file edit. Maximum control, slowest.
22
+ each_file: false
23
+
24
+ # How much machinery a run uses.
25
+ # full - each stage is its own agent, started cold. The reviewer never sees how the
26
+ # work was done, which is the only reason its findings are worth reading.
27
+ # Costs several times what the same change costs in one session.
28
+ # lite - the session you are talking to runs every stage itself, in order, keeping
29
+ # each stage to its own declared inputs. Roughly the cost of doing the work
30
+ # by hand, and you watch it happen. The reviewer has seen the work, so
31
+ # expect it to miss what it just did.
32
+ # Everything else is the same either way: the plan, the approval, the gate, the
33
+ # findings, the files, and resuming a run in another tool.
34
+ # Override for one run with `/kaizen lite <request>` or `/kaizen full <request>`.
35
+ runner: full
36
+
37
+ build:
38
+ # Who carries out the approved plan.
39
+ # subagent - dispatch the builder as its own agent. The main thread keeps its
40
+ # context and the work is reported back. The default, and the only
41
+ # sane option for a large run.
42
+ # inline - the main thread does the work itself, against the same plan and the
43
+ # same contract. You watch it happen and can interrupt mid-step, at
44
+ # the cost of main-thread context.
45
+ # ask - offer the choice at the plan approval.
46
+ # The reviewer is a separate agent in every case; that is not configurable, because
47
+ # an agent reviewing work it just did will defend it.
48
+ executor: subagent
49
+
50
+ auto_fix:
51
+ # false: every finding stops the run and becomes a user decision.
52
+ # true: findings at or above min_severity are fixed and re-reviewed automatically.
53
+ enabled: true
54
+ # critical | high | medium | low
55
+ min_severity: high
56
+ # Fix/recheck rounds before remaining findings are escalated to the user. Each round
57
+ # is a full builder pass plus a full reviewer pass, so this is the most expensive
58
+ # knob in the file. A third round rarely closes what two could not.
59
+ max_iterations: 2
60
+
61
+ track:
62
+ # The kind of work a run is doing, which decides what "deliverable",
63
+ # "verification", and "finding" mean for every stage. It is INFERRED from the
64
+ # request by the planner and stated back in the plan's Framing for the user to
65
+ # correct at the approval — the user is never asked to categorize their own request.
66
+ # Set this only to pin a default for a repo that is always one kind of work
67
+ # (e.g. a docs repo). auto (or empty) infers per run.
68
+ default: auto
69
+
70
+ review:
71
+ # Checks that run in every track.
72
+ checks:
73
+ - correctness
74
+ - plan_conformance
75
+ # Additional checks per track, chosen by what the run actually is. The planner may
76
+ # name a track not listed here; the reviewer then derives its checks from the
77
+ # track's "what would make it wrong".
78
+ # Each check below is one question the reviewer asks; the line beside it says which.
79
+ track_checks:
80
+ # security - no new way in, no secret or user data exposed
81
+ # reuse_simplification - nothing rebuilt that the codebase already had
82
+ # test_coverage - the changed behaviour has a check that fails when it breaks
83
+ software: [security, reuse_simplification, test_coverage]
84
+ # blast_radius and regression are universal — see spec-review.md — not listed here.
85
+ # completeness - every part the piece promises is actually present
86
+ # claim_accuracy - every checkable claim traced to a source
87
+ # reader_usability - its intended reader can act on it without asking
88
+ writing: [completeness, claim_accuracy, reader_usability]
89
+ # audience_fit - written for the people who will actually read it
90
+ # voice_consistency - reads as the same voice as the surrounding material
91
+ communication: [claim_accuracy, audience_fit, voice_consistency]
92
+ # prerequisites - everything needed before step one is stated
93
+ # rollback - a way back exists for every step that changes something
94
+ # executability - someone else can run it start to finish unaided
95
+ operations: [prerequisites, rollback, executability]
96
+ # evidence_support - the conclusion follows from evidence shown, not asserted
97
+ # selection_bias - the evidence was not picked to fit the answer
98
+ # alternatives - the readings that were rejected are named and why
99
+ research: [evidence_support, selection_bias, alternatives]
100
+ # Let the reviewer append durable lessons to .kaizen/memory.md.
101
+ write_memory: true
102
+ # Every stage of every future run reads memory.md, so cap it. Over this, the reviewer
103
+ # prunes stale or superseded lessons before appending rather than growing the file.
104
+ memory_max_lines: 100
105
+
106
+ backlog:
107
+ # Capture what a run deliberately did not do: out-of-scope suggestions the user did
108
+ # not take, findings below the fix threshold, and debts deferred at an approval.
109
+ # Written by the main thread at the plan approval and again at the final approval.
110
+ enabled: true
111
+ # Per run, beside its plan and review — provenance without a central file to sync.
112
+ file: 06-backlog.md
113
+ # Items are open | done | rejected. Only open ones are printed by /kaizen backlog;
114
+ # closed ones stay in their run's file as record.
115
+ statuses: [open, done, rejected]
116
+ # Before state.keep_runs prunes a run, its still-open items move here, relative to
117
+ # state.dir. Done and rejected items are pruned with the run.
118
+ orphan_file: backlog.md
119
+
120
+ state:
121
+ dir: .kaizen
122
+ # Keep this many completed runs before pruning the oldest. Pruning first rescues
123
+ # open backlog items into backlog.orphan_file, so it never destroys open work.
124
+ keep_runs: 20
125
+
126
+ git:
127
+ # Never commit, push, or open a PR unless the user explicitly asks.
128
+ # Ignored when the project is not a git repository.
129
+ auto_commit: false
130
+ # Create a branch before the implement stage when on the default branch.
131
+ # Ignored when the project is not a git repository.
132
+ branch_before_implement: true
133
+
134
+ ui:
135
+ # Mouse in the TUI: click a row or card to select it, click it again to open or
136
+ # run it, wheel to scroll. Off by default, and the reason is a real trade: while
137
+ # the TUI holds the mouse, the terminal cannot select text with it, so copying a
138
+ # run id out of the dashboard stops working until you leave.
139
+ mouse: false
140
+
141
+ subagents:
142
+ # Claude Code only: other tools (Codex, Antigravity, opencode, gemini) have no
143
+ # per-stage model knob and run every stage on whatever the tool itself is set to.
144
+ # Model each stage subagent runs on, when the runner is full.
145
+ # inherit - whatever the main session uses. The default.
146
+ # opus | sonnet | haiku - pin it. A cheaper model for the builder is the usual
147
+ # reason to touch this; the reviewer on a cheaper model finds less.
148
+ model: inherit
149
+ # Reasoning effort for the stage subagents: inherit | low | medium | high.
150
+ # Set through the agent definition's frontmatter.
151
+ effort: inherit
152
+
153
+ agent:
154
+ # Default coding agent to launch from dashboard backlog (auto | claude | codex | agy | opencode | gemini).
155
+ # auto picks Claude Code if installed, otherwise the first agent found on PATH.
156
+ default: auto
157
+ # Per-tool model and effort for the session the board launches, passed as that
158
+ # tool's own flags (claude --model/--effort, agy --model/--effort, codex -m and
159
+ # model_reasoning_effort, gemini -m, opencode -m). Model names are the tool's own:
160
+ # `agy models`, `opencode models`, Claude's opus|sonnet|haiku. Absent = tool default.
161
+ # Uncomment the tool you launch:
162
+ # claude: { model: opus, effort: high }
163
+ # codex: { model: gpt-5, effort: low }
164
+ # agy: { model: gemini-3.1-pro-low }
165
+ # opencode: { model: anthropic/claude-sonnet-4-6 }
166
+ # gemini: { model: gemini-2.5-pro }
167
+