AgentStack
SKILL verified MIT Self-run

Quality Pipeline

skill-cookys-autopilot-quality-pipeline · by cookys

>

No reviews yet
0 installs
13 views
0.0% view→install

Install

$ agentstack add skill-cookys-autopilot-quality-pipeline

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Quality Pipeline? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Quality Pipeline (Unified Quality Gate)

Pipeline is a dispatcher. Each step follows its reference doc.

Project Config (auto-injected)

!cat .claude/quality-gate-config.md 2>/dev/null || true !cat .claude/dispatch-config.md 2>/dev/null || true

Sub-step References

  • Test policy: [references/test-policy.md](references/test-policy.md) — failure investigation, pre-existing cleanup
  • Completeness gate: [references/completeness-gate.md](references/completeness-gate.md) — anti-stub scan
  • Test integrity gate: [references/test-integrity-gate.md](references/test-integrity-gate.md) — L0 anti-gaming (no deleted/skipped/weakened tests)
  • Code review: [references/code-review.md](references/code-review.md) — 4-tier severity, fix-first classification
  • Anti-rationalization patterns: [references/anti-rationalization.md](references/anti-rationalization.md) — invoked from Failure Handling when retries exhaust

Available Scripts (prefer over LLM judgment)

Each script encodes a step the pipeline previously asked the LLM to do by hand. Use them; the JSON output is stable across rounds and cheap to consume.

| Script | Replaces LLM-judgment for | When invoked | |--------|---------------------------|--------------| | [scripts/completeness-scan.sh](../../scripts/completeness-scan.sh) | Anti-stub regex pass + new-vs-pre-existing classification | Completeness Gate step | | [scripts/check-redispatch-prompt.sh](../../scripts/check-redispatch-prompt.sh) | Round 2+ leaky-phrase detection (per references/blind-dispatch.md) | Before every re-review dispatch | | [scripts/diff-file-list.sh](../../scripts/diff-file-list.sh) | Reviewer's "list every file I read" enumeration in Verified Clean | Reviewer prompt assembly | | [scripts/diff-scope-report.sh](../../scripts/diff-scope-report.sh) | v2 scope-creep filter: whitespace-only files, files not in message, comment-only hunks, quote-style swaps | Code Review step (Scope Creep Scan) | | [scripts/resolve-dispatch.sh](../../scripts/resolve-dispatch.sh) | Per-dispatch model/mode lookup against model-routing-config.md | Any subagent dispatch | | [scripts/check-test-integrity.sh](../../scripts/check-test-integrity.sh) | "Did the implementer game the tests?" — deleted / skipped / soloed / weakened existing tests, escaped fixtures/config (see [references/test-integrity-gate.md](references/test-integrity-gate.md)) | After impl, before merge — esp. delegated / /l5 hetero dispatch | | [scripts/verify-preexisting.sh](../../scripts/verify-preexisting.sh) | Stash + checkout-base + run-test classification | Test Failure Investigation step | | [scripts/risk-counter.js](../../scripts/risk-counter.js) | Cross-round WTF-Likelihood Cap state tracking | Self-Regulation section | | [scripts/diff-since-last-round.sh](../../scripts/diff-since-last-round.sh) | Round-N checkpoint + delta-since-checkpoint (dispatcher-only) | Re-review Loop short-circuit decision | | [scripts/qc-panel.js](../../scripts/qc-panel.js) | Cross-family interrogation panel (shadow mode, task-tree engine) | Shadow QC panel section below | | [scripts/calibration.sh](../../scripts/calibration.sh) | Panel verdict sample store + agreement report | Shadow QC panel section below | | [scripts/resolve-qc-gate.sh](../../scripts/resolve-qc-gate.sh) | Per-project anti-skip gate strength (block/warn/off) for the .githooks/pre-push enforcer | On PASS, stamp the landing/merge commit with QC-Verdict: PASS (reviewer , ) so the pre-push gate is satisfied |

All scripts: --help for usage; deterministic exit codes; JSON output where applicable. If a user project ships its own script with the same contract, prefer the project version.

Shadow QC panel (task-tree engine)

When docs/projects//tree/ exists AND the review target is a verdict-bearing node (report has non-null verdict), the dispatcher MUST run scripts/qc-panel.js in parallel with the authoritative reviewer (Amendment 4: a silently-dead shadow fails the gate). Convention: --proj is the active project's directory name under docs/projects/ (no auto-detection — an omitted --proj means the shadow silently doesn't run, so the dispatcher owns supplying it). The existing reviewer flow REMAINS authoritative — this is shadow-only (KR5: zero behavior change for non-opted-in users; the wiring is conditional on the tree existing).

IF docs/projects//tree/ exists AND node report has verdict != null:
  Run scripts/qc-panel.js --report  \
      --artifacts  --out  \
      --proj  --node 
  Panel writes verdict artifact + appends a liveness (self-report-baseline)
  calibration sample automatically (Amendment 4 liveness).
  After the authoritative reviewer completes, add the graduation-bearing sample:
    scripts/calibration.sh add-sample \
      --panel-verdict  \
      --authoritative-verdict  \
      --baseline reviewer \
      [--class ]
  (Baseline separation: the panel's internal sample is liveness-only and
  excluded from graduation math; only the dispatcher's reviewer-baseline
  sample counts toward graduation criteria.)
ELSE: shadow path is a no-op; authoritative reviewer runs unchanged.

See [references/code-review.md](references/code-review.md) "Shadow QC panel" subsection for full wiring details and Amendment 4 liveness requirements.

Route Table

| Size | Route | Steps | |------|-------|-------| | S | scan → completeness → review | completeness (if not skip) + review | | L | test → scan → completeness → review | all steps | | hotfix | test → review | skip scan/completeness for speed |

Execution Steps

> Contract — the pseudocode blocks below are the executable dispatch contract that quality-pipeline reads at runtime: which step runs, which script to invoke, which reference doc owns the rest. They are intentionally minimal. Each step's full spec — rationale, examples, exceptions, prohibitions — lives in the linked reference doc, which is the canonical source of truth. Edits to the canonical spec MUST be mirrored here if (and only if) they change the dispatch shape (script name, branching outcome, ordering). Edits to examples/rationale stay in the reference — never duplicate them here.

Tests (L-size only)

Follow references/test-policy.md
  → failure? → classify via `scripts/verify-preexisting.sh ''`
              → PRE_EXISTING / INTRODUCED / NO_FAILURE / INCONCLUSIVE
              → INTRODUCED + (≥3 failures OR flaky/intermittent OR root cause not
                obvious from the diff) → invoke `autopilot:test-strategy` for the
                failure-investigation funnel (baseline / regression scoping / flaky
                systemic handling) BEFORE patching blindly
              → otherwise: fix per test-policy → re-run tests
  → pass? → continue

> Why route to test-strategy (added v2.25.10): the classifier tells you whose failure it > is, not why it fails or whether it's flaky-systemic. A cluster of INTRODUCED failures or an > intermittent one is exactly where test-strategy's funnel (test-pyramid placement, baseline > 守則, regression scoping) prevents whack-a-mole patching. A single obvious INTRODUCED failure > with a clear diff cause does NOT need it — fix directly. This is the cross-cutting routing edge > that was missing (2026-06-26 methodology inventory).

> Long-running / CI-backed test commands (Claude Code only, capability-gated): when the > test command is a remote CI run or a multi-minute build, prefer the Monitor tool over > re-running gh run watch in a busy-loop — Monitor runs the watch script in the background > and streams each output line back, re-invoking the session on change instead of polling. > This is optional leverage; on agents without Monitor, fall back to manual gh run watch / > re-checking by hand. See [references/multi-agent-portability.md §7](../../references/multi-agent-portability.md).

Completeness Gate (if not skip)

Follow references/completeness-gate.md
  → run `scripts/completeness-scan.sh` (exit 1 ⇒ has new findings)
  → TODO/stub/placeholder found? → complete or remove them
  → clean? → continue

Code Review (always runs)

Model routing: resolve via scripts/resolve-dispatch.sh --role reviewer — reads .claude/model-routing-config.md if present, else defaults from [references/model-routing.md](references/model-routing.md). Do not hardcode defaults in this file.

Follow references/code-review.md (dispatches per .claude/dispatch-config.md '## Code Review' chain; defaults to autopilot:reviewer when chain unset or no chain entry is dispatchable)
  Agent dispatch: read JSON from `resolve-dispatch.sh --role reviewer`
  Before any round 2+ dispatch: `scripts/check-redispatch-prompt.sh ` (exit 1 ⇒ leaky, strip and retry)
  Optional short-circuit: `scripts/diff-since-last-round.sh stat` (dispatcher-only — doc_only=true ⇒ skip re-review)
  → Critical/Major? → fix → re-review (repeat until clean)
  → Suggestion/Minor? → dispatch via Decision Tree below
  → LGTM? → pass

Pre-existing Error Cleanup (after main task)

Follow references/test-policy.md "Pre-existing Error Cleanup" section
  → Project hand-written code? → analyze + fix
  → Auto-generated code? → record root cause, don't edit generated file
  → Third-party dependency? → document only

Dispatch Decision Tree (Non-Critical Findings)

After code review, each Suggestion/Minor finding must be dispatched — never ignored:

Finding (Suggestion or Minor severity)
├── (a) S-size fix ( 20 → **STOP** (check via `scripts/risk-counter.js threshold-hit`; exit 1 ⇒ stop). Report: "Fix loop risk elevated. N fixes attempted, M reverted."
- Hard cap: 30 fixes per pipeline run (separate from per-step retry cap below)
- On STOP: list all attempted fixes, outcomes, and remaining issues; reset via `scripts/risk-counter.js reset` only after closing the pipeline run

## Failure Handling

Any step fails → stop → fix → resume from that step. **Never skip.**

Step N fails

  1. Fix the problem
  2. Re-run from Step N (not Step 1)
  3. Pass → continue to Step N+1

**Max retries per step**: 3 (counts step failures, not fix attempts — orthogonal to the 30-fix pipeline cap and the 20-risk threshold above). After 3 step failures, escalate via [references/anti-rationalization.md](references/anti-rationalization.md) (7-point checklist + structured failure report) before declaring inability to solve.

## See Also
- `autopilot:dev-flow` — sets session rules and dispatches pipeline

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [cookys](https://github.com/cookys)
- **Source:** [cookys/autopilot](https://github.com/cookys/autopilot)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.