aiblueprint-cli 1.4.88 → 1.4.90
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-config/skills/agents-manager/SKILL.md +14 -3
- package/agents-config/skills/agents-manager/references/writing-agent-prompts.md +1 -1
- package/agents-config/skills/apex/SKILL.md +116 -55
- package/agents-config/skills/apex/scripts/setup-templates.sh +154 -0
- package/agents-config/skills/apex/scripts/update-progress.sh +80 -0
- package/agents-config/skills/apex/steps/step-00-init.md +278 -0
- package/agents-config/skills/apex/steps/step-00b-branch.md +126 -0
- package/agents-config/skills/apex/steps/step-00b-economy.md +247 -0
- package/agents-config/skills/apex/steps/step-00b-interactive.md +170 -0
- package/agents-config/skills/apex/steps/step-00b-save.md +125 -0
- package/agents-config/skills/apex/steps/step-01-analyze.md +388 -0
- package/agents-config/skills/apex/steps/step-02-plan.md +593 -0
- package/agents-config/skills/apex/steps/step-02b-tasks.md +301 -0
- package/agents-config/skills/apex/steps/step-03-execute-teams.md +296 -0
- package/agents-config/skills/apex/steps/step-03-execute.md +240 -0
- package/agents-config/skills/apex/steps/step-04-validate.md +272 -0
- package/agents-config/skills/apex/steps/step-05-examine.md +400 -0
- package/agents-config/skills/apex/steps/step-06-resolve.md +239 -0
- package/agents-config/skills/apex/steps/step-07-tests.md +250 -0
- package/agents-config/skills/apex/steps/step-08-run-tests.md +314 -0
- package/agents-config/skills/apex/steps/step-09-finish.md +223 -0
- package/agents-config/skills/apex/steps/step-10-verify.md +296 -0
- package/agents-config/skills/apex/templates/00-context.md +55 -0
- package/agents-config/skills/apex/templates/01-analyze.md +10 -0
- package/agents-config/skills/apex/templates/02-plan.md +10 -0
- package/agents-config/skills/apex/templates/03-execute.md +10 -0
- package/agents-config/skills/apex/templates/04-validate.md +10 -0
- package/agents-config/skills/apex/templates/05-examine.md +10 -0
- package/agents-config/skills/apex/templates/06-resolve.md +10 -0
- package/agents-config/skills/apex/templates/07-tests.md +10 -0
- package/agents-config/skills/apex/templates/08-run-tests.md +10 -0
- package/agents-config/skills/apex/templates/09-finish.md +10 -0
- package/agents-config/skills/apex/templates/10-verify.md +9 -0
- package/agents-config/skills/apex/templates/README.md +195 -0
- package/agents-config/skills/apex/templates/step-complete.md +7 -0
- package/agents-config/skills/appstore-connect/SKILL.md +3 -9
- package/agents-config/skills/environments-manager/SKILL.md +86 -94
- package/agents-config/skills/environments-manager/examples/{skills/dev/SKILL.md → claude/commands/dev.md} +1 -2
- package/agents-config/skills/environments-manager/examples/{skills/lint/SKILL.md → claude/commands/lint.md} +1 -2
- package/agents-config/skills/environments-manager/examples/{skills/test/SKILL.md → claude/commands/test.md} +1 -2
- package/agents-config/skills/environments-manager/examples/{skills/typecheck/SKILL.md → claude/commands/typecheck.md} +1 -2
- package/agents-config/skills/environments-manager/examples/scripts/worktree-down.sh +5 -12
- package/agents-config/skills/environments-manager/examples/scripts/worktree-up.sh +11 -21
- package/agents-config/skills/environments-manager/references/claude.md +9 -13
- package/agents-config/skills/environments-manager/references/convex.md +120 -0
- package/agents-config/skills/environments-manager/references/cursor.md +2 -2
- package/agents-config/skills/environments-manager/references/postgresql.md +89 -0
- package/agents-config/skills/oneshot/SKILL.md +21 -37
- package/agents-config/skills/rules-manager/SKILL.md +15 -2
- package/agents-config/skills/skill-manager/SKILL.md +30 -2
- package/agents-config/skills/ultrathink/SKILL.md +1 -1
- package/agents-config/skills/use-fable/SKILL.md +64 -0
- package/package.json +1 -1
- package/agents-config/skills/appstore-connect/references/setup.md +0 -156
- package/agents-config/skills/appstore-connect/references/testflight.md +0 -212
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: step-09-finish
|
|
3
|
+
description: Finish APEX workflow and create pull request
|
|
4
|
+
previous_step: step-08-run-tests.md (or step-04-validate.md if no tests)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Step 9: Finish & Create PR
|
|
8
|
+
|
|
9
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
10
|
+
|
|
11
|
+
- 🛑 NEVER push without user confirmation (unless auto_mode)
|
|
12
|
+
- 🛑 NEVER create PR if there are uncommitted changes
|
|
13
|
+
- ✅ ALWAYS verify all changes are committed
|
|
14
|
+
- ✅ ALWAYS push to remote before creating PR
|
|
15
|
+
- 📋 YOU ARE A FINISHER, completing the workflow
|
|
16
|
+
- 💬 FOCUS on PR creation and workflow summary
|
|
17
|
+
- 🚫 FORBIDDEN to make code changes in this step
|
|
18
|
+
|
|
19
|
+
## EXECUTION PROTOCOLS:
|
|
20
|
+
|
|
21
|
+
- 🎯 Verify git status before any push/PR operations
|
|
22
|
+
- 💾 Save PR details to output file if save_mode enabled
|
|
23
|
+
- 📖 Provide clear workflow summary
|
|
24
|
+
- 🚫 FORBIDDEN to proceed with uncommitted changes
|
|
25
|
+
|
|
26
|
+
## CONTEXT BOUNDARIES:
|
|
27
|
+
|
|
28
|
+
- Variables available: `{task_id}`, `{task_description}`, `{branch_name}`, `{pr_mode}`, `{auto_mode}`, `{save_mode}`, `{teams_mode}`, `{output_dir}`
|
|
29
|
+
- Previous steps completed: analyze, plan, execute, validate (+ optional: tests, examine)
|
|
30
|
+
- All implementation should be done at this point
|
|
31
|
+
|
|
32
|
+
## YOUR TASK:
|
|
33
|
+
|
|
34
|
+
Finalize the APEX workflow by committing remaining changes, pushing to remote, and creating a pull request.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## EXECUTION SEQUENCE:
|
|
39
|
+
|
|
40
|
+
### 0. Shutdown Agent Team (if teams_mode)
|
|
41
|
+
|
|
42
|
+
<critical>
|
|
43
|
+
This is the ONLY step where team shutdown should happen.
|
|
44
|
+
All previous steps (validate, examine, resolve) keep the team alive.
|
|
45
|
+
</critical>
|
|
46
|
+
|
|
47
|
+
**If `{teams_mode}` = true:**
|
|
48
|
+
|
|
49
|
+
1. Send shutdown_request to each teammate:
|
|
50
|
+
```
|
|
51
|
+
SendMessage:
|
|
52
|
+
type: "shutdown_request"
|
|
53
|
+
recipient: "impl-{name}"
|
|
54
|
+
content: "APEX workflow complete. Shutting down team."
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
2. Wait for all teammates to confirm shutdown.
|
|
58
|
+
|
|
59
|
+
3. Delete the team:
|
|
60
|
+
```
|
|
61
|
+
TeamDelete
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
→ This cleans up team files and task directories.
|
|
65
|
+
|
|
66
|
+
### 1. Verify Git Status
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
git status
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**If uncommitted changes exist:**
|
|
73
|
+
→ Commit them with message: `feat({task_id}): {task_description}`
|
|
74
|
+
|
|
75
|
+
**If working tree is clean:**
|
|
76
|
+
→ Continue to step 2
|
|
77
|
+
|
|
78
|
+
### 2. Check Commits to Push
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
git log origin/{branch_name}..HEAD --oneline 2>/dev/null || git log --oneline -5
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Display commits that will be included in PR.
|
|
85
|
+
|
|
86
|
+
### 3. Confirm Push (if not auto_mode)
|
|
87
|
+
|
|
88
|
+
**If `{auto_mode}` = true:**
|
|
89
|
+
→ Auto-push to remote
|
|
90
|
+
|
|
91
|
+
**If `{auto_mode}` = false:**
|
|
92
|
+
Use AskUserQuestion:
|
|
93
|
+
```yaml
|
|
94
|
+
questions:
|
|
95
|
+
- header: "Push"
|
|
96
|
+
question: "Ready to push {branch_name} and create PR?"
|
|
97
|
+
options:
|
|
98
|
+
- label: "Push and create PR (Recommended)"
|
|
99
|
+
description: "Push commits to remote and open pull request"
|
|
100
|
+
- label: "Push only"
|
|
101
|
+
description: "Push to remote without creating PR"
|
|
102
|
+
- label: "Review commits first"
|
|
103
|
+
description: "Show me the full diff before pushing"
|
|
104
|
+
- label: "Cancel"
|
|
105
|
+
description: "Don't push or create PR"
|
|
106
|
+
multiSelect: false
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### 4. Push to Remote
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
git push -u origin {branch_name}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**If push fails:**
|
|
116
|
+
→ Display error and ask user how to proceed
|
|
117
|
+
→ Common fixes: pull --rebase, force push (with warning)
|
|
118
|
+
|
|
119
|
+
### 5. Create Pull Request (if pr_mode)
|
|
120
|
+
|
|
121
|
+
**If `{pr_mode}` = true:**
|
|
122
|
+
|
|
123
|
+
Generate PR content:
|
|
124
|
+
- **Title:** `feat({task_id}): {task_description}`
|
|
125
|
+
- **Body:** Summary of changes from the workflow
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
gh pr create --title "feat({task_id}): {task_description}" --body "$(cat <<'EOF'
|
|
129
|
+
## Summary
|
|
130
|
+
|
|
131
|
+
{Brief description of what was implemented}
|
|
132
|
+
|
|
133
|
+
## Changes
|
|
134
|
+
|
|
135
|
+
{List of key changes made}
|
|
136
|
+
|
|
137
|
+
## Testing
|
|
138
|
+
|
|
139
|
+
{How the changes were validated}
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
_Generated by APEX workflow_
|
|
144
|
+
EOF
|
|
145
|
+
)"
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**Capture PR URL:**
|
|
149
|
+
```bash
|
|
150
|
+
gh pr view --json url -q '.url'
|
|
151
|
+
```
|
|
152
|
+
→ Store as `{pr_url}`
|
|
153
|
+
|
|
154
|
+
### 6. Save Output (if save_mode)
|
|
155
|
+
|
|
156
|
+
**If `{save_mode}` = true:**
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
bash {skill_dir}/scripts/update-progress.sh "{task_id}" "09" "finish" "in_progress"
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Append to `{output_dir}/09-finish.md`: branch, PR URL, commits, timestamp.
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
bash {skill_dir}/scripts/update-progress.sh "{task_id}" "09" "finish" "complete"
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### 7. Final Summary
|
|
169
|
+
|
|
170
|
+
Display workflow completion summary:
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
═══════════════════════════════════════════════════════
|
|
174
|
+
APEX WORKFLOW COMPLETE
|
|
175
|
+
═══════════════════════════════════════════════════════
|
|
176
|
+
|
|
177
|
+
Task: {task_description}
|
|
178
|
+
ID: {task_id}
|
|
179
|
+
|
|
180
|
+
✓ Analysis complete
|
|
181
|
+
✓ Plan created and approved
|
|
182
|
+
✓ Implementation done
|
|
183
|
+
✓ Validation passed
|
|
184
|
+
{if test_mode: "✓ Tests passing"}
|
|
185
|
+
{if examine_mode: "✓ Review findings resolved"}
|
|
186
|
+
✓ Changes pushed to {branch_name}
|
|
187
|
+
{if pr_mode: "✓ PR created: {pr_url}"}
|
|
188
|
+
|
|
189
|
+
═══════════════════════════════════════════════════════
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## SUCCESS METRICS:
|
|
195
|
+
|
|
196
|
+
✅ Agent team shut down gracefully via SendMessage shutdown_request (if teams_mode)
|
|
197
|
+
✅ TeamDelete called to clean up team resources (if teams_mode)
|
|
198
|
+
✅ All changes committed
|
|
199
|
+
✅ Branch pushed to remote
|
|
200
|
+
✅ PR created with proper title and description (if pr_mode)
|
|
201
|
+
✅ PR URL captured and displayed
|
|
202
|
+
✅ Output saved (if save_mode)
|
|
203
|
+
✅ Clear completion summary provided
|
|
204
|
+
|
|
205
|
+
## FAILURE MODES:
|
|
206
|
+
|
|
207
|
+
❌ Creating PR with uncommitted changes
|
|
208
|
+
❌ Pushing without user confirmation (when not auto_mode)
|
|
209
|
+
❌ Force pushing without explicit user request
|
|
210
|
+
❌ Not displaying PR URL after creation
|
|
211
|
+
❌ **CRITICAL**: Using plain text prompts instead of AskUserQuestion
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## WORKFLOW COMPLETE
|
|
216
|
+
|
|
217
|
+
This is the final step of the APEX workflow. No next step to load.
|
|
218
|
+
|
|
219
|
+
<critical>
|
|
220
|
+
Remember: This step handles git operations, PR creation, AND team shutdown (if teams_mode).
|
|
221
|
+
All code changes should have been completed in earlier steps.
|
|
222
|
+
Team shutdown MUST happen here - step 0 of execution sequence - before git operations.
|
|
223
|
+
</critical>
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: step-10-verify
|
|
3
|
+
description: Launch app and verify feature works through real user surface
|
|
4
|
+
prev_step: steps/step-04-validate.md
|
|
5
|
+
next_step: steps/step-09-finish.md
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Step 10: Verify (Feature Validation)
|
|
9
|
+
|
|
10
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
11
|
+
|
|
12
|
+
- 🛑 NEVER skip verification - that defeats the purpose
|
|
13
|
+
- 🛑 NEVER claim feature works without actually testing it
|
|
14
|
+
- 📐 ALWAYS read the project's recommended verification rules FIRST (`.agents/rules/`, `AGENTS.md`, `CLAUDE.md`) and follow them
|
|
15
|
+
- ✅ ALWAYS launch a verifier agent to test through real surface
|
|
16
|
+
- ✅ ALWAYS compare results against original user request
|
|
17
|
+
- 📸 ALWAYS capture 1+ screenshots proving the feature works - verification is INCOMPLETE without visual proof
|
|
18
|
+
- ✅ ALWAYS fix issues before proceeding (unless user skips)
|
|
19
|
+
- 📋 YOU ARE A VERIFIER, not an implementer
|
|
20
|
+
- 💬 FOCUS on "Does the feature actually work for a real user?"
|
|
21
|
+
- 🚫 FORBIDDEN to proceed with FAIL verdict without user confirmation
|
|
22
|
+
|
|
23
|
+
## EXECUTION PROTOCOLS:
|
|
24
|
+
|
|
25
|
+
- 🎯 Launch verifier agent with full context
|
|
26
|
+
- 💾 Log verification results (if save_mode)
|
|
27
|
+
- 📖 Compare each AC against real behavior
|
|
28
|
+
- 🚫 FORBIDDEN to fake verification
|
|
29
|
+
|
|
30
|
+
## CONTEXT BOUNDARIES:
|
|
31
|
+
|
|
32
|
+
- Implementation is complete, validated, and reviewed
|
|
33
|
+
- All typecheck/lint/tests pass
|
|
34
|
+
- Now testing the REAL user experience
|
|
35
|
+
- **If `{teams_mode}` = true:** Agent team is still alive. Do NOT shutdown teammates - that happens in step-09-finish only.
|
|
36
|
+
|
|
37
|
+
## YOUR TASK:
|
|
38
|
+
|
|
39
|
+
Launch the application, test the feature through real user interaction, and verify it matches the original request.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
<available_state>
|
|
44
|
+
From previous steps:
|
|
45
|
+
|
|
46
|
+
| Variable | Description |
|
|
47
|
+
|----------|-------------|
|
|
48
|
+
| `{task_description}` | Original user request |
|
|
49
|
+
| `{task_id}` | Kebab-case identifier |
|
|
50
|
+
| `{acceptance_criteria}` | Success criteria from analysis |
|
|
51
|
+
| `{auto_mode}` | Skip confirmations |
|
|
52
|
+
| `{save_mode}` | Save outputs to files |
|
|
53
|
+
| `{economy_mode}` | No subagents |
|
|
54
|
+
| `{output_dir}` | Path to output (if save_mode) |
|
|
55
|
+
| Files modified | From step-03 |
|
|
56
|
+
</available_state>
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## EXECUTION SEQUENCE:
|
|
61
|
+
|
|
62
|
+
### 1. Initialize Save Output (if save_mode)
|
|
63
|
+
|
|
64
|
+
**If `{save_mode}` = true:**
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
bash {skill_dir}/scripts/update-progress.sh "{task_id}" "10" "verify" "in_progress"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Append results to `{output_dir}/10-verify.md` as you work.
|
|
71
|
+
|
|
72
|
+
### 2. Gather Context for Verifier
|
|
73
|
+
|
|
74
|
+
Collect all information the verifier agent needs:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
1. Original task description: {task_description}
|
|
78
|
+
2. Acceptance criteria: {acceptance_criteria}
|
|
79
|
+
3. Modified files (from git):
|
|
80
|
+
git diff --name-only HEAD~1
|
|
81
|
+
git status --porcelain
|
|
82
|
+
4. Implementation summary from step-03/04
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 2b. Load Recommended Verification Rules
|
|
86
|
+
|
|
87
|
+
Look for project-specific verification conventions and **follow them**. They override the defaults below. Check in order:
|
|
88
|
+
|
|
89
|
+
1. `.agents/rules/` — any rule file about verification, testing, QA, or e2e (e.g. `verify.md`, `testing.md`)
|
|
90
|
+
2. `AGENTS.md` — verification / commands sections
|
|
91
|
+
3. `CLAUDE.md` — verification preferences (e.g. "Prefer /dev-browser for verification")
|
|
92
|
+
4. `README.md` + `package.json` scripts — how to launch / test
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
ls .agents/rules/ 2>/dev/null
|
|
96
|
+
cat AGENTS.md CLAUDE.md 2>/dev/null
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Capture the recommended launch command, auth/login steps, test URLs/credentials, and any required evidence into `{verification_rules}` and pass it to the verifier. If nothing is documented, fall back to detecting the dev/start command from `package.json`.
|
|
100
|
+
|
|
101
|
+
### 3. Launch Verifier Agent
|
|
102
|
+
|
|
103
|
+
**If `{economy_mode}` = true:**
|
|
104
|
+
-> Self-verify: manually test the feature using available tools (dev-browser, curl, shell commands). FOLLOW the recommended verification rules from step 2b, capture 1+ screenshots as proof, and include the screenshots directly in the chat using Markdown image syntax with absolute local paths. Follow the verification process below directly instead of launching an agent.
|
|
105
|
+
|
|
106
|
+
**If `{economy_mode}` = false:**
|
|
107
|
+
-> Launch a verifier sub-agent:
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
Sub-agent:
|
|
111
|
+
profile/type: "verifier"
|
|
112
|
+
prompt: |
|
|
113
|
+
## Feature Verification
|
|
114
|
+
|
|
115
|
+
**Original Request:** {task_description}
|
|
116
|
+
|
|
117
|
+
**Acceptance Criteria:**
|
|
118
|
+
{acceptance_criteria - list each one}
|
|
119
|
+
|
|
120
|
+
**Files Modified:**
|
|
121
|
+
{list of modified files}
|
|
122
|
+
|
|
123
|
+
**Implementation Summary:**
|
|
124
|
+
{brief summary of what was done}
|
|
125
|
+
|
|
126
|
+
**Recommended Verification Rules (FOLLOW THESE):**
|
|
127
|
+
{verification_rules - or "none documented; use defaults"}
|
|
128
|
+
|
|
129
|
+
Verify this feature works correctly by:
|
|
130
|
+
1. FOLLOW the recommended verification rules above (launch command, auth, URLs)
|
|
131
|
+
2. Launch the app (rules first, else package.json dev/start command)
|
|
132
|
+
3. Navigate to the relevant pages/endpoints
|
|
133
|
+
4. Test each acceptance criterion through real interaction
|
|
134
|
+
5. Use /dev-browser for web UI (capture screenshots), curl for APIs, shell for CLI tools
|
|
135
|
+
6. 📸 MANDATORY: Capture 1+ screenshots proving the finished feature works. For web UI use dev-browser saveScreenshot; for non-visual surfaces capture the terminal output / response as evidence
|
|
136
|
+
7. Output the screenshot(s) directly in the chat using Markdown image syntax with absolute local paths, e.g. ``. Do NOT only list paths.
|
|
137
|
+
8. Report your findings with PASS/FAIL for each AC, listing the screenshot paths below the inline images
|
|
138
|
+
9. List anything missing compared to the original request
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### 4. Process Verification Results
|
|
142
|
+
|
|
143
|
+
Parse the verifier agent's report:
|
|
144
|
+
|
|
145
|
+
**If no screenshot / evidence was captured or screenshots are only listed as paths without inline chat images:**
|
|
146
|
+
-> Verification is INCOMPLETE. Re-run capture (or send the verifier back) before accepting any PASS verdict.
|
|
147
|
+
|
|
148
|
+
**If all ACs PASS:**
|
|
149
|
+
-> Display success summary and proceed
|
|
150
|
+
|
|
151
|
+
**If any ACs FAIL:**
|
|
152
|
+
-> Display failure details
|
|
153
|
+
|
|
154
|
+
### 5. Present Verification Report
|
|
155
|
+
|
|
156
|
+
```markdown
|
|
157
|
+
## Verification Results
|
|
158
|
+
|
|
159
|
+
**Feature:** {task_description}
|
|
160
|
+
|
|
161
|
+
| AC | Status | Details |
|
|
162
|
+
|----|--------|---------|
|
|
163
|
+
| AC1 | ✓ PASS | Working as expected |
|
|
164
|
+
| AC2 | ✗ FAIL | {what went wrong} |
|
|
165
|
+
|
|
166
|
+
**Screenshots:** {inline Markdown image(s) REQUIRED, then list screenshot paths - at least 1}
|
|
167
|
+
|
|
168
|
+
**Verdict:** {PASS or FAIL}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### 6. Handle Failures
|
|
172
|
+
|
|
173
|
+
**If verdict = PASS:**
|
|
174
|
+
-> Proceed to next step
|
|
175
|
+
|
|
176
|
+
**If verdict = FAIL:**
|
|
177
|
+
|
|
178
|
+
**If `{auto_mode}` = true:**
|
|
179
|
+
-> Auto-fix: Apply fixes for each failing AC, then re-verify (max 2 retry rounds)
|
|
180
|
+
|
|
181
|
+
**If `{auto_mode}` = false:**
|
|
182
|
+
|
|
183
|
+
```yaml
|
|
184
|
+
questions:
|
|
185
|
+
- header: "Verify"
|
|
186
|
+
question: "Verification found issues. How would you like to proceed?"
|
|
187
|
+
options:
|
|
188
|
+
- label: "Fix and re-verify (Recommended)"
|
|
189
|
+
description: "Apply fixes for failing ACs and verify again"
|
|
190
|
+
- label: "Fix without re-verify"
|
|
191
|
+
description: "Apply fixes but skip second verification"
|
|
192
|
+
- label: "Skip verification"
|
|
193
|
+
description: "Accept current state, proceed anyway"
|
|
194
|
+
- label: "Discuss issues"
|
|
195
|
+
description: "Let me review the findings first"
|
|
196
|
+
multiSelect: false
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### 7. Fix Loop (if user chooses to fix)
|
|
200
|
+
|
|
201
|
+
```
|
|
202
|
+
max_verify_rounds = 3
|
|
203
|
+
round = 0
|
|
204
|
+
|
|
205
|
+
WHILE round < max_verify_rounds AND verdict = FAIL:
|
|
206
|
+
round += 1
|
|
207
|
+
|
|
208
|
+
1. Read each failing AC
|
|
209
|
+
2. Identify the root cause
|
|
210
|
+
3. Apply the fix
|
|
211
|
+
4. Run typecheck + lint to ensure no regressions
|
|
212
|
+
5. Re-launch verifier agent (or self-verify if economy_mode)
|
|
213
|
+
6. Update verdict
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**If still failing after 3 rounds:**
|
|
217
|
+
|
|
218
|
+
```yaml
|
|
219
|
+
questions:
|
|
220
|
+
- header: "Stuck"
|
|
221
|
+
question: "Verification still failing after {round} fix rounds. How proceed?"
|
|
222
|
+
options:
|
|
223
|
+
- label: "Keep trying"
|
|
224
|
+
description: "Continue fixing"
|
|
225
|
+
- label: "Accept current state"
|
|
226
|
+
description: "Proceed with known issues"
|
|
227
|
+
- label: "I'll fix manually"
|
|
228
|
+
description: "Let me investigate"
|
|
229
|
+
multiSelect: false
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### 8. Complete Save Output (if save_mode)
|
|
233
|
+
|
|
234
|
+
**If `{save_mode}` = true:**
|
|
235
|
+
|
|
236
|
+
Append to `{output_dir}/10-verify.md`:
|
|
237
|
+
```markdown
|
|
238
|
+
---
|
|
239
|
+
## Step Complete
|
|
240
|
+
**Status:** ✓ Complete
|
|
241
|
+
**Verdict:** {PASS/FAIL}
|
|
242
|
+
**Rounds:** {count}
|
|
243
|
+
**Screenshots:** {inline Markdown image(s) first, then paths - at least 1}
|
|
244
|
+
**Failing ACs:** {list or "none"}
|
|
245
|
+
**Timestamp:** {ISO timestamp}
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
bash {skill_dir}/scripts/update-progress.sh "{task_id}" "10" "verify" "complete"
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## SUCCESS METRICS:
|
|
255
|
+
|
|
256
|
+
✅ Recommended verification rules followed
|
|
257
|
+
✅ Feature tested through real user surface
|
|
258
|
+
✅ Each AC verified with actual interaction
|
|
259
|
+
✅ 1+ screenshots captured as visual proof
|
|
260
|
+
✅ Failures identified with clear descriptions
|
|
261
|
+
✅ Fixes applied and re-verified (if needed)
|
|
262
|
+
✅ User informed of verification status
|
|
263
|
+
|
|
264
|
+
## FAILURE MODES:
|
|
265
|
+
|
|
266
|
+
❌ Claiming verification passed without actually testing
|
|
267
|
+
❌ Ignoring the project's recommended verification rules
|
|
268
|
+
❌ No screenshot / visual proof of the feature working
|
|
269
|
+
❌ Not launching the app
|
|
270
|
+
❌ Testing only happy path, ignoring ACs
|
|
271
|
+
❌ Auto-proceeding with FAIL verdict (without user OK)
|
|
272
|
+
❌ Not comparing against original user request
|
|
273
|
+
❌ **CRITICAL**: Not using AskUserQuestion for failure decisions
|
|
274
|
+
|
|
275
|
+
## VERIFICATION PROTOCOLS:
|
|
276
|
+
|
|
277
|
+
- Follow the project's recommended verification rules first (`.agents/rules/`, `AGENTS.md`, `CLAUDE.md`)
|
|
278
|
+
- Test through REAL user surface (browser, CLI, API)
|
|
279
|
+
- Capture 1+ screenshots as proof - no PASS verdict without evidence
|
|
280
|
+
- Compare against ORIGINAL request, not just code
|
|
281
|
+
- Fix and re-verify, don't just fix and hope
|
|
282
|
+
- Be honest about failures
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
## NEXT STEP:
|
|
287
|
+
|
|
288
|
+
Based on flags:
|
|
289
|
+
- **If pr_mode:** Load `./step-09-finish.md` to create pull request
|
|
290
|
+
- **Otherwise:** Workflow complete - show summary
|
|
291
|
+
|
|
292
|
+
<critical>
|
|
293
|
+
Remember: The whole point of verify is to catch things that code review and tests miss.
|
|
294
|
+
Test the feature like a real user would - don't just check the code!
|
|
295
|
+
If teams_mode is active: NEVER shutdown teammates - they stay alive until step-09-finish!
|
|
296
|
+
</critical>
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# APEX Task: {{task_id}}
|
|
2
|
+
|
|
3
|
+
**Created:** {{timestamp}}
|
|
4
|
+
**Task:** {{task_description}}
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Configuration
|
|
9
|
+
|
|
10
|
+
| Flag | Value |
|
|
11
|
+
|------|-------|
|
|
12
|
+
| Auto mode (`-a`) | {{auto_mode}} |
|
|
13
|
+
| Examine mode (`-x`) | {{examine_mode}} |
|
|
14
|
+
| Save mode (`-s`) | {{save_mode}} |
|
|
15
|
+
| Test mode (`-t`) | {{test_mode}} |
|
|
16
|
+
| Economy mode (`-e`) | {{economy_mode}} |
|
|
17
|
+
| Branch mode (`-b`) | {{branch_mode}} |
|
|
18
|
+
| PR mode (`-pr`) | {{pr_mode}} |
|
|
19
|
+
| Interactive mode (`-i`) | {{interactive_mode}} |
|
|
20
|
+
| Tasks mode (`-k`) | {{tasks_mode}} |
|
|
21
|
+
| Verify mode (`-v`) | {{verify_mode}} |
|
|
22
|
+
| Branch name | {{branch_name}} |
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## User Request
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
{{original_input}}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Acceptance Criteria
|
|
35
|
+
|
|
36
|
+
_To be defined in step-01-analyze.md_
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Progress
|
|
41
|
+
|
|
42
|
+
| Step | Status | Timestamp |
|
|
43
|
+
|------|--------|-----------|
|
|
44
|
+
| 00-init | ⏸ Pending | |
|
|
45
|
+
| 01-analyze | ⏸ Pending | |
|
|
46
|
+
| 02-plan | ⏸ Pending | |
|
|
47
|
+
| 02b-tasks | {{tasks_status}} | |
|
|
48
|
+
| 03-execute | ⏸ Pending | |
|
|
49
|
+
| 04-validate | ⏸ Pending | |
|
|
50
|
+
| 05-examine | {{examine_status}} | |
|
|
51
|
+
| 06-resolve | {{examine_status}} | |
|
|
52
|
+
| 07-tests | {{test_status}} | |
|
|
53
|
+
| 08-run-tests | {{test_status}} | |
|
|
54
|
+
| 10-verify | {{verify_status}} | |
|
|
55
|
+
| 09-finish | {{pr_status}} | |
|