← ClaudeAtlas

anti-stub-scanlisted

Scan a diff for stub patterns and TODO markers.
Acendas/shipyard · ★ 2 · AI & Automation · score 70
Install: claude install-skill Acendas/shipyard
# Anti-Stub Scan A diff scanner that flags code claimed as complete but not actually wired. Runs on the orchestrator side after `dispatching-task-loop` returns. Findings re-dispatch the subagent with the specific lines listed. **This file is the SPEC, not the runtime.** The pattern catalog, placeholder-marker semantics, and output shape documented below are implemented by `shipyard-data scan-stubs <base>..<head> [--lang <x>]` (`bin/scan-stubs.mjs`) — a CLI subcommand, not model-driven `Bash` + `grep`/`awk`. The orchestrator invokes the CLI directly; see "Implementation Notes for the Orchestrator" below for the exact invocation and exit-code contract. **Why both this AND the prompt-level Iron Law?** The Iron Law (`NO STUBS IN CODE YOU CLAIM IS COMPLETE`) lives in the subagent's prompt and works most of the time. This scanner is the second line: when the subagent rationalizes past the rule, the orchestrator catches the stub before flipping the task to done. Belt and suspenders. ## When to Invoke From the orchestrator side: 1. After `dispatching-task-loop` returns `STATUS: COMPLETE`. 2. Before marking the task `status: done` in its task file. 3. Before merging the worktree branch back to the working branch. Do NOT invoke during the subagent's own loop — the prompt-level Iron Law is the in-loop check. ## Inputs - `base_ref` — git ref / sha that this task's commit branched from (typically the working branch HEAD before the wave started). - `head_ref` — the subagent's comm