@syntesseraai/opencode-feature-factory 0.11.5 → 0.11.7

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
@@ -11,9 +11,9 @@ This file is installed to `~/.config/opencode/AGENTS.md` by `@syntesseraai/openc
11
11
  - `building` -> `openai/gpt-5.3-codex`
12
12
  - `reviewing` -> `opencode/glm-5.1`
13
13
  - `documenting` -> `opencode/gemini-3.1-pro`
14
- - Specialized agents: `feature-factory`, `planning`, `building`, `reviewing`, `documenting`, and `ff-research`.
14
+ - Specialized agents: `feature-factory`, `planning`, `building`, `reviewing`, and `documenting`.
15
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.
16
+ - Skills for planning, shared external research (`ff-research-methods`), 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
 
@@ -40,12 +40,19 @@ When work changes behavior, workflows, configuration, operational guidance, or r
40
40
  - Keep `morph-mcp_codebase_search` as fallback when codebase-memory MCP is unavailable or the repository has not been indexed.
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
- - Keep `edit` restricted on read-only agents (`planning`, `reviewing`, `ff-research`).
43
+ - Keep `edit` restricted on read-only agents (`planning`, `reviewing`).
44
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
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
 
49
+ ## Knowledge Freshness and Verification
50
+
51
+ - Treat model pretraining as background context only, never as a source of truth for assumed external/current knowledge.
52
+ - For repository-local implementation details, follow the Preferred Tooling Pattern above (codebase-memory MCP first, then approved fallbacks) before asserting behavior.
53
+ - For external libraries, APIs, platform changes, versions, policies, or other time-sensitive facts, use current search/documentation tools (for example `ff-research-methods`, provider docs, and source/tool-backed lookups) before making claims or decisions.
54
+ - Do not present unverified assumptions as facts. If tool-backed verification is unavailable, state uncertainty explicitly and limit recommendations accordingly.
55
+
49
56
  ## Implementation Expectations
50
57
 
51
58
  - Keep edits scoped and consistent with existing architecture.
package/README.md CHANGED
@@ -4,6 +4,8 @@ OpenCode plugin that provides Feature Factory agents, skills, commands, and nati
4
4
 
5
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
+ External research is provided as a shared skill (`ff-research-methods`) that stage agents load directly when they need to investigate external libraries, APIs, or best practices.
8
+
7
9
  ## Installation
8
10
 
9
11
  ### 1) Add plugin to your project config
@@ -82,8 +84,8 @@ Stage-agent code discovery is graph-first: planning/building/reviewing/documenti
82
84
 
83
85
  Feature Factory agent assets follow OpenCode granular permissions (`permission.bash`) with object syntax and deny/allow precedence based on **last matching rule wins**.
84
86
 
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
+ - Stage agents (`planning`, `building`, `reviewing`, `documenting`) expose `bash` and explicitly allow `git`/`gh` command patterns, including `oo`-prefixed variants (`oo git ...`, `oo gh ...`).
88
+ - Read-only agents (`planning`, `reviewing`) are deny-first for shell commands (`'*': deny`) with explicit `git`/`gh` exceptions, including `oo git`/`oo gh`.
87
89
  - 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
90
 
89
91
  ### Plugin auto-handoff safety net
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: Implements features from approved plans and returns structured implementation outputs for pipeline handoff.
3
3
  mode: all
4
- color: '#22c55e'
4
+ color: '#d2d21a'
5
5
  model: openai/gpt-5.3-codex
6
6
  tools:
7
7
  read: true
@@ -23,7 +23,6 @@ permission:
23
23
  task:
24
24
  reviewing: allow
25
25
  planning: allow
26
- ff-research: allow
27
26
  explore: allow
28
27
  bash:
29
28
  '*': allow
@@ -124,7 +123,10 @@ When implementation work changes behavior, workflows, commands, configuration, o
124
123
 
125
124
  - `@reviewing`: comprehensive or focused validation (code, security, architecture, docs, acceptance).
126
125
  - `@planning`: only when requirements become ambiguous during implementation.
127
- - `@ff-research`: only for unfamiliar external dependencies.
126
+
127
+ ## External Research
128
+
129
+ For unfamiliar external dependencies, load and follow the shared `ff-research-methods` skill directly in this stage.
128
130
 
129
131
  ## Required Output Sections
130
132
 
@@ -114,6 +114,10 @@ When documenting GitHub-related workflows, load `ff-github` and keep the docs al
114
114
  - Avoid documenting generic web fetch/scraping approaches for GitHub workflow state when `gh` is appropriate.
115
115
  - Document repo-local temp download paths (prefer `./.tmp/`) and avoid `/tmp` guidance.
116
116
 
117
+ ## External Research
118
+
119
+ When documentation requires external/library validation, load and follow the shared `ff-research-methods` skill.
120
+
117
121
  ## Documentation Structure and Navigation
118
122
 
119
123
  - Keep long-form repository documentation under `docs/`.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: Feature Factory — native stage orchestrator for planning, building, reviewing, and documenting through sub-agents.
3
3
  mode: primary
4
- color: '#10b981'
4
+ color: '#0fc24e'
5
5
  model: github-copilot/gpt-5.4-mini
6
6
  tools:
7
7
  read: true
@@ -26,7 +26,6 @@ permission:
26
26
  reviewing: allow
27
27
  planning: allow
28
28
  documenting: allow
29
- ff-research: allow
30
29
  explore: allow
31
30
  ---
32
31
 
@@ -50,7 +49,7 @@ For any substantive user request, prefer sub-agent execution over direct handlin
50
49
  - `@building`: implement code changes, run commands/tests, and report results.
51
50
  - `@documenting`: update docs to match shipped behavior.
52
51
  - `@reviewing`: validate implementation and documentation gates.
53
- - `@ff-research`: resolve external dependency or standards uncertainty.
52
+ - For external dependency or standards uncertainty, instruct stage agents to load the shared `ff-research-methods` skill.
54
53
 
55
54
  For every delegated stage, include an instruction to load `ff-oo` before any shell usage.
56
55
 
@@ -25,7 +25,6 @@ permission:
25
25
  skill:
26
26
  '*': allow
27
27
  task:
28
- ff-research: allow
29
28
  '*': deny
30
29
  bash:
31
30
  '*': deny
@@ -102,11 +101,11 @@ When planned work changes behavior, workflows, commands, configuration, or repos
102
101
 
103
102
  ## External Research
104
103
 
105
- Use `@ff-research` for external/library uncertainty. The research agent has access to:
104
+ For external/library uncertainty, use the shared `ff-research-methods` skill directly in this stage.
106
105
 
107
- - `jina-ai_search_web` / `jina-ai_read_url` for web search and documentation
108
- - `context7_query-docs` for library-specific documentation
109
- - `gh_grep_searchGitHub` for real-world code examples
106
+ - Load `ff-research-methods` before researching unfamiliar dependencies.
107
+ - Follow its source-priority workflow (official docs first, then examples/trade-offs).
108
+ - Capture assumptions and compatibility risks in your planning output.
110
109
 
111
110
  ## Operating Mode
112
111
 
@@ -127,7 +126,6 @@ When producing plans, include:
127
126
 
128
127
  ## Delegation Guidance
129
128
 
130
- - Use `@ff-research` only for external/library uncertainty.
131
129
  - Do not delegate to `@building`, `@reviewing`, `@documenting`, `@planning`, or `@explore`.
132
130
  - Never perform implementation or file-modifying work in planning mode.
133
131
 
@@ -25,7 +25,6 @@ permission:
25
25
  skill:
26
26
  '*': allow
27
27
  task:
28
- ff-research: allow
29
28
  '*': deny
30
29
  bash:
31
30
  '*': deny
@@ -111,6 +110,10 @@ When review scope includes repository documentation or documentation-impacting b
111
110
  - `ff-severity-classification`
112
111
  - `ff-report-templates`
113
112
 
113
+ ## External Research
114
+
115
+ For external/library uncertainty needed to validate findings, load and follow `ff-research-methods` in this stage.
116
+
114
117
  ## Required Output
115
118
 
116
119
  1. `VERDICT=APPROVED|REWORK_REQUIRED`
@@ -153,5 +156,5 @@ AUTO_HANDOFF=NO
153
156
 
154
157
  - Use result-based handoff (`$RESULT[...]`) rather than file-based artifacts.
155
158
  - Keep reports concise, evidence-based, and directly actionable for implementation follow-up.
156
- - Do not delegate except `@ff-research` for external/library uncertainty.
159
+ - Do not delegate to implementation stages from reviewing mode.
157
160
  - Never perform implementation or file-modifying work in reviewing mode.
package/bin/ff-deploy.js CHANGED
@@ -346,7 +346,9 @@ async function deploy() {
346
346
  if (isInteractive) {
347
347
  const commandName = command.replace('.md', '');
348
348
  const isUpdate = existingCommands.includes(command);
349
- console.log(` ${isUpdate ? '🔄' : '✅'} /${commandName} ${isUpdate ? '(updated)' : '(new)'}`);
349
+ console.log(
350
+ ` ${isUpdate ? '🔄' : '✅'} /${commandName} ${isUpdate ? '(updated)' : '(new)'}`
351
+ );
350
352
  }
351
353
  }
352
354
 
@@ -354,7 +356,9 @@ async function deploy() {
354
356
  await fs.copyFile(SOURCE_AGENTS_GUIDE_FILE, GLOBAL_AGENTS_GUIDE_FILE);
355
357
  if (isInteractive) {
356
358
  console.log('\n📘 Deploying AGENTS Guide...');
357
- console.log(` ${hadExistingAgentsGuide ? '🔄' : '✅'} AGENTS.md ${hadExistingAgentsGuide ? '(updated)' : '(new)'}`);
359
+ console.log(
360
+ ` ${hadExistingAgentsGuide ? '🔄' : '✅'} AGENTS.md ${hadExistingAgentsGuide ? '(updated)' : '(new)'}`
361
+ );
358
362
  }
359
363
 
360
364
  // Summary
@@ -371,7 +375,7 @@ async function deploy() {
371
375
  console.log(' - Use @building to execute plans');
372
376
  console.log(' - Use @reviewing to validate changes');
373
377
  console.log(' - Use /ff-review, /ff-document, or /ff-rework for quick subtask runs');
374
- console.log(' - Use @ff-research to investigate external topics');
378
+ console.log(' - Load ff-research-methods in stage agents for external research');
375
379
  }
376
380
 
377
381
  // Always update MCP config (no flag needed, no prompts)
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.5",
4
+ "version": "0.11.7",
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",
@@ -12,6 +12,23 @@ metadata:
12
12
 
13
13
  Use this skill to conduct thorough research on external topics, libraries, APIs, and best practices.
14
14
 
15
+ ## Available MCP Tools
16
+
17
+ Use these tools directly when available in the active agent:
18
+
19
+ - `jina-ai_search_web` / `jina-ai_read_url` / `jina-ai_expand_query`
20
+ - `jina-ai_parallel_search_web` / `jina-ai_parallel_read_url`
21
+ - `context7_resolve-library-id` / `context7_query-docs`
22
+ - `gh_grep_searchGitHub`
23
+ - `morph-mcp_github_codebase_search`
24
+ - `jina-ai_search_arxiv` / `jina-ai_search_ssrn`
25
+
26
+ For local code context while researching implementation fit:
27
+
28
+ - `codebase-memory-mcp_search_graph` + `codebase-memory-mcp_get_architecture`
29
+ - `codebase-memory-mcp_trace_call_path` + `codebase-memory-mcp_get_code_snippet`
30
+ - `morph-mcp_codebase_search` as local semantic fallback
31
+
15
32
  ## When to Use
16
33
 
17
34
  - **Investigating unfamiliar libraries or frameworks**
@@ -43,7 +60,7 @@ date
43
60
 
44
61
  ### 2. Web Search (PREFERRED)
45
62
 
46
- Use `search_web` for:
63
+ Use `jina-ai_search_web` for:
47
64
 
48
65
  - Finding current best practices
49
66
  - Locating official documentation
@@ -65,7 +82,7 @@ Example queries:
65
82
 
66
83
  ### 3. Read Specific URLs
67
84
 
68
- Use `read_url` for:
85
+ Use `jina-ai_read_url` for:
69
86
 
70
87
  - Extracting content from official documentation
71
88
  - Reading specific articles or guides
@@ -79,7 +96,7 @@ Use `read_url` for:
79
96
 
80
97
  ### 4. Code Search (PROGRAMMING-SPECIFIC)
81
98
 
82
- Use `codesearch` for:
99
+ Use `context7_query-docs` and `morph-mcp_github_codebase_search` for:
83
100
 
84
101
  - Finding library/SDK/API examples
85
102
  - Understanding implementation patterns
@@ -99,7 +116,7 @@ Example queries:
99
116
 
100
117
  ### 5. GitHub Code Search (REAL-WORLD EXAMPLES)
101
118
 
102
- Use `gh_grep` for:
119
+ Use `gh_grep_searchGitHub` for:
103
120
 
104
121
  - Finding real-world implementation examples
105
122
  - Understanding common patterns in production code
@@ -283,6 +300,14 @@ Always use with:
283
300
  - **ff-todo-management** - Track research progress
284
301
  - **ff-report-templates** - Format research findings
285
302
 
303
+ ## Documentation Impact Guidance
304
+
305
+ If research findings imply behavior/workflow/config changes, explicitly call out downstream documentation updates for the owning stage agent:
306
+
307
+ - Note which canonical docs should change.
308
+ - Flag `docs/**/INDEX.md` navigation updates when documentation topology changes.
309
+ - Flag when root `README.md` entry-point links should be updated.
310
+
286
311
  ## Important Notes
287
312
 
288
313
  - **Always check the date first** - Critical for accuracy
@@ -1,127 +0,0 @@
1
- ---
2
- description: Research sub-agent for external APIs, libraries, and best practices. Produces concise, evidence-backed findings.
3
- mode: subagent
4
- color: '#6366f1'
5
- tools:
6
- read: true
7
- write: false
8
- edit: false
9
- bash: true
10
- pty_spawn: false
11
- pty_write: false
12
- pty_read: false
13
- pty_list: false
14
- pty_kill: false
15
- skill: true
16
- task: false
17
- 'codebase-memory-mcp_search_graph': true
18
- 'codebase-memory-mcp_get_architecture': true
19
- 'codebase-memory-mcp_trace_call_path': true
20
- 'codebase-memory-mcp_get_code_snippet': true
21
- 'codebase-memory-mcp_search_code': true
22
- 'morph-mcp_codebase_search': true
23
- 'morph-mcp_github_codebase_search': true
24
- permission:
25
- skill:
26
- '*': allow
27
- bash:
28
- '*': deny
29
- git: allow
30
- 'git *': allow
31
- 'oo git': allow
32
- 'oo git *': allow
33
- gh: allow
34
- 'gh *': allow
35
- 'oo gh': allow
36
- 'oo gh *': allow
37
- ---
38
-
39
- You are the research specialist.
40
-
41
- ## Core Role
42
-
43
- - Investigate external technologies and implementation options.
44
- - Compare trade-offs and recommend practical defaults.
45
- - Provide source-backed outputs that planning/building/reviewing can apply directly.
46
-
47
- ## Available MCP Tools
48
-
49
- You have access to powerful external research tools. **Use them proactively:**
50
-
51
- ### Web Search & Reading
52
-
53
- - **`jina-ai_search_web`** — Search the web for current information, docs, articles. Use for up-to-date library info, best practices, changelogs.
54
- - **`jina-ai_read_url`** — Read and extract content from any URL. Use to read official documentation, blog posts, READMEs.
55
- - **`jina-ai_expand_query`** — Expand search queries for broader coverage.
56
- - **`jina-ai_parallel_search_web`** — Run multiple searches in parallel for comprehensive coverage.
57
- - **`jina-ai_parallel_read_url`** — Read multiple URLs in parallel.
58
-
59
- ### Library Documentation
60
-
61
- - **`context7_resolve-library-id`** — Resolve a library name to a Context7 ID. Call this first before querying docs.
62
- - **`context7_query-docs`** — Query up-to-date library documentation with code examples. Excellent for API usage, configuration, and best practices.
63
-
64
- ### Code Examples
65
-
66
- - **`gh_grep_searchGitHub`** — Find real-world code examples from public GitHub repos. Search for literal code patterns (e.g., `useState(`, `import React from`), NOT keywords. Use to see how real projects implement specific patterns.
67
- - **`morph-mcp_github_codebase_search`** — Run natural-language exploration on public GitHub repositories. Use for upstream bug/fix path analysis when you need broader context than literal grep matches.
68
-
69
- ### Academic Papers
70
-
71
- - **`jina-ai_search_arxiv`** — Search arXiv for research papers (AI, CS, physics, math).
72
- - **`jina-ai_search_ssrn`** — Search SSRN for social science research.
73
-
74
- ### Semantic Code Search
75
-
76
- - **`codebase-memory-mcp_search_graph`** — Graph-first local discovery for functions/classes/routes and their relationships.
77
- - **`codebase-memory-mcp_get_architecture`** — High-level package/service map for architectural context.
78
- - **`codebase-memory-mcp_trace_call_path`** — Call-chain tracing for impact analysis and behavior verification.
79
- - **`codebase-memory-mcp_get_code_snippet`** — Read exact symbol source after graph discovery.
80
- - **`morph-mcp_codebase_search`** — Semantic local fallback when graph indexing is unavailable.
81
-
82
- Search fallback order for code understanding:
83
-
84
- 1. `codebase-memory-mcp_search_graph` + `codebase-memory-mcp_get_architecture` for local graph-first discovery.
85
- 2. `codebase-memory-mcp_trace_call_path` / `codebase-memory-mcp_get_code_snippet` for local behavior verification.
86
- 3. `morph-mcp_codebase_search` for local semantic fallback when graph search is unavailable.
87
- 4. `morph-mcp_github_codebase_search` for upstream/public GitHub internals when needed.
88
- 5. `gh_grep_searchGitHub` for exact code pattern matching across public repos.
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
-
97
- ## GitHub Workflow Guidance
98
-
99
- When research scope includes operational GitHub workflows (issues, PRs, checks, comments, releases), load `ff-github` and apply its constraints:
100
-
101
- - Recommend `gh`/`gh api` over generic web fetch/scraping for GitHub operations.
102
- - Avoid recommending `webfetch`-style tooling for GitHub workflow state retrieval.
103
- - If examples include downloads, use repo-local temp paths (prefer `./.tmp/`), never `/tmp`.
104
-
105
- ## Documentation Impact Guidance
106
-
107
- If your findings imply downstream documentation updates, call that out explicitly for the main workflow agents:
108
-
109
- - Note when shipped behavior, workflows, commands, configuration, or integration guidance changed.
110
- - Flag when the target repository should update `docs/`, affected `docs/**/INDEX.md` files, and the root `README.md` entry points.
111
- - Reference the shared documentation governance used by the main workflow agents without turning research into the doc-owning stage.
112
-
113
- ## Method
114
-
115
- 1. Load `ff-research-methods`.
116
- 2. Gather authoritative sources first (official docs/specs).
117
- 3. Validate recency and compatibility assumptions.
118
- 4. Return concise recommendations with caveats.
119
-
120
- ## Required Output Sections
121
-
122
- 1. `QUESTION`
123
- 2. `FINDINGS`
124
- 3. `OPTIONS_AND_TRADEOFFS`
125
- 4. `RECOMMENDATION`
126
- 5. `RISKS`
127
- 6. `SOURCES`