opencode-agile-agent 1.2.0 → 1.2.1

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.
Files changed (65) hide show
  1. package/README.md +75 -12
  2. package/bin/cli.js +179 -25
  3. package/bin/validate-templates.js +17 -17
  4. package/package.json +1 -1
  5. package/templates/.opencode/ARCHITECTURE.md +90 -66
  6. package/templates/.opencode/README.md +107 -65
  7. package/templates/.opencode/agents/archiver.md +45 -0
  8. package/templates/.opencode/agents/backend-specialist.md +11 -23
  9. package/templates/.opencode/agents/context-gatherer.md +18 -29
  10. package/templates/.opencode/agents/debugger.md +12 -21
  11. package/templates/.opencode/agents/developer.md +22 -26
  12. package/templates/.opencode/agents/devops-engineer.md +10 -21
  13. package/templates/.opencode/agents/feature-lead.md +53 -34
  14. package/templates/.opencode/agents/frontend-specialist.md +12 -22
  15. package/templates/.opencode/agents/performance-optimizer.md +12 -21
  16. package/templates/.opencode/agents/pr-reviewer.md +17 -34
  17. package/templates/.opencode/agents/project-planner.md +9 -22
  18. package/templates/.opencode/agents/retrospective-writer.md +48 -0
  19. package/templates/.opencode/agents/security-auditor.md +9 -22
  20. package/templates/.opencode/agents/system-analyst.md +16 -25
  21. package/templates/.opencode/agents/test-engineer.md +14 -21
  22. package/templates/.opencode/bun.lock +18 -0
  23. package/templates/.opencode/commands/archive.md +15 -0
  24. package/templates/.opencode/commands/assign-models.md +39 -0
  25. package/templates/.opencode/commands/brainstorm.md +5 -2
  26. package/templates/.opencode/commands/{progress.md → check-progress.md} +2 -1
  27. package/templates/.opencode/commands/create.md +8 -3
  28. package/templates/.opencode/commands/plan.md +6 -1
  29. package/templates/.opencode/commands/review.md +9 -3
  30. package/templates/.opencode/commands/status.md +3 -0
  31. package/templates/.opencode/commands/test.md +8 -3
  32. package/templates/.opencode/config.template.json +116 -20
  33. package/templates/.opencode/package.json +6 -0
  34. package/templates/.opencode/plugins/session-artifacts.ts +611 -0
  35. package/templates/.opencode/skills/archive-writing/SKILL.md +36 -0
  36. package/templates/.opencode/skills/artifact-discipline/SKILL.md +30 -0
  37. package/templates/.opencode/skills/clarify-first/SKILL.md +34 -0
  38. package/templates/.opencode/skills/context-archive/SKILL.md +10 -26
  39. package/templates/.opencode/skills/context-gathering/SKILL.md +2 -0
  40. package/templates/.opencode/skills/intelligent-routing/SKILL.md +10 -2
  41. package/templates/.opencode/templates/brief.template.md +10 -5
  42. package/templates/.opencode/templates/notes.template.md +4 -4
  43. package/templates/.opencode/templates/review-summary.template.md +6 -0
  44. package/templates/.opencode/templates/session-summary.template.md +7 -0
  45. package/templates/.opencode/templates/spec.template.md +6 -6
  46. package/templates/.opencode/templates/status.template.yaml +12 -12
  47. package/templates/.opencode/templates/task.template.md +3 -11
  48. package/templates/opencode.json +12 -0
  49. package/templates/.opencode/agents/api-designer.md +0 -54
  50. package/templates/.opencode/agents/code-archaeologist.md +0 -54
  51. package/templates/.opencode/agents/database-architect.md +0 -54
  52. package/templates/.opencode/agents/documentation-writer.md +0 -52
  53. package/templates/.opencode/agents/explorer-agent.md +0 -61
  54. package/templates/.opencode/agents/feature-loop.md +0 -100
  55. package/templates/.opencode/agents/game-developer.md +0 -53
  56. package/templates/.opencode/agents/mobile-developer.md +0 -54
  57. package/templates/.opencode/agents/orchestrator.md +0 -60
  58. package/templates/.opencode/agents/penetration-tester.md +0 -53
  59. package/templates/.opencode/agents/product-manager.md +0 -55
  60. package/templates/.opencode/agents/qa-automation-engineer.md +0 -55
  61. package/templates/.opencode/agents/seo-specialist.md +0 -54
  62. package/templates/.opencode/archive/README.md +0 -24
  63. package/templates/.opencode/commands/debug.md +0 -10
  64. package/templates/.opencode/skills/parallel-agents/SKILL.md +0 -38
  65. package/templates/.opencode/skills/redteam-validation/SKILL.md +0 -33
@@ -3,8 +3,11 @@ description: Explore options in a back-and-forth discussion before planning.
3
3
  agent: feature-lead
4
4
  ---
5
5
 
6
+ Call `session_artifact_current` first.
7
+ If there is no active feature yet, choose a short feature slug and treat this stage as candidate state only.
6
8
  Start with @context-gatherer.
7
- Use @product-manager to frame the problem.
8
9
  Use @project-planner and @explorer-agent to gather constraints and options.
9
10
  Ask the involved agents to present the best default, the tradeoffs, and the open questions.
10
- Return one recommended path and the compact context bundle: brief.md, spec.md, task.md, notes.md, and status.yaml.
11
+ Do not create the full planning bundle here unless the user explicitly asks for it.
12
+ Before finishing, call `session_artifact_update` to record the recommended path, open questions, next step, and stage `brainstorm`.
13
+ Return one recommended path, the key tradeoffs, the open questions, and the clearest next step into `plan`.
@@ -4,8 +4,9 @@ agent: feature-lead
4
4
  ---
5
5
 
6
6
  Start with @context-gatherer.
7
+ Call `session_artifact_current` first.
7
8
  Read `status.yaml` first as the live execution source of truth.
8
- Treat `status.yaml.status` as one of: `active`, `blocked`, `review`, `done`.
9
+ Treat `status.yaml.status` as one of: `brainstorm`, `planning`, `implementation`, `verification`, `review`, `done`, `blocked`.
9
10
  Then inspect the current working state and reconcile `status.yaml` with git-aware evidence: status, diff summary, staged vs unstaged changes, and recent commits if useful.
10
11
  If `status.yaml` and repo evidence disagree, call out the mismatch explicitly.
11
12
  Summarize the work in this format:
@@ -3,9 +3,14 @@ description: Build new features, components, or project slices with a spec-drive
3
3
  agent: feature-lead
4
4
  ---
5
5
 
6
+ Call `session_artifact_current` first.
7
+ Call `session_artifact_handoff` for `developer` before delegating.
8
+ Call `session_artifact_acceptance_criteria` when the implementation target needs a tight contract.
6
9
  Start with @context-gatherer.
7
- Use @system-analyst to refresh the compact context bundle: brief.md, spec.md, task.md, notes.md, and status.yaml.
10
+ Read the approved compact context bundle first: brief.md, spec.md, task.md, notes.md, and status.yaml.
11
+ If the bundle is missing or materially unclear, stop and use `plan` before implementation.
8
12
  Hand implementation to @developer.
9
- If the work touches sensitive paths, add @security-auditor and @penetration-tester before approval.
13
+ Call `session_artifact_update` to set stage `implementation`, the current owner, files of interest, and next step.
14
+ If the work touches sensitive paths, add @security-auditor before approval.
10
15
  Close the loop with @test-engineer and @pr-reviewer.
11
- Archive the approved bundle in `.opencode/archive/<feature-slug>/`.
16
+ If the work is approved, use the `archive` command to preserve the finished bundle.
@@ -3,7 +3,12 @@ description: Create structured task breakdowns and spec artifacts.
3
3
  agent: feature-lead
4
4
  ---
5
5
 
6
+ Call `session_artifact_current` first.
7
+ Promote the active feature into planning state if it is still in brainstorm state.
6
8
  Start with @context-gatherer.
9
+ Call `session_artifact_handoff` for `system-analyst` before delegating.
7
10
  Use @project-planner to break the work into atomic tasks.
8
11
  Use @system-analyst to write brief.md, spec.md, task.md, notes.md, and status.yaml.
9
- Return the ordered plan, dependencies, and exit criteria.
12
+ Call `session_artifact_update` to set stage `planning`, owner, handoff target, approved scope, risks, and next step.
13
+ If the `submit_plan` tool is available, call it with the final plan markdown before returning. If the plan is denied, incorporate the feedback and resubmit.
14
+ Return the ordered plan, dependencies, exit criteria, and the approval result (approved/changes requested).
@@ -3,9 +3,15 @@ description: Review code against the spec, standards, and quality gates.
3
3
  agent: feature-lead
4
4
  ---
5
5
 
6
+ Call `session_artifact_current` first.
7
+ Call `session_artifact_handoff` for `pr-reviewer` before delegating.
8
+ Call `session_artifact_review_packet` before review so the reviewer can compare code against the approved scope without reloading the full bundle.
9
+ Call `session_artifact_repo_delta` before review and flag any mismatch between artifact state and git state.
6
10
  Start with @context-gatherer.
7
- If the change touches sensitive paths, insert @security-auditor first and use @penetration-tester for the redteam phase when needed.
8
- Hand the change to @pr-reviewer.
11
+ Read the approved bundle and current `status.yaml` first.
12
+ If the change touches sensitive paths, insert @security-auditor first.
13
+ Hand the change to @pr-reviewer to compare implementation against the approved spec, task scope, and quality gates.
9
14
  If changes are requested, loop back to @developer.
10
- Archive the approved bundle in `.opencode/archive/<feature-slug>/` after approval.
15
+ Call `session_artifact_update` to set stage `review` and record the review outcome, next owner, and next step.
16
+ If the change is approved, recommend the `archive` command as the next step.
11
17
  Return APPROVED or CHANGES REQUESTED with actionable feedback.
@@ -3,7 +3,10 @@ description: Check project health, docs, and operating readiness.
3
3
  agent: feature-lead
4
4
  ---
5
5
 
6
+ Call `session_artifact_current` first.
7
+ Call `session_artifact_repo_delta` before summarizing status.
6
8
  Start with @context-gatherer.
7
9
  Use @explorer-agent to map the repo and conventions.
8
10
  Use @test-engineer and @devops-engineer when quality signals are needed.
11
+ Reconcile the artifact state with repo evidence. If they disagree, call out the mismatch explicitly.
9
12
  Summarize the health, risks, missing docs, and next step.
@@ -3,8 +3,13 @@ description: Run and generate tests for the codebase.
3
3
  agent: feature-lead
4
4
  ---
5
5
 
6
+ Call `session_artifact_current` first.
7
+ Call `session_artifact_handoff` for `test-engineer` before delegating.
8
+ Call `session_artifact_changed_files` and `session_artifact_acceptance_criteria` before choosing test scope.
6
9
  Start with @context-gatherer.
7
- Use @test-engineer to run or write the right test layer.
8
- Use @qa-automation-engineer when the harness needs work.
10
+ Read the approved bundle and current `status.yaml` first.
11
+ Use @test-engineer to verify the acceptance criteria, changed behavior, and highest-risk nearby paths.
12
+ Load the `cross-model-regression` skill when the user wants a multi-agent regression sweep or cross-model verification.
9
13
  If a bug surfaces, hand the failing case to @developer.
10
- Return the important paths, coverage gaps, and the next verification step.
14
+ Call `session_artifact_update` to set stage `verification`, capture verified scope, failing paths, and the next verification step.
15
+ Return what was verified, any coverage gaps, failing paths, and the next verification step.
@@ -19,29 +19,12 @@
19
19
  "permission": {
20
20
  "task": {
21
21
  "*": "allow",
22
- "security-auditor": "ask",
23
- "penetration-tester": "ask"
24
- }
25
- }
26
- },
27
- "feature-loop": {
28
- "enabled": true,
29
- "model": "primary",
30
- "mode": "primary",
31
- "temperature": 0.3,
32
- "top_p": 0.92,
33
- "steps": 100,
34
- "permission": {
35
- "task": {
36
- "*": "allow",
37
- "security-auditor": "ask",
38
- "penetration-tester": "ask"
22
+ "security-auditor": "ask"
39
23
  }
40
24
  }
41
25
  },
42
26
  "system-analyst": {
43
27
  "enabled": true,
44
- "model": "opencode-go/kimi-k2.5",
45
28
  "mode": "subagent",
46
29
  "temperature": 0.1,
47
30
  "top_p": 0.85,
@@ -59,9 +42,36 @@
59
42
  "bash": false
60
43
  }
61
44
  },
45
+ "context-gatherer": {
46
+ "enabled": true,
47
+ "mode": "subagent",
48
+ "temperature": 0.1,
49
+ "top_p": 0.8,
50
+ "steps": 20
51
+ },
52
+ "project-planner": {
53
+ "enabled": true,
54
+ "mode": "subagent",
55
+ "temperature": 0.2,
56
+ "top_p": 0.85,
57
+ "steps": 35
58
+ },
59
+ "explorer-agent": {
60
+ "enabled": true,
61
+ "mode": "subagent",
62
+ "temperature": 0.1,
63
+ "top_p": 0.75,
64
+ "steps": 25
65
+ },
66
+ "archiver": {
67
+ "enabled": true,
68
+ "mode": "subagent",
69
+ "temperature": 0.1,
70
+ "top_p": 0.82,
71
+ "steps": 30
72
+ },
62
73
  "developer": {
63
74
  "enabled": true,
64
- "model": "github-copilot/gpt-5.1-codex-mini",
65
75
  "mode": "subagent",
66
76
  "temperature": 0.2,
67
77
  "top_p": 0.9,
@@ -79,9 +89,46 @@
79
89
  "bash": true
80
90
  }
81
91
  },
92
+ "backend-specialist": {
93
+ "enabled": true,
94
+ "mode": "subagent",
95
+ "temperature": 0.25,
96
+ "top_p": 0.9,
97
+ "steps": 80
98
+ },
99
+ "frontend-specialist": {
100
+ "enabled": true,
101
+ "mode": "subagent",
102
+ "temperature": 0.25,
103
+ "top_p": 0.9,
104
+ "steps": 70
105
+ },
106
+ "devops-engineer": {
107
+ "enabled": true,
108
+ "mode": "subagent",
109
+ "temperature": 0.2,
110
+ "top_p": 0.85,
111
+ "steps": 50
112
+ },
113
+ "test-engineer": {
114
+ "enabled": true,
115
+ "mode": "subagent",
116
+ "temperature": 0.15,
117
+ "top_p": 0.82,
118
+ "steps": 60,
119
+ "permission": {
120
+ "task": {
121
+ "*": "deny"
122
+ }
123
+ },
124
+ "tools": {
125
+ "write": true,
126
+ "edit": true,
127
+ "bash": true
128
+ }
129
+ },
82
130
  "pr-reviewer": {
83
131
  "enabled": true,
84
- "model": "github-copilot/claude-haiku-4.5",
85
132
  "mode": "subagent",
86
133
  "temperature": 0.1,
87
134
  "top_p": 0.8,
@@ -96,9 +143,57 @@
96
143
  "edit": false,
97
144
  "bash": false
98
145
  }
146
+ },
147
+ "security-auditor": {
148
+ "enabled": true,
149
+ "mode": "subagent",
150
+ "temperature": 0.1,
151
+ "top_p": 0.85,
152
+ "steps": 45
153
+ },
154
+ "debugger": {
155
+ "enabled": true,
156
+ "model": "primary",
157
+ "mode": "subagent",
158
+ "temperature": 0.15,
159
+ "top_p": 0.85,
160
+ "steps": 60,
161
+ "permission": {
162
+ "task": {
163
+ "*": "deny"
164
+ }
165
+ },
166
+ "tools": {
167
+ "write": true,
168
+ "edit": true,
169
+ "bash": true
170
+ }
171
+ },
172
+ "performance-optimizer": {
173
+ "enabled": true,
174
+ "mode": "subagent",
175
+ "temperature": 0.2,
176
+ "top_p": 0.88,
177
+ "steps": 60,
178
+ "permission": {
179
+ "task": {
180
+ "*": "deny"
181
+ }
182
+ },
183
+ "tools": {
184
+ "write": true,
185
+ "edit": true,
186
+ "bash": true
187
+ }
99
188
  }
100
189
  },
101
190
  "plugins": {
191
+ "sessionArtifacts": {
192
+ "enabled": true,
193
+ "candidateStage": "brainstorm",
194
+ "archiveCommand": "archive",
195
+ "handoffTool": "session_artifact_handoff"
196
+ },
102
197
  "lintFormat": {
103
198
  "enabled": true,
104
199
  "runOnEdit": true,
@@ -160,6 +255,7 @@
160
255
  "agents": ".opencode/agents",
161
256
  "skills": ".opencode/skills",
162
257
  "plugins": ".opencode/plugins",
258
+ "artifacts": ".opencode/artifacts",
163
259
  "templates": ".opencode/templates",
164
260
  "context": "context",
165
261
  "output": "output",
@@ -0,0 +1,6 @@
1
+ {
2
+ "dependencies": {
3
+ "@opencode-ai/plugin": "1.4.3",
4
+ "yaml": "^2.8.0"
5
+ }
6
+ }