Check
Check roadmap hygiene and apply approved fixes. Input: none. Output: proposed row diffs (stale/inconsistent entries — missing pitch, status vs branch mismatch, merged-but-not-shipped) delivered and gated one by one via AskUserQuestion; only approved rows are written, each quoted inline. Runs inline — no agent dispatch. Reads ${specs_root}/roadmap.yaml on demand via scripts/roadmap-query.sh hygiene (whole-file read is fallback only).From its SKILL.md
npx -y skills add NVZver/claude-marketplace --skill checkAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- reads credentialsReads from 1 credential source: `${specs_root}/roadmap.yaml`.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 1 command, including `bash scripts/roadmap-query.sh hygiene`.
SKILL.md
5.2 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
Trace. On load, print first:
=============== [manager/skills/check/SKILL.md] [manager] ===============
Check
Check the roadmap for hygiene issues — stale rows, missing pitches, status/branch mismatches — and apply the fixes the user approves. Runs inline in the invoking context; no agent dispatch. The five hint classes are derived deterministically by scripts/roadmap-query.sh hygiene, so the only model work is judgment over the script's hints — which does not need a fresh context (../../../.lsa/standards/code.md §Dispatch efficiency: "Everything else — spec authoring, shaping, decomposition, recommendation, review, cited lookup — runs inline."). The scan conditions themselves stay canon in ../../agents/project-manager.md Steps 6-7, which still run there when hygiene rides along with Mode 1 sequencing.
Goal
Keep the roadmap honest — flag rows whose observable state contradicts their status and apply the corrections the user approves — without the user manually auditing the roadmap, and without paying a fresh agent context to read a script's output.
Input
- None required. The roadmap is the entry point; ambient state (roadmap, pitches, branches, specs) is read on demand.
Steps
-
Get the deterministic hints. Run
bash scripts/roadmap-query.sh hygiene— it emits all five hint classes (missing-pitch, backlog-but-branch, stale-in-progress, merged-not-shipped, no-artifacts) from the ledger + git with zero model tokens and no whole-file read. Only if it exits non-zero fall through to a model-sideReadof${specs_root}/roadmap.yaml. Observable result: the script's hint list quoted, or an observable fall-through note. -
Confirm each hint before proposing it. The hints are input, not verdicts (
../../agents/project-manager.mdStep 6). Confirm each against what the roadmap row and any linked pitch actually say; drop hints the context explains away; respect the recency boundary — a class-5 hint means "nothing was ever created for this slug", never "this item went stale". Observable result: a confirmed finding list, or the explicit statement that the roadmap is clean. -
Gate each row diff one by one. For each confirmed finding, present previous row + proposed row — each quoted with
file:line— viaAskUserQuestion(approve / reject). Deliver the diff inside the gate so the user sees it (../../../core/skills/output/SKILL.mdRule 7 Delivery test). Observable result: every proposed diff individually gated. -
Apply only approved rows, then show them. Write approved rows to
${specs_root}/roadmap.yaml; discard rejected ones. Quote each written row inline after writing — never "roadmap updated" without the row (Rule 7 write → show → comment). Observable result: each approved row written and re-quoted inline; rejected diffs discarded with nothing written.
Output
Each proposed hygiene row diff is gated one by one; approved rows are written and quoted inline; rejected diffs are discarded. If the roadmap is clean, that is stated with the script output backing it. No handoff, no agent dispatch.
Example Output
[illustrative]
=============== [manager/skills/check/SKILL.md] [manager] ===============
$ bash scripts/roadmap-query.sh hygiene
class 2 (backlog-but-branch) .lsa/roadmap.yaml:21 onboarding-checklist
1 hint; confirmed against the row + pitch (branch feature/onboarding-checklist is live).
Gate — .lsa/roadmap.yaml:21 onboarding-checklist (status backlog → in_progress): approve / reject
> approve
Applied — .lsa/roadmap.yaml:21 onboarding-checklist | Onboarding checklist | Should | in_progress
Constraints
- Inline, not dispatched. Hygiene is script-derived enumeration plus bounded judgment — neither is load-bearing isolation (
../../../.lsa/standards/code.md§Dispatch efficiency). Do not dispatchproject-managerfrom this skill. - Script first. The five hint classes come from
scripts/roadmap-query.sh hygiene, never from a model-side scan of the ledger — per../../../.lsa/VISION.md§2 principle 10. - Gate before write. The roadmap is an approval-gated artifact: show → approve → write. Nothing is written before its gate; on reject, nothing is written.
- Show changes inline. Quote every row written — never "roadmap updated" without the row. Per
../../../core/skills/output/SKILL.mdRule 7. - Outputs follow
core/output— citation by link, never restated.
/manager:check — manual invocation.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.