@syntesseraai/opencode-feature-factory 0.2.17 → 0.2.18
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/building.md
CHANGED
|
@@ -17,7 +17,6 @@ permission:
|
|
|
17
17
|
'ff-*': allow
|
|
18
18
|
planning: allow
|
|
19
19
|
reviewing: allow
|
|
20
|
-
research: allow
|
|
21
20
|
edit: allow
|
|
22
21
|
bash: allow
|
|
23
22
|
write:
|
|
@@ -57,7 +56,7 @@ While you implement, delegate:
|
|
|
57
56
|
|
|
58
57
|
- **@ff-unit-test** - "Generate unit tests for [feature]. Write context to .feature-factory/agents/ff-unit-test-{UUID}.md"
|
|
59
58
|
- **@ff-e2e-test** - "Create E2E tests for [workflow]. Write context to .feature-factory/agents/ff-e2e-test-{UUID}.md"
|
|
60
|
-
- **@research** - "Research edge cases for [technology]. Write context to .feature-factory/agents/research-{UUID}.md"
|
|
59
|
+
- **@ff-research** - "Research edge cases for [technology]. Write context to .feature-factory/agents/ff-research-{UUID}.md"
|
|
61
60
|
|
|
62
61
|
### Post-Implementation (Parallel)
|
|
63
62
|
|
|
@@ -92,15 +91,15 @@ After implementation, delegate:
|
|
|
92
91
|
When encountering unfamiliar technology during planning:
|
|
93
92
|
|
|
94
93
|
1. **Pause implementation** and create research todo
|
|
95
|
-
2. **Invoke `@research` agent** via Task tool:
|
|
94
|
+
2. **Invoke `@ff-research` agent** via Task tool:
|
|
96
95
|
```
|
|
97
|
-
Task(research): "Research [technology/topic] for implementation. Need to understand: 1) Core concepts, 2) Best practices, 3) Integration patterns"
|
|
96
|
+
Task(ff-research): "Research [technology/topic] for implementation. Need to understand: 1) Core concepts, 2) Best practices, 3) Integration patterns"
|
|
98
97
|
```
|
|
99
98
|
3. **Wait for research results** - Do not proceed without understanding
|
|
100
99
|
4. **Update plan** based on research findings
|
|
101
100
|
5. **Continue implementation** with new knowledge
|
|
102
101
|
|
|
103
|
-
**When to invoke @research automatically:**
|
|
102
|
+
**When to invoke @ff-research automatically:**
|
|
104
103
|
|
|
105
104
|
- Unfamiliar library or framework encountered
|
|
106
105
|
- API integration requirements unclear
|
|
@@ -158,7 +157,7 @@ Use the Task tool during building:
|
|
|
158
157
|
|
|
159
158
|
- **Need planning help** → Invoke `@planning` to create/clarify plan
|
|
160
159
|
- **Requirements unclear** → Invoke `@ff-acceptance` to validate understanding
|
|
161
|
-
- **External research needed** → Invoke `@research` to investigate libraries, APIs, or implementation patterns
|
|
160
|
+
- **External research needed** → Invoke `@ff-research` to investigate libraries, APIs, or implementation patterns
|
|
162
161
|
- **Code review needed** → Invoke `@ff-review` for mid-build quality check
|
|
163
162
|
- **Security concerns** → Invoke `@ff-security` for security audit
|
|
164
163
|
- **Comprehensive validation** → Invoke `@reviewing` for final review
|
|
@@ -250,7 +249,7 @@ Use ff-severity-classification when making changes:
|
|
|
250
249
|
6. **Delegate in parallel** (while implementing):
|
|
251
250
|
- Task(ff-unit-test): "Generate unit tests"
|
|
252
251
|
- Task(ff-e2e-test): "Create E2E tests"
|
|
253
|
-
- Task(research): "Research edge cases"
|
|
252
|
+
- Task(ff-research): "Research edge cases"
|
|
254
253
|
7. **Execute implementation** steps
|
|
255
254
|
8. **Run quality checks** (lint, typecheck, tests)
|
|
256
255
|
9. **Self-assess** changes using ff-severity-classification
|
|
@@ -4,7 +4,9 @@ mode: subagent
|
|
|
4
4
|
temperature: 0.2
|
|
5
5
|
tools:
|
|
6
6
|
read: true
|
|
7
|
-
|
|
7
|
+
write: false
|
|
8
|
+
edit: false
|
|
9
|
+
bash: false
|
|
8
10
|
skill: true
|
|
9
11
|
task: true
|
|
10
12
|
permission:
|
|
@@ -126,7 +128,7 @@ Use ff-report-templates skill to format findings:
|
|
|
126
128
|
|
|
127
129
|
## When to Use This Agent
|
|
128
130
|
|
|
129
|
-
Invoke `@research` via Task tool when:
|
|
131
|
+
Invoke `@ff-research` via Task tool when:
|
|
130
132
|
|
|
131
133
|
- **Need to investigate a library/framework** you haven't used before
|
|
132
134
|
- **Best practices are unclear** for a particular technology
|
|
@@ -151,7 +153,7 @@ Other agents should invoke you when they encounter:
|
|
|
151
153
|
When @planning encounters an unfamiliar technology:
|
|
152
154
|
|
|
153
155
|
```
|
|
154
|
-
Task(research): "Research [technology name] for our implementation. We need to understand: 1) Core concepts, 2) Best practices for 2026, 3) Integration patterns with [existing stack]"
|
|
156
|
+
Task(ff-research): "Research [technology name] for our implementation. We need to understand: 1) Core concepts, 2) Best practices for 2026, 3) Integration patterns with [existing stack]"
|
|
155
157
|
```
|
|
156
158
|
|
|
157
159
|
### Building Agent Integration
|
|
@@ -159,7 +161,7 @@ Task(research): "Research [technology name] for our implementation. We need to u
|
|
|
159
161
|
When @building needs implementation details:
|
|
160
162
|
|
|
161
163
|
```
|
|
162
|
-
Task(research): "Find implementation examples for [specific feature]. Look for: 1) Official documentation, 2) Code examples, 3) Common patterns on GitHub"
|
|
164
|
+
Task(ff-research): "Find implementation examples for [specific feature]. Look for: 1) Official documentation, 2) Code examples, 3) Common patterns on GitHub"
|
|
163
165
|
```
|
|
164
166
|
|
|
165
167
|
### Reviewing Agent Integration
|
|
@@ -167,7 +169,7 @@ Task(research): "Find implementation examples for [specific feature]. Look for:
|
|
|
167
169
|
When @reviewing needs to verify current practices:
|
|
168
170
|
|
|
169
171
|
```
|
|
170
|
-
Task(research): "Research current security best practices for [technology]. Check for: 1) Recent vulnerabilities, 2) Recommended configurations, 3) Current OWASP guidance"
|
|
172
|
+
Task(ff-research): "Research current security best practices for [technology]. Check for: 1) Recent vulnerabilities, 2) Recommended configurations, 3) Current OWASP guidance"
|
|
171
173
|
```
|
|
172
174
|
|
|
173
175
|
## Research Guidelines
|
package/agents/planning.md
CHANGED
|
@@ -5,8 +5,8 @@ temperature: 0.1
|
|
|
5
5
|
color: '#3b82f6'
|
|
6
6
|
tools:
|
|
7
7
|
read: true
|
|
8
|
-
write:
|
|
9
|
-
edit:
|
|
8
|
+
write: false
|
|
9
|
+
edit: false
|
|
10
10
|
bash: false
|
|
11
11
|
skill: true
|
|
12
12
|
task: true
|
|
@@ -15,7 +15,6 @@ permission:
|
|
|
15
15
|
'*': allow
|
|
16
16
|
task:
|
|
17
17
|
'ff-*': allow
|
|
18
|
-
research: allow
|
|
19
18
|
explore: allow
|
|
20
19
|
write:
|
|
21
20
|
'.feature-factory/agents/*': allow
|
|
@@ -53,7 +52,7 @@ ALWAYS prefer delegation. Parallelize these tasks:
|
|
|
53
52
|
|
|
54
53
|
Delegate these simultaneously at the start:
|
|
55
54
|
|
|
56
|
-
- **@research** - "Research best practices for [technology]. Write context to .feature-factory/agents/research-{UUID}.md"
|
|
55
|
+
- **@ff-research** - "Research best practices for [technology]. Write context to .feature-factory/agents/ff-research-{UUID}.md"
|
|
57
56
|
- **@ff-acceptance** - "Validate acceptance criteria. Write context to .feature-factory/agents/ff-acceptance-{UUID}.md"
|
|
58
57
|
- **@ff-security** - "Threat model for [feature]. Write context to .feature-factory/agents/ff-security-{UUID}.md"
|
|
59
58
|
- **@explore** - "Explore codebase for similar patterns. Write context to .feature-factory/agents/explore-{UUID}.md"
|
|
@@ -175,7 +174,7 @@ Use the Task tool during planning:
|
|
|
175
174
|
- **Code exploration needed** → Invoke `@ff-review` to understand existing patterns
|
|
176
175
|
- **Security considerations** → Invoke `@ff-security` for threat modeling
|
|
177
176
|
- **Architecture questions** → Invoke `@ff-well-architected` for design review
|
|
178
|
-
- **External research needed** → Invoke `@research` to investigate libraries, APIs, or best practices
|
|
177
|
+
- **External research needed** → Invoke `@ff-research` to investigate libraries, APIs, or best practices
|
|
179
178
|
|
|
180
179
|
## Escalation Guidelines
|
|
181
180
|
|
|
@@ -195,7 +194,7 @@ Recommend escalation to full architectural planning when:
|
|
|
195
194
|
2. **Load required skills** (ff-delegation, ff-mini-plan, ff-todo-management, ff-report-templates)
|
|
196
195
|
3. **Document context** - Write to `.feature-factory/agents/planning-{UUID}.md`
|
|
197
196
|
4. **Delegate in parallel**:
|
|
198
|
-
- Task(research): "Research [technology] best practices"
|
|
197
|
+
- Task(ff-research): "Research [technology] best practices"
|
|
199
198
|
- Task(ff-acceptance): "Validate acceptance criteria"
|
|
200
199
|
- Task(ff-security): "Security audit for [feature]"
|
|
201
200
|
- Task(explore): "Explore codebase patterns"
|
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.2.
|
|
4
|
+
"version": "0.2.18",
|
|
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",
|
|
@@ -17,7 +17,7 @@ Use this skill to parallelize work across multiple specialized agents using UUID
|
|
|
17
17
|
You MUST delegate when:
|
|
18
18
|
|
|
19
19
|
- **Multiple independent tasks** can be worked on simultaneously
|
|
20
|
-
- **Specialized expertise** is needed (security, architecture, research)
|
|
20
|
+
- **Specialized expertise** is needed (security, architecture, ff-research)
|
|
21
21
|
- **Validation** is required from multiple perspectives
|
|
22
22
|
- **Information gathering** can happen in parallel with planning
|
|
23
23
|
|
|
@@ -92,7 +92,7 @@ Ask: "What work can happen simultaneously?"
|
|
|
92
92
|
|
|
93
93
|
Common parallel tasks:
|
|
94
94
|
|
|
95
|
-
- **
|
|
95
|
+
- **ff-research** + **Planning** (research tech while planning architecture)
|
|
96
96
|
- **Security audit** + **Architecture review** (different perspectives)
|
|
97
97
|
- **Multiple file modifications** (if in different modules)
|
|
98
98
|
- **Test writing** + **Documentation** (while implementation continues)
|
|
@@ -107,7 +107,7 @@ Use this matrix:
|
|
|
107
107
|
| Code quality | @ff-review | @general | Parallel |
|
|
108
108
|
| Architecture | @ff-well-architected | @general | Parallel |
|
|
109
109
|
| Requirements | @ff-acceptance | @explore | Blocking |
|
|
110
|
-
| Research | @research
|
|
110
|
+
| Research | @ff-research | @general | Async |
|
|
111
111
|
| Exploration | @explore | @general | Parallel |
|
|
112
112
|
| Implementation | @general | N/A | Sequential |
|
|
113
113
|
|
|
@@ -123,7 +123,7 @@ Generate child UUIDs:
|
|
|
123
123
|
|
|
124
124
|
Delegate simultaneously:
|
|
125
125
|
Task(ff-security): "Security audit: Check OAuth implementation for CSRF vulnerabilities. Write context to .feature-factory/agents/ff-security-{$CHILD_1}.md"
|
|
126
|
-
Task(research): "Research: Find best OAuth libraries for Node.js. Write context to .feature-factory/agents/research-{$CHILD_2}.md"
|
|
126
|
+
Task(ff-research): "Research: Find best OAuth libraries for Node.js. Write context to .feature-factory/agents/ff-research-{$CHILD_2}.md"
|
|
127
127
|
Task(ff-acceptance): "Validate: Check if acceptance criteria are clear. Write context to .feature-factory/agents/ff-acceptance-{$CHILD_3}.md"
|
|
128
128
|
```
|
|
129
129
|
|
|
@@ -196,7 +196,7 @@ Combine findings from all delegated agents:
|
|
|
196
196
|
- **Key Finding:** CSRF protection required
|
|
197
197
|
- **Recommendation:** Use state parameter in OAuth flow
|
|
198
198
|
|
|
199
|
-
### Research (@research)
|
|
199
|
+
### Research (@ff-research)
|
|
200
200
|
|
|
201
201
|
- **Status:** Completed
|
|
202
202
|
- **Key Finding:** Passport.js is most popular library
|
|
@@ -221,7 +221,7 @@ Or clear specific agents:
|
|
|
221
221
|
```
|
|
222
222
|
ff-agents-clear(id: "6ba7b810-9dad-11d1-80b4-00c04fd430c8")
|
|
223
223
|
ff-agents-clear(sessionID: "session-abc123")
|
|
224
|
-
ff-agents-clear(agent: "research")
|
|
224
|
+
ff-agents-clear(agent: "ff-research")
|
|
225
225
|
```
|
|
226
226
|
|
|
227
227
|
## Example: Planning with Parallel Research
|
|
@@ -249,7 +249,7 @@ ff-agents-clear(agent: "research")
|
|
|
249
249
|
|
|
250
250
|
5. **Delegate in parallel**
|
|
251
251
|
- Task(ff-security): "Audit OAuth..." (use $SECURITY_UUID)
|
|
252
|
-
- Task(research): "Research OAuth..." (use $RESEARCH_UUID)
|
|
252
|
+
- Task(ff-research): "Research OAuth..." (use $RESEARCH_UUID)
|
|
253
253
|
- Task(ff-acceptance): "Validate..." (use $ACCEPTANCE_UUID)
|
|
254
254
|
|
|
255
255
|
6. **Update my context**
|
|
@@ -307,7 +307,7 @@ If specialized agents are unavailable:
|
|
|
307
307
|
2. **@ff-review** → @general with code review focus
|
|
308
308
|
3. **@ff-well-architected** → @general with architecture focus
|
|
309
309
|
4. **@ff-acceptance** → @explore for requirements gathering
|
|
310
|
-
5. **@research** → @general with research focus
|
|
310
|
+
5. **@ff-research** → @general with research focus
|
|
311
311
|
6. **@explore** → @general with read-only tools
|
|
312
312
|
|
|
313
313
|
When falling back, be more specific in your instructions to compensate for the generalist nature of @general.
|