flow-workflows 0.73.0 → 0.75.0

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 (103) hide show
  1. package/adapters/codex/CORE.md +2 -1
  2. package/adapters/codex/skills/flow-bug-fix/SKILL.md +5 -1
  3. package/adapters/codex/skills/flow-bug-investigate/SKILL.md +2 -0
  4. package/adapters/codex/skills/flow-bug-postmortem/SKILL.md +2 -0
  5. package/adapters/codex/skills/flow-bug-review/SKILL.md +2 -0
  6. package/adapters/codex/skills/flow-bug-ship/SKILL.md +2 -0
  7. package/adapters/codex/skills/flow-bug-start/SKILL.md +2 -0
  8. package/adapters/codex/skills/flow-bug-validate/SKILL.md +2 -0
  9. package/adapters/codex/skills/flow-feat-build/SKILL.md +5 -1
  10. package/adapters/codex/skills/flow-feat-design/SKILL.md +2 -0
  11. package/adapters/codex/skills/flow-feat-plan/SKILL.md +2 -0
  12. package/adapters/codex/skills/flow-feat-review/SKILL.md +2 -0
  13. package/adapters/codex/skills/flow-feat-ship/SKILL.md +3 -1
  14. package/adapters/codex/skills/flow-feat-start/SKILL.md +2 -0
  15. package/adapters/codex/skills/flow-feat-validate/SKILL.md +2 -0
  16. package/adapters/codex/skills/flow-work-abandon/SKILL.md +2 -0
  17. package/adapters/codex/skills/flow-work-clean/SKILL.md +2 -0
  18. package/adapters/codex/skills/flow-work-daily/SKILL.md +2 -0
  19. package/adapters/codex/skills/flow-work-green/SKILL.md +2 -0
  20. package/adapters/codex/skills/flow-work-query/SKILL.md +2 -0
  21. package/adapters/codex/skills/flow-work-respond/SKILL.md +2 -0
  22. package/adapters/codex/skills/flow-work-resume/SKILL.md +2 -0
  23. package/adapters/codex/skills/flow-work-status/SKILL.md +2 -0
  24. package/adapters/codex/skills/flow-work-try/SKILL.md +2 -0
  25. package/adapters/codex/skills/flow-work-watch/SKILL.md +2 -0
  26. package/adapters/gemini/CORE.md +2 -1
  27. package/adapters/gemini/commands/flow/bug/fix.toml +5 -1
  28. package/adapters/gemini/commands/flow/bug/investigate.toml +2 -0
  29. package/adapters/gemini/commands/flow/bug/postmortem.toml +2 -0
  30. package/adapters/gemini/commands/flow/bug/review.toml +2 -0
  31. package/adapters/gemini/commands/flow/bug/ship.toml +2 -0
  32. package/adapters/gemini/commands/flow/bug/start.toml +2 -0
  33. package/adapters/gemini/commands/flow/bug/validate.toml +2 -0
  34. package/adapters/gemini/commands/flow/feat/build.toml +5 -1
  35. package/adapters/gemini/commands/flow/feat/design.toml +2 -0
  36. package/adapters/gemini/commands/flow/feat/plan.toml +2 -0
  37. package/adapters/gemini/commands/flow/feat/review.toml +2 -0
  38. package/adapters/gemini/commands/flow/feat/ship.toml +3 -1
  39. package/adapters/gemini/commands/flow/feat/start.toml +2 -0
  40. package/adapters/gemini/commands/flow/feat/validate.toml +2 -0
  41. package/adapters/gemini/commands/flow/work/abandon.toml +2 -0
  42. package/adapters/gemini/commands/flow/work/clean.toml +2 -0
  43. package/adapters/gemini/commands/flow/work/daily.toml +2 -0
  44. package/adapters/gemini/commands/flow/work/green.toml +2 -0
  45. package/adapters/gemini/commands/flow/work/query.toml +2 -0
  46. package/adapters/gemini/commands/flow/work/respond.toml +2 -0
  47. package/adapters/gemini/commands/flow/work/resume.toml +2 -0
  48. package/adapters/gemini/commands/flow/work/status.toml +2 -0
  49. package/adapters/gemini/commands/flow/work/try.toml +2 -0
  50. package/adapters/gemini/commands/flow/work/watch.toml +2 -0
  51. package/adapters/hermes/CORE.md +2 -1
  52. package/adapters/hermes/skills/flow-bug-fix/SKILL.md +5 -1
  53. package/adapters/hermes/skills/flow-bug-investigate/SKILL.md +2 -0
  54. package/adapters/hermes/skills/flow-bug-postmortem/SKILL.md +2 -0
  55. package/adapters/hermes/skills/flow-bug-review/SKILL.md +2 -0
  56. package/adapters/hermes/skills/flow-bug-ship/SKILL.md +2 -0
  57. package/adapters/hermes/skills/flow-bug-start/SKILL.md +2 -0
  58. package/adapters/hermes/skills/flow-bug-validate/SKILL.md +2 -0
  59. package/adapters/hermes/skills/flow-feat-build/SKILL.md +5 -1
  60. package/adapters/hermes/skills/flow-feat-design/SKILL.md +2 -0
  61. package/adapters/hermes/skills/flow-feat-plan/SKILL.md +2 -0
  62. package/adapters/hermes/skills/flow-feat-review/SKILL.md +2 -0
  63. package/adapters/hermes/skills/flow-feat-ship/SKILL.md +3 -1
  64. package/adapters/hermes/skills/flow-feat-start/SKILL.md +2 -0
  65. package/adapters/hermes/skills/flow-feat-validate/SKILL.md +2 -0
  66. package/adapters/hermes/skills/flow-work-abandon/SKILL.md +2 -0
  67. package/adapters/hermes/skills/flow-work-clean/SKILL.md +2 -0
  68. package/adapters/hermes/skills/flow-work-daily/SKILL.md +2 -0
  69. package/adapters/hermes/skills/flow-work-green/SKILL.md +2 -0
  70. package/adapters/hermes/skills/flow-work-query/SKILL.md +2 -0
  71. package/adapters/hermes/skills/flow-work-respond/SKILL.md +2 -0
  72. package/adapters/hermes/skills/flow-work-resume/SKILL.md +2 -0
  73. package/adapters/hermes/skills/flow-work-status/SKILL.md +2 -0
  74. package/adapters/hermes/skills/flow-work-try/SKILL.md +2 -0
  75. package/adapters/hermes/skills/flow-work-watch/SKILL.md +2 -0
  76. package/adapters/opencode/CORE.md +2 -1
  77. package/adapters/opencode/commands/flow-bug-fix.md +5 -1
  78. package/adapters/opencode/commands/flow-bug-investigate.md +2 -0
  79. package/adapters/opencode/commands/flow-bug-postmortem.md +2 -0
  80. package/adapters/opencode/commands/flow-bug-review.md +2 -0
  81. package/adapters/opencode/commands/flow-bug-ship.md +2 -0
  82. package/adapters/opencode/commands/flow-bug-start.md +2 -0
  83. package/adapters/opencode/commands/flow-bug-validate.md +2 -0
  84. package/adapters/opencode/commands/flow-feat-build.md +5 -1
  85. package/adapters/opencode/commands/flow-feat-design.md +2 -0
  86. package/adapters/opencode/commands/flow-feat-plan.md +2 -0
  87. package/adapters/opencode/commands/flow-feat-review.md +2 -0
  88. package/adapters/opencode/commands/flow-feat-ship.md +3 -1
  89. package/adapters/opencode/commands/flow-feat-start.md +2 -0
  90. package/adapters/opencode/commands/flow-feat-validate.md +2 -0
  91. package/adapters/opencode/commands/flow-work-abandon.md +2 -0
  92. package/adapters/opencode/commands/flow-work-clean.md +2 -0
  93. package/adapters/opencode/commands/flow-work-daily.md +2 -0
  94. package/adapters/opencode/commands/flow-work-green.md +2 -0
  95. package/adapters/opencode/commands/flow-work-query.md +2 -0
  96. package/adapters/opencode/commands/flow-work-respond.md +2 -0
  97. package/adapters/opencode/commands/flow-work-resume.md +2 -0
  98. package/adapters/opencode/commands/flow-work-status.md +2 -0
  99. package/adapters/opencode/commands/flow-work-try.md +2 -0
  100. package/adapters/opencode/commands/flow-work-watch.md +2 -0
  101. package/package.json +1 -1
  102. package/plugins/flow/.claude-plugin/plugin.json +1 -1
  103. package/plugins/flow/CHANGELOG.md +45 -0
@@ -17,7 +17,7 @@ Every `$flow-*` command assumes these rules. They are stated once, here, so a co
17
17
  carries what is specific to its phase. Read this once per session; a command that says "load
18
18
  `flow-core`" means this file.
19
19
 
20
- **This file belongs to flow `0.73.0`.** Compare it once, at the start of the session, against
20
+ **This file belongs to flow `0.75.0`.** Compare it once, at the start of the session, against
21
21
  `version` in `~/.claude/flow/.claude-plugin/plugin.json`. The two differing means the session
22
22
  is running a **mixture** — the commands from one copy of the plugin, these shared rules from another
23
23
  — which is exactly what happens when a branch or a release candidate is loaded over an installed
@@ -261,6 +261,7 @@ I need: <one line — the decision or action you are waiting on>
261
261
  - **Out of the chat, into the artifact:** your own process, your mistakes, corrections to subagent reports, bookkeeping. Subagent completion or idle notifications never earn a turn of their own.
262
262
  - **Zero-context rule.** First mention of an identifier carries 4–6 words of what it is. Never cite a section number without naming what it is. No jargon the user has not used first.
263
263
  - **If it is a question, it is `AskUserQuestion`.** Never end a message with a question in prose. If it does not deserve the menu, it is a decision you take and record.
264
+ - **What the question is about travels with the question.** A brief, an MR/PR body, a plan, a finding: put it where the user answers it — in the question text and its options — and not only in the prose above. **Nothing runs between the two**: a tool call after that prose is what makes a terminal fold it away, and the last thing a chat UI collapses is exactly the thing they were asked to read. A gate answered without seeing what it was about is not a gate; "it is in `05-implementation.md`" is not showing it, because the answer then costs opening an editor and finding the file. Too long for the harness's question → print it as the **last** thing before asking, tool calls already done.
264
265
 
265
266
  ## 4. Live panel — over the terminal's MCP, or `panel.json`
266
267
 
@@ -24,6 +24,8 @@ Apply the fix. **Minimum viable**: no refactor of adjacent areas. Note other pro
24
24
 
25
25
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`.**
26
26
 
27
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
28
+
27
29
  - Read `meta.json` and `00-summary.md`; open in full only `03-investigation.md` (root cause, constraints for the fix) (minimal reproduction, root cause, constraints for the fix). (flow-core §5)
28
30
  - `size` `XS`: may start without `investigate`, but require a 2-3 line description of the fix.
29
31
  - `size` ≥ S: require `investigate` in `phases_done` (on S it will have run its reproduction half only).
@@ -48,7 +50,9 @@ What is NOT touched:
48
50
 
49
51
  **Ask with `AskUserQuestion`** whether this reflects the expected fix — a hard gate, **in every mode, `auto` included**: widening the fix is the main source of collateral regressions, and this is the last point to settle scope before there is a diff.
50
52
 
51
- In `auto` this is one of the only two stops of the whole flow (this one and `ship`; `guided` adds the plan of §2.0bis on a fix of more than two steps): open with the **full stop header** (flow-core §3), then the brief. Options:
53
+ In `auto` this is one of the only two stops of the whole flow (this one and `ship`; `guided` adds the plan of §2.0bis on a fix of more than two steps): open with the **full stop header** (flow-core §3), then the brief.
54
+
55
+ **The brief travels inside the question** (flow-core §3) — read in the prompt being answered, not by opening `04-fix.md` — and **nothing runs between the brief and the question**: a tool call after it is what lets a terminal fold it away. Options:
52
56
  - **Yes, go ahead** → apply the fix.
53
57
  - **No, something is missing or wrong** → adjust the brief, ask again. No code until confirmed.
54
58
 
@@ -24,6 +24,8 @@ Investigation phase: reproduce the failure, then find **why it happened** — no
24
24
 
25
25
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`; its parallel rounds take `models.workers`.**
26
26
 
27
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
28
+
27
29
  - Read `meta.json` and `00-summary.md`; open in full only `01-context.md`. (flow-core §5)
28
30
  - `type` is not `bug` → refuse. `size` is `XS` → suggest `$flow-bug-fix` and stop.
29
31
  - Require `context` in `phases_done`. A work whose `phase` is the retired `diagnose` (written before
@@ -26,6 +26,8 @@ Goal: capture lessons that prevent recurrence — not to blame anyone.
26
26
 
27
27
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: this command runs with the model it was launched with (no `models` key).**
28
28
 
29
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
30
+
29
31
  - Read `meta.json` and `00-summary.md`; open in full every previous artifact (`01-context.md` … `06-review.md`) — §2 needs the whole history. (flow-core §5)
30
32
  - Require `review` in `phases_done`.
31
33
  - `size` `XS` → suggest skipping to `$flow-bug-ship`.
@@ -24,6 +24,8 @@ Mandatory code review of the fix.
24
24
 
25
25
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`; its parallel rounds take `models.workers`.**
26
26
 
27
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
28
+
27
29
  - Read `meta.json` and `00-summary.md`; open in full only `03-investigation.md` and `04-fix.md` (reviewer context, §2.1) and `05-validation.md` (regression test). (flow-core §5)
28
30
  - **A premise left open by `fix` §2.2 is an input to this review, not a note.** Every row of "Premises the fix depends on" whose verdict is `unsettled` enters §5 as an **ambiguous finding** and is named in §7 whether or not that gate opened — in a bug it is usually the claim that the root cause was the whole cause, which is exactly what the regression test cannot prove.
29
31
  - Require `fix` in `phases_done`; for `size` ≥ S also require `validate`.
@@ -27,6 +27,8 @@ Close the bug flow: commit, push, MR/PR. Same mechanics as `$flow-feat-ship`, wi
27
27
 
28
28
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: this command runs with the model it was launched with; the wait it delegates takes `models.supervisors`.**
29
29
 
30
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
31
+
30
32
  - Read `meta.json` and `00-summary.md`; open in full only `04-fix.md` (the Brief), `06-review.md` (the verdict), `05-validation.md`, the §"Root cause identified" of `03-investigation.md`, and `99-postmortem.md` if it exists. (flow-core §5)
31
33
  - Require `review` in `phases_done`; also `validate` if `size` ≥ S, and `postmortem` if `size` is M or L (the same sizes `$flow-bug-review §8` routes to postmortem — one rule). Missing → refuse and redirect to the missing step.
32
34
  - **The review has to be about the tree you are about to push — `$flow-feat-ship` §1, in full and unchanged**, including its four newer cases: `reviewed_sha` is the revision the reviewers *read* (`$flow-bug-review` §1.5 froze it), so `fixed_sha` set alongside an equal sha is a mismatch and not a match; a dirty tree at this end is named and asked about rather than passed over; and a `reviewed_sha` that no longer resolves is reported, then treated as absent. Compare `meta.json.reviewed_sha` and `validated_sha` against `git rev-parse HEAD`:
@@ -27,6 +27,8 @@ Start a bug. `$ARGUMENTS` is **optional**:
27
27
 
28
28
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: this command runs with the model it was launched with (no `models` key).**
29
29
 
30
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
31
+
30
32
  - Verify you are in the correct repo.
31
33
  - **Determine the mode** from `$ARGUMENTS`: non-empty → *ticket mode* (identifier = `$ARGUMENTS`); empty → *ticket-less mode* (identifier = the slug resolved in §1.5).
32
34
  - Once the identifier is known, check whether the work already exists: ticket mode → glob `.claude/work/<TICKET>/` and `.claude/work/<TICKET>-*/` for a `meta.json` whose `ticket` equals `<TICKET>`; ticket-less → `.claude/work/<slug>/meta.json`, right after §1.5.2 decides the slug. If one exists, suggest `$flow-work-resume`.
@@ -24,6 +24,8 @@ Validate that the fix works and that the bug does not return.
24
24
 
25
25
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`; the wait it delegates takes `models.supervisors`.**
26
26
 
27
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
28
+
27
29
  - Read `meta.json` and `00-summary.md`; open in full only `03-investigation.md` (§3 areas with similar risk, and the minimal reproduction) — the testing agent reads it and `04-fix.md` itself. (flow-core §5)
28
30
  - Require `fix` in `phases_done`.
29
31
  - `size` `XS` → suggest skipping to `$flow-bug-review` unless the user insists.
@@ -20,6 +20,8 @@ description: "Implement the feature following the approved design and keep a run
20
20
 
21
21
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`.**
22
22
 
23
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
24
+
23
25
  Implementation phase. Code is written here.
24
26
 
25
27
  ## 1. Pre-flight
@@ -59,7 +61,9 @@ Rules for writing it:
59
61
 
60
62
  **Ask the user with `AskUserQuestion`** whether the brief reflects what they expect — **hard gate, in every autonomy mode, `auto` included**: it is the last point where scope can be corrected before there is a diff to argue with.
61
63
 
62
- In `auto` this is one of the only two stops per MR/PR (`guided` adds the plan of §2.0ter on a big one), so it carries the **full stop header** (flow-core §3) — ticket, size, phase, `MR #<n> of <N>`, plan state — followed by the brief. Options:
64
+ In `auto` this is one of the only two stops per MR/PR (`guided` adds the plan of §2.0ter on a big one), so it carries the **full stop header** (flow-core §3) — ticket, size, phase, `MR #<n> of <N>`, plan state — followed by the brief.
65
+
66
+ **The brief travels inside the question** (flow-core §3): the user reads it in the prompt they are answering, never by opening `05-implementation.md`. Write the file, run whatever you need, and *then* open the gate — **nothing runs between the brief and the question**, because a tool call after it is what lets a terminal fold the brief into one collapsed line, and the gate is answered blind. Options:
63
67
  - **Yes, proceed** → start building.
64
68
  - **No, something is extra or missing** → the user clarifies, adjust the brief, ask again. **Do not touch code** until the brief is confirmed.
65
69
 
@@ -20,6 +20,8 @@ description: "Design the technical solution (architecture, DB, APIs, risks) befo
20
20
 
21
21
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`; its parallel rounds take `models.workers`.**
22
22
 
23
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
24
+
23
25
  Technical design phase. **Still no production code is written.** Opens the option space first (M/L), then designs the approach that was chosen. Output: a plan the next step executes.
24
26
 
25
27
  ## 1. Pre-flight
@@ -20,6 +20,8 @@ description: "Split the work into small, independently mergeable MRs/PRs before
20
20
 
21
21
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`.**
22
22
 
23
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
24
+
23
25
  Delivery planning phase. **No code is written.** Splits the feature into MRs/PRs that can each live on the main branch even if the subsequent ones never land.
24
26
 
25
27
  ## 1. Pre-flight
@@ -20,6 +20,8 @@ description: "Mandatory multi-agent code review before shipping"
20
20
 
21
21
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`; its parallel rounds take `models.workers`.**
22
22
 
23
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
24
+
23
25
  Mandatory review phase. **`$flow-feat-ship` cannot run without passing through here and resolving blockers.**
24
26
 
25
27
  ## 1. Pre-flight
@@ -20,6 +20,8 @@ description: "Commit, push, MR/PR, and offer to save domain knowledge"
20
20
 
21
21
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: this command runs with the model it was launched with; the wait it delegates takes `models.supervisors`.**
22
22
 
23
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
24
+
23
25
  Closes the feature: commit, push, MR/PR (assigned per `git.assignee`, squash per `git.squash`, sections per `git.request_sections`) and an optional offer to consolidate knowledge.
24
26
 
25
27
  ## 1. Pre-flight
@@ -153,7 +155,7 @@ Description:
153
155
 
154
156
  If there is pre-deploy SQL, ask the user to **explicitly confirm that the block is complete and correct** — it will be executed in production.
155
157
 
156
- Then ask with `AskUserQuestion` (header: "Create <MR or PR>"):
158
+ The preview is the last thing before the question — **no tool call between them** (flow-core §3), or the block the user is meant to approve is the one their terminal folds away. Then ask with `AskUserQuestion` (header: "Create <MR or PR>"):
157
159
 
158
160
  - **Create with this content** → invoke §4.
159
161
  - **Edit before creating** → user says what to change (title, a section, both); adjust and return to §3 with the new preview.
@@ -20,6 +20,8 @@ description: "Start a new feature (read the tracker, classify size, create branc
20
20
 
21
21
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: this command runs with the model it was launched with (no `models` key).**
22
22
 
23
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
24
+
23
25
  `$ARGUMENTS` is **optional**:
24
26
 
25
27
  - **Given** — an identifier in `tracker.prefix` format from `FLOW.md` → *ticket mode* (§2 reads it).
@@ -20,6 +20,8 @@ description: "Validate tests, edge cases, and integrity before shipping"
20
20
 
21
21
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`; the wait it delegates takes `models.supervisors`.**
22
22
 
23
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
24
+
23
25
  Verify the feature is complete: test coverage, edge cases, performance, regressions.
24
26
 
25
27
  ## 1. Pre-flight
@@ -20,6 +20,8 @@ description: "Close a work without shipping (discarded feature, non-issue, etc.)
20
20
 
21
21
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, autonomy, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session.
22
22
 
23
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
24
+
23
25
  Clean closure for works that will not reach the base branch: a feature discarded after `design`, a bug that is not one (expected behavior, external problem, user misconfiguration), a work absorbed by another ticket.
24
26
 
25
27
  ## 1. Pre-flight
@@ -20,6 +20,8 @@ description: "Sweep what finished work left behind — merged worktrees, dead br
20
20
 
21
21
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, autonomy, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session.
22
22
 
23
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
24
+
23
25
  The forge (`git.cli`) is **best-effort**: CLI missing, unauthenticated, or over ~5s → fall back to the local evidence in §4 and say so in one line; never block.
24
26
 
25
27
  The periodic sweep of the three residues a finished work leaves — its **worktree**, its **local branch**, its **`.claude/work/` folder** — which `$flow-feat-ship` and `$flow-work-abandon` only offer to remove at their end (and a train's intermediate MR/PR never sets `phase = "done"`). Inventory all three, judge each by **the forge's verdict**, remove only what is provably finished, and only after showing the whole list. The only flow command whose purpose is deletion; §0 governs.
@@ -20,6 +20,8 @@ description: "Your work assistant — a Scrum-style daily standup across all you
20
20
 
21
21
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, autonomy, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session.
22
22
 
23
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
24
+
23
25
  External sources (tracker, forge, `knowledge`) are all **best-effort**: a CLI missing/unauthenticated, an MCP failing, or a call over ~3s → continue without that source and note it in a single line; **never block**.
24
26
 
25
27
  Your **work assistant**: a Scrum-style daily standup — *"what was I working on?"*, *"what's left?"*, *"what should I pick up today?"* — from three sources: **local** work state, the **forge** (open MRs/PRs, reviews, CI), the **tracker** (assigned/re-prioritized tickets). Unlike `$flow-work-status` (technical table) and `$flow-work-resume` (one branch), a cross-cutting narrative briefing.
@@ -34,6 +34,8 @@ Extract from `git`: `host`, `cli` (empty → the default for that host), `defaul
34
34
 
35
35
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`; the wait it delegates takes `models.supervisors`.**
36
36
 
37
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
38
+
37
39
  **Autonomy.** Modes as in flow-core §2; `guided`/`auto` record their choices in `09-ci.md` (e.g. a pure formatter auto-fix). **Hard gates — ALWAYS stop and ask, in every mode, no exceptions:**
38
40
  1. **Any push** (§6).
39
41
  2. Creating/switching a branch, or DB schema changes/migrations, if a fix requires them.
@@ -20,6 +20,8 @@ description: "Put a data-access query on trial — schema, indexes, execution pl
20
20
 
21
21
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`; its parallel rounds take `models.workers`.**
22
22
 
23
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
24
+
23
25
  **A query is approved by its plan, not by prose.** Fact sheet → challenger attacks → each point settled with a **plan or a number**. **Cross-cutting** (feat or bug), **repeatable**, does **not** advance `meta.json.phase`; runs with or without a work folder.
24
26
 
25
27
  Invoked by `$flow-feat-review` and `$flow-bug-review` (duel over the diff), `$flow-work-respond` (a reviewer objected to a query), `$flow-feat-design` (access paths), `$flow-feat-build`, `$flow-feat-validate`. Invoke directly for any doubt outside them (chat question, comment on an open MR/PR, a year-old query).
@@ -30,6 +30,8 @@ Extract from `git`: `host`, `cli` (empty → the default for that host), `assign
30
30
 
31
31
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: this command runs with the model it was launched with (no `models` key).**
32
32
 
33
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
34
+
33
35
  **Autonomy.** Modes as in flow-core §2 (`autonomy.mode`: `manual` | `guided` | `auto`; empty = `manual`); `guided`/`auto` record their choices in `08-feedback.md`. **Hard gates — ALWAYS stop and ask, in every mode, no exceptions:**
34
36
  1. **Posting any comment/reply** to the MR/PR (§7).
35
37
  2. **Any push** (§6.2).
@@ -20,6 +20,8 @@ description: "Resume the work associated with the current branch and suggest the
20
20
 
21
21
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, autonomy, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session.
22
22
 
23
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
24
+
23
25
  Use when returning to a work after a break (next morning, another session).
24
26
 
25
27
  ## 1. Detection
@@ -20,6 +20,8 @@ description: "Summary of all open works in .claude/work/"
20
20
 
21
21
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, autonomy, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session.
22
22
 
23
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
24
+
23
25
  Overview of works in progress; detects divergences between artifacts and actual git state.
24
26
 
25
27
  ## 1. List works
@@ -20,6 +20,8 @@ description: "Point the main checkout at a branch to test it (then return), re-s
20
20
 
21
21
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, autonomy, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session.
22
22
 
23
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
24
+
23
25
  Temporarily point the **main checkout** at another branch to test it against this checkout's live environment (running stack, DB, containers), then return — a generic `make wt-try`/`wt-back` pair. The git switch is built in; the project-specific re-sync (e.g. migrations) comes from `git.worktree_resync` in `FLOW.md`. Operates **in place**; never creates or touches worktrees.
24
26
 
25
27
  ## 1. Parse the argument
@@ -20,6 +20,8 @@ description: "Monitor the observability platform after a deploy and alert on err
20
20
 
21
21
  Read `~/.claude/flow/CORE.codex.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: this command runs with the model it was launched with; the wait it delegates takes `models.supervisors`.**
22
22
 
23
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
24
+
23
25
  **Autopiloted post-deploy monitoring**: signals **scoped to the change** over a window (default 30 min), against a baseline; alert on errors or performance regressions from the deploy.
24
26
 
25
27
  Usage: `$flow-work-watch {PREFIX}XXXXX [duration]` (prefix from `tracker.prefix`; default `30m`).
@@ -16,7 +16,7 @@ Every `/flow:*` command assumes these rules. They are stated once, here, so a co
16
16
  carries what is specific to its phase. Read this once per session; a command that says "load
17
17
  `flow-core`" means this file.
18
18
 
19
- **This file belongs to flow `0.73.0`.** Compare it once, at the start of the session, against
19
+ **This file belongs to flow `0.75.0`.** Compare it once, at the start of the session, against
20
20
  `version` in `~/.claude/flow/.claude-plugin/plugin.json`. The two differing means the session
21
21
  is running a **mixture** — the commands from one copy of the plugin, these shared rules from another
22
22
  — which is exactly what happens when a branch or a release candidate is loaded over an installed
@@ -260,6 +260,7 @@ I need: <one line — the decision or action you are waiting on>
260
260
  - **Out of the chat, into the artifact:** your own process, your mistakes, corrections to subagent reports, bookkeeping. Subagent completion or idle notifications never earn a turn of their own.
261
261
  - **Zero-context rule.** First mention of an identifier carries 4–6 words of what it is. Never cite a section number without naming what it is. No jargon the user has not used first.
262
262
  - **If it is a question, it is `AskUserQuestion`.** Never end a message with a question in prose. If it does not deserve the menu, it is a decision you take and record.
263
+ - **What the question is about travels with the question.** A brief, an MR/PR body, a plan, a finding: put it where the user answers it — in the question text and its options — and not only in the prose above. **Nothing runs between the two**: a tool call after that prose is what makes a terminal fold it away, and the last thing a chat UI collapses is exactly the thing they were asked to read. A gate answered without seeing what it was about is not a gate; "it is in `05-implementation.md`" is not showing it, because the answer then costs opening an editor and finding the file. Too long for the harness's question → print it as the **last** thing before asking, tool calls already done.
263
264
 
264
265
  ## 4. Live panel — over the terminal's MCP, or `panel.json`
265
266
 
@@ -20,6 +20,8 @@ Apply the fix. **Minimum viable**: no refactor of adjacent areas. Note other pro
20
20
 
21
21
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`.**
22
22
 
23
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
24
+
23
25
  - Read `meta.json` and `00-summary.md`; open in full only `03-investigation.md` (root cause, constraints for the fix) (minimal reproduction, root cause, constraints for the fix). (flow-core §5)
24
26
  - `size` `XS`: may start without `investigate`, but require a 2-3 line description of the fix.
25
27
  - `size` ≥ S: require `investigate` in `phases_done` (on S it will have run its reproduction half only).
@@ -44,7 +46,9 @@ What is NOT touched:
44
46
 
45
47
  **Ask with `AskUserQuestion`** whether this reflects the expected fix — a hard gate, **in every mode, `auto` included**: widening the fix is the main source of collateral regressions, and this is the last point to settle scope before there is a diff.
46
48
 
47
- In `auto` this is one of the only two stops of the whole flow (this one and `ship`; `guided` adds the plan of §2.0bis on a fix of more than two steps): open with the **full stop header** (flow-core §3), then the brief. Options:
49
+ In `auto` this is one of the only two stops of the whole flow (this one and `ship`; `guided` adds the plan of §2.0bis on a fix of more than two steps): open with the **full stop header** (flow-core §3), then the brief.
50
+
51
+ **The brief travels inside the question** (flow-core §3) — read in the prompt being answered, not by opening `04-fix.md` — and **nothing runs between the brief and the question**: a tool call after it is what lets a terminal fold it away. Options:
48
52
  - **Yes, go ahead** → apply the fix.
49
53
  - **No, something is missing or wrong** → adjust the brief, ask again. No code until confirmed.
50
54
 
@@ -20,6 +20,8 @@ Investigation phase: reproduce the failure, then find **why it happened** — no
20
20
 
21
21
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`; its parallel rounds take `models.workers`.**
22
22
 
23
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
24
+
23
25
  - Read `meta.json` and `00-summary.md`; open in full only `01-context.md`. (flow-core §5)
24
26
  - `type` is not `bug` → refuse. `size` is `XS` → suggest `/flow:bug:fix` and stop.
25
27
  - Require `context` in `phases_done`. A work whose `phase` is the retired `diagnose` (written before
@@ -22,6 +22,8 @@ Goal: capture lessons that prevent recurrence — not to blame anyone.
22
22
 
23
23
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: this command runs with the model it was launched with (no `models` key).**
24
24
 
25
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
26
+
25
27
  - Read `meta.json` and `00-summary.md`; open in full every previous artifact (`01-context.md` … `06-review.md`) — §2 needs the whole history. (flow-core §5)
26
28
  - Require `review` in `phases_done`.
27
29
  - `size` `XS` → suggest skipping to `/flow:bug:ship`.
@@ -20,6 +20,8 @@ Mandatory code review of the fix.
20
20
 
21
21
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`; its parallel rounds take `models.workers`.**
22
22
 
23
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
24
+
23
25
  - Read `meta.json` and `00-summary.md`; open in full only `03-investigation.md` and `04-fix.md` (reviewer context, §2.1) and `05-validation.md` (regression test). (flow-core §5)
24
26
  - **A premise left open by `fix` §2.2 is an input to this review, not a note.** Every row of "Premises the fix depends on" whose verdict is `unsettled` enters §5 as an **ambiguous finding** and is named in §7 whether or not that gate opened — in a bug it is usually the claim that the root cause was the whole cause, which is exactly what the regression test cannot prove.
25
27
  - Require `fix` in `phases_done`; for `size` ≥ S also require `validate`.
@@ -23,6 +23,8 @@ Close the bug flow: commit, push, MR/PR. Same mechanics as `/flow:feat:ship`, wi
23
23
 
24
24
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: this command runs with the model it was launched with; the wait it delegates takes `models.supervisors`.**
25
25
 
26
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
27
+
26
28
  - Read `meta.json` and `00-summary.md`; open in full only `04-fix.md` (the Brief), `06-review.md` (the verdict), `05-validation.md`, the §"Root cause identified" of `03-investigation.md`, and `99-postmortem.md` if it exists. (flow-core §5)
27
29
  - Require `review` in `phases_done`; also `validate` if `size` ≥ S, and `postmortem` if `size` is M or L (the same sizes `/flow:bug:review §8` routes to postmortem — one rule). Missing → refuse and redirect to the missing step.
28
30
  - **The review has to be about the tree you are about to push — `/flow:feat:ship` §1, in full and unchanged**, including its four newer cases: `reviewed_sha` is the revision the reviewers *read* (`/flow:bug:review` §1.5 froze it), so `fixed_sha` set alongside an equal sha is a mismatch and not a match; a dirty tree at this end is named and asked about rather than passed over; and a `reviewed_sha` that no longer resolves is reported, then treated as absent. Compare `meta.json.reviewed_sha` and `validated_sha` against `git rev-parse HEAD`:
@@ -23,6 +23,8 @@ Start a bug. `{{args}}` is **optional**:
23
23
 
24
24
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: this command runs with the model it was launched with (no `models` key).**
25
25
 
26
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
27
+
26
28
  - Verify you are in the correct repo.
27
29
  - **Determine the mode** from `{{args}}`: non-empty → *ticket mode* (identifier = `{{args}}`); empty → *ticket-less mode* (identifier = the slug resolved in §1.5).
28
30
  - Once the identifier is known, check whether the work already exists: ticket mode → glob `.claude/work/<TICKET>/` and `.claude/work/<TICKET>-*/` for a `meta.json` whose `ticket` equals `<TICKET>`; ticket-less → `.claude/work/<slug>/meta.json`, right after §1.5.2 decides the slug. If one exists, suggest `/flow:work:resume`.
@@ -20,6 +20,8 @@ Validate that the fix works and that the bug does not return.
20
20
 
21
21
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`; the wait it delegates takes `models.supervisors`.**
22
22
 
23
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
24
+
23
25
  - Read `meta.json` and `00-summary.md`; open in full only `03-investigation.md` (§3 areas with similar risk, and the minimal reproduction) — the testing agent reads it and `04-fix.md` itself. (flow-core §5)
24
26
  - Require `fix` in `phases_done`.
25
27
  - `size` `XS` → suggest skipping to `/flow:bug:review` unless the user insists.
@@ -16,6 +16,8 @@ prompt = """
16
16
 
17
17
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`.**
18
18
 
19
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
20
+
19
21
  Implementation phase. Code is written here.
20
22
 
21
23
  ## 1. Pre-flight
@@ -55,7 +57,9 @@ Rules for writing it:
55
57
 
56
58
  **Ask the user with `AskUserQuestion`** whether the brief reflects what they expect — **hard gate, in every autonomy mode, `auto` included**: it is the last point where scope can be corrected before there is a diff to argue with.
57
59
 
58
- In `auto` this is one of the only two stops per MR/PR (`guided` adds the plan of §2.0ter on a big one), so it carries the **full stop header** (flow-core §3) — ticket, size, phase, `MR #<n> of <N>`, plan state — followed by the brief. Options:
60
+ In `auto` this is one of the only two stops per MR/PR (`guided` adds the plan of §2.0ter on a big one), so it carries the **full stop header** (flow-core §3) — ticket, size, phase, `MR #<n> of <N>`, plan state — followed by the brief.
61
+
62
+ **The brief travels inside the question** (flow-core §3): the user reads it in the prompt they are answering, never by opening `05-implementation.md`. Write the file, run whatever you need, and *then* open the gate — **nothing runs between the brief and the question**, because a tool call after it is what lets a terminal fold the brief into one collapsed line, and the gate is answered blind. Options:
59
63
  - **Yes, proceed** → start building.
60
64
  - **No, something is extra or missing** → the user clarifies, adjust the brief, ask again. **Do not touch code** until the brief is confirmed.
61
65
 
@@ -16,6 +16,8 @@ prompt = """
16
16
 
17
17
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`; its parallel rounds take `models.workers`.**
18
18
 
19
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
20
+
19
21
  Technical design phase. **Still no production code is written.** Opens the option space first (M/L), then designs the approach that was chosen. Output: a plan the next step executes.
20
22
 
21
23
  ## 1. Pre-flight
@@ -16,6 +16,8 @@ prompt = """
16
16
 
17
17
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`.**
18
18
 
19
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
20
+
19
21
  Delivery planning phase. **No code is written.** Splits the feature into MRs/PRs that can each live on the main branch even if the subsequent ones never land.
20
22
 
21
23
  ## 1. Pre-flight
@@ -16,6 +16,8 @@ prompt = """
16
16
 
17
17
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`; its parallel rounds take `models.workers`.**
18
18
 
19
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
20
+
19
21
  Mandatory review phase. **`/flow:feat:ship` cannot run without passing through here and resolving blockers.**
20
22
 
21
23
  ## 1. Pre-flight
@@ -16,6 +16,8 @@ prompt = """
16
16
 
17
17
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: this command runs with the model it was launched with; the wait it delegates takes `models.supervisors`.**
18
18
 
19
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
20
+
19
21
  Closes the feature: commit, push, MR/PR (assigned per `git.assignee`, squash per `git.squash`, sections per `git.request_sections`) and an optional offer to consolidate knowledge.
20
22
 
21
23
  ## 1. Pre-flight
@@ -149,7 +151,7 @@ Description:
149
151
 
150
152
  If there is pre-deploy SQL, ask the user to **explicitly confirm that the block is complete and correct** — it will be executed in production.
151
153
 
152
- Then ask with `AskUserQuestion` (header: "Create <MR or PR>"):
154
+ The preview is the last thing before the question — **no tool call between them** (flow-core §3), or the block the user is meant to approve is the one their terminal folds away. Then ask with `AskUserQuestion` (header: "Create <MR or PR>"):
153
155
 
154
156
  - **Create with this content** → invoke §4.
155
157
  - **Edit before creating** → user says what to change (title, a section, both); adjust and return to §3 with the new preview.
@@ -16,6 +16,8 @@ prompt = """
16
16
 
17
17
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: this command runs with the model it was launched with (no `models` key).**
18
18
 
19
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
20
+
19
21
  `{{args}}` is **optional**:
20
22
 
21
23
  - **Given** — an identifier in `tracker.prefix` format from `FLOW.md` → *ticket mode* (§2 reads it).
@@ -16,6 +16,8 @@ prompt = """
16
16
 
17
17
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`; the wait it delegates takes `models.supervisors`.**
18
18
 
19
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
20
+
19
21
  Verify the feature is complete: test coverage, edge cases, performance, regressions.
20
22
 
21
23
  ## 1. Pre-flight
@@ -16,6 +16,8 @@ prompt = """
16
16
 
17
17
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, autonomy, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session.
18
18
 
19
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
20
+
19
21
  Clean closure for works that will not reach the base branch: a feature discarded after `design`, a bug that is not one (expected behavior, external problem, user misconfiguration), a work absorbed by another ticket.
20
22
 
21
23
  ## 1. Pre-flight
@@ -16,6 +16,8 @@ prompt = """
16
16
 
17
17
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, autonomy, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session.
18
18
 
19
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
20
+
19
21
  The forge (`git.cli`) is **best-effort**: CLI missing, unauthenticated, or over ~5s → fall back to the local evidence in §4 and say so in one line; never block.
20
22
 
21
23
  The periodic sweep of the three residues a finished work leaves — its **worktree**, its **local branch**, its **`.claude/work/` folder** — which `/flow:feat:ship` and `/flow:work:abandon` only offer to remove at their end (and a train's intermediate MR/PR never sets `phase = "done"`). Inventory all three, judge each by **the forge's verdict**, remove only what is provably finished, and only after showing the whole list. The only flow command whose purpose is deletion; §0 governs.
@@ -16,6 +16,8 @@ prompt = """
16
16
 
17
17
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, autonomy, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session.
18
18
 
19
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
20
+
19
21
  External sources (tracker, forge, `knowledge`) are all **best-effort**: a CLI missing/unauthenticated, an MCP failing, or a call over ~3s → continue without that source and note it in a single line; **never block**.
20
22
 
21
23
  Your **work assistant**: a Scrum-style daily standup — *"what was I working on?"*, *"what's left?"*, *"what should I pick up today?"* — from three sources: **local** work state, the **forge** (open MRs/PRs, reviews, CI), the **tracker** (assigned/re-prioritized tickets). Unlike `/flow:work:status` (technical table) and `/flow:work:resume` (one branch), a cross-cutting narrative briefing.
@@ -30,6 +30,8 @@ Extract from `git`: `host`, `cli` (empty → the default for that host), `defaul
30
30
 
31
31
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`; the wait it delegates takes `models.supervisors`.**
32
32
 
33
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
34
+
33
35
  **Autonomy.** Modes as in flow-core §2; `guided`/`auto` record their choices in `09-ci.md` (e.g. a pure formatter auto-fix). **Hard gates — ALWAYS stop and ask, in every mode, no exceptions:**
34
36
  1. **Any push** (§6).
35
37
  2. Creating/switching a branch, or DB schema changes/migrations, if a fix requires them.
@@ -16,6 +16,8 @@ prompt = """
16
16
 
17
17
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: the subagents it launches take `models.agents`; its parallel rounds take `models.workers`.**
18
18
 
19
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
20
+
19
21
  **A query is approved by its plan, not by prose.** Fact sheet → challenger attacks → each point settled with a **plan or a number**. **Cross-cutting** (feat or bug), **repeatable**, does **not** advance `meta.json.phase`; runs with or without a work folder.
20
22
 
21
23
  Invoked by `/flow:feat:review` and `/flow:bug:review` (duel over the diff), `/flow:work:respond` (a reviewer objected to a query), `/flow:feat:design` (access paths), `/flow:feat:build`, `/flow:feat:validate`. Invoke directly for any doubt outside them (chat question, comment on an open MR/PR, a year-old query).
@@ -26,6 +26,8 @@ Extract from `git`: `host`, `cli` (empty → the default for that host), `assign
26
26
 
27
27
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, models, autonomy modes and hard gates, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session. **Models: this command runs with the model it was launched with (no `models` key).**
28
28
 
29
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
30
+
29
31
  **Autonomy.** Modes as in flow-core §2 (`autonomy.mode`: `manual` | `guided` | `auto`; empty = `manual`); `guided`/`auto` record their choices in `08-feedback.md`. **Hard gates — ALWAYS stop and ask, in every mode, no exceptions:**
30
32
  1. **Posting any comment/reply** to the MR/PR (§7).
31
33
  2. **Any push** (§6.2).
@@ -16,6 +16,8 @@ prompt = """
16
16
 
17
17
  Read `~/.claude/flow/CORE.gemini.md` first (shared rules: `FLOW.md` step 0, autonomy, how a stop reads, the live panel, `00-summary.md`) — skip if you already read it in this session.
18
18
 
19
+ **Panel words are closed** — `mark`: `done` · `current` · `pending` · `wait` · `block` · `info`; `style`: `normal` · `dim` · `title` · `accent` · `ok` · `warn` · `error`. Anything else is dropped by the reader in silence: the panel still paints, and nobody is told.
20
+
19
21
  Use when returning to a work after a break (next morning, another session).
20
22
 
21
23
  ## 1. Detection