opencode-plugin-flow 4.1.17 → 4.2.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/CHANGELOG.md CHANGED
@@ -1,84 +1,148 @@
1
1
  # Changelog
2
2
 
3
- One short line per release. For the full rationale behind each entry, see the
4
- commit history and review evidence.
3
+ One short entry per release, written for users deciding whether to upgrade.
4
+
5
+ ## [4.2.0] - 2026-07-01
6
+
7
+ Safety and usability overhaul across the runtime, packaging, skills, and docs:
8
+
9
+ - Uninstall no longer deletes managed skill folders that contain your own
10
+ files or have a damaged version marker; `uninstall --dry-run` previews
11
+ removals.
12
+ - Crashed sessions recover: stale session locks expire automatically and the
13
+ lock timeout error names the manual fix; corrupt or older-version
14
+ `session.json` files are quarantined into `.flow/history/` with recovery
15
+ guidance instead of failing every tool with a raw validation dump.
16
+ - Fixed a batch of small correctness bugs: `$`-sequences in goals no longer
17
+ get mangled, attachments to Flow commands are preserved, failed plan saves
18
+ no longer discard the previous session, replacing a draft plan archives it,
19
+ and `needs_input` no longer reports a stale prior error.
20
+ - OpenCode compatibility: the peer dependency is now a range
21
+ (`>=1.17.3 <2`) so newer OpenCode versions install cleanly; a live smoke
22
+ test boots a real OpenCode server against the packed tarball in CI; CI runs
23
+ on macOS and Node 20/22/24; published bundles are no longer minified and
24
+ ship sourcemaps.
25
+ - Skills: repo-specific content removed from distributed skills, duplicated
26
+ orchestration rules consolidated (smaller command prompts), the read-only
27
+ reviewer no longer receives instructions it cannot execute, and managers
28
+ are told to paste handoff templates into worker prompts.
29
+ - New opt-in `FLOW_EXPERIMENTAL_COMPACTION=1` injects the active session
30
+ summary into OpenCode session compaction; the default stays hook-free.
31
+ - README rewritten around a quick start; install/repair depth moved to
32
+ `docs/troubleshooting.md`.
33
+
34
+ ## [4.1.18] - 2026-07-01
35
+
36
+ Review-skill guidance: keep the audit rubric bundled with `/flow-review`,
37
+ restrict commit preflight to the staged boundary, and make long reference
38
+ docs easier to navigate.
5
39
 
6
40
  ## [4.1.17] - 2026-06-28
7
41
 
8
- Teach Flow's parallel pass lore to verify worker handoffs, prune retired managed skill files, and keep manager-owned synthesis explicit.
42
+ Parallel-pass guidance: verify worker handoffs before use, prune retired
43
+ managed skill files during sync, and state explicitly that only the manager
44
+ synthesizes worker output.
9
45
 
10
46
  ## [4.1.16] - 2026-06-22
11
47
 
12
- Quote Flow skill frontmatter lore so GitHub previews parse cleanly and CI guards future YAML slips.
48
+ Quote skill frontmatter values so GitHub renders SKILL.md previews correctly;
49
+ CI now guards against future YAML frontmatter regressions.
13
50
 
14
51
  ## [4.1.15] - 2026-06-22
15
52
 
16
- Refine Flow's orchestration lore into a quick path, bundled parallel pass example, tested doc links, and trusted-publishing release guidance.
53
+ Add a condensed "quick path" to the orchestration guidance, bundle a worked
54
+ parallel-pass example, test that skill doc links resolve, and document the
55
+ trusted-publishing release process.
17
56
 
18
57
  ## [4.1.14] - 2026-06-22
19
58
 
20
- Publish Flow through npm trusted publishing so release CI no longer depends on expiring npm tokens.
59
+ Publish through npm trusted publishing (GitHub Actions OIDC) so releases no
60
+ longer depend on expiring npm tokens.
21
61
 
22
62
  ## [4.1.13] - 2026-06-21
23
63
 
24
- Teach Flow's parallel orchestration lore to walk a full pass while pinning hidden worker permissions to tested docs.
64
+ Walk a full parallel pass in the orchestration guidance and pin hidden worker
65
+ permissions to a tested documentation table.
25
66
 
26
67
  ## [4.1.12] - 2026-06-18
27
68
 
28
- Harden Flow's hidden worker lore, scriptable doctor checks, typed package smoke, and session edge contracts without widening the v4 runtime surface.
69
+ Harden hidden worker prompts, add scriptable `doctor --check`/`--strict`
70
+ modes, type the package smoke test, and tighten session edge-case contracts
71
+ without changing the v4 runtime surface.
29
72
 
30
73
  ## [4.1.11] - 2026-06-17
31
74
 
32
- Give bundled Flow command lore a real title seed so OpenCode can name new chats while keeping the heavy instructions synthetic.
75
+ Give bundled Flow commands a real title seed so OpenCode can name new chats,
76
+ while keeping the heavy command instructions out of the visible prompt.
33
77
 
34
78
  ## [4.1.10] - 2026-06-17
35
79
 
36
- Move Flow session lore onto stable OpenCode instructions so experimental chat hooks no longer shape the default runtime context.
80
+ Move ambient Flow session context onto stable OpenCode `config.instructions`;
81
+ experimental chat hooks no longer shape default runtime context.
37
82
 
38
83
  ## [4.1.9] - 2026-06-17
39
84
 
40
- Make public Flow command lore self-contained so stale native skill discovery cannot block the required loop.
85
+ Make public Flow commands fully self-contained so stale native skill
86
+ discovery cannot block the required loop.
41
87
 
42
88
  ## [4.1.8] - 2026-06-17
43
89
 
44
- Make Flow command preflight overrule stale OpenCode command lore, with review instructions bundled where skill discovery can lag.
90
+ Command preflight now replaces stale resolved Flow command bodies with
91
+ current bundled instructions; review instructions are bundled where skill
92
+ discovery can lag.
45
93
 
46
94
  ## [4.1.7] - 2026-06-17
47
95
 
48
- Teach Flow's managed skill lore to test, commit, and trigger more precisely while keeping release state and `.flow/**` artifacts guarded by explicit maintainer intent.
96
+ Sharpen the flow-test and flow-commit skills' triggers, and require explicit
97
+ maintainer intent before any `.flow/**` artifacts are committed.
49
98
 
50
99
  ## [4.1.6] - 2026-06-16
51
100
 
52
- Make Flow's pinned installer path force-aware, so OpenCode replaces older global plugin entries instead of leaving stale versions behind.
101
+ Recommend `--force` in the pinned installer command so OpenCode replaces
102
+ older global plugin entries instead of leaving stale versions behind.
53
103
 
54
104
  ## [4.1.5] - 2026-06-16
55
105
 
56
- Make Flow installation follow OpenCode's native plugin installer, with pre-start skill sync and older-version fallback.
106
+ Adopt OpenCode's native plugin installer as the primary install path, with a
107
+ pre-start skill sync and a manual-config fallback for older versions.
57
108
 
58
109
  ## [4.1.4] - 2026-06-16
59
110
 
60
- Make Flow skill loading restart-aware across every command, add manual sync repair, and treat missing optional helpers as explicit coverage gaps.
111
+ Make skill loading restart-aware across every command, add manual sync
112
+ repair, and treat missing optional helper skills as explicit coverage gaps.
61
113
 
62
114
  ## [4.1.3] - 2026-06-16
63
115
 
64
- Sharpen Flow's skill/runtime contract with aligned final-review language, broader gate coverage, CLI smoke tests, and skill-aware preflight routing.
116
+ Align final-review language between skills and runtime, broaden gate test
117
+ coverage, add CLI smoke tests, and route command preflight through skill
118
+ awareness.
65
119
 
66
120
  ## [4.1.2] - 2026-06-15
67
121
 
68
- Make Flow's skill registry lag visible with restart-aware setup warnings, a doctor command, and a bundled review fallback for stale OpenCode startups.
122
+ Surface skill-registry lag with restart-aware setup warnings, add the
123
+ `doctor` command, and bundle a review fallback for stale OpenCode startups.
69
124
 
70
125
  ## [4.1.1] - 2026-06-15
71
126
 
72
- Keep Flow's local session ledger out of Git by default with a generated `.flow/.gitignore`, while preserving opt-in versioning for teams that intentionally archive session evidence.
127
+ Keep local session state out of Git by default with a generated
128
+ `.flow/.gitignore`, while preserving opt-in versioning for teams that
129
+ intentionally archive session evidence.
73
130
 
74
131
  ## [4.1.0] - 2026-06-15
75
132
 
76
- Add Flow-native orchestration handoffs, verification gates, and a hidden verifier worker, inspired by Ray Fernando's parallel agent workflow skill work and RepoPrompt CE's context-engineering approach, while keeping the public runtime surface unchanged.
133
+ Add Flow-native orchestration handoffs, verification gates, and a hidden
134
+ verifier worker, inspired by Ray Fernando's parallel agent workflow skill
135
+ work and RepoPrompt CE's context-engineering approach. Public runtime surface
136
+ unchanged.
77
137
 
78
138
  ## [4.0.1] - 2026-06-15
79
139
 
80
- Teach Flow to fan out through named evidence, validation, audit, review, and candidate workers while keeping runtime state changes manager-owned.
140
+ Fan out through named evidence, validation, audit, review, and candidate
141
+ workers while keeping runtime state changes manager-owned.
81
142
 
82
143
  ## [4.0.0] - 2026-06-14
83
144
 
84
- Breaking overhaul: Flow is now a skills-first plugin with a minimal v4 runtime ledger, seven tools, one active `.flow/session.json`, archived history, embedded review evidence on completion, and no context-pack or separate review-decision framework.
145
+ Breaking overhaul: Flow is now a skills-first plugin with a minimal v4
146
+ runtime ledger, seven tools, one active `.flow/session.json`, archived
147
+ history, review evidence embedded in completion, and no context-pack or
148
+ separate review-decision framework.
package/README.md CHANGED
@@ -1,131 +1,64 @@
1
1
  # Flow Plugin for OpenCode
2
2
 
3
- `opencode-plugin-flow` is a skills-first workflow helper for OpenCode. The skills carry planning, execution, validation, cleanup, UI quality, review, safe commit preparation, and orchestration judgment. The plugin code stays deliberately small: it keeps a durable `.flow/session.json` ledger and enforces the hard gates prompts should not be trusted to remember.
3
+ `opencode-plugin-flow` gives OpenCode a durable, resumable planning-and-execution
4
+ loop for larger coding work: plan a goal as discrete features, approve the plan,
5
+ then implement one feature at a time with enforced validation and review
6
+ evidence. State lives in `.flow/session.json`, so a session survives restarts,
7
+ model switches, and context loss.
4
8
 
5
- Flow v4 is a breaking simplification. It does not preserve v3 session layouts or retired tool aliases.
9
+ The design is skills-first: the skills carry planning, execution, validation,
10
+ review, and orchestration judgment, while the plugin runtime stays deliberately
11
+ small — it keeps the session ledger and enforces the hard gates prompts should
12
+ not be trusted to remember.
6
13
 
7
- ## What Flow adds
8
-
9
- - A resumable one-feature-at-a-time loop for larger coding work.
10
- - Skill-guided planning, running, validation, review, cleanup, and UI quality.
11
- - First-class validation guidance through `flow-test`, plus user-triggered safe
12
- commit preparation through `flow-commit`.
13
- - Hidden evidence, review, validation, audit, verifier, and candidate workers for broad parallel evidence passes.
14
- - Structured handoffs with coverage, evidence, confidence, and gaps.
15
- - Runtime gates for approval immutability, validation evidence, review evidence, and safe session closure.
16
-
17
- The manager still owns every Flow state change. Workers gather evidence; they do not approve plans, complete features, or close sessions. Flow may use parallel workers to reduce uncertainty, but Flow remains a serial state machine: parallel work produces candidate evidence, and only the manager records state.
18
-
19
- ## Install or update
20
-
21
- Use OpenCode's plugin installer when your OpenCode version supports it:
14
+ ## Quick start
22
15
 
23
16
  ```bash
24
- opencode plugin opencode-plugin-flow@4.1.17 --global --force
25
- npx -y opencode-plugin-flow@4.1.17 sync
17
+ opencode plugin opencode-plugin-flow@4.2.0 --global --force
18
+ npx -y opencode-plugin-flow@4.2.0 sync
26
19
  ```
27
20
 
28
- The first command adds Flow to your global OpenCode plugin config or replaces an
29
- older pinned Flow entry. The `sync` command pre-installs Flow's managed skills so
30
- the next OpenCode startup can load the refreshed skill registry.
31
-
32
- Then start or restart OpenCode. On startup, the plugin syncs its global skills
33
- into:
21
+ Restart OpenCode, then give Flow a goal:
34
22
 
35
23
  ```text
36
- ~/.config/opencode/skills/flow/SKILL.md
37
- ~/.config/opencode/skills/flow-plan/SKILL.md
38
- ~/.config/opencode/skills/flow-run/SKILL.md
39
- ~/.config/opencode/skills/flow-test/SKILL.md
40
- ~/.config/opencode/skills/flow-review/SKILL.md
41
- ~/.config/opencode/skills/flow-deslop/SKILL.md
42
- ~/.config/opencode/skills/flow-ui-quality/SKILL.md
43
- ~/.config/opencode/skills/flow-commit/SKILL.md
24
+ /flow-auto add rate limiting to the public API
44
25
  ```
45
26
 
46
- If your OpenCode version does not have `opencode plugin`, add Flow to your
47
- OpenCode config manually instead:
48
-
49
- ```json
50
- {
51
- "plugin": ["opencode-plugin-flow@4.1.17"]
52
- }
53
- ```
54
-
55
- When updating through this fallback, replace the older
56
- `opencode-plugin-flow@...` entry with the new pinned version instead of adding a
57
- duplicate entry.
58
-
59
- Then run the same pre-start skill sync and start or restart OpenCode:
60
-
61
- ```bash
62
- npx -y opencode-plugin-flow@4.1.17 sync
63
- ```
27
+ Flow inspects the repo, saves a plan of features, asks for approval (or
28
+ proceeds if you already authorized autonomous work), then runs the loop:
29
+ implement one feature → validate it → review it → record evidence → next
30
+ feature. `/flow-status` shows where you are at any point, including after a
31
+ restart.
64
32
 
65
- Project-local skill overrides still work through OpenCode's normal lookup:
33
+ ## What a session looks like
66
34
 
67
35
  ```text
68
- .opencode/skills/flow-plan/SKILL.md
36
+ > /flow-auto add rate limiting to the public API
37
+
38
+ flow_plan_save goal: "add rate limiting to the public API"
39
+ features: rate-limit-middleware, per-route-config, docs-update
40
+ (you approve the plan)
41
+ flow_plan_approve plan locked — features are now immutable
42
+ flow_run_start feature: rate-limit-middleware
43
+ ... implementation, tests ...
44
+ flow_feature_complete
45
+ validationRun: "bun test tests/middleware.test.ts" passed
46
+ featureReview: passed
47
+ flow_run_start feature: per-route-config
48
+ ...
49
+
50
+ > /flow-status
51
+ status: running, 1/3 features completed
52
+ nextAction: complete feature "per-route-config"
69
53
  ```
70
54
 
71
- If Flow installs or updates skills during the current OpenCode startup, restart
72
- OpenCode once more before using Flow commands. OpenCode may have already scanned
73
- the skill registry for the running process, so a just-synced skill can exist on
74
- disk while still being unavailable to that process. Flow reports this through
75
- `flow_status` as `setup.skills.status: "restart_required"`.
76
-
77
- To update a pinned Flow version later, rerun the same install command with the
78
- new version.
79
-
80
- `--force` is intentional here: OpenCode keeps an existing same-package plugin
81
- entry unless replacement is requested, so the flag avoids leaving an older pinned
82
- version in your global `opencode.json`.
83
-
84
- To inspect the installed skill set:
85
-
86
- ```bash
87
- npx -y opencode-plugin-flow@4.1.17 doctor
88
- ```
89
-
90
- For automation, keep the default human-readable `doctor` output and opt into
91
- machine behavior explicitly:
92
-
93
- ```bash
94
- npx -y opencode-plugin-flow@4.1.17 doctor --json
95
- npx -y opencode-plugin-flow@4.1.17 doctor --check
96
- ```
97
-
98
- `doctor --check` and `doctor --strict` exit nonzero when the health status is
99
- `sync_required` or `action_required`; plain `doctor` remains advisory and exits
100
- successfully.
101
-
102
- If a command reports `Skill "flow-review" not found. Available skills...` or a
103
- similar Flow skill-loading error after upgrading, it is usually an older
104
- OpenCode process or stale resolved command body. Flow command preflight replaces
105
- public Flow command bodies in the running process, and `/flow-review` no longer
106
- asks OpenCode to native-load required public Flow skills. Public Flow command
107
- preflight replaces stale command bodies with bundled command instructions, so
108
- `/flow-auto`, `/flow-plan`, `/flow-run`, and `/flow-review` can continue even
109
- when native skill discovery lags. Run `/flow-status` or the doctor command
110
- above first. Missing, incomplete, or outdated managed skills can still be
111
- repaired with:
112
-
113
- ```bash
114
- npx -y opencode-plugin-flow@4.1.17 sync
115
- ```
116
-
117
- Then restart OpenCode so the refreshed registry is loaded. `sync` manages all
118
- bundled Flow skills: `flow`, `flow-plan`, `flow-run`, `flow-test`,
119
- `flow-review`, `flow-deslop`, `flow-ui-quality`, and `flow-commit`. If doctor
120
- reports a foreign or edited managed skill folder, Flow leaves it in place and
121
- asks for a user decision instead of overwriting local work.
55
+ Interrupt at any point; `/flow-run` resumes the next approved feature. On the
56
+ final feature Flow requires broad project-level validation and a final review
57
+ whose depth matches the approved plan before the session can close as
58
+ completed.
122
59
 
123
60
  ## Commands
124
61
 
125
- Commands are bundled entrypoints. OpenCode still syncs the Flow skills for
126
- discoverability and manual use, but public command execution does not depend on
127
- native skill discovery for the required Flow loop:
128
-
129
62
  | Command | Purpose |
130
63
  | --- | --- |
131
64
  | `/flow-auto <goal>` | Drive the full skill-guided loop. |
@@ -134,16 +67,12 @@ native skill discovery for the required Flow loop:
134
67
  | `/flow-review` | Run a read-only review. |
135
68
  | `/flow-status` | Show the active session and next action. |
136
69
 
137
- Flow reserves its public command IDs (`flow-auto`, `flow-plan`, `flow-run`,
138
- `flow-review`, `flow-status`) and internal worker IDs (`flow-reviewer`,
139
- `flow-evidence-worker`, `flow-validation-worker`, `flow-audit-worker`,
140
- `flow-candidate-worker`, `flow-verifier-worker`) while the plugin is enabled.
141
- The plugin injects those entries to keep command preflight and worker permission
142
- boundaries safe.
70
+ Commands are bundled entrypoints: they carry their own instructions, so they
71
+ keep working even when OpenCode's native skill discovery lags behind a fresh
72
+ install (see [docs/troubleshooting.md](docs/troubleshooting.md)).
143
73
 
144
- `flow-test` and `flow-commit` are managed helper skills, not public commands in
145
- this release. `flow-commit` is user-triggered only and stays outside the
146
- autonomous Flow runtime loop.
74
+ `flow-test` and `flow-commit` are managed helper skills, not public commands.
75
+ `flow-commit` is user-triggered only and stays outside the autonomous loop.
147
76
 
148
77
  ## Tools
149
78
 
@@ -159,53 +88,66 @@ The runtime exposes seven tools:
159
88
  | `flow_feature_reset` | Reset one feature and its dependents. |
160
89
  | `flow_session_close` | Archive the active session as completed, deferred, or abandoned. |
161
90
 
162
- There is no `flow_context` and no separate review-record tool. Review evidence is part of `flow_feature_complete`: every completed feature needs a passing `featureReview`, and the final feature also needs a passing `finalReview`.
91
+ Review evidence is part of `flow_feature_complete`: every completed feature
92
+ needs a passing `featureReview`, and the final feature also needs a passing
93
+ `finalReview`.
163
94
 
164
- ## Runtime Contract
95
+ ## What the runtime enforces
165
96
 
166
- The runtime owns only safety:
97
+ The runtime owns only safety; judgment lives in the skills:
167
98
 
168
- - `.flow/session.json` is the active source of truth.
169
- - `.flow/opencode-instructions.md` is a generated OpenCode instruction
170
- projection of the active session. It is refreshed from `session.json`; do not
171
- edit it.
172
- - `.flow/history/<session-id>.json` stores closed sessions.
173
- - Session writes are locked and atomic.
174
- - Flow writes `.flow/.gitignore` so session state stays out of Git by default.
175
- - Mutable roots cannot be filesystem roots or `$HOME`.
99
+ - `.flow/session.json` is the single source of truth; writes are locked and
100
+ atomic, and closed sessions are archived under `.flow/history/`.
176
101
  - Plans cannot be changed after approval.
177
102
  - Only one feature can be active at a time.
178
- - Completion requires passing validation evidence.
179
- - Non-final completion requires `validationScope: "targeted"`.
180
- - Final completion requires `validationScope: "broad"` and a passing final review matching the plan's `finalReviewPolicy`.
181
- - `flow_session_close` accepts `kind: "completed"` only after an approved plan has passed final completion.
182
- - Reset keeps prior history entries as audit/provenance data. Current state comes
183
- from `features`, `activeFeature`, `status`, `progress`, and `closure`, not from
184
- old completion summaries.
185
- - Deferred and abandoned closures archive the session with its status at the time
186
- of closure, clear the active session file, and remove the generated instruction
187
- projection.
103
+ - Completion requires passing validation evidence: `targeted` scope for
104
+ ordinary features, `broad` scope plus a passing final review for the last
105
+ one.
106
+ - A session can close as `completed` only after final completion has passed.
107
+ - Crash recovery is built in: stale session locks expire automatically and
108
+ unreadable session files are quarantined with recovery guidance, never
109
+ silently deleted.
110
+ - Flow writes `.flow/.gitignore` so session state stays out of Git by default.
111
+ - `.flow/opencode-instructions.md` is a generated projection of the active
112
+ session that keeps ambient context accurate; do not edit it.
188
113
 
189
- Planning quality, decomposition, review depth, validation adequacy, orchestration, and recovery judgment live in the skills.
114
+ ## Hidden workers
190
115
 
191
- ## State Layout
116
+ For broad work, Flow's manager can fan out read-only workers
117
+ (`flow-evidence-worker`, `flow-validation-worker`, `flow-audit-worker`,
118
+ `flow-candidate-worker`, `flow-verifier-worker`, and the `flow-reviewer`) with
119
+ locked-down permissions. Workers gather evidence; they never approve plans,
120
+ complete features, or close sessions. Flow reserves those agent ids and the
121
+ public command ids while the plugin is enabled, and warns if they collide with
122
+ your own config.
192
123
 
193
- ```text
194
- .flow/session.json
195
- .flow/opencode-instructions.md
196
- .flow/history/<session-id>.json
197
- .flow/session.lock/
124
+ ## Install details, doctor, repair, uninstall
125
+
126
+ See [docs/troubleshooting.md](docs/troubleshooting.md) for skill sync
127
+ mechanics, the `doctor`/`sync` CLI, older-OpenCode install fallback, stuck
128
+ session recovery, and uninstall (`uninstall --dry-run` previews removals).
129
+
130
+ To update a pinned Flow version, rerun the install command with the new
131
+ version. To inspect skill health:
132
+
133
+ ```bash
134
+ npx -y opencode-plugin-flow@4.2.0 doctor
198
135
  ```
199
136
 
200
- Versioning `.flow` state is opt-in. Keep it ignored by default, and archive only
201
- exact Flow session artifacts when a maintainer intentionally asks for them; avoid
202
- broad forced adds of `.flow/**`.
137
+ ## Experimental: compaction context
138
+
139
+ Flow's ambient context uses stable OpenCode configuration by default. If you
140
+ want the active session summary injected into OpenCode's session compaction as
141
+ well, opt in with the environment variable `FLOW_EXPERIMENTAL_COMPACTION=1`.
142
+ This uses OpenCode's experimental compaction hook and may change with OpenCode
143
+ versions; the default remains hook-free.
203
144
 
204
145
  ## Development
205
146
 
206
147
  ```bash
207
148
  bun install
208
- bun run check
149
+ bun run check # typecheck + lint + build + tests
150
+ bun run smoke:live # boots a real OpenCode server against the packed tarball
209
151
  ```
210
152
 
211
153
  The package exports only the OpenCode plugin entrypoint:
@@ -214,20 +156,17 @@ The package exports only the OpenCode plugin entrypoint:
214
156
  import flowPlugin from "opencode-plugin-flow";
215
157
  ```
216
158
 
217
- ## Credits
218
-
219
- Flow's parallel orchestration guidance was inspired by Ray Fernando's skill work on parallel agent workflows. Flow also draws conceptual inspiration from [RepoPrompt CE](https://github.com/repoprompt/repoprompt-ce), especially its emphasis on codebase orientation, context engineering, agent orchestration, and reviewable handoffs.
159
+ See [docs/development.md](docs/development.md) and
160
+ [docs/maintainer-contract.md](docs/maintainer-contract.md) for the
161
+ runtime/skills split and release process.
220
162
 
221
- The Flow version is its own OpenCode-native design: skills-first, manager-owned state, hidden workers, and no extra runtime ledger.
222
-
223
- ## Uninstall
224
-
225
- First remove `opencode-plugin-flow` from your OpenCode plugin config so future
226
- OpenCode startups stop loading Flow. Then remove Flow-owned synced skills:
163
+ ## Credits
227
164
 
228
- ```bash
229
- npx -y opencode-plugin-flow@4.1.17 uninstall
230
- ```
165
+ Flow's parallel orchestration guidance was inspired by Ray Fernando's skill
166
+ work on parallel agent workflows. Flow also draws conceptual inspiration from
167
+ [RepoPrompt CE](https://github.com/repoprompt/repoprompt-ce), especially its
168
+ emphasis on codebase orientation, context engineering, agent orchestration,
169
+ and reviewable handoffs.
231
170
 
232
- Restart OpenCode after both steps. This removes Flow-owned synced skills when
233
- they are pristine. User-edited or foreign skill folders are kept.
171
+ The Flow version is its own OpenCode-native design: skills-first,
172
+ manager-owned state, hidden workers, and no extra runtime ledger.