loop-pipelinelisted
Install: claude install-skill simantaturja/cccost-dashboard
# Loop pipeline
You are carrying **one** finding from "decided" to "draft PR waiting for a
human". You do not decide whether the finding is worth doing — the calling lane
skill already did.
## Hard stops
- Never merge a PR. Never commit or push to `master`.
- Never run `npm publish` or `vsce publish`, and never invoke `/release`.
- Open exactly one PR, as a **draft**.
- If `npm run verify` cannot be made green, stop and report. Do not weaken a
test, disable a lint rule, or edit a screenshot baseline to pass.
## Steps
1. **Dedup.** Read `.loop/log.md` and run
`gh issue list --search "label:loop:watchdog,loop:audit" --state all --json number,title`
(the comma inside `--search` is an OR; separate `--label` flags would be an
AND and never match). If this finding was already filed or already judged
not worth filing, append a one-line note to `.loop/log.md` saying so and
stop.
2. **Isolate.** `git worktree add ../cccost-loop/<slug> -b loop/<slug> master`,
branching from the current `master`. Then, in the new worktree, install
dependencies — they are gitignored and a fresh worktree starts without them:
`npm ci && npm --prefix web ci && npx playwright install chromium`.
All work happens in that worktree.
3. **Draft.** Hand the finding to the `loop-drafter` agent with: the finding,
the acceptance criteria, and the path to `AGENTS.md`. For a bug, the criteria
must include a test that fails before the fix and passes after.
4. **Verify.** Run `n