amazingteam 3.0.0
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/.ai-team/agents/architect.md +144 -0
- package/.ai-team/agents/ci-analyst.md +188 -0
- package/.ai-team/agents/developer.md +176 -0
- package/.ai-team/agents/planner.md +355 -0
- package/.ai-team/agents/qa.md +189 -0
- package/.ai-team/agents/reviewer.md +211 -0
- package/.ai-team/agents/triage.md +146 -0
- package/.ai-team/commands/ci-analyze.md +116 -0
- package/.ai-team/commands/design.md +100 -0
- package/.ai-team/commands/implement.md +108 -0
- package/.ai-team/commands/release-check.md +142 -0
- package/.ai-team/commands/review.md +142 -0
- package/.ai-team/commands/test.md +115 -0
- package/.ai-team/commands/triage.md +138 -0
- package/.ai-team/memory/architect/architecture_notes.md +67 -0
- package/.ai-team/memory/architect/design_rationale.md +113 -0
- package/.ai-team/memory/architect/module_map.md +84 -0
- package/.ai-team/memory/ci-analyst/failure_patterns.md +102 -0
- package/.ai-team/memory/ci-analyst/runbook_references.md +87 -0
- package/.ai-team/memory/developer/bug_investigation.md +102 -0
- package/.ai-team/memory/developer/build_issues.md +115 -0
- package/.ai-team/memory/developer/implementation_notes.md +83 -0
- package/.ai-team/memory/failures/failure_library.md +103 -0
- package/.ai-team/memory/planner/decomposition_notes.md +82 -0
- package/.ai-team/memory/planner/flow_rules.md +86 -0
- package/.ai-team/memory/planner/github_issue_patterns.md +229 -0
- package/.ai-team/memory/qa/regression_cases.md +101 -0
- package/.ai-team/memory/qa/test_strategy.md +138 -0
- package/.ai-team/memory/qa/validation_notes.md +110 -0
- package/.ai-team/memory/reviewer/quality_rules.md +105 -0
- package/.ai-team/memory/reviewer/recurring_risks.md +109 -0
- package/.ai-team/memory/reviewer/review_notes.md +124 -0
- package/.ai-team/memory/triage/classification_heuristics.md +82 -0
- package/.ai-team/memory/triage/debug_notes.md +87 -0
- package/.ai-team/opencode.template.jsonc +216 -0
- package/.ai-team/skills/bugfix-playbook/skill.md +174 -0
- package/.ai-team/skills/ci-failure-analysis/skill.md +176 -0
- package/.ai-team/skills/issue-triage/skill.md +163 -0
- package/.ai-team/skills/regression-checklist/skill.md +176 -0
- package/.ai-team/skills/release-readiness-check/skill.md +216 -0
- package/.ai-team/skills/repo-architecture-reader/skill.md +139 -0
- package/.ai-team/skills/safe-refactor-checklist/skill.md +215 -0
- package/.ai-team/skills/task-breakdown-and-dispatch/skill.md +151 -0
- package/.ai-team/skills/test-first-feature-dev/skill.md +205 -0
- package/.ai-team/workflows/ci.yml +81 -0
- package/.ai-team/workflows/nightly-ai-maintenance.yml +129 -0
- package/.ai-team/workflows/opencode.yml +33 -0
- package/.ai-team/workflows/pr-check.yml +41 -0
- package/.foundation/foundation.lock +38 -0
- package/.foundation/local-overrides.md +97 -0
- package/.foundation/upgrade-history.md +38 -0
- package/.opencode/agents/architect.md +38 -0
- package/.opencode/agents/ci-analyst.md +38 -0
- package/.opencode/agents/developer.md +43 -0
- package/.opencode/agents/planner.md +47 -0
- package/.opencode/agents/qa.md +34 -0
- package/.opencode/agents/reviewer.md +38 -0
- package/.opencode/agents/triage.md +37 -0
- package/.opencode/commands/auto.md +264 -0
- package/.opencode/commands/breakdown-issue.md +94 -0
- package/.opencode/commands/ci-analyze.md +15 -0
- package/.opencode/commands/close-parent-task.md +122 -0
- package/.opencode/commands/design.md +15 -0
- package/.opencode/commands/dispatch-next.md +102 -0
- package/.opencode/commands/implement.md +16 -0
- package/.opencode/commands/release-check.md +16 -0
- package/.opencode/commands/resume.md +88 -0
- package/.opencode/commands/review.md +15 -0
- package/.opencode/commands/show-blockers.md +97 -0
- package/.opencode/commands/summarize-parent.md +121 -0
- package/.opencode/commands/test.md +15 -0
- package/.opencode/commands/triage.md +109 -0
- package/.opencode/skills/bugfix-playbook/SKILL.md +81 -0
- package/.opencode/skills/ci-failure-analysis/SKILL.md +94 -0
- package/.opencode/skills/issue-triage/SKILL.md +80 -0
- package/.opencode/skills/regression-checklist/SKILL.md +81 -0
- package/.opencode/skills/release-readiness-check/SKILL.md +81 -0
- package/.opencode/skills/repo-architecture-reader/SKILL.md +65 -0
- package/.opencode/skills/safe-refactor-checklist/SKILL.md +76 -0
- package/.opencode/skills/task-breakdown-and-dispatch/SKILL.md +255 -0
- package/.opencode/skills/test-first-feature-dev/SKILL.md +78 -0
- package/AGENTS.md +879 -0
- package/CHANGELOG.md +261 -0
- package/LICENSE +21 -0
- package/README.md +1215 -0
- package/VERSION +1 -0
- package/action/__tests__/downloader.test.js +251 -0
- package/action/__tests__/merger.test.js +156 -0
- package/action/__tests__/path-resolver.test.js +199 -0
- package/action/__tests__/validator.test.js +310 -0
- package/action/action.yml +61 -0
- package/action/index.js +223 -0
- package/action/lib/downloader.js +344 -0
- package/action/lib/merger.js +170 -0
- package/action/lib/path-resolver.js +176 -0
- package/action/lib/setup.js +286 -0
- package/action/lib/validator.js +324 -0
- package/cli/__tests__/cli.test.js +270 -0
- package/cli/amazingteam.cjs +225 -0
- package/cli/commands/check-update.cjs +159 -0
- package/cli/commands/init.cjs +412 -0
- package/cli/commands/local.cjs +264 -0
- package/cli/commands/migrate.cjs +316 -0
- package/cli/commands/status.cjs +241 -0
- package/cli/commands/upgrade.cjs +213 -0
- package/cli/commands/validate.cjs +259 -0
- package/cli/commands/version.cjs +59 -0
- package/cli/sync.cjs +237 -0
- package/dist/index.js +35 -0
- package/docs/architecture/overview.md +138 -0
- package/docs/blocker_resolution_design.md +372 -0
- package/docs/bootstrap-model.md +356 -0
- package/docs/config-reference.md +458 -0
- package/docs/how-to-use.md +178 -0
- package/docs/migration-to-v3.md +355 -0
- package/docs/overlay-guide.md +156 -0
- package/docs/patterns/README.md +67 -0
- package/docs/quick-start-v3.md +330 -0
- package/docs/releases/README.md +64 -0
- package/docs/runbooks/ci/README.md +62 -0
- package/docs/runbooks/ci/build-debug.md +120 -0
- package/docs/runbooks/ci/flaky-tests.md +127 -0
- package/docs/runbooks/getting-started.md +81 -0
- package/docs/upgrade-policy.md +188 -0
- package/docs/versioning.md +199 -0
- package/overlays/README.md +30 -0
- package/overlays/ai-agent-product/.ai-team/skills/llm-integration/skill.md +99 -0
- package/overlays/ai-agent-product/docs/ai-agent-architecture.md +68 -0
- package/overlays/ai-agent-product/overlay.yaml +26 -0
- package/overlays/cpp-qt-desktop/.ai-team/skills/qt-signals-slots/skill.md +60 -0
- package/overlays/cpp-qt-desktop/docs/qt-conventions.md +64 -0
- package/overlays/cpp-qt-desktop/overlay.yaml +22 -0
- package/overlays/python-backend/.ai-team/skills/python-testing/skill.md +90 -0
- package/overlays/python-backend/docs/python-style.md +78 -0
- package/overlays/python-backend/overlay.yaml +22 -0
- package/overlays/web-fullstack/.ai-team/skills/frontend-testing/skill.md +70 -0
- package/overlays/web-fullstack/docs/frontend-conventions.md +68 -0
- package/overlays/web-fullstack/overlay.yaml +26 -0
- package/package.json +84 -0
- package/presets/default.yaml +161 -0
- package/presets/go.yaml +43 -0
- package/presets/python.yaml +43 -0
- package/presets/typescript.yaml +40 -0
- package/schemas/config.schema.json +239 -0
- package/scripts/diff_foundation_vs_project.sh +134 -0
- package/scripts/generate_docs.sh +200 -0
- package/scripts/init_project.sh +455 -0
- package/scripts/plan_upgrade.sh +268 -0
- package/scripts/upgrade_foundation.sh +365 -0
- package/scripts/validate-foundation.cjs +278 -0
- package/scripts/validate_foundation.sh +192 -0
- package/scripts/validate_project_setup.sh +171 -0
- package/tasks/README.md +94 -0
- package/tasks/_template/analysis.md +76 -0
- package/tasks/_template/design.md +121 -0
- package/tasks/_template/implementation.md +121 -0
- package/tasks/_template/release.md +119 -0
- package/tasks/_template/review.md +131 -0
- package/tasks/_template/subtasks/task.yaml +24 -0
- package/tasks/_template/task.yaml +75 -0
- package/tasks/_template/validation.md +128 -0
- package/templates/amazingteam.yml +81 -0
- package/templates/gitignore +14 -0
- package/templates/opencode.jsonc +216 -0
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Execute full automated workflow from issue to pull request
|
|
3
|
+
agent: planner
|
|
4
|
+
---
|
|
5
|
+
Execute the complete automated workflow: Triage → (Decompose if needed) → Design → Implement → Test → Create PR.
|
|
6
|
+
|
|
7
|
+
## Role
|
|
8
|
+
|
|
9
|
+
You are the **Planner** coordinating this workflow. Your job is to **dispatch to appropriate roles**, not execute all steps yourself.
|
|
10
|
+
|
|
11
|
+
## Workflow Decision Tree
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
┌─────────────┐
|
|
15
|
+
│ Triage │
|
|
16
|
+
│ (Classify) │
|
|
17
|
+
└──────┬──────┘
|
|
18
|
+
│
|
|
19
|
+
┌────────────┴────────────┐
|
|
20
|
+
↓ ↓
|
|
21
|
+
Simple Task Complex Task
|
|
22
|
+
│ │
|
|
23
|
+
│ ▼
|
|
24
|
+
│ ┌──────────────────┐
|
|
25
|
+
│ │ Create Sub-Issues│
|
|
26
|
+
│ │ on GitHub │
|
|
27
|
+
│ └────────┬─────────┘
|
|
28
|
+
│ │
|
|
29
|
+
│ ▼
|
|
30
|
+
│ ┌──────────────────┐
|
|
31
|
+
│ │ For each subtask │
|
|
32
|
+
│ │ (respect deps) │
|
|
33
|
+
│ └────────┬─────────┘
|
|
34
|
+
│ │
|
|
35
|
+
└────────────┬───────────┘
|
|
36
|
+
↓
|
|
37
|
+
┌────────────────────────┐
|
|
38
|
+
│ Design → Implement → │
|
|
39
|
+
│ Test → Create PR │
|
|
40
|
+
└────────────┬───────────┘
|
|
41
|
+
│
|
|
42
|
+
▼
|
|
43
|
+
┌─────────────┐
|
|
44
|
+
│ Human Review│
|
|
45
|
+
│ & Merge │
|
|
46
|
+
└─────────────┘
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Steps
|
|
50
|
+
|
|
51
|
+
### Step 1: Triage (Dispatch to Triage agent)
|
|
52
|
+
- Classify issue type (feature/bug/tech-task)
|
|
53
|
+
- Determine if decomposition is needed
|
|
54
|
+
- Return classification to Planner
|
|
55
|
+
|
|
56
|
+
### Step 2: Decision Point
|
|
57
|
+
|
|
58
|
+
**If NO decomposition needed:**
|
|
59
|
+
- Proceed directly to Step 3
|
|
60
|
+
|
|
61
|
+
**If decomposition needed:**
|
|
62
|
+
1. **Create Sub-Issues on GitHub**
|
|
63
|
+
```bash
|
|
64
|
+
gh issue create --title "[Subtask] Title" --body "..." --label "type:subtask"
|
|
65
|
+
```
|
|
66
|
+
2. **Record dependencies** in parent issue body and local task.yaml
|
|
67
|
+
3. **Execute subtasks one by one** (respecting dependencies)
|
|
68
|
+
4. **Post comment** on parent issue listing all sub-issues
|
|
69
|
+
|
|
70
|
+
### Step 3: Design (Dispatch to Architect agent)
|
|
71
|
+
- Create implementation plan
|
|
72
|
+
- Identify affected modules
|
|
73
|
+
- Document design decisions
|
|
74
|
+
|
|
75
|
+
### Step 4: Implementation (Dispatch to Developer agent)
|
|
76
|
+
- Create branch: `feat/issue-{id}-{description}`
|
|
77
|
+
- Implement changes
|
|
78
|
+
- Write/update tests
|
|
79
|
+
- Run linters
|
|
80
|
+
|
|
81
|
+
### Step 5: Validation (Dispatch to QA agent)
|
|
82
|
+
- Run test suite
|
|
83
|
+
- Verify acceptance criteria
|
|
84
|
+
- Document validation results
|
|
85
|
+
|
|
86
|
+
### Step 6: PR Creation (Dispatch to Developer agent)
|
|
87
|
+
- Create Pull Request
|
|
88
|
+
- Link to original issue (or sub-issue)
|
|
89
|
+
- STOP - wait for human review
|
|
90
|
+
|
|
91
|
+
## GitHub Sub-Issue Creation
|
|
92
|
+
|
|
93
|
+
When decomposition is needed, create sub-issues:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# Configure git identity
|
|
97
|
+
git config user.name "opencode-bot"
|
|
98
|
+
git config user.email "opencode-bot@users.noreply.github.com"
|
|
99
|
+
|
|
100
|
+
# Create sub-issue
|
|
101
|
+
gh issue create \
|
|
102
|
+
--title "[Subtask] Implement authentication API" \
|
|
103
|
+
--body "Parent Issue: #120
|
|
104
|
+
Dependencies: None
|
|
105
|
+
Owner Role: developer
|
|
106
|
+
|
|
107
|
+
Scope:
|
|
108
|
+
- Implement login endpoint
|
|
109
|
+
- Add token validation
|
|
110
|
+
|
|
111
|
+
Acceptance Criteria:
|
|
112
|
+
- [ ] POST /auth/login works
|
|
113
|
+
- [ ] Returns valid JWT token" \
|
|
114
|
+
--label "type:subtask,role:developer"
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Dependency Handling
|
|
118
|
+
|
|
119
|
+
For subtasks with dependencies:
|
|
120
|
+
|
|
121
|
+
```yaml
|
|
122
|
+
# In parent task.yaml
|
|
123
|
+
subtasks:
|
|
124
|
+
- id: issue-120-subtask-01
|
|
125
|
+
github_issue: 201
|
|
126
|
+
title: "[Subtask] Design auth API"
|
|
127
|
+
owner_role: architect
|
|
128
|
+
status: done
|
|
129
|
+
depends_on: []
|
|
130
|
+
|
|
131
|
+
- id: issue-120-subtask-02
|
|
132
|
+
github_issue: 202
|
|
133
|
+
title: "[Subtask] Implement auth API"
|
|
134
|
+
owner_role: developer
|
|
135
|
+
status: pending
|
|
136
|
+
depends_on: [201] # Wait for #201 to complete
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**Execution order:**
|
|
140
|
+
1. Execute #201 first (no dependencies)
|
|
141
|
+
2. After #201's PR is merged, execute #202
|
|
142
|
+
3. Continue until all subtasks done
|
|
143
|
+
4. Close parent issue
|
|
144
|
+
|
|
145
|
+
## Output
|
|
146
|
+
|
|
147
|
+
Post a summary comment:
|
|
148
|
+
|
|
149
|
+
**For simple task:**
|
|
150
|
+
```
|
|
151
|
+
## Workflow Complete
|
|
152
|
+
|
|
153
|
+
- **Classification**: feature (no decomposition)
|
|
154
|
+
- **Pull Request**: #123
|
|
155
|
+
|
|
156
|
+
Ready for human review and merge.
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
**For complex task:**
|
|
160
|
+
```
|
|
161
|
+
## Decomposition Complete
|
|
162
|
+
|
|
163
|
+
- **Parent Issue**: #120
|
|
164
|
+
- **Sub-issues created**: 3
|
|
165
|
+
|
|
166
|
+
| Sub-issue | Role | Status | Depends on |
|
|
167
|
+
|-----------|------|--------|------------|
|
|
168
|
+
| #201 | architect | ready | - |
|
|
169
|
+
| #202 | developer | blocked | #201 |
|
|
170
|
+
| #203 | qa | blocked | #202 |
|
|
171
|
+
|
|
172
|
+
Starting with #201 (Design phase)...
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Sub-issue #201 PR Created
|
|
177
|
+
|
|
178
|
+
- **Pull Request**: #204
|
|
179
|
+
- Ready for human review and merge.
|
|
180
|
+
|
|
181
|
+
After merge, run `/dispatch-next` to continue with #202.
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## Blocker Handling
|
|
185
|
+
|
|
186
|
+
When a blocker is encountered during workflow:
|
|
187
|
+
|
|
188
|
+
### Step 1: Pause and Diagnose
|
|
189
|
+
|
|
190
|
+
```
|
|
191
|
+
## ⚠️ Workflow Blocked
|
|
192
|
+
|
|
193
|
+
- **Phase**: Implementation
|
|
194
|
+
- **Error**: {error_message}
|
|
195
|
+
|
|
196
|
+
Dispatching to CI Analyst for diagnosis...
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Step 2: CI Analyst Diagnosis
|
|
200
|
+
|
|
201
|
+
Dispatch to CI Analyst who determines:
|
|
202
|
+
|
|
203
|
+
| Resolution | Action |
|
|
204
|
+
|------------|--------|
|
|
205
|
+
| Auto-fix now | Fix immediately, continue |
|
|
206
|
+
| Create sub-issue (AI) | Create blocker sub-issue, resolve, resume |
|
|
207
|
+
| Create sub-issue (Human) | Create blocker sub-issue, notify human, wait |
|
|
208
|
+
|
|
209
|
+
### Step 3: Resolution Paths
|
|
210
|
+
|
|
211
|
+
**Path A: Auto-fix**
|
|
212
|
+
```markdown
|
|
213
|
+
## Blocker Auto-Resolved
|
|
214
|
+
|
|
215
|
+
- **Issue**: {description}
|
|
216
|
+
- **Fix Applied**: {fix_description}
|
|
217
|
+
- **Status**: Continuing workflow...
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
**Path B: Sub-issue (AI Resolve)**
|
|
221
|
+
```markdown
|
|
222
|
+
## Blocker Sub-issue Created
|
|
223
|
+
|
|
224
|
+
- **Blocker Issue**: #205 - [Blocker] {title}
|
|
225
|
+
- **Type**: {type}
|
|
226
|
+
- **Resolution**: AI will resolve
|
|
227
|
+
- **Status**: Resolving blocker...
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Blocker Resolved
|
|
232
|
+
|
|
233
|
+
- **Blocker**: #205 ✅
|
|
234
|
+
- **Resume**: Continuing original workflow...
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
**Path C: Human Required**
|
|
238
|
+
```markdown
|
|
239
|
+
## ⚠️ Workflow Blocked - Human Attention Required
|
|
240
|
+
|
|
241
|
+
- **Blocker Issue**: #206 - [Blocker] {title}
|
|
242
|
+
- **Reason**: {why human is needed}
|
|
243
|
+
|
|
244
|
+
### Required Actions
|
|
245
|
+
1. {action_1}
|
|
246
|
+
2. {action_2}
|
|
247
|
+
|
|
248
|
+
### To Resume
|
|
249
|
+
After resolving the blocker, comment:
|
|
250
|
+
```
|
|
251
|
+
/oc /resume
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
*Workflow is paused, waiting for human input.*
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
## Important
|
|
258
|
+
|
|
259
|
+
- **Planner coordinates, does not implement**
|
|
260
|
+
- **Create GitHub sub-issues** when decomposition is needed
|
|
261
|
+
- **Handle blockers gracefully** - diagnose, resolve or escalate
|
|
262
|
+
- **Respect dependencies** - don't start a subtask until its dependencies are merged
|
|
263
|
+
- **AI does NOT merge PRs** - humans review and merge
|
|
264
|
+
- **All changes go through PR** - never direct commits to main
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Decompose a large issue into GitHub sub-issues with dependencies
|
|
3
|
+
agent: planner
|
|
4
|
+
---
|
|
5
|
+
Decompose this issue into explicit GitHub sub-issues following the GitHub Issue-based Planner orchestration model.
|
|
6
|
+
|
|
7
|
+
## Steps
|
|
8
|
+
|
|
9
|
+
### 1. Analyze the Issue
|
|
10
|
+
|
|
11
|
+
Read the issue and answer:
|
|
12
|
+
- What is the core problem?
|
|
13
|
+
- Which modules are affected?
|
|
14
|
+
- Is this a single bounded change or multiple related changes?
|
|
15
|
+
- Are there dependencies between potential subtasks?
|
|
16
|
+
|
|
17
|
+
### 2. Determine Decomposition Need
|
|
18
|
+
|
|
19
|
+
**Decomposition Required if:**
|
|
20
|
+
- Touches multiple modules
|
|
21
|
+
- Requires design before implementation
|
|
22
|
+
- Impacts public interfaces
|
|
23
|
+
- Changes data model, API contract, or protocol
|
|
24
|
+
- Likely needs multiple PRs
|
|
25
|
+
- Contains several distinct implementation steps
|
|
26
|
+
- Requires staged validation
|
|
27
|
+
|
|
28
|
+
**No Decomposition if:**
|
|
29
|
+
- Single module change
|
|
30
|
+
- Clear, bounded scope
|
|
31
|
+
- One PR likely sufficient
|
|
32
|
+
|
|
33
|
+
### 3. Define Subtasks
|
|
34
|
+
|
|
35
|
+
For each subtask, specify:
|
|
36
|
+
- Title (prefixed with "[Subtask]")
|
|
37
|
+
- Type: analysis | design | implementation | validation | review | ci-fix
|
|
38
|
+
- Owner role: architect | developer | qa | reviewer | triage | ci-analyst
|
|
39
|
+
- Dependencies (other subtask IDs)
|
|
40
|
+
- Acceptance criteria
|
|
41
|
+
- Module scope
|
|
42
|
+
- Risk level
|
|
43
|
+
|
|
44
|
+
### 4. Create GitHub Issues
|
|
45
|
+
|
|
46
|
+
Use `gh issue create` for each subtask with:
|
|
47
|
+
- Parent issue reference
|
|
48
|
+
- Dependency references
|
|
49
|
+
- Owner role
|
|
50
|
+
- Clear scope and acceptance criteria
|
|
51
|
+
- Labels: type:subtask, role:{owner_role}
|
|
52
|
+
|
|
53
|
+
### 5. Create Local Task Records
|
|
54
|
+
|
|
55
|
+
Create `tasks/issue-{N}-subtask-{M}/task.yaml` for each subtask with:
|
|
56
|
+
- GitHub issue number
|
|
57
|
+
- Parent reference
|
|
58
|
+
- Dependencies
|
|
59
|
+
- Status
|
|
60
|
+
|
|
61
|
+
### 6. Update Parent Issue
|
|
62
|
+
|
|
63
|
+
Add to parent issue body:
|
|
64
|
+
- Decomposition status
|
|
65
|
+
- List of child issues
|
|
66
|
+
- Dependency graph
|
|
67
|
+
- Completion rule
|
|
68
|
+
|
|
69
|
+
## Output Format
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
Decomposition required: yes/no
|
|
73
|
+
|
|
74
|
+
Reason:
|
|
75
|
+
- [reasons]
|
|
76
|
+
|
|
77
|
+
Subtasks:
|
|
78
|
+
1. issue-{N}-subtask-01 — [title] (role: X, depends on: [])
|
|
79
|
+
2. issue-{N}-subtask-02 — [title] (role: Y, depends on: [subtask-01])
|
|
80
|
+
...
|
|
81
|
+
|
|
82
|
+
Dependencies:
|
|
83
|
+
- subtask-02 depends on subtask-01
|
|
84
|
+
...
|
|
85
|
+
|
|
86
|
+
GitHub Issues Created:
|
|
87
|
+
- #XXX: [Subtask] Title 1
|
|
88
|
+
- #YYY: [Subtask] Title 2
|
|
89
|
+
|
|
90
|
+
Next active subtask: issue-{N}-subtask-01
|
|
91
|
+
Next role: [architect|developer|...]
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Use the `task-breakdown-and-dispatch` skill for detailed guidance.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Investigate CI failure and find root cause
|
|
3
|
+
agent: ci-analyst
|
|
4
|
+
---
|
|
5
|
+
Investigate the CI failure and find the root cause.
|
|
6
|
+
|
|
7
|
+
## Steps
|
|
8
|
+
|
|
9
|
+
1. Identify failure type from CI logs
|
|
10
|
+
2. Analyze error messages and stack traces
|
|
11
|
+
3. Find root cause
|
|
12
|
+
4. Suggest fix approach
|
|
13
|
+
5. Document findings
|
|
14
|
+
|
|
15
|
+
Use the `ci-failure-analysis` skill for systematic debugging.
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Verify completion conditions and close parent issue
|
|
3
|
+
agent: planner
|
|
4
|
+
---
|
|
5
|
+
Verify that all subtasks are complete and the parent issue can be closed.
|
|
6
|
+
|
|
7
|
+
## Steps
|
|
8
|
+
|
|
9
|
+
### 1. Read Parent Task Manifest
|
|
10
|
+
|
|
11
|
+
Check `tasks/issue-{N}/task.yaml` for:
|
|
12
|
+
- Overall acceptance criteria
|
|
13
|
+
- List of all subtasks
|
|
14
|
+
- Overall status
|
|
15
|
+
|
|
16
|
+
### 2. Verify All Subtasks Complete
|
|
17
|
+
|
|
18
|
+
For each subtask:
|
|
19
|
+
- Check `status: done` in task.yaml
|
|
20
|
+
- Verify GitHub issue is closed
|
|
21
|
+
- Check linked PR is merged (if applicable)
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
gh issue view {subtask-issue} --json state
|
|
25
|
+
gh pr view {pr-number} --json state,mergedAt
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### 3. Verify Acceptance Criteria
|
|
29
|
+
|
|
30
|
+
For each criterion in `overall_acceptance_criteria`:
|
|
31
|
+
- Is there evidence of completion?
|
|
32
|
+
- Are there tests covering this?
|
|
33
|
+
- Is documentation updated?
|
|
34
|
+
|
|
35
|
+
### 4. Check for Unresolved Blockers
|
|
36
|
+
|
|
37
|
+
- No open blocking issues
|
|
38
|
+
- No failing CI
|
|
39
|
+
- No pending reviews
|
|
40
|
+
|
|
41
|
+
### 5. Close GitHub Issue
|
|
42
|
+
|
|
43
|
+
If all conditions met:
|
|
44
|
+
```bash
|
|
45
|
+
gh issue close {parent-issue} --comment "All subtasks completed. Closing parent issue."
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 6. Update Task Records
|
|
49
|
+
|
|
50
|
+
Update `task.yaml`:
|
|
51
|
+
```yaml
|
|
52
|
+
status: done
|
|
53
|
+
closed_at: YYYY-MM-DD
|
|
54
|
+
completion_summary: |
|
|
55
|
+
All subtasks completed successfully.
|
|
56
|
+
- Subtask 01: done
|
|
57
|
+
- Subtask 02: done
|
|
58
|
+
...
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Completion Checklist
|
|
62
|
+
|
|
63
|
+
- [ ] All subtasks have status: done
|
|
64
|
+
- [ ] All GitHub sub-issues are closed
|
|
65
|
+
- [ ] All linked PRs are merged
|
|
66
|
+
- [ ] Overall acceptance criteria satisfied
|
|
67
|
+
- [ ] No unresolved blockers
|
|
68
|
+
- [ ] Validation coverage complete
|
|
69
|
+
- [ ] Documentation updated (if required)
|
|
70
|
+
|
|
71
|
+
## Output Format
|
|
72
|
+
|
|
73
|
+
### Success
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
Parent Issue Close Verification
|
|
77
|
+
================================
|
|
78
|
+
|
|
79
|
+
Parent: issue-{N} - {title}
|
|
80
|
+
GitHub: #{issue-number}
|
|
81
|
+
|
|
82
|
+
Subtask Status:
|
|
83
|
+
✓ issue-{N}-subtask-01: done (GitHub: #201 closed, PR #250 merged)
|
|
84
|
+
✓ issue-{N}-subtask-02: done (GitHub: #202 closed, PR #251 merged)
|
|
85
|
+
✓ issue-{N}-subtask-03: done (GitHub: #203 closed, PR #252 merged)
|
|
86
|
+
|
|
87
|
+
Acceptance Criteria:
|
|
88
|
+
✓ Criterion 1: Verified by tests
|
|
89
|
+
✓ Criterion 2: Documented in design.md
|
|
90
|
+
✓ Criterion 3: PR #250 includes changes
|
|
91
|
+
|
|
92
|
+
Unresolved Blockers: None
|
|
93
|
+
|
|
94
|
+
Result: READY TO CLOSE
|
|
95
|
+
Action: gh issue close {issue-number} --comment "All subtasks completed."
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Not Ready
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
Parent Issue Close Verification
|
|
102
|
+
================================
|
|
103
|
+
|
|
104
|
+
Parent: issue-{N} - {title}
|
|
105
|
+
GitHub: #{issue-number}
|
|
106
|
+
|
|
107
|
+
Subtask Status:
|
|
108
|
+
✓ issue-{N}-subtask-01: done
|
|
109
|
+
✗ issue-{N}-subtask-02: in_progress (PR #251 pending review)
|
|
110
|
+
○ issue-{N}-subtask-03: pending (depends on subtask-02)
|
|
111
|
+
|
|
112
|
+
Incomplete Items:
|
|
113
|
+
- Subtask 02 needs review approval
|
|
114
|
+
- Subtask 03 not started
|
|
115
|
+
|
|
116
|
+
Unresolved Blockers:
|
|
117
|
+
- PR #251 awaiting review
|
|
118
|
+
|
|
119
|
+
Result: NOT READY TO CLOSE
|
|
120
|
+
Reason: 2 subtasks incomplete
|
|
121
|
+
Next Action: /dispatch-next to continue subtask 02
|
|
122
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Analyze requirements and create design document
|
|
3
|
+
agent: architect
|
|
4
|
+
---
|
|
5
|
+
Analyze the requirements for this task and create a comprehensive design document.
|
|
6
|
+
|
|
7
|
+
## Steps
|
|
8
|
+
|
|
9
|
+
1. Read and understand the requirements
|
|
10
|
+
2. Analyze existing codebase architecture
|
|
11
|
+
3. Identify affected components
|
|
12
|
+
4. Propose solution design
|
|
13
|
+
5. Document implementation approach
|
|
14
|
+
|
|
15
|
+
Use the `repo-architecture-reader` skill to understand the codebase structure.
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Identify and dispatch the next active subtask to the appropriate role
|
|
3
|
+
agent: planner
|
|
4
|
+
---
|
|
5
|
+
Identify the next active subtask and dispatch to the appropriate role.
|
|
6
|
+
|
|
7
|
+
## Steps
|
|
8
|
+
|
|
9
|
+
### 1. Review Parent Task State
|
|
10
|
+
|
|
11
|
+
Read `tasks/issue-{N}/task.yaml` to understand:
|
|
12
|
+
- Current status of all subtasks
|
|
13
|
+
- Dependency graph
|
|
14
|
+
- Blocked items
|
|
15
|
+
|
|
16
|
+
### 2. Check GitHub Issue Status
|
|
17
|
+
|
|
18
|
+
For each pending subtask:
|
|
19
|
+
```bash
|
|
20
|
+
gh issue view {subtask-issue-number}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Check:
|
|
24
|
+
- Is the issue open or closed?
|
|
25
|
+
- Are there linked PRs?
|
|
26
|
+
- Any comments indicating blockers?
|
|
27
|
+
|
|
28
|
+
### 3. Identify Ready Subtasks
|
|
29
|
+
|
|
30
|
+
A subtask is ready when:
|
|
31
|
+
- All dependencies are completed
|
|
32
|
+
- No active blockers
|
|
33
|
+
- Acceptance criteria are clear
|
|
34
|
+
- Owner role is assigned
|
|
35
|
+
|
|
36
|
+
### 4. Determine Active Subtask
|
|
37
|
+
|
|
38
|
+
Select the subtask that:
|
|
39
|
+
- Has highest priority among ready tasks
|
|
40
|
+
- Follows dependency order
|
|
41
|
+
- Has clear next action
|
|
42
|
+
|
|
43
|
+
### 5. Dispatch to Role
|
|
44
|
+
|
|
45
|
+
Assign to the correct role based on subtask type:
|
|
46
|
+
|
|
47
|
+
| Type | Role |
|
|
48
|
+
|------|------|
|
|
49
|
+
| analysis | architect |
|
|
50
|
+
| design | architect |
|
|
51
|
+
| implementation | developer |
|
|
52
|
+
| validation | qa |
|
|
53
|
+
| review | reviewer |
|
|
54
|
+
| ci-fix | ci-analyst |
|
|
55
|
+
| triage | triage |
|
|
56
|
+
|
|
57
|
+
### 6. Update Task Records
|
|
58
|
+
|
|
59
|
+
Update `task.yaml` with:
|
|
60
|
+
- New status
|
|
61
|
+
- Dispatch timestamp
|
|
62
|
+
- Dispatch notes
|
|
63
|
+
|
|
64
|
+
## Output Format
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
Parent Task: issue-{N} - {title}
|
|
68
|
+
Overall Status: in_implementation
|
|
69
|
+
|
|
70
|
+
Subtask Progress:
|
|
71
|
+
✓ issue-{N}-subtask-01: done (architect)
|
|
72
|
+
✓ issue-{N}-subtask-02: done (developer)
|
|
73
|
+
● issue-{N}-subtask-03: ready (next active)
|
|
74
|
+
○ issue-{N}-subtask-04: pending (depends on subtask-03)
|
|
75
|
+
|
|
76
|
+
Next Active Subtask: issue-{N}-subtask-03
|
|
77
|
+
GitHub Issue: #{issue-number}
|
|
78
|
+
Title: [Subtask] {title}
|
|
79
|
+
Owner Role: {role}
|
|
80
|
+
Reason: Dependencies satisfied, ready for implementation
|
|
81
|
+
|
|
82
|
+
Dispatch Command:
|
|
83
|
+
/implement --subtask issue-{N}-subtask-03
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Blocked Handling
|
|
87
|
+
|
|
88
|
+
If all subtasks are blocked:
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
All subtasks blocked:
|
|
92
|
+
|
|
93
|
+
Subtask: issue-{N}-subtask-02
|
|
94
|
+
Status: blocked
|
|
95
|
+
Blocker: CI failure in subtask-01 PR
|
|
96
|
+
Required Action: CI fix needed
|
|
97
|
+
|
|
98
|
+
Recommendation: Dispatch to ci-analyst
|
|
99
|
+
Command: /ci-analyze --issue {subtask-01-issue}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Use the `task-breakdown-and-dispatch` skill for detailed guidance.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Implement features or fixes according to design plan
|
|
3
|
+
agent: developer
|
|
4
|
+
---
|
|
5
|
+
Implement the solution according to the design plan.
|
|
6
|
+
|
|
7
|
+
## Steps
|
|
8
|
+
|
|
9
|
+
1. Read the design document from `tasks/{task_id}/design.md`
|
|
10
|
+
2. Create a feature branch
|
|
11
|
+
3. Implement changes incrementally
|
|
12
|
+
4. Write/update tests
|
|
13
|
+
5. Run linters and tests
|
|
14
|
+
6. Create a pull request
|
|
15
|
+
|
|
16
|
+
Follow the architecture plan and make minimal, focused changes.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Validate release readiness
|
|
3
|
+
agent: reviewer
|
|
4
|
+
---
|
|
5
|
+
Validate that the project is ready for release.
|
|
6
|
+
|
|
7
|
+
## Checklist
|
|
8
|
+
|
|
9
|
+
- [ ] All tests pass
|
|
10
|
+
- [ ] No security vulnerabilities
|
|
11
|
+
- [ ] Code coverage threshold met
|
|
12
|
+
- [ ] Documentation updated
|
|
13
|
+
- [ ] CHANGELOG.md updated
|
|
14
|
+
- [ ] Version bumped
|
|
15
|
+
|
|
16
|
+
Use the `release-readiness-check` skill for comprehensive validation.
|