@devshop/crew 0.5.0 → 0.6.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/CHANGELOG.md +7 -0
- package/package.json +6 -5
- package/skills/indie/SKILL.md +0 -337
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
# [0.6.0](https://github.com/devshop-software/crew/compare/v0.5.0...v0.6.0) (2026-04-30)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* remove indie skill ([7990a34](https://github.com/devshop-software/crew/commit/7990a34741155478226114f05562c35f854e47c8))
|
|
7
|
+
|
|
1
8
|
# [0.5.0](https://github.com/devshop-software/crew/compare/v0.4.2...v0.5.0) (2026-04-30)
|
|
2
9
|
|
|
3
10
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devshop/crew",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Project-agnostic Claude Code skills for spec → implement → qa → review → ship",
|
|
5
5
|
"bin": {
|
|
6
6
|
"crew": "scripts/cli.js"
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"engines": {
|
|
17
17
|
"node": ">=20"
|
|
18
18
|
},
|
|
19
|
+
"packageManager": "pnpm@10.33.2",
|
|
19
20
|
"keywords": [
|
|
20
21
|
"claude-code",
|
|
21
22
|
"claude",
|
|
@@ -37,10 +38,10 @@
|
|
|
37
38
|
},
|
|
38
39
|
"license": "MIT",
|
|
39
40
|
"devDependencies": {
|
|
40
|
-
"@devshop/crew": "
|
|
41
|
-
"semantic-release": "^24.2.0",
|
|
41
|
+
"@devshop/crew": "0.x",
|
|
42
42
|
"@semantic-release/changelog": "^6.0.3",
|
|
43
|
-
"@semantic-release/exec": "^7.0
|
|
44
|
-
"@semantic-release/git": "^10.0.1"
|
|
43
|
+
"@semantic-release/exec": "^7.1.0",
|
|
44
|
+
"@semantic-release/git": "^10.0.1",
|
|
45
|
+
"semantic-release": "^24.2.9"
|
|
45
46
|
}
|
|
46
47
|
}
|
package/skills/indie/SKILL.md
DELETED
|
@@ -1,337 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: indie
|
|
3
|
-
description: Autonomous end-to-end orchestrator. Takes a feature from description through spec, implementation, QA, review (with fix loops), shipping, and CI monitoring — in its own git worktree for parallel execution. Defaults to fully autonomous; user can set breakpoints to pause after any phase. Use when the user invokes /indie.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Indie
|
|
7
|
-
|
|
8
|
-
## Role
|
|
9
|
-
|
|
10
|
-
You are a workflow orchestrator. You drive the full development chain — spec, implementation, QA, review, shipping, and CI monitoring — by invoking each skill in sequence and reading their output artifacts to decide the next step. You are a conductor, not a player: you never duplicate skill logic, you delegate to the skills and read their results.
|
|
11
|
-
|
|
12
|
-
Each feature runs in its own git worktree, enabling multiple `/indie` invocations to run in parallel across separate terminals.
|
|
13
|
-
|
|
14
|
-
By default you run fully autonomously. The user provides input once, you deliver a PR with green CI. If the user sets a breakpoint, you pause after that phase and wait for re-invocation to continue.
|
|
15
|
-
|
|
16
|
-
## When to Apply
|
|
17
|
-
|
|
18
|
-
Activate when called from the `/indie` command. Otherwise ignore.
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## Input Handling
|
|
23
|
-
|
|
24
|
-
`$ARGUMENTS` may be:
|
|
25
|
-
|
|
26
|
-
- A **GitHub issue URL** (e.g. `https://github.com/org/repo/issues/42`) — passed to the spec-writer as input
|
|
27
|
-
- **Free text** — a feature description, passed to the spec-writer as input
|
|
28
|
-
- A **workflow folder reference** (folder name or path) — resume an existing workflow from wherever it left off
|
|
29
|
-
- **Empty** — auto-detect: scan the workflow directory for incomplete workflows (folders missing later artifacts). If exactly one exists, resume it. If multiple, list and ask. If none, tell the user to provide a feature description.
|
|
30
|
-
|
|
31
|
-
### Breakpoints
|
|
32
|
-
|
|
33
|
-
The input may include a breakpoint instruction. Parse and strip it before passing the remainder as the feature description.
|
|
34
|
-
|
|
35
|
-
**Syntax:** `--stop-after <phase>`, `stop after <phase>`, `pause after <phase>`, or `break after <phase>` anywhere in the input.
|
|
36
|
-
|
|
37
|
-
**Recognized phases:** `spec`, `implement`, `qa`, `review`, `ship`
|
|
38
|
-
|
|
39
|
-
**Examples:**
|
|
40
|
-
- `/indie https://github.com/org/repo/issues/42 --stop-after spec`
|
|
41
|
-
- `/indie add user avatars, stop after review`
|
|
42
|
-
- `/indie dark-mode --stop-after implement`
|
|
43
|
-
- `/indie https://github.com/org/repo/issues/42` — no breakpoint, fully autonomous
|
|
44
|
-
|
|
45
|
-
**At a breakpoint:**
|
|
46
|
-
1. Complete the phase normally
|
|
47
|
-
2. Verify the output artifact exists
|
|
48
|
-
3. Report: "Paused after `<phase>`. Artifact: `<path>`. Worktree: `<worktree-path>`. Review it, then re-invoke `/indie <folder>` to continue."
|
|
49
|
-
4. Stop. Do not proceed.
|
|
50
|
-
|
|
51
|
-
**Resuming:** The user re-invokes `/indie <folder>` from the worktree directory. Resume detection picks up from the artifact state. The user may set a new breakpoint or omit one to run to completion.
|
|
52
|
-
|
|
53
|
-
**Artifact compatibility:** Breakpoints produce the exact same artifacts as a fully autonomous run. The user can mix modes — pause after spec, then let the rest run autonomously.
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
## Step 1 — Parse Input and Determine State
|
|
58
|
-
|
|
59
|
-
1. Read the project's `CLAUDE.md`
|
|
60
|
-
2. Find the `## Workflow Config` section and parse the key-value table. If it doesn't exist, stop: "No Workflow Config found. Run `/adjust` to set up the project."
|
|
61
|
-
3. Parse and strip any breakpoint instruction from the input
|
|
62
|
-
4. Determine the input type:
|
|
63
|
-
- Workflow folder reference → resolve it, jump to resume detection
|
|
64
|
-
- Issue URL or free text → new feature, proceed to Step 1W (worktree setup)
|
|
65
|
-
- Empty → scan `workflow-dir` for incomplete workflows (resume detection)
|
|
66
|
-
|
|
67
|
-
---
|
|
68
|
-
|
|
69
|
-
## Step 1W — Worktree Setup (new features only)
|
|
70
|
-
|
|
71
|
-
1. **Derive the folder name:** Short, scannable kebab-case name (2–5 words) derived from the input. No timestamp prefix in the directory name. Example: `dark-mode`, `auth-refactor`, `db-seed-script`
|
|
72
|
-
2. **Derive the branch name:** `<branch-prefix>YYYYMMDD-HHMM-<folder-name>` using the current timestamp. Example: `feature/20260413-1423-dark-mode`. The timestamp lives in the branch name, not the directory.
|
|
73
|
-
3. **Determine the worktree path:** `../../wt/<folder-name>` — inside the `wt/` subdirectory at the project root. Example: if you're running from `~/projects/rival.sale/main`, the worktree goes to `~/projects/rival.sale/wt/dark-mode`.
|
|
74
|
-
4. **Create the worktree:** `mkdir -p ../../wt && git worktree add <worktree-path> -b <branch-name> <base-branch>` (run from the current worktree — git resolves the bare repo automatically)
|
|
75
|
-
5. **Copy local environment files:** Copy `.env` (and `.env.local` if it exists) from the current worktree into the new worktree. These are gitignored and won't exist in the fresh checkout.
|
|
76
|
-
6. **Switch context:** all subsequent steps run inside the worktree directory
|
|
77
|
-
|
|
78
|
-
Present a one-line plan:
|
|
79
|
-
- **No breakpoint:** "Starting autonomous workflow for: `<feature summary>` in worktree `<path>`. Will run: spec → implement → qa → review → ship → monitor CI. I'll report back when done or if I hit a blocker."
|
|
80
|
-
- **With breakpoint:** "Starting workflow for: `<feature summary>` in worktree `<path>`. Will run through `<phase>` and pause for your review."
|
|
81
|
-
- **Resuming:** "Resuming workflow `<folder>` from `<next phase>`."
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
## Resume Detection
|
|
86
|
-
|
|
87
|
-
Read the workflow folder and determine the current state from existing artifacts:
|
|
88
|
-
|
|
89
|
-
| State | Artifacts Present | Next Action |
|
|
90
|
-
|-------|-------------------|-------------|
|
|
91
|
-
| Nothing | No workflow folder | Run spec-writer (Step 2) |
|
|
92
|
-
| Spec done | `01-spec.md` only | Run implementation (Step 3) |
|
|
93
|
-
| Implementation done | `+ 02-implementation.md` | Run QA (Step 4) |
|
|
94
|
-
| QA done | `+ 03-qa*.md` (latest) | Run review (Step 5) |
|
|
95
|
-
| Review FAIL | `+ 04-review*.md` with FAIL verdict | Run implementation fix mode (Step 5F) |
|
|
96
|
-
| Review PASS | `+ 04-review*.md` with PASS verdict | Run ship (Step 6) |
|
|
97
|
-
| PR created | PR exists on remote branch | Monitor CI (Step 7) |
|
|
98
|
-
| CI passing | All checks green | Write summary (Step 8) |
|
|
99
|
-
| CI failing | Checks red | CI fix loop (Step 7F) |
|
|
100
|
-
|
|
101
|
-
**To detect "PR created":** Check if the current branch exists on the remote (`git ls-remote --heads origin <branch-name>`). If it does, find the PR with `gh pr list --head <branch-name>`.
|
|
102
|
-
|
|
103
|
-
This makes the skill idempotent — re-invoking `/indie` on a partially completed workflow resumes from the correct point without re-running completed phases.
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## Step 2 — Spec Phase
|
|
108
|
-
|
|
109
|
-
Follow the spec-writer skill's full process:
|
|
110
|
-
|
|
111
|
-
1. Parse the input (issue URL → fetch with `gh issue view`; free text → use directly)
|
|
112
|
-
2. Read CLAUDE.md and project conventions
|
|
113
|
-
3. Explore the codebase — find affected areas, structural templates, current state
|
|
114
|
-
4. Determine spec depth (lightweight / standard / deep)
|
|
115
|
-
5. Create the workflow folder: `<workflow-dir>/<folder-name>/` using the timestamp-based name from Step 1W
|
|
116
|
-
6. Write `01-spec.md`
|
|
117
|
-
|
|
118
|
-
**Overrides for autonomous mode:**
|
|
119
|
-
- Skip the ambiguity check's user questions — make reasonable decisions and document assumptions in the spec
|
|
120
|
-
- Skip "present and refine" — write the spec and move on
|
|
121
|
-
- If requirements are genuinely too vague to plan (no identifiable feature, contradictory requirements), escalate: "Cannot write a spec — the requirements are too ambiguous. Please clarify: [specific questions]."
|
|
122
|
-
|
|
123
|
-
**Gate:** Verify `01-spec.md` exists and contains an Acceptance Criteria section with at least one criterion. If breakpoint is `spec`, pause here.
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
## Step 3 — Implementation Phase
|
|
128
|
-
|
|
129
|
-
Follow the implementation skill's full process:
|
|
130
|
-
|
|
131
|
-
1. Read `01-spec.md` — the spec is the contract
|
|
132
|
-
2. Read the codebase — understand files that need to change
|
|
133
|
-
3. Implement each step from the spec in order
|
|
134
|
-
4. Write tests (TDD if `tdd: true` in config)
|
|
135
|
-
5. Run quality checks (`lint-cmd`, `test-cmd`, `build-cmd`)
|
|
136
|
-
6. Write `02-implementation.md`
|
|
137
|
-
|
|
138
|
-
**Overrides for autonomous mode:**
|
|
139
|
-
- Skip "present summary and get confirmation" — begin implementing immediately after reading the spec
|
|
140
|
-
|
|
141
|
-
**Gate:** Verify `02-implementation.md` exists and has check results. If breakpoint is `implement`, pause here.
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
## Step 4 — QA Phase
|
|
146
|
-
|
|
147
|
-
Follow the qa-engineer skill's full process:
|
|
148
|
-
|
|
149
|
-
1. Read `01-spec.md` independently (don't trust the implementation report)
|
|
150
|
-
2. Find existing e2e test patterns in the project
|
|
151
|
-
3. Design tests from acceptance criteria
|
|
152
|
-
4. Write e2e tests following project conventions
|
|
153
|
-
5. Run tests with `e2e-cmd`
|
|
154
|
-
6. Verify test substance (no stubs)
|
|
155
|
-
7. Write `03-qa.md` (or `03-qa-N.md` for re-runs)
|
|
156
|
-
|
|
157
|
-
**Overrides:** None — the QA skill already runs without confirmation.
|
|
158
|
-
|
|
159
|
-
**Gate:** Verify `03-qa.md` (or latest `03-qa-N.md`) exists. If breakpoint is `qa`, pause here. Otherwise read its status:
|
|
160
|
-
- **PASS** → proceed to review
|
|
161
|
-
- **FAIL** → log it, proceed to review (the review will catch the implementation issue)
|
|
162
|
-
- **PARTIAL** → proceed to review (some criteria may be untestable via e2e)
|
|
163
|
-
|
|
164
|
-
---
|
|
165
|
-
|
|
166
|
-
## Step 5 — Review Phase
|
|
167
|
-
|
|
168
|
-
Follow the review skill's full process:
|
|
169
|
-
|
|
170
|
-
1. Load all artifacts (spec, implementation, QA, any prior reviews)
|
|
171
|
-
2. Read the actual code — do not trust the implementation report
|
|
172
|
-
3. Evaluate spec compliance, code quality, QA results
|
|
173
|
-
4. Run independent verification (`lint-cmd`, `test-cmd`, `build-cmd`, `e2e-cmd`)
|
|
174
|
-
5. Compile issues with severity (CRITICAL / MAJOR / MINOR)
|
|
175
|
-
6. Render binary verdict (PASS or FAIL)
|
|
176
|
-
7. Write `04-review.md` (or `04-review-N.md` for re-reviews)
|
|
177
|
-
|
|
178
|
-
**Overrides:** None. The review skill's adversarial stance is non-negotiable. Never soften review criteria to avoid fix loops.
|
|
179
|
-
|
|
180
|
-
**Gate:** Read the review verdict. If breakpoint is `review`, pause here (regardless of PASS or FAIL — let the user see the result). Otherwise:
|
|
181
|
-
- **PASS** → proceed to Step 6 (ship)
|
|
182
|
-
- **FAIL** → enter the fix loop (Step 5F)
|
|
183
|
-
|
|
184
|
-
---
|
|
185
|
-
|
|
186
|
-
## Step 5F — Fix Loop
|
|
187
|
-
|
|
188
|
-
When review returns FAIL:
|
|
189
|
-
|
|
190
|
-
1. **Check iteration count** — count `04-review*.md` files in the workflow folder. If 10 exist, escalate: "Feature has failed review 10 times. Escalating for human judgment. Review history: [list all review files with their verdicts and key issues]."
|
|
191
|
-
2. **Run implementation in fix mode** — it detects the FAIL review on startup, reads the flagged issues, addresses only those issues, appends a "Fix Round N" section to `02-implementation.md`
|
|
192
|
-
3. **Re-run QA** — produces `03-qa-N.md`, verifying the fixes and any new tests
|
|
193
|
-
4. **Re-run review** — produces `04-review-N.md` with a fresh verdict
|
|
194
|
-
5. **Read verdict:**
|
|
195
|
-
- **PASS** → proceed to Step 6
|
|
196
|
-
- **FAIL** → loop back to 5F.1
|
|
197
|
-
|
|
198
|
-
---
|
|
199
|
-
|
|
200
|
-
## Step 6 — Ship Phase
|
|
201
|
-
|
|
202
|
-
Follow the ship skill's full process:
|
|
203
|
-
|
|
204
|
-
1. Verify the latest review has a PASS verdict
|
|
205
|
-
2. Run pre-flight checks (`lint-cmd`, `test-cmd`, `build-cmd`; check `git status`)
|
|
206
|
-
3. Read workflow artifacts to assemble the PR body
|
|
207
|
-
4. The branch already exists (created with the worktree in Step 1W) — use the current branch
|
|
208
|
-
5. Stage implementation files and the workflow folder
|
|
209
|
-
6. Commit with a descriptive message referencing the spec
|
|
210
|
-
7. Push: `git push -u origin <branch-name>`
|
|
211
|
-
8. Create PR: `gh pr create --title "<title>" --body "<generated body>" --base <base-branch>`
|
|
212
|
-
|
|
213
|
-
**Overrides for autonomous mode:**
|
|
214
|
-
- Skip the confirmation gate — execute the full pipeline (stage → commit → push → PR) without stopping. The review PASS verdict is the authorization.
|
|
215
|
-
|
|
216
|
-
**Gate:** Verify the PR was created. Extract the PR URL and number. If breakpoint is `ship`, pause here.
|
|
217
|
-
|
|
218
|
-
---
|
|
219
|
-
|
|
220
|
-
## Step 7 — CI Monitoring Phase
|
|
221
|
-
|
|
222
|
-
1. **Wait for CI to start** — wait 60 seconds, then poll `gh pr checks <PR-number> --repo <owner>/<repo>` every 30 seconds until at least one check has started (status is not all "pending").
|
|
223
|
-
2. **Wait for CI to complete** — continue polling until all checks have a conclusion (`success`, `failure`, `skipped`, or `cancelled`). Max wait: 15 minutes total from first poll. If CI hasn't completed after 15 minutes, report the current status and halt: "CI is still running after 15 minutes. Current status: [check names and statuses]. PR: [URL]."
|
|
224
|
-
3. **Evaluate results:**
|
|
225
|
-
- All checks pass (or skipped) → proceed to Step 8 (done)
|
|
226
|
-
- Any check fails → enter CI fix loop (Step 7F)
|
|
227
|
-
|
|
228
|
-
---
|
|
229
|
-
|
|
230
|
-
## Step 7F — CI Fix Loop
|
|
231
|
-
|
|
232
|
-
When CI checks fail:
|
|
233
|
-
|
|
234
|
-
1. **Check iteration count** — if 10 CI fix attempts have already been made, escalate: "CI has failed 10 times after fixes. Escalating to user. PR: [URL]. Latest failure: [summary]."
|
|
235
|
-
2. **Identify the failed run** — use `gh pr checks` output to find the failed check's details URL, extract the run ID
|
|
236
|
-
3. **Read failure logs** — `gh run view <run-id> --log-failed --repo <owner>/<repo>` to get the failed job output
|
|
237
|
-
4. **Diagnose:**
|
|
238
|
-
- **Test failure** — read the test output, identify root cause (flaky test vs environment issue vs actual bug)
|
|
239
|
-
- **Build/type-check failure** — read the error, identify the file and issue
|
|
240
|
-
- **Lint failure** — read the violation
|
|
241
|
-
5. **Fix** — make the minimal code change to resolve the failure. Only fix what CI flagged. Do not refactor, add features, or "improve" surrounding code.
|
|
242
|
-
6. **Stage, commit, push:**
|
|
243
|
-
- Stage only the changed files
|
|
244
|
-
- Commit: `fix(ci): <one-line description of what was fixed>`
|
|
245
|
-
- Push to the same branch
|
|
246
|
-
7. **Re-monitor** — return to Step 7 to watch the new CI run
|
|
247
|
-
|
|
248
|
-
---
|
|
249
|
-
|
|
250
|
-
## Step 8 — Final Report
|
|
251
|
-
|
|
252
|
-
Write `05-indie-summary.md` in the workflow folder:
|
|
253
|
-
|
|
254
|
-
```markdown
|
|
255
|
-
# Indie Run: <feature title>
|
|
256
|
-
|
|
257
|
-
> Date: YYYY-MM-DD
|
|
258
|
-
> Status: DONE | DONE_WITH_CI_FIXES | ESCALATED
|
|
259
|
-
> PR: <PR URL>
|
|
260
|
-
> Worktree: <worktree path>
|
|
261
|
-
|
|
262
|
-
## Phases Completed
|
|
263
|
-
|
|
264
|
-
| Phase | Artifact | Status | Iterations |
|
|
265
|
-
|-------|----------|--------|------------|
|
|
266
|
-
| Spec | 01-spec.md | Done | 1 |
|
|
267
|
-
| Implementation | 02-implementation.md | Done | 1 (+ N fix rounds) |
|
|
268
|
-
| QA | 03-qa.md — 03-qa-N.md | PASS | N |
|
|
269
|
-
| Review | 04-review.md — 04-review-N.md | PASS | N |
|
|
270
|
-
| Ship | PR #<number> | Created | 1 |
|
|
271
|
-
| CI | <check names> | Pass | N attempts |
|
|
272
|
-
|
|
273
|
-
## Review Loop Summary
|
|
274
|
-
|
|
275
|
-
<If reviews > 1: what issues were found and how they were fixed>
|
|
276
|
-
<If no loop: "First review passed.">
|
|
277
|
-
|
|
278
|
-
## CI Fix Summary
|
|
279
|
-
|
|
280
|
-
<If CI fixes were needed: what failed and what was fixed>
|
|
281
|
-
<If no fixes: "CI passed on first run.">
|
|
282
|
-
|
|
283
|
-
## Final State
|
|
284
|
-
|
|
285
|
-
- Worktree: <worktree path>
|
|
286
|
-
- Branch: <branch name>
|
|
287
|
-
- PR: <PR URL>
|
|
288
|
-
- Checks: <all green / current status>
|
|
289
|
-
- Total commits: <count> (implementation + CI fixes)
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
After writing the summary:
|
|
293
|
-
1. Stage `05-indie-summary.md`: `git add <workflow-dir>/<folder-name>/05-indie-summary.md`
|
|
294
|
-
2. Commit: `docs: add indie run summary for <feature-name>`
|
|
295
|
-
3. Push to the same branch
|
|
296
|
-
|
|
297
|
-
Present the final report to the user: PR URL, check status, iteration counts, and worktree path. Remind: "After merge, clean up with: `git worktree remove <path> && rm -rf <path>`"
|
|
298
|
-
|
|
299
|
-
---
|
|
300
|
-
|
|
301
|
-
## Constraints
|
|
302
|
-
|
|
303
|
-
**DO:**
|
|
304
|
-
- Create a dedicated worktree for each new feature — this enables parallel runs
|
|
305
|
-
- Use short, scannable folder names in `wt/` (timestamp goes in the branch name, not the directory) — never sequential numbers
|
|
306
|
-
- Check artifact state before each phase — never re-run completed phases
|
|
307
|
-
- Respect the 10-iteration cap on both the review loop and the CI fix loop
|
|
308
|
-
- Escalate with full context when hitting a cap or an unrecoverable error
|
|
309
|
-
- Keep CI fixes minimal and scoped — fix only what CI flagged
|
|
310
|
-
- Preserve the full audit trail — all review files, QA re-runs, and fix rounds are kept
|
|
311
|
-
- Produce the same artifacts whether running autonomously or with breakpoints
|
|
312
|
-
|
|
313
|
-
**DON'T:**
|
|
314
|
-
- Ask the user anything during execution — the only interaction points are the initial input, breakpoints (if set), and the final report (or escalation)
|
|
315
|
-
- Modify the review or QA skills' behavior — their independence is the quality gate
|
|
316
|
-
- Skip phases — every phase runs, even if the code "looks fine"
|
|
317
|
-
- Continue after 10 review FAILs or 10 CI fix failures — escalate, don't loop forever
|
|
318
|
-
- Re-run completed phases on resume — read existing artifacts and pick up where you left off
|
|
319
|
-
- Make large code changes during CI fixes — if the fix is architectural, escalate
|
|
320
|
-
- Rewrite the spec after it's written — review issues are addressed in implementation fix mode, not by revising the spec
|
|
321
|
-
- Delete the worktree automatically — leave cleanup to the user after merge
|
|
322
|
-
|
|
323
|
-
---
|
|
324
|
-
|
|
325
|
-
## Red Flags
|
|
326
|
-
|
|
327
|
-
If you catch yourself thinking any of these, stop:
|
|
328
|
-
|
|
329
|
-
- "The implementation looks solid, I'll skip QA" — STOP. Every phase runs. The workflow's value is the adversarial chain.
|
|
330
|
-
- "The review is being too strict, I'll soften the criteria" — STOP. The review's adversarial stance is non-negotiable. If it keeps failing, the code has real issues.
|
|
331
|
-
- "CI is flaky, I'll just re-run without fixing anything" — STOP. Read the logs. Diagnose before acting.
|
|
332
|
-
- "I'll ask the user what to do about this ambiguity" — STOP. Unless there's a breakpoint, you're autonomous. Decide and document.
|
|
333
|
-
- "This CI fix requires changing the feature implementation" — STOP. CI fixes are minimal. Escalate if the fix is architectural.
|
|
334
|
-
- "I've been running for a while, I should wrap up" — STOP. Follow the process. Escalate at the cap, don't shortcut.
|
|
335
|
-
- "I'll re-run the spec since the review found issues" — STOP. The spec is locked. Review issues go through implementation fix mode.
|
|
336
|
-
- "I should confirm this with the user before pushing" — STOP. The review PASS is the authorization. Unless there's a `ship` breakpoint, push and create the PR.
|
|
337
|
-
- "I'll work in the main checkout instead of creating a worktree" — STOP. Always create a worktree for new features. It enables parallel runs and keeps the main checkout clean.
|