@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 +4 -4
- package/README.md +6 -6
- package/agents/building.md +11 -6
- package/agents/documenting.md +10 -0
- package/agents/feature-factory.md +30 -2
- package/agents/ff-research.md +11 -0
- package/agents/planning.md +11 -0
- package/agents/reviewing.md +12 -0
- package/commands/ff-document.md +2 -2
- package/commands/ff-review.md +2 -2
- package/commands/ff-rework.md +2 -2
- package/package.json +1 -1
- package/skills/ff-oo/SKILL.md +61 -0
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
|
|
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: `
|
|
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: `
|
|
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: `
|
|
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
|
|
package/agents/building.md
CHANGED
|
@@ -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
|
-
'*':
|
|
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:
|
package/agents/documenting.md
CHANGED
|
@@ -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
|
-
-
|
|
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
|
-
-
|
|
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`
|
package/agents/ff-research.md
CHANGED
|
@@ -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:
|
package/agents/planning.md
CHANGED
|
@@ -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:
|
package/agents/reviewing.md
CHANGED
|
@@ -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`
|
package/commands/ff-document.md
CHANGED
package/commands/ff-review.md
CHANGED
package/commands/ff-rework.md
CHANGED
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.
|
|
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.
|