@syntesseraai/opencode-feature-factory 0.6.8 → 0.6.10
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/README.md +24 -17
- package/agents/building.md +28 -541
- package/agents/documenting.md +39 -0
- package/agents/ff-research.md +18 -410
- package/agents/pipeline.md +27 -69
- package/agents/planning.md +28 -350
- package/agents/reviewing.md +27 -475
- package/bin/ff-deploy.js +7 -7
- package/{commands → command}/pipeline/building/breakdown.md +3 -3
- package/{commands → command}/pipeline/building/implement-batch.md +3 -3
- package/command/pipeline/building/run.md +19 -0
- package/{commands → command}/pipeline/building/validate-batch.md +3 -3
- package/{commands → command}/pipeline/complete.md +1 -2
- package/{commands/pipeline/documentation/run-codex.md → command/pipeline/documentation/document.md} +4 -6
- package/{commands → command}/pipeline/documentation/gate.md +3 -4
- package/{commands/pipeline/documentation/run-gemini.md → command/pipeline/documentation/review.md} +3 -3
- package/command/pipeline/documentation/run.md +25 -0
- package/command/pipeline/planning/gate.md +23 -0
- package/command/pipeline/planning/plan.md +25 -0
- package/command/pipeline/planning/run.md +24 -0
- package/command/pipeline/planning/synthesize.md +21 -0
- package/{commands → command}/pipeline/reviewing/gate.md +3 -4
- package/command/pipeline/reviewing/review.md +20 -0
- package/command/pipeline/reviewing/run.md +23 -0
- package/{commands → command}/pipeline/reviewing/synthesize.md +3 -4
- package/{commands → command}/pipeline/reviewing/triage.md +2 -3
- package/command/pipeline/start.md +29 -0
- package/dist/index.d.ts +1 -2
- package/dist/index.js +3 -52
- package/package.json +2 -2
- package/skills/ff-reviewing-architecture/SKILL.md +34 -0
- package/skills/ff-reviewing-code-quality/SKILL.md +34 -0
- package/skills/ff-reviewing-documentation/SKILL.md +34 -0
- package/skills/ff-reviewing-security/SKILL.md +34 -0
- package/agents/ff-acceptance.md +0 -285
- package/agents/ff-building-codex.md +0 -305
- package/agents/ff-building-gemini.md +0 -305
- package/agents/ff-building-opus.md +0 -305
- package/agents/ff-planning-codex.md +0 -335
- package/agents/ff-planning-gemini.md +0 -335
- package/agents/ff-planning-opus.md +0 -335
- package/agents/ff-review.md +0 -288
- package/agents/ff-reviewing-codex.md +0 -259
- package/agents/ff-reviewing-gemini.md +0 -259
- package/agents/ff-reviewing-opus.md +0 -259
- package/agents/ff-security.md +0 -322
- package/agents/ff-validate.md +0 -316
- package/agents/ff-well-architected.md +0 -284
- package/commands/pipeline/building/run.md +0 -19
- package/commands/pipeline/documentation/run.md +0 -27
- package/commands/pipeline/planning/gate.md +0 -22
- package/commands/pipeline/planning/run-codex.md +0 -22
- package/commands/pipeline/planning/run-gemini.md +0 -21
- package/commands/pipeline/planning/run-opus.md +0 -21
- package/commands/pipeline/planning/run.md +0 -25
- package/commands/pipeline/planning/synthesize.md +0 -18
- package/commands/pipeline/reviewing/run-codex.md +0 -12
- package/commands/pipeline/reviewing/run-gemini.md +0 -11
- package/commands/pipeline/reviewing/run-opus.md +0 -11
- package/commands/pipeline/reviewing/run.md +0 -24
- package/commands/pipeline/start.md +0 -22
- package/dist/agent-context.d.ts +0 -57
- package/dist/agent-context.js +0 -282
- package/dist/plugins/ff-agent-context-create-plugin.d.ts +0 -2
- package/dist/plugins/ff-agent-context-create-plugin.js +0 -82
- package/dist/plugins/ff-agent-context-update-plugin.d.ts +0 -2
- package/dist/plugins/ff-agent-context-update-plugin.js +0 -78
- package/dist/plugins/ff-agents-clear-plugin.d.ts +0 -2
- package/dist/plugins/ff-agents-clear-plugin.js +0 -40
- package/dist/plugins/ff-agents-current-plugin.d.ts +0 -2
- package/dist/plugins/ff-agents-current-plugin.js +0 -45
- package/dist/plugins/ff-agents-delete-plugin.d.ts +0 -2
- package/dist/plugins/ff-agents-delete-plugin.js +0 -32
- package/dist/plugins/ff-agents-get-plugin.d.ts +0 -2
- package/dist/plugins/ff-agents-get-plugin.js +0 -32
- package/dist/plugins/ff-agents-list-plugin.d.ts +0 -2
- package/dist/plugins/ff-agents-list-plugin.js +0 -42
- package/dist/plugins/ff-agents-show-plugin.d.ts +0 -2
- package/dist/plugins/ff-agents-show-plugin.js +0 -22
- package/dist/plugins/ff-agents-update-plugin.d.ts +0 -2
- package/dist/plugins/ff-agents-update-plugin.js +0 -32
- package/dist/plugins/ff-plan-create-plugin.d.ts +0 -2
- package/dist/plugins/ff-plan-create-plugin.js +0 -61
- package/dist/plugins/ff-plan-update-plugin.d.ts +0 -2
- package/dist/plugins/ff-plan-update-plugin.js +0 -142
- package/dist/plugins/ff-plans-delete-plugin.d.ts +0 -2
- package/dist/plugins/ff-plans-delete-plugin.js +0 -32
- package/dist/plugins/ff-plans-get-plugin.d.ts +0 -2
- package/dist/plugins/ff-plans-get-plugin.js +0 -32
- package/dist/plugins/ff-plans-list-plugin.d.ts +0 -2
- package/dist/plugins/ff-plans-list-plugin.js +0 -42
- package/dist/plugins/ff-plans-update-plugin.d.ts +0 -2
- package/dist/plugins/ff-plans-update-plugin.js +0 -32
- package/dist/plugins/ff-review-create-plugin.d.ts +0 -2
- package/dist/plugins/ff-review-create-plugin.js +0 -256
- package/dist/plugins/ff-reviews-get-plugin.d.ts +0 -2
- package/dist/plugins/ff-reviews-get-plugin.js +0 -32
- package/dist/plugins/ff-reviews-list-plugin.d.ts +0 -2
- package/dist/plugins/ff-reviews-list-plugin.js +0 -42
- package/dist/plugins/ff-reviews-update-plugin.d.ts +0 -2
- package/dist/plugins/ff-reviews-update-plugin.js +0 -32
- package/skills/ff-context-tracking/SKILL.md +0 -573
- package/skills/ff-delegation/SKILL.md +0 -457
- package/skills/ff-swarm/SKILL.md +0 -209
package/{commands/pipeline/documentation/run-codex.md → command/pipeline/documentation/document.md}
RENAMED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Documentation write/update pass
|
|
3
3
|
subtask: true
|
|
4
|
-
agent:
|
|
5
|
-
model: openai/gpt-5.3-codex
|
|
4
|
+
agent: documenting
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
Document the approved code changes and update repository documentation.
|
|
9
8
|
|
|
10
9
|
Before writing docs, load these skills:
|
|
11
10
|
|
|
12
|
-
- `ff-context-tracking`
|
|
13
11
|
- `ff-todo-management`
|
|
14
12
|
- `ff-mini-plan`
|
|
15
13
|
|
|
@@ -17,7 +15,7 @@ Requirements:
|
|
|
17
15
|
|
|
18
16
|
1. Use the latest approved review outputs and implementation artifacts as source of truth.
|
|
19
17
|
2. Update all affected docs so behavior and operational steps match shipped code.
|
|
20
|
-
3. If this is a rework iteration, incorporate
|
|
18
|
+
3. If this is a rework iteration, incorporate documentation reviewer feedback from the previous documentation review.
|
|
21
19
|
4. Summarize what docs were changed and why.
|
|
22
20
|
|
|
23
|
-
|
|
21
|
+
Return a structured documentation update summary (no file persistence).
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Apply documentation approval gate
|
|
3
3
|
subtask: true
|
|
4
|
-
model: openai/gpt-5.4
|
|
5
4
|
---
|
|
6
5
|
|
|
7
|
-
Read the latest
|
|
6
|
+
Read the latest documentation review input from `$ARGUMENTS` and apply gate exactly:
|
|
8
7
|
|
|
9
8
|
Skill requirements:
|
|
10
9
|
|
|
11
|
-
- ChatGPT gate supervisor
|
|
10
|
+
- ChatGPT gate supervisor should keep gate decisions explicit and iteration-aware.
|
|
12
11
|
|
|
13
12
|
- APPROVED when verdict is `APPROVED` and unresolved documentation issues count is `0`
|
|
14
13
|
- REWORK when verdict is `REWORK_REQUIRED` and iteration < 5
|
|
15
14
|
- ESCALATE when iteration == 5 and still not approved
|
|
16
15
|
|
|
17
|
-
|
|
16
|
+
Output one status line:
|
|
18
17
|
|
|
19
18
|
`DOCUMENTATION_GATE=APPROVED|REWORK|ESCALATE`
|
package/{commands/pipeline/documentation/run-gemini.md → command/pipeline/documentation/review.md}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Documentation review pass
|
|
3
3
|
subtask: true
|
|
4
|
-
agent:
|
|
4
|
+
agent: reviewing
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
Review the latest Codex documentation pass for completeness, correctness, and repository doc consistency.
|
|
@@ -18,4 +18,4 @@ Required output:
|
|
|
18
18
|
3. explicit rework instructions
|
|
19
19
|
4. confidence score (0-100)
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
Return a structured documentation review result (no file persistence).
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Run documentation loop after review approval
|
|
3
|
+
subtask: true
|
|
4
|
+
loop:
|
|
5
|
+
max: 5
|
|
6
|
+
until: documentation updates are approved by DOCUMENTATION_REVIEWER_MODEL with zero unresolved documentation issues
|
|
7
|
+
return:
|
|
8
|
+
- 'run, replacing arguments with values from $ARGUMENTS: /subtask {agent:general && model:<DEVELOPER_MODEL> && as:doc-pass} /pipeline/documentation/document $ARGUMENTS'
|
|
9
|
+
- 'run, replacing arguments with values from $ARGUMENTS: /subtask {agent:general && model:<DOCUMENTATION_REVIEWER_MODEL> && as:doc-review} /pipeline/documentation/review $RESULT[doc-pass]'
|
|
10
|
+
- 'run, replacing arguments with values from $ARGUMENTS: /pipeline/documentation/gate {model:<COORDINATOR_MODEL>} $RESULT[doc-review]'
|
|
11
|
+
- If `DOCUMENTATION_GATE=REWORK`, continue loop with review feedback for the next document pass.
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
Execute the documentation stage for the current approved implementation.
|
|
15
|
+
|
|
16
|
+
Skill requirements:
|
|
17
|
+
|
|
18
|
+
1. ChatGPT supervisor must load `ff-todo-management` to track documentation actions and rework items per iteration.
|
|
19
|
+
2. Documentation reviewer should use `ff-severity-classification` when reporting documentation issues.
|
|
20
|
+
|
|
21
|
+
Stop criteria:
|
|
22
|
+
|
|
23
|
+
- approve when documentation reviewer confirms documentation is complete, accurate, and repository docs are updated
|
|
24
|
+
- continue loop while unresolved documentation issues exist and iteration < 5
|
|
25
|
+
- escalate to user when iteration reaches 5 without approval
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Apply planning consensus gate
|
|
3
|
+
subtask: true
|
|
4
|
+
agent: planning
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Apply the planning gate to the synthesized consensus input passed in `$ARGUMENTS`:
|
|
8
|
+
|
|
9
|
+
- `>=75`: APPROVED
|
|
10
|
+
- `50-74`: REWORK
|
|
11
|
+
- `<50`: BLOCKED
|
|
12
|
+
|
|
13
|
+
Actions:
|
|
14
|
+
|
|
15
|
+
1. If APPROVED, return the accepted final plan in a `FINAL_PLAN` section.
|
|
16
|
+
2. If REWORK, return explicit divergence feedback so the next planning loop iteration re-plans with clear deltas.
|
|
17
|
+
3. If BLOCKED, return explicit user-decision-needed rationale.
|
|
18
|
+
|
|
19
|
+
Always include one status line in your final output:
|
|
20
|
+
|
|
21
|
+
`PLANNING_GATE=APPROVED|REWORK|BLOCKED`
|
|
22
|
+
|
|
23
|
+
If APPROVED, include a `FINAL_PLAN` section that becomes input to the build phase.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate one model-specific planning proposal
|
|
3
|
+
subtask: true
|
|
4
|
+
agent: planning
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Create a comprehensive implementation plan from the current pipeline requirements.
|
|
8
|
+
|
|
9
|
+
Input format:
|
|
10
|
+
|
|
11
|
+
- Prefix includes model tag as `[MODEL_TAG:<tag>]`
|
|
12
|
+
- Remaining content is the requirements brief
|
|
13
|
+
|
|
14
|
+
Requirements brief:
|
|
15
|
+
|
|
16
|
+
$ARGUMENTS
|
|
17
|
+
|
|
18
|
+
Return a structured proposal (no file persistence) with these sections:
|
|
19
|
+
|
|
20
|
+
1. `MODEL_TAG`
|
|
21
|
+
2. `REQUIREMENTS_SUMMARY`
|
|
22
|
+
3. `ARCHITECTURE_VALIDATION`
|
|
23
|
+
4. `IMPLEMENTATION_STEPS`
|
|
24
|
+
5. `RISKS_AND_MITIGATIONS`
|
|
25
|
+
6. `TESTING_AND_VALIDATION_STRATEGY`
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Execute one planning iteration
|
|
3
|
+
subtask: true
|
|
4
|
+
parallel:
|
|
5
|
+
- 'run, replacing arguments with values from $ARGUMENTS: /subtask {agent:general && model:<REVIEWER_MODEL> && as:plan-reviewer} /pipeline/planning/plan [MODEL_TAG:reviewer] $ARGUMENTS'
|
|
6
|
+
- 'run, replacing arguments with values from $ARGUMENTS: /subtask {agent:general && model:<ARCHITECT_MODEL> && as:plan-architect} /pipeline/planning/plan [MODEL_TAG:architect] $ARGUMENTS'
|
|
7
|
+
- 'run, replacing arguments with values from $ARGUMENTS: /subtask {agent:general && model:<DEVELOPER_MODEL> && as:plan-developer} /pipeline/planning/plan [MODEL_TAG:developer] $ARGUMENTS'
|
|
8
|
+
return:
|
|
9
|
+
- 'run, replacing arguments with values from $ARGUMENTS: /pipeline/planning/synthesize {model:<COORDINATOR_MODEL> && as:plan-consensus} $RESULT[plan-reviewer] $RESULT[plan-architect] $RESULT[plan-developer]'
|
|
10
|
+
- 'run, replacing arguments with values from $ARGUMENTS: /pipeline/planning/gate {model:<COORDINATOR_MODEL>} $RESULT[plan-consensus]'
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
Run one complete planning iteration for the active pipeline.
|
|
14
|
+
|
|
15
|
+
Requirements brief:
|
|
16
|
+
|
|
17
|
+
$ARGUMENTS
|
|
18
|
+
|
|
19
|
+
Rules:
|
|
20
|
+
|
|
21
|
+
1. Keep each planner output structured and concise for synthesis.
|
|
22
|
+
2. Pass outputs using `{as:name}` and `$RESULT[name]` rather than intermediate files.
|
|
23
|
+
3. Each planning model must include architecture validation in its proposal.
|
|
24
|
+
4. Continue only through gate outcomes defined in `/pipeline/planning/gate`.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Synthesize planning consensus
|
|
3
|
+
subtask: true
|
|
4
|
+
agent: planning
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Synthesize the three model outputs from planning fan-out:
|
|
8
|
+
|
|
9
|
+
- `$RESULT[plan-reviewer]`
|
|
10
|
+
- `$RESULT[plan-architect]`
|
|
11
|
+
- `$RESULT[plan-developer]`
|
|
12
|
+
|
|
13
|
+
Produce a consensus report (no file persistence).
|
|
14
|
+
|
|
15
|
+
Required output sections:
|
|
16
|
+
|
|
17
|
+
1. `CONSENSUS_SCORE` (0-100)
|
|
18
|
+
2. `AGREED_ELEMENTS`
|
|
19
|
+
3. `DIVERGENT_ELEMENTS`
|
|
20
|
+
4. `SYNTHESIZED_PLAN`
|
|
21
|
+
5. `OPEN_QUESTIONS`
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Apply review approval gate
|
|
3
3
|
subtask: true
|
|
4
|
-
agent:
|
|
5
|
-
model: openai/gpt-5.4
|
|
4
|
+
agent: reviewing
|
|
6
5
|
---
|
|
7
6
|
|
|
8
|
-
Read
|
|
7
|
+
Read the synthesized review input from `$ARGUMENTS` and apply gate exactly:
|
|
9
8
|
|
|
10
9
|
- APPROVED when confidence `>=95` and unresolved issues count is `0`
|
|
11
10
|
- REWORK when below threshold and iteration < 10
|
|
12
11
|
- ESCALATE when iteration == 10 and still not approved
|
|
13
12
|
|
|
14
|
-
|
|
13
|
+
Output one status line:
|
|
15
14
|
|
|
16
15
|
`REVIEW_GATE=APPROVED|REWORK|ESCALATE`
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate one model-specific review report
|
|
3
|
+
subtask: true
|
|
4
|
+
agent: reviewing
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Review the current task from triage brief for correctness, quality, architecture validity, testing, security, and edge cases.
|
|
8
|
+
|
|
9
|
+
Input format:
|
|
10
|
+
|
|
11
|
+
- Prefix includes model tag as `[MODEL_TAG:<tag>]`
|
|
12
|
+
- Remaining content is optional additional brief context
|
|
13
|
+
|
|
14
|
+
Context brief:
|
|
15
|
+
|
|
16
|
+
$ARGUMENTS
|
|
17
|
+
|
|
18
|
+
Classify findings as critical/high/medium/low and include confidence score.
|
|
19
|
+
|
|
20
|
+
Return a structured review report (no file persistence).
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Run review loop for completed tasks
|
|
3
|
+
subtask: true
|
|
4
|
+
loop:
|
|
5
|
+
max: 10
|
|
6
|
+
until: all tasks in the active batch are approved with confidence >=95 and zero unresolved issues
|
|
7
|
+
return:
|
|
8
|
+
- 'run, replacing arguments with values from $ARGUMENTS: /pipeline/reviewing/triage {model:<COORDINATOR_MODEL> && as:review-brief} $ARGUMENTS'
|
|
9
|
+
- 'run, replacing arguments with values from $ARGUMENTS: /subtask {agent:general && model:<REVIEWER_MODEL> && as:review-reviewer} /pipeline/reviewing/review [MODEL_TAG:reviewer] $RESULT[review-brief]'
|
|
10
|
+
- 'run, replacing arguments with values from $ARGUMENTS: /subtask {agent:general && model:<ARCHITECT_MODEL> && as:review-architect} /pipeline/reviewing/review [MODEL_TAG:architect] $RESULT[review-brief]'
|
|
11
|
+
- 'run, replacing arguments with values from $ARGUMENTS: /subtask {agent:general && model:<DEVELOPER_MODEL> && as:review-developer} /pipeline/reviewing/review [MODEL_TAG:developer] $RESULT[review-brief]'
|
|
12
|
+
- 'run, replacing arguments with values from $ARGUMENTS: /pipeline/reviewing/synthesize {model:<COORDINATOR_MODEL> && as:review-synthesis} $RESULT[review-reviewer] $RESULT[review-architect] $RESULT[review-developer]'
|
|
13
|
+
- 'run, replacing arguments with values from $ARGUMENTS: /pipeline/reviewing/gate {model:<COORDINATOR_MODEL>} $RESULT[review-synthesis]'
|
|
14
|
+
- If REVIEW_GATE=REWORK, run, replacing arguments with values from $ARGUMENTS: /subtask {agent:general && model:<DEVELOPER_MODEL>} /pipeline/building/implement-batch $RESULT[review-synthesis]
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
Execute the review loop for the current completed tasks/rework report.
|
|
18
|
+
|
|
19
|
+
Stop criteria:
|
|
20
|
+
|
|
21
|
+
- approve when `>=95` confidence and zero unresolved issues
|
|
22
|
+
- continue loop while unresolved issues exist and iteration < 10
|
|
23
|
+
- escalate to user when iteration reaches 10 without approval
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Synthesize independent reviews into one report
|
|
3
3
|
subtask: true
|
|
4
|
-
agent:
|
|
5
|
-
model: openai/gpt-5.4
|
|
4
|
+
agent: reviewing
|
|
6
5
|
---
|
|
7
6
|
|
|
8
|
-
Read the
|
|
7
|
+
Read the three review inputs passed in `$ARGUMENTS` (reviewer, architect, developer) and synthesize a single authoritative output.
|
|
9
8
|
|
|
10
9
|
Required output:
|
|
11
10
|
|
|
@@ -15,4 +14,4 @@ Required output:
|
|
|
15
14
|
4. verdict `APPROVED` or `REWORK_REQUIRED`
|
|
16
15
|
5. explicit rework instructions when needed
|
|
17
16
|
|
|
18
|
-
|
|
17
|
+
Return a structured synthesis report (no file persistence).
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Build review brief from implementation outputs
|
|
3
3
|
subtask: true
|
|
4
|
-
agent:
|
|
5
|
-
model: openai/gpt-5.4
|
|
4
|
+
agent: reviewing
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
Prepare a review brief for the current completed task or rework output.
|
|
@@ -13,4 +12,4 @@ Include:
|
|
|
13
12
|
- files changed
|
|
14
13
|
- focus areas and risk points
|
|
15
14
|
|
|
16
|
-
|
|
15
|
+
Return a structured `REVIEW_BRIEF` output (no file persistence).
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Pipeline workflow entrypoint
|
|
3
|
+
subtask: true
|
|
4
|
+
return:
|
|
5
|
+
- 'run, replacing arguments with values from $ARGUMENTS: /pipeline/planning/run {model:<COORDINATOR_MODEL> && as:planning-phase && loop:5 && until:planning gate is APPROVED or planning gate is BLOCKED and waiting for user confirmation} $ARGUMENTS'
|
|
6
|
+
- If planning is BLOCKED or loop max was reached, stop and ask the user whether to continue planning iterations. Otherwise continue.
|
|
7
|
+
- 'run, replacing arguments with values from $ARGUMENTS: /pipeline/building/run {model:<COORDINATOR_MODEL> && as:build-phase} $RESULT[planning-phase] COORDINATOR_MODEL=<COORDINATOR_MODEL> DEVELOPER_MODEL=<DEVELOPER_MODEL> ARCHITECT_MODEL=<ARCHITECT_MODEL> REVIEWER_MODEL=<REVIEWER_MODEL> DOCUMENTATION_REVIEWER_MODEL=<DOCUMENTATION_REVIEWER_MODEL>'
|
|
8
|
+
- 'run, replacing arguments with values from $ARGUMENTS: /pipeline/documentation/run {model:<COORDINATOR_MODEL>} $RESULT[build-phase] COORDINATOR_MODEL=<COORDINATOR_MODEL> DEVELOPER_MODEL=<DEVELOPER_MODEL> ARCHITECT_MODEL=<ARCHITECT_MODEL> REVIEWER_MODEL=<REVIEWER_MODEL> DOCUMENTATION_REVIEWER_MODEL=<DOCUMENTATION_REVIEWER_MODEL>'
|
|
9
|
+
- 'run, replacing arguments with values from $ARGUMENTS: /pipeline/complete {model:<COORDINATOR_MODEL>}'
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Start the deterministic Feature Factory pipeline with this requirements brief:
|
|
13
|
+
|
|
14
|
+
$ARGUMENTS
|
|
15
|
+
|
|
16
|
+
Optional runtime model inputs (recommended):
|
|
17
|
+
|
|
18
|
+
- `COORDINATOR_MODEL=<provider/model>`
|
|
19
|
+
- `DEVELOPER_MODEL=<provider/model>`
|
|
20
|
+
- `ARCHITECT_MODEL=<provider/model>`
|
|
21
|
+
- `REVIEWER_MODEL=<provider/model>`
|
|
22
|
+
- `DOCUMENTATION_REVIEWER_MODEL=<provider/model>`
|
|
23
|
+
|
|
24
|
+
Execution requirements:
|
|
25
|
+
|
|
26
|
+
1. Use `{as:name}` and `$RESULT[name]` for phase-to-phase handoff.
|
|
27
|
+
2. Avoid file persistence for intermediate artifacts unless a command explicitly requires audit snapshots.
|
|
28
|
+
3. Use command chaining, parallel fan-out, and loop gates from the `/pipeline/...` command tree.
|
|
29
|
+
4. Do not skip planning, review, and documentation gates.
|
package/dist/index.d.ts
CHANGED
|
@@ -3,8 +3,7 @@ import type { Plugin } from '@opencode-ai/plugin';
|
|
|
3
3
|
* Feature Factory Plugin
|
|
4
4
|
*
|
|
5
5
|
* Provides quality gate checks when the agent becomes idle after editing files,
|
|
6
|
-
* plus
|
|
7
|
-
* planning, and file operations.
|
|
6
|
+
* plus quality and orchestration hooks.
|
|
8
7
|
*/
|
|
9
8
|
export declare const FeatureFactoryPlugin: Plugin;
|
|
10
9
|
export type { QualityGateConfig, CommandStep, StepResult, SessionState, PackageManager, } from './types.js';
|
package/dist/index.js
CHANGED
|
@@ -3,33 +3,11 @@ import { updateMCPConfig } from './mcp-config.js';
|
|
|
3
3
|
import { updateAgentConfig } from './agent-config.js';
|
|
4
4
|
import { updatePluginConfig } from './plugin-config.js';
|
|
5
5
|
import { $ } from 'bun';
|
|
6
|
-
// Import tool creator functions
|
|
7
|
-
import { createFFAgentsCurrentTool } from './plugins/ff-agents-current-plugin.js';
|
|
8
|
-
import { createFFAgentsShowTool } from './plugins/ff-agents-show-plugin.js';
|
|
9
|
-
import { createFFAgentsClearTool } from './plugins/ff-agents-clear-plugin.js';
|
|
10
|
-
import { createFFPlanCreateTool } from './plugins/ff-plan-create-plugin.js';
|
|
11
|
-
import { createFFPlanUpdateTool } from './plugins/ff-plan-update-plugin.js';
|
|
12
|
-
import { createFFAgentContextCreateTool } from './plugins/ff-agent-context-create-plugin.js';
|
|
13
|
-
import { createFFAgentContextUpdateTool } from './plugins/ff-agent-context-update-plugin.js';
|
|
14
|
-
import { createFFReviewCreateTool } from './plugins/ff-review-create-plugin.js';
|
|
15
|
-
// File management tools
|
|
16
|
-
import { createFFAgentsGetTool } from './plugins/ff-agents-get-plugin.js';
|
|
17
|
-
import { createFFAgentsUpdateTool } from './plugins/ff-agents-update-plugin.js';
|
|
18
|
-
import { createFFAgentsDeleteTool } from './plugins/ff-agents-delete-plugin.js';
|
|
19
|
-
import { createFFAgentsListTool } from './plugins/ff-agents-list-plugin.js';
|
|
20
|
-
import { createFFPlansGetTool } from './plugins/ff-plans-get-plugin.js';
|
|
21
|
-
import { createFFPlansUpdateTool } from './plugins/ff-plans-update-plugin.js';
|
|
22
|
-
import { createFFPlansDeleteTool } from './plugins/ff-plans-delete-plugin.js';
|
|
23
|
-
import { createFFPlansListTool } from './plugins/ff-plans-list-plugin.js';
|
|
24
|
-
import { createFFReviewsGetTool } from './plugins/ff-reviews-get-plugin.js';
|
|
25
|
-
import { createFFReviewsUpdateTool } from './plugins/ff-reviews-update-plugin.js';
|
|
26
|
-
import { createFFReviewsListTool } from './plugins/ff-reviews-list-plugin.js';
|
|
27
6
|
/**
|
|
28
7
|
* Feature Factory Plugin
|
|
29
8
|
*
|
|
30
9
|
* Provides quality gate checks when the agent becomes idle after editing files,
|
|
31
|
-
* plus
|
|
32
|
-
* planning, and file operations.
|
|
10
|
+
* plus quality and orchestration hooks.
|
|
33
11
|
*/
|
|
34
12
|
export const FeatureFactoryPlugin = async (input) => {
|
|
35
13
|
const { directory } = input;
|
|
@@ -64,35 +42,8 @@ export const FeatureFactoryPlugin = async (input) => {
|
|
|
64
42
|
}
|
|
65
43
|
// Load hooks from the quality gate plugin
|
|
66
44
|
const qualityGateHooks = await StopQualityGateHooksPlugin(input).catch(() => ({}));
|
|
67
|
-
//
|
|
68
|
-
const tools = {
|
|
69
|
-
// Agent management tools
|
|
70
|
-
'ff-agents-current': createFFAgentsCurrentTool(),
|
|
71
|
-
'ff-agents-show': createFFAgentsShowTool(),
|
|
72
|
-
'ff-agents-clear': createFFAgentsClearTool(),
|
|
73
|
-
// Plan tools
|
|
74
|
-
'ff-plan-create': createFFPlanCreateTool(),
|
|
75
|
-
'ff-plan-update': createFFPlanUpdateTool(),
|
|
76
|
-
// Agent context tools
|
|
77
|
-
'ff-agent-context-create': createFFAgentContextCreateTool(),
|
|
78
|
-
'ff-agent-context-update': createFFAgentContextUpdateTool(),
|
|
79
|
-
// Review tools
|
|
80
|
-
'ff-review-create': createFFReviewCreateTool(),
|
|
81
|
-
// File management - agents
|
|
82
|
-
'ff-agents-get': createFFAgentsGetTool(),
|
|
83
|
-
'ff-agents-update': createFFAgentsUpdateTool(),
|
|
84
|
-
'ff-agents-delete': createFFAgentsDeleteTool(),
|
|
85
|
-
'ff-agents-list': createFFAgentsListTool(),
|
|
86
|
-
// File management - plans
|
|
87
|
-
'ff-plans-get': createFFPlansGetTool(),
|
|
88
|
-
'ff-plans-update': createFFPlansUpdateTool(),
|
|
89
|
-
'ff-plans-delete': createFFPlansDeleteTool(),
|
|
90
|
-
'ff-plans-list': createFFPlansListTool(),
|
|
91
|
-
// File management - reviews
|
|
92
|
-
'ff-reviews-get': createFFReviewsGetTool(),
|
|
93
|
-
'ff-reviews-update': createFFReviewsUpdateTool(),
|
|
94
|
-
'ff-reviews-list': createFFReviewsListTool(),
|
|
95
|
-
};
|
|
45
|
+
// Tool registry intentionally empty after hard removal of ff-* artifact tools.
|
|
46
|
+
const tools = {};
|
|
96
47
|
// Return combined hooks and tools
|
|
97
48
|
return {
|
|
98
49
|
...qualityGateHooks,
|
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.6.
|
|
4
|
+
"version": "0.6.10",
|
|
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",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"assets",
|
|
16
16
|
"skills",
|
|
17
17
|
"agents",
|
|
18
|
-
"
|
|
18
|
+
"command",
|
|
19
19
|
"bin"
|
|
20
20
|
],
|
|
21
21
|
"keywords": [
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ff-reviewing-architecture
|
|
3
|
+
description: Architecture validation checklist for @reviewing using Well-Architected principles.
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: opencode
|
|
6
|
+
metadata:
|
|
7
|
+
audience: agents
|
|
8
|
+
category: architecture
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Reviewing Architecture Skill
|
|
12
|
+
|
|
13
|
+
Use this skill when `@reviewing` evaluates architectural quality and system-level trade-offs.
|
|
14
|
+
|
|
15
|
+
## Focus Areas
|
|
16
|
+
|
|
17
|
+
- Operational excellence (observability, operability, change safety)
|
|
18
|
+
- Security posture at architecture boundaries
|
|
19
|
+
- Reliability (fault handling, retries, idempotency, recovery)
|
|
20
|
+
- Performance efficiency and cost-awareness
|
|
21
|
+
|
|
22
|
+
## Checklist
|
|
23
|
+
|
|
24
|
+
1. Validate interfaces/contracts are explicit and stable.
|
|
25
|
+
2. Check resilience patterns at boundaries (timeouts, retries, fallbacks).
|
|
26
|
+
3. Review coupling/cohesion and blast-radius risks.
|
|
27
|
+
4. Identify scaling/performance bottlenecks from design choices.
|
|
28
|
+
5. Capture pragmatic improvements with risk/effort trade-offs.
|
|
29
|
+
|
|
30
|
+
## Output Expectations
|
|
31
|
+
|
|
32
|
+
- Tie architecture concerns to user/system impact.
|
|
33
|
+
- Prefer incremental remediations over broad rewrites.
|
|
34
|
+
- Mark blockers vs improvements clearly.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ff-reviewing-code-quality
|
|
3
|
+
description: Code-quality review checklist for @reviewing. Use for correctness, maintainability, and test coverage validation.
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: opencode
|
|
6
|
+
metadata:
|
|
7
|
+
audience: agents
|
|
8
|
+
category: validation
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Reviewing Code Quality Skill
|
|
12
|
+
|
|
13
|
+
Use this skill when `@reviewing` is validating implementation quality.
|
|
14
|
+
|
|
15
|
+
## Focus Areas
|
|
16
|
+
|
|
17
|
+
- Correctness of control flow and data handling
|
|
18
|
+
- Error handling and edge-case coverage
|
|
19
|
+
- Test adequacy and meaningful assertions
|
|
20
|
+
- Readability, maintainability, and consistency with repository patterns
|
|
21
|
+
|
|
22
|
+
## Checklist
|
|
23
|
+
|
|
24
|
+
1. Confirm changed behavior matches stated requirements.
|
|
25
|
+
2. Verify failure paths are handled explicitly.
|
|
26
|
+
3. Check tests cover core success and failure scenarios.
|
|
27
|
+
4. Flag brittle or duplicated logic with concrete recommendations.
|
|
28
|
+
5. Record findings with severity and confidence.
|
|
29
|
+
|
|
30
|
+
## Output Expectations
|
|
31
|
+
|
|
32
|
+
- Cite concrete file/path evidence.
|
|
33
|
+
- Provide actionable fixes, not generic advice.
|
|
34
|
+
- Distinguish blocking vs non-blocking issues.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ff-reviewing-documentation
|
|
3
|
+
description: Documentation validation checklist for @reviewing. Use for accuracy, completeness, and repository consistency checks.
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: opencode
|
|
6
|
+
metadata:
|
|
7
|
+
audience: agents
|
|
8
|
+
category: documentation
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Reviewing Documentation Skill
|
|
12
|
+
|
|
13
|
+
Use this skill when `@reviewing` validates documentation-stage outputs.
|
|
14
|
+
|
|
15
|
+
## Focus Areas
|
|
16
|
+
|
|
17
|
+
- Behavioral accuracy versus current implementation
|
|
18
|
+
- Completeness of changed workflows/commands/operational steps
|
|
19
|
+
- Consistency across docs and command references
|
|
20
|
+
- Removal of stale or deprecated references
|
|
21
|
+
|
|
22
|
+
## Checklist
|
|
23
|
+
|
|
24
|
+
1. Verify docs match shipped behavior and command names.
|
|
25
|
+
2. Confirm all impacted docs are updated (not just one file).
|
|
26
|
+
3. Identify stale references and contradictory guidance.
|
|
27
|
+
4. Require explicit rework instructions for unresolved gaps.
|
|
28
|
+
5. Return verdict `APPROVED` or `REWORK_REQUIRED` with confidence.
|
|
29
|
+
|
|
30
|
+
## Output Expectations
|
|
31
|
+
|
|
32
|
+
- Cite exact doc paths/sections with issues.
|
|
33
|
+
- Provide direct replacement wording where possible.
|
|
34
|
+
- Keep verdict binary and actionable.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ff-reviewing-security
|
|
3
|
+
description: Security validation checklist for @reviewing. Use for auth, input handling, secret safety, and abuse-path review.
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: opencode
|
|
6
|
+
metadata:
|
|
7
|
+
audience: agents
|
|
8
|
+
category: security
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Reviewing Security Skill
|
|
12
|
+
|
|
13
|
+
Use this skill when `@reviewing` performs security-focused validation.
|
|
14
|
+
|
|
15
|
+
## Focus Areas
|
|
16
|
+
|
|
17
|
+
- Authentication and authorization boundaries
|
|
18
|
+
- Input validation, sanitization, and injection risks
|
|
19
|
+
- Secret handling and sensitive data exposure
|
|
20
|
+
- Unsafe defaults, missing guards, and privilege escalation paths
|
|
21
|
+
|
|
22
|
+
## Checklist
|
|
23
|
+
|
|
24
|
+
1. Verify auth checks exist at all protected boundaries.
|
|
25
|
+
2. Validate untrusted input handling across request/data paths.
|
|
26
|
+
3. Confirm secrets/tokens are not logged, committed, or leaked.
|
|
27
|
+
4. Check dangerous operations have explicit safeguards.
|
|
28
|
+
5. Classify exploitability and business impact clearly.
|
|
29
|
+
|
|
30
|
+
## Output Expectations
|
|
31
|
+
|
|
32
|
+
- Include exploit scenario or abuse path when possible.
|
|
33
|
+
- Mark critical/high findings with exact remediation steps.
|
|
34
|
+
- Note confidence and unknowns explicitly.
|