@syntesseraai/opencode-feature-factory 0.11.0 → 0.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENTS.md CHANGED
@@ -12,8 +12,8 @@ This file is installed to `~/.config/opencode/AGENTS.md` by `@syntesseraai/openc
12
12
  - `reviewing` -> `opencode/glm-5.1`
13
13
  - `documenting` -> `opencode/gemini-3.1-pro`
14
14
  - Specialized agents: `feature-factory`, `planning`, `building`, `reviewing`, `documenting`, and `ff-research`.
15
- - Quick commands: `/ff-review [optional prompt]`, `/ff-document [optional prompt]`, and `/ff-rework [optional prompt]` (all run as subtasks on the relevant stage agent).
16
- - Skills for planning, documentation governance (`ff-documentation-rules`), review quality/security/architecture/documentation, GitHub workflows (`ff-github`), reporting templates, and todo management.
15
+ - Quick commands: `/ff-review [optional prompt]`, `/ff-document [optional prompt]`, and `/ff-rework [optional prompt]` (all run as main agents on the relevant stage).
16
+ - Skills for planning, command output compression (`ff-oo`), documentation governance (`ff-documentation-rules`), review quality/security/architecture/documentation, GitHub workflows (`ff-github`), reporting templates, and todo management.
17
17
 
18
18
  ## Preferred Workflow Pattern
19
19
 
@@ -41,8 +41,8 @@ When work changes behavior, workflows, configuration, operational guidance, or r
41
41
  - Use `read`, `glob`, and `grep` for targeted file inspection.
42
42
  - Writable agents should prefer `morph-mcp` `edit_file`, then fallback to native `edit` when needed.
43
43
  - Keep `edit` restricted on read-only agents (`planning`, `reviewing`, `ff-research`).
44
- - Route Git operations through `bash` with explicit `git`/`gh` allowlists (per OpenCode granular `permission.bash` rules, with last-match-wins ordering).
45
- - Keep read-only agents deny-first for shell usage (`bash: {'*': deny}` with explicit `git`/`gh` overrides).
44
+ - Route Git operations through `bash` with explicit `git`/`gh` allowlists (and optional `oo git`/`oo gh` wrappers) per OpenCode granular `permission.bash` rules, with last-match-wins ordering.
45
+ - Keep read-only agents deny-first for shell usage (`bash: {'*': deny}` with explicit `git`/`gh` and `oo git`/`oo gh` overrides).
46
46
  - Explicitly disable PTY tools (`pty_spawn`, `pty_write`, `pty_read`, `pty_list`, `pty_kill`) on read-only agents; they must not rely on PTY as a back door.
47
47
  - Use `todowrite` for multi-step tasks to keep progress visible.
48
48
 
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  OpenCode plugin that provides Feature Factory agents, skills, commands, and native stage orchestration guidance.
4
4
 
5
- Notable bundled skills include `ff-mini-plan`, `ff-todo-management`, `ff-github` (GitHub CLI-first workflows with repo-local temp file guidance), and `ff-documentation-rules` (shared `docs/`, `INDEX.md`, and root `README.md` documentation governance).
5
+ Notable bundled skills include `ff-mini-plan`, `ff-todo-management`, `ff-oo` (context-efficient shell command output compression with `oo` wrappers), `ff-github` (GitHub CLI-first workflows with repo-local temp file guidance), and `ff-documentation-rules` (shared `docs/`, `INDEX.md`, and root `README.md` documentation governance).
6
6
 
7
7
  ## Installation
8
8
 
@@ -82,8 +82,8 @@ Stage-agent code discovery is graph-first: planning/building/reviewing/documenti
82
82
 
83
83
  Feature Factory agent assets follow OpenCode granular permissions (`permission.bash`) with object syntax and deny/allow precedence based on **last matching rule wins**.
84
84
 
85
- - Stage agents (`planning`, `building`, `reviewing`, `documenting`, `ff-research`) expose `bash` and explicitly allow `git`/`gh` command patterns.
86
- - Read-only agents (`planning`, `reviewing`, `ff-research`) are deny-first for shell commands (`'*': deny`) with explicit `git`/`gh` exceptions.
85
+ - Stage agents (`planning`, `building`, `reviewing`, `documenting`, `ff-research`) expose `bash` and explicitly allow `git`/`gh` command patterns, including `oo`-prefixed variants (`oo git ...`, `oo gh ...`).
86
+ - Read-only agents (`planning`, `reviewing`, `ff-research`) are deny-first for shell commands (`'*': deny`) with explicit `git`/`gh` exceptions, including `oo git`/`oo gh`.
87
87
  - Read-only agents explicitly disable PTY tools (`pty_spawn`, `pty_write`, `pty_read`, `pty_list`, `pty_kill`) so command execution does not route through interactive PTY paths.
88
88
 
89
89
  ### Plugin auto-handoff safety net
@@ -101,17 +101,17 @@ The plugin installs global custom slash commands in `~/.config/opencode/commands
101
101
 
102
102
  - `/ff-review [optional prompt]`
103
103
  - Agent: `reviewing`
104
- - Subtask: `true` (always runs as a subtask)
104
+ - Subtask: `false` (runs as a main agent)
105
105
  - Mode: manual standalone helper (does not continue the full pipeline automatically)
106
106
  - Default prompt when no argument is provided: `Review the changes so far`
107
107
  - `/ff-document [optional prompt]`
108
108
  - Agent: `documenting`
109
- - Subtask: `true` (always runs as a subtask)
109
+ - Subtask: `false` (runs as a main agent)
110
110
  - Mode: manual standalone helper (does not continue the full pipeline automatically)
111
111
  - Default prompt when no argument is provided: `Document all the changes so far`
112
112
  - `/ff-rework [optional prompt]`
113
113
  - Agent: `building`
114
- - Subtask: `true` (always runs as a subtask)
114
+ - Subtask: `false` (runs as a main agent)
115
115
  - Mode: manual standalone helper (does not continue the full pipeline automatically)
116
116
  - Default prompt when no argument is provided: `apply the rework recommendations`
117
117
 
@@ -9,11 +9,6 @@ tools:
9
9
  edit: true
10
10
  edit_file: true
11
11
  bash: true
12
- pty_spawn: false
13
- pty_write: false
14
- pty_read: false
15
- pty_list: false
16
- pty_kill: false
17
12
  skill: true
18
13
  task: true
19
14
  'codebase-memory-mcp_search_graph': true
@@ -31,7 +26,9 @@ permission:
31
26
  ff-research: allow
32
27
  explore: allow
33
28
  bash:
34
- '*': ask
29
+ '*': allow
30
+ oo: allow
31
+ 'oo *': allow
35
32
  git: allow
36
33
  'git *': allow
37
34
  gh: allow
@@ -92,6 +89,14 @@ Search fallback order:
92
89
  4. `read` to inspect exact implementation details before editing.
93
90
  5. `grep` for exact symbol/literal checks when needed.
94
91
 
92
+ ## Command Output Compression
93
+
94
+ Always load `ff-oo` before running bash commands.
95
+
96
+ - Prefer `oo <command>` execution when available to keep outputs context-efficient.
97
+ - For GitHub workflows, prefer `oo git ...` / `oo gh ...` when `oo` is installed.
98
+ - If `oo` is unavailable in the environment, run commands directly without `oo`.
99
+
95
100
  ## GitHub Workflow Guidance
96
101
 
97
102
  When implementation work includes GitHub operations (issues, PRs, checks, comments, releases), load `ff-github` and follow it:
@@ -30,6 +30,8 @@ permission:
30
30
  explore: allow
31
31
  bash:
32
32
  '*': ask
33
+ oo: allow
34
+ 'oo *': allow
33
35
  git: allow
34
36
  'git *': allow
35
37
  gh: allow
@@ -96,6 +98,14 @@ Search fallback order:
96
98
  4. `read` to verify exact behavior before writing docs.
97
99
  5. `grep` for exact symbol/literal checks when needed.
98
100
 
101
+ ## Command Output Compression
102
+
103
+ Always load `ff-oo` before running bash commands.
104
+
105
+ - Prefer `oo <command>` execution when available to keep outputs context-efficient.
106
+ - For GitHub workflows, prefer `oo git ...` / `oo gh ...` when `oo` is installed.
107
+ - If `oo` is unavailable in the environment, run commands directly without `oo`.
108
+
99
109
  ## GitHub Workflow Guidance
100
110
 
101
111
  When documenting GitHub-related workflows, load `ff-github` and keep the docs aligned with it:
@@ -52,6 +52,8 @@ For any substantive user request, prefer sub-agent execution over direct handlin
52
52
  - `@reviewing`: validate implementation and documentation gates.
53
53
  - `@ff-research`: resolve external dependency or standards uncertainty.
54
54
 
55
+ For every delegated stage, include an instruction to load `ff-oo` before any shell usage.
56
+
55
57
  Never complete implementation, documentation, validation, or research work directly in this agent when a relevant sub-agent exists.
56
58
 
57
59
  ## GitHub Workflow Guidance
@@ -62,6 +64,13 @@ When workflow scope includes GitHub operations (issues, PRs, checks, comments, r
62
64
  - Avoid generic web fetch/scraping for GitHub workflow state when `gh` can provide the data.
63
65
  - Keep downloaded artifacts repo-local (prefer `./.tmp/`), never `/tmp`.
64
66
 
67
+ ## Command Output Compression Guidance
68
+
69
+ Enforce `ff-oo` in stage handoffs for command-heavy work:
70
+
71
+ - Prefer `oo`-prefixed shell commands when available.
72
+ - If `oo` is unavailable in the runtime, stages should fall back to direct commands.
73
+
65
74
  ---
66
75
 
67
76
  ## Documentation Governance
@@ -198,6 +207,14 @@ For each iteration `n`:
198
207
  - Do not use optional phrasing like "If you want, I can..." for unfinished required workflow steps.
199
208
  - If a stage reports partial progress (for example "waiting for tests"), treat it as non-terminal and issue a focused same-stage follow-up immediately.
200
209
 
210
+ ### Fixed-workflow non-terminal invariant
211
+
212
+ - After the required user confirmation checkpoint, successful Build always proceeds to Document.
213
+ - After the required user confirmation checkpoint, successful Document always proceeds to Review.
214
+ - Build and Document are stage-complete states, not workflow-complete states.
215
+ - Therefore, successful Build and successful Document must emit `AUTO_HANDOFF=YES`.
216
+ - Successful termination with `AUTO_HANDOFF=NO` is allowed only when Review is approved with no further required work (or when blocked/escalated/waiting on required user input).
217
+
201
218
  ### Direct-execution prohibition
202
219
 
203
220
  - Do not substitute manual/orchestrator-only answers for work that should be performed by stage agents.
@@ -235,10 +252,21 @@ FF_PROMPT
235
252
 
236
253
  Rules:
237
254
 
238
- - Use `AUTO_HANDOFF=YES` only when the next step is deterministic and should run automatically.
255
+ - After the required user confirmation checkpoint, use `AUTO_HANDOFF=YES` whenever the next workflow step is predetermined by the fixed workflow.
256
+ - In the fixed workflow, successful Build must always continue to Document.
257
+ - In the fixed workflow, successful Document must always continue to Review.
258
+ - Successful Build and successful Document are stage-complete but not workflow-complete; they must not output `AUTO_HANDOFF=NO`.
239
259
  - Use `AUTO_HANDOFF_TARGET=feature-factory` when the workflow should continue across multiple stages.
240
260
  - Use stage targets (`building`, `documenting`, `reviewing`) only for focused one-stage follow-up.
241
261
  - Never use `AUTO_HANDOFF=YES` before the required user confirmation checkpoint.
242
- - If complete, blocked, escalated, or waiting on the user, output `AUTO_HANDOFF=NO`.
262
+ - Use `AUTO_HANDOFF=NO` only when the workflow is fully complete, blocked, escalated, or waiting on required user input.
243
263
  - `RECOMMENDED_NEXT_STEP` must match the machine-readable handoff block semantically.
244
264
  - For normal workflow progression, continue by delegating to stage agents directly (`@building`, `@documenting`, `@reviewing`), not by invoking slash commands such as `/ff-review`, `/ff-document`, or `/ff-rework`.
265
+
266
+ Expected mappings:
267
+
268
+ - Planning approved + user confirmed -> `AUTO_HANDOFF=YES`, `AUTO_HANDOFF_TARGET=feature-factory`, `AUTO_HANDOFF_REASON=CONTINUE_WORKFLOW`
269
+ - Build succeeded -> `AUTO_HANDOFF=YES`, `AUTO_HANDOFF_TARGET=feature-factory`, `AUTO_HANDOFF_REASON=DOCUMENT`
270
+ - Document succeeded -> `AUTO_HANDOFF=YES`, `AUTO_HANDOFF_TARGET=feature-factory`, `AUTO_HANDOFF_REASON=REVIEW`
271
+ - Review requires changes -> `AUTO_HANDOFF=YES`, `AUTO_HANDOFF_TARGET=feature-factory`, `AUTO_HANDOFF_REASON=REWORK`
272
+ - Review approved with no further work -> `AUTO_HANDOFF=NO`
@@ -28,8 +28,12 @@ permission:
28
28
  '*': deny
29
29
  git: allow
30
30
  'git *': allow
31
+ 'oo git': allow
32
+ 'oo git *': allow
31
33
  gh: allow
32
34
  'gh *': allow
35
+ 'oo gh': allow
36
+ 'oo gh *': allow
33
37
  ---
34
38
 
35
39
  You are the research specialist.
@@ -83,6 +87,13 @@ Search fallback order for code understanding:
83
87
  4. `morph-mcp_github_codebase_search` for upstream/public GitHub internals when needed.
84
88
  5. `gh_grep_searchGitHub` for exact code pattern matching across public repos.
85
89
 
90
+ ## Command Output Compression
91
+
92
+ Always load `ff-oo` whenever this stage uses shell commands.
93
+
94
+ - Prefer `oo git ...` / `oo gh ...` when `oo` is available.
95
+ - If `oo` is unavailable, use direct `git`/`gh` commands.
96
+
86
97
  ## GitHub Workflow Guidance
87
98
 
88
99
  When research scope includes operational GitHub workflows (issues, PRs, checks, comments, releases), load `ff-github` and apply its constraints:
@@ -31,8 +31,12 @@ permission:
31
31
  '*': deny
32
32
  git: allow
33
33
  'git *': allow
34
+ 'oo git': allow
35
+ 'oo git *': allow
34
36
  gh: allow
35
37
  'gh *': allow
38
+ 'oo gh': allow
39
+ 'oo gh *': allow
36
40
  ---
37
41
 
38
42
  You are the planning specialist.
@@ -73,6 +77,13 @@ Search fallback order:
73
77
  4. `read` to verify relevant source context.
74
78
  5. `grep` for exact symbol/literal checks when needed.
75
79
 
80
+ ## Command Output Compression
81
+
82
+ Always load `ff-oo` whenever this stage uses shell commands.
83
+
84
+ - Prefer `oo git ...` / `oo gh ...` when `oo` is available.
85
+ - If `oo` is unavailable, use direct `git`/`gh` commands.
86
+
76
87
  ## GitHub Workflow Guidance
77
88
 
78
89
  When planned work includes GitHub operations (issues, PRs, checks, comments, releases), load `ff-github` and encode its constraints in the plan:
@@ -31,8 +31,12 @@ permission:
31
31
  '*': deny
32
32
  git: allow
33
33
  'git *': allow
34
+ 'oo git': allow
35
+ 'oo git *': allow
34
36
  gh: allow
35
37
  'gh *': allow
38
+ 'oo gh': allow
39
+ 'oo gh *': allow
36
40
  ---
37
41
 
38
42
  You are the unified reviewing specialist.
@@ -73,6 +77,13 @@ Search fallback order:
73
77
  4. `read` to verify concrete evidence and line references.
74
78
  5. `grep` for exact symbol/literal checks when needed.
75
79
 
80
+ ## Command Output Compression
81
+
82
+ Always load `ff-oo` whenever this stage uses shell commands.
83
+
84
+ - Prefer `oo git ...` / `oo gh ...` when `oo` is available.
85
+ - If `oo` is unavailable, use direct `git`/`gh` commands.
86
+
76
87
  ## GitHub Workflow Guidance
77
88
 
78
89
  When review scope includes GitHub operations (issues, PRs, checks, comments, releases), load `ff-github` and validate compliance:
@@ -91,6 +102,7 @@ When review scope includes repository documentation or documentation-impacting b
91
102
 
92
103
  ## Skills to Load by Scope
93
104
 
105
+ - `ff-oo`
94
106
  - `ff-documentation-rules`
95
107
  - `ff-reviewing-code-quality`
96
108
  - `ff-reviewing-security`
@@ -1,7 +1,7 @@
1
1
  ---
2
- description: Quick documentation subtask (defaults to "Document all the changes so far")
2
+ description: Quick documentation helper (defaults to "Document all the changes so far")
3
3
  agent: documenting
4
- subtask: true
4
+ subtask: false
5
5
  ---
6
6
 
7
7
  $ARGUMENTS
@@ -1,7 +1,7 @@
1
1
  ---
2
- description: Quick review subtask (defaults to "Review the changes so far")
2
+ description: Quick review helper (defaults to "Review the changes so far")
3
3
  agent: reviewing
4
- subtask: true
4
+ subtask: false
5
5
  ---
6
6
 
7
7
  $ARGUMENTS
@@ -1,7 +1,7 @@
1
1
  ---
2
- description: Quick rework subtask (defaults to "apply the rework recommendations")
2
+ description: Quick rework helper (defaults to "apply the rework recommendations")
3
3
  agent: building
4
- subtask: true
4
+ subtask: false
5
5
  ---
6
6
 
7
7
  $ARGUMENTS
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@syntesseraai/opencode-feature-factory",
4
- "version": "0.11.0",
4
+ "version": "0.11.2",
5
5
  "type": "module",
6
6
  "description": "OpenCode plugin for Feature Factory agents - provides sub-agents and skills for validation, review, security, and architecture assessment",
7
7
  "license": "MIT",
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: ff-oo
3
+ description: Context-efficient command output guidance for agents using oo wrappers and recall workflow.
4
+ license: Apache-2.0
5
+ compatibility: opencode
6
+ metadata:
7
+ audience: agents
8
+ category: workflow
9
+ ---
10
+
11
+ # oo Command Compression Skill
12
+
13
+ Use this skill whenever a task runs shell commands and large command output could consume context.
14
+
15
+ ## Primary Rule
16
+
17
+ - Prefer `oo <command>` when `oo` is available in the runtime.
18
+ - If `oo` is not available, run the command normally.
19
+
20
+ Examples:
21
+
22
+ ```bash
23
+ oo npm test
24
+ oo git status
25
+ oo gh pr view 123
26
+ ```
27
+
28
+ ## Why
29
+
30
+ `oo` wraps normal commands and compresses verbose output into high-signal summaries (pass/fail, key errors, concise status), which reduces context waste for coding agents.
31
+
32
+ ## Retrieval Workflow
33
+
34
+ When `oo` indexes large output, query it with recall:
35
+
36
+ ```bash
37
+ oo recall "<query>"
38
+ ```
39
+
40
+ Useful follow-ups:
41
+
42
+ - `oo recall "error"`
43
+ - `oo recall "failed"`
44
+ - `oo recall "warning"`
45
+
46
+ Clear indexed output when appropriate:
47
+
48
+ ```bash
49
+ oo forget
50
+ ```
51
+
52
+ ## Git/GitHub Usage
53
+
54
+ - Prefer `oo git ...` and `oo gh ...` for Git/GitHub workflows when available.
55
+ - Keep standard non-`oo` fallbacks (`git ...`, `gh ...`) for environments where `oo` is not installed.
56
+
57
+ ## Operational Notes
58
+
59
+ - Unknown commands may pass through unchanged (small output) or be indexed for recall (large output).
60
+ - For command-specific compression improvements, `oo learn <command> [args...]` can teach new patterns.
61
+ - `oo init` can emit integration snippets for agent setup.