Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/vmobifystudio/app-dev-team/board-doctornpx skills add vmobifystudio/app-dev-team --skill board-doctorgit clone --depth 1 https://github.com/vmobifystudio/app-dev-teamWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/vmobifystudio/app-dev-team/board-doctor)<a href="https://agentmods.dev/skills/vmobifystudio/app-dev-team/board-doctor"><img src="https://agentmods.dev/badge/skills/vmobifystudio/app-dev-team/board-doctor.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00071 | $0.03463 |
| Opus 5 | $0.00036 | $0.01732 |
| Sonnet 5 | $0.00014 | $0.00693 |
| Haiku 4.5 | $0.00007 | $0.00346 |
Grade C, and why
board-doctor scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Tells the agent never to refusehighAnti-refusal
Suppressing the ability to decline removes a core safety control; a later harmful request then succeeds.
described below, and every check still blocks. Do not refuse to run such a project — it is the How it starts
The opening of the file, as written. The whole thing — 223 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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-buildtreats a ticket as ready whenStatus = todoand everyDepends onID is merged (qaordone), and it exits the loop when there are no readytodorows and nothing inreview/qa. A ticket whose dependency isblockedtherefore 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, and treating them alike sends you hunting something that never happened:
- Drift —
malformed_row,status_invalid,duplicate_id,cycles_invalid,self_review,done_without_review. The CLI cannot produce these, so something wrote the Markdown directly or appended to the log by hand. Find what did it before you re-render over the evidence, because the nextboard.mjscall erases the edit and the trail with it. - Emergent —
stranded,dependency_cycle,cycle_cap_breached,owner_not_spawnable. These are properties of the ticket graph, not of the file.board.mjsproduces them legally: blocking a ticket strands everytodothat depends on it, and no single append was illegal. There is no hand-edit to find. Fix the graph — unblock the dependency, re-scope the ticket, or file it blocked in the first place (board.mjs add <ID> --depends X --status blocked), which is the honest shape when a bug is filed against a ticket that is itself stuck.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today First seen · 223 lines · 71 tokens per session scan C 951d0dbc6db1
board-doctor is a skill published in the GitHub repository vmobifystudio/app-dev-team (4 stars, last pushed 24d ago), licensed MIT. It adds 71 tokens to every session and 3,463 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it C with 1 finding (tells the agent never to refuse). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
seeds-issue-audit
Audit and triage open Seeds (sd) issues — find which can be closed, auto-close high-confidence completed ones, and report borderline cases. Activate for prompts like "audit open issues", "which seeds issues can be closed", "clean up the issue tracker", "triage the seeds backlog".
good-first-issue-batch
File a batch of contributor-ready GitHub issues from the seeds backlog, re-verifying every candidate against HEAD first so no dead issue reaches a contributor. Activate for prompts like "file some good first issues", "open a batch of GFIs", "publish backlog issues to GitHub", "find contributor-ready work", or after an…
warren-dogfood-pipeline
Full prioritize → dispatch → shepherd → track pipeline against the live warren instance. Audits the seeds backlog around a focus theme, dispatches the surviving issues to warren agents one at a time, babysits the resulting PRs to merge (update-branch, conflict-repair runs, auto-merge), and closes the loop in the…
run
Conduct a task end to end, from a one-line fix to a multi-day programme - a short interview, then autonomous execution to the finish. Classifies the task S/M/L/XL, configures itself to the repo, routes each role to a cost tier, drives the agent team from the kanban board, and stops only at genuine decisions. Use for…
status
Where is the work right now. Regenerates the projections and the kanban board from the journal and answers with the progress line, the agents still running, the open gates and the resume steps. Read-only. Use for /tyran:status or when asked what is going on.
heartbeat
This skill should be used when the user asks to "run a heartbeat", "run the agent loop", "process GitHub issues", "check for work", or runs the /heartbeat command. Executes the WoterClip heartbeat — picks up GitHub issues, resolves personas, does work, and reports back.