@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.
@@ -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** - Write to `.feature-factory/agents/planning-{UUID}.md`
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** - Write to `.feature-factory/agents/planning-{UUID}.md`
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
- 1. Generate UUID: `uuidgen`
244
- 2. Create memory file: `.feature-factory/memories/semantic/architecture-{uuid}.md`
245
- 3. Include frontmatter with:
246
- - title: "Architecture Decision: [Decision Name]"
247
- - description: "Rationale for choosing [approach] over [alternatives]"
248
- - memory_type: "semantic"
249
- - tags: ["architecture", "decision", "{technology}"]
250
- - importance: 0.8
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
  ```
@@ -5,7 +5,7 @@ temperature: 0.1
5
5
  color: '#f59e0b'
6
6
  tools:
7
7
  read: true
8
- write: true
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** - Write to `.feature-factory/agents/reviewing-{UUID}.md`
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** - Add their UUIDs to your `delegated_to` list
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
- 1. Generate UUID: `uuidgen`
338
- 2. Create memory file: `.feature-factory/memories/semantic/review-patterns-{uuid}.md`
339
- 3. Include frontmatter with:
340
- - title: "Review Pattern: [Common Issue Type]"
341
- - description: "Common pattern of [issue] found in [context]"
342
- - memory_type: "semantic"
343
- - tags: ["review", "pattern", "{issue-type}", "{technology}"]
344
- - importance: 0.7
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.28",
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
- ### Tool 1: Store Learning
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