← ClaudeAtlas

board-doctorlisted

Use to validate docs/31-board.md before spawning any agent, and to verify a developer's "DONE" claim before moving a row to review. Triggers as step 0 of /app-build and /app-run, from /app-status, and any time the board looks inconsistent. Catches tickets the sprint loop cannot see.
vmobifystudio/app-dev-team · ★ 4 · AI & Automation · score 74
Install: claude install-skill vmobifystudio/app-dev-team
# Board doctor The board is the team's only memory across agent invocations, and every row is written by an LLM editing a Markdown table. That means the board can drift into states the sprint loop is structurally unable to notice. The worst one, and the reason this skill exists: > `/app-build` treats a ticket as ready when `Status = todo` **and** every `Depends on` ID is merged > (`qa` or `done`), and it exits the loop when there are no ready `todo` rows and nothing in > `review`/`qa`. A ticket whose dependency is `blocked` therefore satisfies neither condition — so > the loop **terminates and prints a successful sprint summary without ever mentioning it.** Same for a row with a missing owner, an owner that isn't a real role, or a `Depends on` pointing at an ID that doesn't exist. The work is on the board, scheduled to nobody, reported as complete. **Rule: nothing spawns while an anomaly is open.** ## Two kinds of board, and what this skill is for on each **Generated board** (`docs/31-board-events.jsonl` exists). `docs/31-board.md` is a rendering of the event log, and `scripts/board.mjs` refuses the illegal transition *before* it is written — a self-approval, a merge with no non-owner approval, a review requested on an unverified DONE, a claim on an unmerged dependency. Those states are unrepresentable, not merely detectable, so on this board the doctor is mostly a **drift detector**. Mostly, and the exception matters. Anomalies on a generated board come in two kinds,