@syntesseraai/opencode-feature-factory 0.2.28 → 0.2.30
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/planning.md +10 -14
- package/agents/reviewing.md +11 -13
- package/package.json +1 -1
- package/skills/ff-learning/SKILL.md +117 -1
package/agents/planning.md
CHANGED
|
@@ -16,10 +16,6 @@ permission:
|
|
|
16
16
|
task:
|
|
17
17
|
'ff-*': allow
|
|
18
18
|
explore: allow
|
|
19
|
-
write:
|
|
20
|
-
'.feature-factory/agents/*': allow
|
|
21
|
-
edit:
|
|
22
|
-
'.feature-factory/agents/*': allow
|
|
23
19
|
---
|
|
24
20
|
|
|
25
21
|
You are a planning specialist for Feature Factory. Your role is to create comprehensive implementation plans before any code changes are made.
|
|
@@ -34,7 +30,7 @@ At the start of EVERY planning task:
|
|
|
34
30
|
4. **Load the ff-todo-management skill** and create a todo list for the planning process
|
|
35
31
|
5. **Load the ff-learning skill** to capture planning insights and patterns
|
|
36
32
|
6. **Load the ff-report-templates skill** for standardized output formatting
|
|
37
|
-
7. **Document your context** -
|
|
33
|
+
7. **Document your context** - Use `ff-agent-context-create` tool to create `.feature-factory/agents/planning-{UUID}.md`
|
|
38
34
|
|
|
39
35
|
## Core Responsibilities
|
|
40
36
|
|
|
@@ -193,7 +189,7 @@ Recommend escalation to full architectural planning when:
|
|
|
193
189
|
|
|
194
190
|
1. **Generate UUID** - Create unique ID for this planning instance
|
|
195
191
|
2. **Load required skills** (ff-delegation, ff-mini-plan, ff-todo-management, ff-report-templates)
|
|
196
|
-
3. **Document context** -
|
|
192
|
+
3. **Document context** - Use `ff-agent-context-create` tool to create `.feature-factory/agents/planning-{UUID}.md`
|
|
197
193
|
4. **Delegate in parallel**:
|
|
198
194
|
- Task(ff-research): "Research [technology] best practices"
|
|
199
195
|
- Task(ff-acceptance): "Validate acceptance criteria"
|
|
@@ -240,12 +236,12 @@ Before completing your planning task:
|
|
|
240
236
|
```markdown
|
|
241
237
|
After completing planning:
|
|
242
238
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
239
|
+
Use ff-learning-store tool:
|
|
240
|
+
|
|
241
|
+
- title: "Architecture Decision: [Decision Name]"
|
|
242
|
+
- description: "Rationale for choosing [approach] over [alternatives]"
|
|
243
|
+
- memoryType: "semantic"
|
|
244
|
+
- tags: ["architecture", "decision", "{technology}"]
|
|
245
|
+
- importance: 0.8
|
|
246
|
+
- content: "Detailed explanation of the decision..."
|
|
251
247
|
```
|
package/agents/reviewing.md
CHANGED
|
@@ -5,7 +5,7 @@ temperature: 0.1
|
|
|
5
5
|
color: '#f59e0b'
|
|
6
6
|
tools:
|
|
7
7
|
read: true
|
|
8
|
-
write:
|
|
8
|
+
write: false
|
|
9
9
|
edit: false
|
|
10
10
|
bash: false
|
|
11
11
|
skill: true
|
|
@@ -16,8 +16,6 @@ permission:
|
|
|
16
16
|
task:
|
|
17
17
|
'ff-*': allow
|
|
18
18
|
building: allow
|
|
19
|
-
write:
|
|
20
|
-
'.feature-factory/agents/*': allow
|
|
21
19
|
---
|
|
22
20
|
|
|
23
21
|
You are a reviewing/validation specialist for Feature Factory. Your role is to comprehensively validate code changes and provide actionable feedback to the @building agent.
|
|
@@ -241,11 +239,11 @@ When combining results from multiple agents:
|
|
|
241
239
|
|
|
242
240
|
1. **Generate UUID** - Create unique ID for this reviewing instance
|
|
243
241
|
2. **Load required skills** (ff-delegation, ff-todo-management, ff-report-templates, ff-severity-classification)
|
|
244
|
-
3. **Document context** -
|
|
242
|
+
3. **Document context** - Use `ff-agent-context-create` tool to create `.feature-factory/agents/reviewing-{UUID}.md`
|
|
245
243
|
4. **Create review todo list**
|
|
246
244
|
5. **Mark "Launch validation"** as in_progress
|
|
247
245
|
6. **Invoke @ff-validate agent** (runs 4 sub-agents in parallel)
|
|
248
|
-
7. **Track child agents** -
|
|
246
|
+
7. **Track child agents** - Use `ff-agent-context-update` tool to add their UUIDs to your `delegated_to` list
|
|
249
247
|
8. **Monitor progress** - `ff-agents-current()`
|
|
250
248
|
9. **Wait for results**, mark todo complete
|
|
251
249
|
10. **Mark "Aggregate results"** as in_progress
|
|
@@ -334,12 +332,12 @@ Before completing your review task:
|
|
|
334
332
|
```markdown
|
|
335
333
|
After completing review:
|
|
336
334
|
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
335
|
+
Use ff-learning-store tool:
|
|
336
|
+
|
|
337
|
+
- title: "Review Pattern: [Common Issue Type]"
|
|
338
|
+
- description: "Common pattern of [issue] found in [context]"
|
|
339
|
+
- memoryType: "semantic"
|
|
340
|
+
- tags: ["review", "pattern", "{issue-type}", "{technology}"]
|
|
341
|
+
- importance: 0.7
|
|
342
|
+
- content: "Detailed explanation of the pattern and solution..."
|
|
345
343
|
```
|
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.30",
|
|
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",
|
|
@@ -132,7 +132,25 @@ context: # Optional: Additional context
|
|
|
132
132
|
|
|
133
133
|
## Tools
|
|
134
134
|
|
|
135
|
-
|
|
135
|
+
The ff-learning skill provides three tools for agents to interact with the memory system. These tools are especially important for **read-only agents** (like @planning and @reviewing) that cannot directly write files.
|
|
136
|
+
|
|
137
|
+
### Using the Tools
|
|
138
|
+
|
|
139
|
+
**For read-only agents:** Use the tool calls directly:
|
|
140
|
+
|
|
141
|
+
```markdown
|
|
142
|
+
Store a learning using ff-learning-store tool:
|
|
143
|
+
|
|
144
|
+
- title: "OAuth Implementation Pattern"
|
|
145
|
+
- description: "Successfully implemented OAuth with NextAuth.js"
|
|
146
|
+
- memoryType: "semantic"
|
|
147
|
+
- tags: ["oauth", "nextauth", "authentication"]
|
|
148
|
+
- importance: 0.8
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**For agents with write permissions:** Can use either tools or direct file operations.
|
|
152
|
+
|
|
153
|
+
### Tool 1: Store Learning (ff-learning-store)
|
|
136
154
|
|
|
137
155
|
**Purpose:** Create a new memory file with proper frontmatter
|
|
138
156
|
|
|
@@ -254,6 +272,104 @@ After finding a relevant memory:
|
|
|
254
272
|
4. Apply learnings to current task
|
|
255
273
|
```
|
|
256
274
|
|
|
275
|
+
## Additional Tools for Read-Only Agents
|
|
276
|
+
|
|
277
|
+
Since @planning and @reviewing agents are read-only (cannot write/edit files), the following tools are provided for essential file operations:
|
|
278
|
+
|
|
279
|
+
### Tool 4: Create Plan (ff-plan-create)
|
|
280
|
+
|
|
281
|
+
**Purpose:** Create a new implementation plan file in `.feature-factory/plans/`
|
|
282
|
+
|
|
283
|
+
**When to use:**
|
|
284
|
+
|
|
285
|
+
- At the end of planning sessions to document the plan
|
|
286
|
+
- When creating architecture or migration plans
|
|
287
|
+
- To document research findings as structured plans
|
|
288
|
+
|
|
289
|
+
**Input parameters:**
|
|
290
|
+
|
|
291
|
+
- `title` (string, required): Title of the plan
|
|
292
|
+
- `description` (string, required): What the plan covers
|
|
293
|
+
- `content` (string, required): Full markdown content
|
|
294
|
+
- `planType` (enum, required): implementation, architecture, migration, or research
|
|
295
|
+
- `relatedIssues` (array, optional): Related issue IDs
|
|
296
|
+
- `estimatedEffort` (string, optional): Time estimate
|
|
297
|
+
|
|
298
|
+
**Example:**
|
|
299
|
+
|
|
300
|
+
```markdown
|
|
301
|
+
Create plan using ff-plan-create:
|
|
302
|
+
|
|
303
|
+
- title: "OAuth Implementation Plan"
|
|
304
|
+
- description: "Plan for implementing OAuth authentication"
|
|
305
|
+
- content: "## Phase 1: Setup..."
|
|
306
|
+
- planType: "implementation"
|
|
307
|
+
- estimatedEffort: "2-3 hours"
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Tool 5: Create Agent Context (ff-agent-context-create)
|
|
311
|
+
|
|
312
|
+
**Purpose:** Create a new agent context file in `.feature-factory/agents/`
|
|
313
|
+
|
|
314
|
+
**When to use:**
|
|
315
|
+
|
|
316
|
+
- At the start of EVERY agent task to document context
|
|
317
|
+
- When delegating work to track parent-child relationships
|
|
318
|
+
- To maintain agent state and progress
|
|
319
|
+
|
|
320
|
+
**Input parameters:**
|
|
321
|
+
|
|
322
|
+
- `id` (string, required): UUID for this agent instance
|
|
323
|
+
- `agent` (string, required): Agent type (planning, building, etc.)
|
|
324
|
+
- `title` (string, required): Task title
|
|
325
|
+
- `description` (string, required): Task description
|
|
326
|
+
- `status` (enum, optional): in-progress, completed, delegated, failed
|
|
327
|
+
- `parent` (string, optional): Parent agent UUID
|
|
328
|
+
- `delegatedTo` (array, optional): Child agent UUIDs
|
|
329
|
+
- `notes` (string, optional): Additional notes
|
|
330
|
+
|
|
331
|
+
**Example:**
|
|
332
|
+
|
|
333
|
+
```markdown
|
|
334
|
+
Create agent context using ff-agent-context-create:
|
|
335
|
+
|
|
336
|
+
- id: "550e8400-e29b-41d4-a716-446655440000"
|
|
337
|
+
- agent: "planning"
|
|
338
|
+
- title: "Implement OAuth"
|
|
339
|
+
- description: "Plan OAuth implementation for customer portal"
|
|
340
|
+
- status: "in-progress"
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
### Tool 6: Update Agent Context (ff-agent-context-update)
|
|
344
|
+
|
|
345
|
+
**Purpose:** Update an existing agent context file
|
|
346
|
+
|
|
347
|
+
**When to use:**
|
|
348
|
+
|
|
349
|
+
- When status changes (e.g., completed, delegated)
|
|
350
|
+
- When adding delegated child agents
|
|
351
|
+
- When appending progress updates or notes
|
|
352
|
+
|
|
353
|
+
**Input parameters:**
|
|
354
|
+
|
|
355
|
+
- `agentId` (string, required): Agent UUID to update
|
|
356
|
+
- `agent` (string, required): Agent type
|
|
357
|
+
- `status` (enum, optional): New status
|
|
358
|
+
- `addDelegatedTo` (string, optional): Add child agent UUID
|
|
359
|
+
- `notes` (string, optional): Notes to append
|
|
360
|
+
- `progressUpdate` (string, optional): Progress line to add
|
|
361
|
+
|
|
362
|
+
**Example:**
|
|
363
|
+
|
|
364
|
+
```markdown
|
|
365
|
+
Update agent context using ff-agent-context-update:
|
|
366
|
+
|
|
367
|
+
- agentId: "550e8400-e29b-41d4-a716-446655440000"
|
|
368
|
+
- agent: "planning"
|
|
369
|
+
- status: "completed"
|
|
370
|
+
- notes: "Planning finished successfully"
|
|
371
|
+
```
|
|
372
|
+
|
|
257
373
|
## Usage by Agent Type
|
|
258
374
|
|
|
259
375
|
### Planning Agent
|