Periodic pass that keeps verify-cairn and its features/ map honest: source readers per feature, one live session driving features, at most one PR of proven corrections under the skill directory. Use for /maintain-verify-cairn or when asked to audit the verify-cairn feature map.
Installs into .claude/skills of the current project.
Sponsors
SSkills DirectorySkills Directory
Know which skills are safe — weekly.
SSkills DirectorySkills Directory
Is that skill safe to install?
Are you the author of Maintain Verify Cairn?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/xiechimon-maintain-verify-cairn)
---
name: maintain-verify-cairn
description: "Periodic pass that keeps verify-cairn and its features/ map honest: source readers per feature, one live session driving features, at most one PR of proven corrections under the skill directory. Use for /maintain-verify-cairn or when asked to audit the verify-cairn feature map."
disable-model-invocation: true
---
# Maintain verify-cairn
Cairn's empirical verification map lives at `.claude/skills/verify-cairn/features/` (canonical; `.cursor/skills/verify-cairn/features` links the same tree). This skill is the poteto `/maintain-verification-skill` loop scoped to that directory. The feature registry next to it (`feature-map.json`, rendered to `feature-map.md`) is regenerated by `node scripts/generate-feature-map.mjs` and checked in CI; when a live pass finds a reach step that no longer gets to the feature, fix that row and regenerate (see `docs/ops/feature-map-maintain.md`).
## Outcomes
Pick one, and say which:
- **clean** — every targeted feature got source and live coverage; nothing worth shipping. No branch, no PR.
- **changed** — one PR ships proven doc, harness, or map corrections under `.claude/skills/verify-cairn/` (and the cursor symlink side only if needed).
- **blocked** — coverage could not finish or a proven fix could not ship safely. Say exactly what blocked it; open or update a ticket rather than silencing the map.
## Edit scope
Only edit the verify-cairn skill directory (`SKILL.md`, `features/`, `feature-map.json` with its generated `feature-map.md`, `scripts/`, `vp-registry.json`, `changelog/`). Never edit product code during a run: behavior the map describes that the app no longer does is either doc drift (fix the map) or a product regression (report it; do not paper over it in docs).
## Pass
0. **Locate** `.claude/skills/verify-cairn/` and read `features/README.md`.
1. **Index hygiene.** Glob `features/*.md`. Fix missing, extra, duplicate, or dead README links. `node scripts/feature-map-maintain.mjs` must be green.
2. **Source wave.** One read-only subagent per feature file (or a bounded batch if the map is large). Each returns: feature summary / source entry points / likely drift or none / one live recipe. Children never drive the app and never edit files.
3. **Reconcile.** Merge recipes into as few app states as practical. Sweep recent user-facing churn for surfaces missing from the map — require a concrete source path before calling one missing.
4. **Live pass.** Required even when source looks clean. Follow verify-cairn Launch / Doctor / Drive / Evidence / Cleanup (`node .claude/skills/verify-cairn/scripts/vp.mjs` and glass journeys). Doctor before first drive and after failed drives; evidence must survive cleanup; reap only what this run started.
5. **Triage.** Wrong user-POV → fix map. Harness cannot drive working behavior → fix harness under edit scope and re-drive. App broken → product ticket, keep out of this PR.
6. **Ship or stop.** `changed`: one PR, re-read every changed file. `clean` / `blocked`: no PR; report coverage honestly. Record a new `changelog/<date>-maintain.md` entry when shipping map or harness corrections.
## Relation to daily Actions
GitHub Actions runs the feature-map check and README index hygiene daily and opens a deduped issue on failure. It does **not** replace this live pass.