Combined quality gate — description quality (cold-read test) + schema compliance + link health. Use after creating notes or as periodic maintenance. Triggers on "/verify", "/verify [note]", "verify note quality", "check note health".
Read ops/derivation-manifest.md for vocabulary and ops/config.yaml for verification settings.
Target: $ARGUMENTS
Parse immediately:
--batch: verify all notes in the specified project folderExecute these steps:
START NOW.
Three checks in one phase. The final quality gate before a note is considered processed.
Read ONLY the title and description. Without reading the body, predict what the note contains. Then read the body. If your prediction missed major content, the description needs improvement.
Description quality standards:
Fix: Rewrite immediately. Ask: "What does this note argue that a future agent needs to know to decide whether to read it?"
Check against the relevant template in templates/. Required fields:
description — present and non-empty, differs from titletype — valid enum for this note typestatus — valid enumtopics — array with at least one project hub link# Check for missing description
rg -L '^description:' ctf/ shimono/ ai-lain/ --include="*.md"
# Check for empty topics
rg 'topics: \[\]' ctf/ shimono/ ai-lain/ --include="*.md"
Fix: Add missing fields immediately. Update template enums if needed.
All wiki links in the note must resolve to existing files.
# Extract all wiki links from note and check they exist
grep -o '\[\[[^\]]*\]\]' "path/to/note.md" | sed 's/\[\[//;s/\]\]//' | while read link; do
find . -name "${link}.md" | grep -q . || echo "Dangling: [[$link]]"
done
Fix: Fix or remove dangling links. Log for connect phase if the target note should exist but doesn't.
## Verify Complete: [[note name]]
### Test 1: Description Quality
[PASS | FAIL — rewritten to: "new description"]
### Test 2: Schema Compliance
[PASS | FAIL — fields fixed: type, status]
### Test 3: Link Health
[PASS | FAIL — dangling: [[link]], flagged for connect]
### Overall: [PASS | PASS WITH FIXES | FAIL]
After verify: