flow-workflows 0.71.0 → 0.72.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.
- package/adapters/codex/CORE.md +12 -3
- package/adapters/codex/skills/flow-doctor/SKILL.md +1 -1
- package/adapters/codex/skills/flow-work-README/SKILL.md +1 -1
- package/adapters/gemini/CORE.md +12 -3
- package/adapters/gemini/commands/flow/doctor.toml +1 -1
- package/adapters/gemini/commands/flow/work/README.toml +1 -1
- package/adapters/hermes/CORE.md +12 -3
- package/adapters/hermes/skills/flow-doctor/SKILL.md +1 -1
- package/adapters/hermes/skills/flow-work-README/SKILL.md +1 -1
- package/adapters/opencode/CORE.md +12 -3
- package/adapters/opencode/commands/flow-doctor.md +1 -1
- package/adapters/opencode/commands/flow-work-README.md +1 -1
- package/package.json +1 -1
- package/plugins/flow/.claude-plugin/plugin.json +1 -1
- package/plugins/flow/CHANGELOG.md +15 -0
package/adapters/codex/CORE.md
CHANGED
|
@@ -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.
|
|
20
|
+
**This file belongs to flow `0.72.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
|
|
@@ -269,8 +269,17 @@ right now. **Any progress line you were about to type into the chat is a panel u
|
|
|
269
269
|
**Two transports, one document.** When the tools `panel_set` / `panel_patch` / `panel_get` are
|
|
270
270
|
available, this console is a pane of agent-terminal: publish the panel through them (§4.2) and
|
|
271
271
|
**stop writing `.claude/work/<work>/panel.json`** — while a pane is claimed, its file is not read at
|
|
272
|
-
all. When
|
|
273
|
-
|
|
272
|
+
all. When they are not there, write the file exactly as before (§4.3). No work folder (lightweight
|
|
273
|
+
`respond`/`green`) → nothing to publish, either way.
|
|
274
|
+
|
|
275
|
+
**Look for them before you conclude they are missing**, once per session, in pre-flight. A harness
|
|
276
|
+
namespaces an MCP server's tools, so what you are looking for is a tool whose name *ends* in
|
|
277
|
+
`panel_set` — `mcp__panel__panel_set` on Claude Code, another prefix elsewhere — and the name is
|
|
278
|
+
whatever it is called there, not `panel_set`. It may also be **deferred**: listed by name with no
|
|
279
|
+
schema, uncallable until you load it, and indistinguishable from absent unless you read that list.
|
|
280
|
+
A deferred tool is a tool that is there; load the three schemas and publish. The file is the answer
|
|
281
|
+
only after that search comes back empty — and this is the one paragraph that decides it, because
|
|
282
|
+
prose describing a file is otherwise obeyed to the letter.
|
|
274
283
|
|
|
275
284
|
### 4.1 The document — the same whichever transport carries it
|
|
276
285
|
|
|
@@ -199,7 +199,7 @@ refuse) · **degraded** (it runs, quietly worse than the config promises), plus
|
|
|
199
199
|
`.agents/agents`, or a plugin. Report each missing name and that it falls back to `general-purpose`
|
|
200
200
|
(a skill: skipped) — a panel missing agents reviews less and still reports a clean pass.
|
|
201
201
|
- Harness cannot set a model per subagent → note that every `models.*` value degrades to inheritance.
|
|
202
|
-
- **Where the live panel will go this session** (flow-core §4): `panel_set` / `panel_patch`
|
|
202
|
+
- **Where the live panel will go this session** (flow-core §4): a tool whose name ends in `panel_set` / `panel_patch` — namespaced by the harness (`mcp__panel__panel_set` on Claude Code) and possibly **deferred**, which reads as absent until the list of deferred tools is checked → the terminal draws the panel and no `panel.json` is written; genuinely absent → the panel is that file, as before. Neither is a fault — one line naming the tools as they are actually called here, or saying the file is the transport.
|
|
203
203
|
|
|
204
204
|
### 2.3 Knowledge sources
|
|
205
205
|
|
|
@@ -159,7 +159,7 @@ This system **orchestrates** the project's existing sub-agents and skills (it do
|
|
|
159
159
|
|
|
160
160
|
## The panel document
|
|
161
161
|
|
|
162
|
-
`meta.json` is the *state machine*; the panel is the *view* a reader outside the chat watches. Optional: a work that never publishes it still resolves from `meta.json` alone. Writer rules (order, when, ceiling) and the two transports — the terminal's `panel_set` / `panel_patch` / `panel_get` tools, or `.claude/work/<work>/panel.json` — are flow-core §4. The document below is the same either way.
|
|
162
|
+
`meta.json` is the *state machine*; the panel is the *view* a reader outside the chat watches. Optional: a work that never publishes it still resolves from `meta.json` alone. Writer rules (order, when, ceiling) and the two transports — the terminal's `panel_set` / `panel_patch` / `panel_get` tools (namespaced by the harness, and possibly deferred: flow-core §4 says how to find them), or `.claude/work/<work>/panel.json` — are flow-core §4. The document below is the same either way.
|
|
163
163
|
|
|
164
164
|
```json
|
|
165
165
|
{
|
package/adapters/gemini/CORE.md
CHANGED
|
@@ -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.
|
|
19
|
+
**This file belongs to flow `0.72.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
|
|
@@ -268,8 +268,17 @@ right now. **Any progress line you were about to type into the chat is a panel u
|
|
|
268
268
|
**Two transports, one document.** When the tools `panel_set` / `panel_patch` / `panel_get` are
|
|
269
269
|
available, this console is a pane of agent-terminal: publish the panel through them (§4.2) and
|
|
270
270
|
**stop writing `.claude/work/<work>/panel.json`** — while a pane is claimed, its file is not read at
|
|
271
|
-
all. When
|
|
272
|
-
|
|
271
|
+
all. When they are not there, write the file exactly as before (§4.3). No work folder (lightweight
|
|
272
|
+
`respond`/`green`) → nothing to publish, either way.
|
|
273
|
+
|
|
274
|
+
**Look for them before you conclude they are missing**, once per session, in pre-flight. A harness
|
|
275
|
+
namespaces an MCP server's tools, so what you are looking for is a tool whose name *ends* in
|
|
276
|
+
`panel_set` — `mcp__panel__panel_set` on Claude Code, another prefix elsewhere — and the name is
|
|
277
|
+
whatever it is called there, not `panel_set`. It may also be **deferred**: listed by name with no
|
|
278
|
+
schema, uncallable until you load it, and indistinguishable from absent unless you read that list.
|
|
279
|
+
A deferred tool is a tool that is there; load the three schemas and publish. The file is the answer
|
|
280
|
+
only after that search comes back empty — and this is the one paragraph that decides it, because
|
|
281
|
+
prose describing a file is otherwise obeyed to the letter.
|
|
273
282
|
|
|
274
283
|
### 4.1 The document — the same whichever transport carries it
|
|
275
284
|
|
|
@@ -195,7 +195,7 @@ refuse) · **degraded** (it runs, quietly worse than the config promises), plus
|
|
|
195
195
|
`.agents/agents`, or a plugin. Report each missing name and that it falls back to `general-purpose`
|
|
196
196
|
(a skill: skipped) — a panel missing agents reviews less and still reports a clean pass.
|
|
197
197
|
- Harness cannot set a model per subagent → note that every `models.*` value degrades to inheritance.
|
|
198
|
-
- **Where the live panel will go this session** (flow-core §4): `panel_set` / `panel_patch`
|
|
198
|
+
- **Where the live panel will go this session** (flow-core §4): a tool whose name ends in `panel_set` / `panel_patch` — namespaced by the harness (`mcp__panel__panel_set` on Claude Code) and possibly **deferred**, which reads as absent until the list of deferred tools is checked → the terminal draws the panel and no `panel.json` is written; genuinely absent → the panel is that file, as before. Neither is a fault — one line naming the tools as they are actually called here, or saying the file is the transport.
|
|
199
199
|
|
|
200
200
|
### 2.3 Knowledge sources
|
|
201
201
|
|
|
@@ -155,7 +155,7 @@ This system **orchestrates** the project's existing sub-agents and skills (it do
|
|
|
155
155
|
|
|
156
156
|
## The panel document
|
|
157
157
|
|
|
158
|
-
`meta.json` is the *state machine*; the panel is the *view* a reader outside the chat watches. Optional: a work that never publishes it still resolves from `meta.json` alone. Writer rules (order, when, ceiling) and the two transports — the terminal's `panel_set` / `panel_patch` / `panel_get` tools, or `.claude/work/<work>/panel.json` — are flow-core §4. The document below is the same either way.
|
|
158
|
+
`meta.json` is the *state machine*; the panel is the *view* a reader outside the chat watches. Optional: a work that never publishes it still resolves from `meta.json` alone. Writer rules (order, when, ceiling) and the two transports — the terminal's `panel_set` / `panel_patch` / `panel_get` tools (namespaced by the harness, and possibly deferred: flow-core §4 says how to find them), or `.claude/work/<work>/panel.json` — are flow-core §4. The document below is the same either way.
|
|
159
159
|
|
|
160
160
|
```json
|
|
161
161
|
{
|
package/adapters/hermes/CORE.md
CHANGED
|
@@ -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.
|
|
20
|
+
**This file belongs to flow `0.72.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
|
|
@@ -269,8 +269,17 @@ right now. **Any progress line you were about to type into the chat is a panel u
|
|
|
269
269
|
**Two transports, one document.** When the tools `panel_set` / `panel_patch` / `panel_get` are
|
|
270
270
|
available, this console is a pane of agent-terminal: publish the panel through them (§4.2) and
|
|
271
271
|
**stop writing `.claude/work/<work>/panel.json`** — while a pane is claimed, its file is not read at
|
|
272
|
-
all. When
|
|
273
|
-
|
|
272
|
+
all. When they are not there, write the file exactly as before (§4.3). No work folder (lightweight
|
|
273
|
+
`respond`/`green`) → nothing to publish, either way.
|
|
274
|
+
|
|
275
|
+
**Look for them before you conclude they are missing**, once per session, in pre-flight. A harness
|
|
276
|
+
namespaces an MCP server's tools, so what you are looking for is a tool whose name *ends* in
|
|
277
|
+
`panel_set` — `mcp__panel__panel_set` on Claude Code, another prefix elsewhere — and the name is
|
|
278
|
+
whatever it is called there, not `panel_set`. It may also be **deferred**: listed by name with no
|
|
279
|
+
schema, uncallable until you load it, and indistinguishable from absent unless you read that list.
|
|
280
|
+
A deferred tool is a tool that is there; load the three schemas and publish. The file is the answer
|
|
281
|
+
only after that search comes back empty — and this is the one paragraph that decides it, because
|
|
282
|
+
prose describing a file is otherwise obeyed to the letter.
|
|
274
283
|
|
|
275
284
|
### 4.1 The document — the same whichever transport carries it
|
|
276
285
|
|
|
@@ -199,7 +199,7 @@ refuse) · **degraded** (it runs, quietly worse than the config promises), plus
|
|
|
199
199
|
`.agents/agents`, or a plugin. Report each missing name and that it falls back to `general-purpose`
|
|
200
200
|
(a skill: skipped) — a panel missing agents reviews less and still reports a clean pass.
|
|
201
201
|
- Harness cannot set a model per subagent → note that every `models.*` value degrades to inheritance.
|
|
202
|
-
- **Where the live panel will go this session** (flow-core §4): `panel_set` / `panel_patch`
|
|
202
|
+
- **Where the live panel will go this session** (flow-core §4): a tool whose name ends in `panel_set` / `panel_patch` — namespaced by the harness (`mcp__panel__panel_set` on Claude Code) and possibly **deferred**, which reads as absent until the list of deferred tools is checked → the terminal draws the panel and no `panel.json` is written; genuinely absent → the panel is that file, as before. Neither is a fault — one line naming the tools as they are actually called here, or saying the file is the transport.
|
|
203
203
|
|
|
204
204
|
### 2.3 Knowledge sources
|
|
205
205
|
|
|
@@ -159,7 +159,7 @@ This system **orchestrates** the project's existing sub-agents and skills (it do
|
|
|
159
159
|
|
|
160
160
|
## The panel document
|
|
161
161
|
|
|
162
|
-
`meta.json` is the *state machine*; the panel is the *view* a reader outside the chat watches. Optional: a work that never publishes it still resolves from `meta.json` alone. Writer rules (order, when, ceiling) and the two transports — the terminal's `panel_set` / `panel_patch` / `panel_get` tools, or `.claude/work/<work>/panel.json` — are flow-core §4. The document below is the same either way.
|
|
162
|
+
`meta.json` is the *state machine*; the panel is the *view* a reader outside the chat watches. Optional: a work that never publishes it still resolves from `meta.json` alone. Writer rules (order, when, ceiling) and the two transports — the terminal's `panel_set` / `panel_patch` / `panel_get` tools (namespaced by the harness, and possibly deferred: flow-core §4 says how to find them), or `.claude/work/<work>/panel.json` — are flow-core §4. The document below is the same either way.
|
|
163
163
|
|
|
164
164
|
```json
|
|
165
165
|
{
|
|
@@ -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.
|
|
19
|
+
**This file belongs to flow `0.72.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
|
|
@@ -268,8 +268,17 @@ right now. **Any progress line you were about to type into the chat is a panel u
|
|
|
268
268
|
**Two transports, one document.** When the tools `panel_set` / `panel_patch` / `panel_get` are
|
|
269
269
|
available, this console is a pane of agent-terminal: publish the panel through them (§4.2) and
|
|
270
270
|
**stop writing `.claude/work/<work>/panel.json`** — while a pane is claimed, its file is not read at
|
|
271
|
-
all. When
|
|
272
|
-
|
|
271
|
+
all. When they are not there, write the file exactly as before (§4.3). No work folder (lightweight
|
|
272
|
+
`respond`/`green`) → nothing to publish, either way.
|
|
273
|
+
|
|
274
|
+
**Look for them before you conclude they are missing**, once per session, in pre-flight. A harness
|
|
275
|
+
namespaces an MCP server's tools, so what you are looking for is a tool whose name *ends* in
|
|
276
|
+
`panel_set` — `mcp__panel__panel_set` on Claude Code, another prefix elsewhere — and the name is
|
|
277
|
+
whatever it is called there, not `panel_set`. It may also be **deferred**: listed by name with no
|
|
278
|
+
schema, uncallable until you load it, and indistinguishable from absent unless you read that list.
|
|
279
|
+
A deferred tool is a tool that is there; load the three schemas and publish. The file is the answer
|
|
280
|
+
only after that search comes back empty — and this is the one paragraph that decides it, because
|
|
281
|
+
prose describing a file is otherwise obeyed to the letter.
|
|
273
282
|
|
|
274
283
|
### 4.1 The document — the same whichever transport carries it
|
|
275
284
|
|
|
@@ -197,7 +197,7 @@ refuse) · **degraded** (it runs, quietly worse than the config promises), plus
|
|
|
197
197
|
`.agents/agents`, or a plugin. Report each missing name and that it falls back to `general-purpose`
|
|
198
198
|
(a skill: skipped) — a panel missing agents reviews less and still reports a clean pass.
|
|
199
199
|
- Harness cannot set a model per subagent → note that every `models.*` value degrades to inheritance.
|
|
200
|
-
- **Where the live panel will go this session** (flow-core §4): `panel_set` / `panel_patch`
|
|
200
|
+
- **Where the live panel will go this session** (flow-core §4): a tool whose name ends in `panel_set` / `panel_patch` — namespaced by the harness (`mcp__panel__panel_set` on Claude Code) and possibly **deferred**, which reads as absent until the list of deferred tools is checked → the terminal draws the panel and no `panel.json` is written; genuinely absent → the panel is that file, as before. Neither is a fault — one line naming the tools as they are actually called here, or saying the file is the transport.
|
|
201
201
|
|
|
202
202
|
### 2.3 Knowledge sources
|
|
203
203
|
|
|
@@ -157,7 +157,7 @@ This system **orchestrates** the project's existing sub-agents and skills (it do
|
|
|
157
157
|
|
|
158
158
|
## The panel document
|
|
159
159
|
|
|
160
|
-
`meta.json` is the *state machine*; the panel is the *view* a reader outside the chat watches. Optional: a work that never publishes it still resolves from `meta.json` alone. Writer rules (order, when, ceiling) and the two transports — the terminal's `panel_set` / `panel_patch` / `panel_get` tools, or `.claude/work/<work>/panel.json` — are flow-core §4. The document below is the same either way.
|
|
160
|
+
`meta.json` is the *state machine*; the panel is the *view* a reader outside the chat watches. Optional: a work that never publishes it still resolves from `meta.json` alone. Writer rules (order, when, ceiling) and the two transports — the terminal's `panel_set` / `panel_patch` / `panel_get` tools (namespaced by the harness, and possibly deferred: flow-core §4 says how to find them), or `.claude/work/<work>/panel.json` — are flow-core §4. The document below is the same either way.
|
|
161
161
|
|
|
162
162
|
```json
|
|
163
163
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flow-workflows",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.72.0",
|
|
4
4
|
"description": "Guided feat/bug workflows (start→ship), post-deploy monitoring and multi-agent code review, stack-agnostic. Each repo uses a shared FLOW.md plus optional harness overlay.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "flow",
|
|
4
4
|
"displayName": "Flow — guided dev workflows",
|
|
5
5
|
"description": "Guided feat/bug workflows (start→ship), post-deploy monitoring and multi-agent code review, stack-agnostic. Each repo uses a shared FLOW.md plus optional harness overlay.",
|
|
6
|
-
"version": "0.
|
|
6
|
+
"version": "0.72.0",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "Alberto Vioque",
|
|
9
9
|
"email": "mashware@gmail.com"
|
|
@@ -5,6 +5,21 @@ plugin and is what `/flow:news` reads to show you what changed since your previo
|
|
|
5
5
|
|
|
6
6
|
The canonical, richest notes live in the [GitHub Releases](https://github.com/mashware/flow-workflows/releases).
|
|
7
7
|
|
|
8
|
+
## v0.72.0 — The tools were there, under a name nobody looked for · 2026-09-22
|
|
9
|
+
|
|
10
|
+
**In short**
|
|
11
|
+
- **A session with the panel tools connected kept writing the file.** The rule named them `panel_set` / `panel_patch`, and a harness namespaces an MCP server's tools — so the agent looked for a name that exists nowhere and concluded, reasonably, that there was no panel.
|
|
12
|
+
- **Now the search is the rule**: once per session, in pre-flight, look for a tool whose name *ends* in `panel_set` — `mcp__panel__panel_set` on Claude Code, another prefix elsewhere.
|
|
13
|
+
- **A deferred tool is a tool that is there.** Listed by name with no schema, it reads as absent to anything that does not check that list; flow loads the three schemas and publishes.
|
|
14
|
+
- **The file is the answer only after that search comes back empty**, and `/flow:doctor` names the tools as they are actually called here.
|
|
15
|
+
|
|
16
|
+
v0.71.0 gave the panel a second transport and described it with the names the server declares.
|
|
17
|
+
Neither the plugin nor the agent reading it ever sees those: a harness prefixes them, and it may
|
|
18
|
+
hand them over as names alone, uncallable until their schemas are loaded. Both together are
|
|
19
|
+
indistinguishable from an absent server — and the fallback, "write the file exactly as before", is
|
|
20
|
+
the most obeyed sentence in the section. So the transport chosen itself was the file, every time,
|
|
21
|
+
on the one terminal that had the panel.
|
|
22
|
+
|
|
8
23
|
## v0.71.0 — The panel was a file because nothing better was listening · 2026-09-22
|
|
9
24
|
|
|
10
25
|
**In short**
|