Reflect verify
Skill stevengonsalvez/ainb-reflect-memory/.agents/skills/reflect-verify
Verify Reflect end-to-end health, especially drain, ingest/consolidate maintenance, launchd timers, statusline error surfacing, and real Claude/Codex harness smoke checks. Use when Reflect seems stuck, drain is not clearing pending reflections, ingest has gone quiet, statusline ERR needs proof, or a change needs tmux-backed validation.From its SKILL.md
npx -y skills add stevengonsalvez/ainb-reflect-memory --skill reflect-verifyAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 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.
SKILL.md
3.3 KB, as published. Nobody here has run it
Reflect Verify
Run Reflect validation in layers: static checks, isolated queue/drain smoke, live read-only health, then optional real Claude tmux smoke. Do not run full ingest or consolidate as part of verification unless the user explicitly asks; the watchdog only surfaces due/malfunction states.
Workflow
-
Check source and install drift.
- Compare repo hook files against installed harness copies and Claude plugin cache.
- Confirm launchd labels for
com.reflect.drain,com.reflect.idle, andcom.reflect.maintenancewhen running on macOS. - Never kill tmux server or broad process names; only use exact session names created by this verification.
-
Run static gates.
.agents/skills/reflect-verify/scripts/verify-reflect.sh --static -
Run isolated drain smoke.
.agents/skills/reflect-verify/scripts/verify-reflect.sh --isolatedThis uses a temp
REFLECT_STATE_DIRand a stub Claude binary. It must prove timeout/no-output entries are quarantined and removed from the queue without touching live Reflect state. -
Run live read-only health.
.agents/skills/reflect-verify/scripts/verify-reflect.sh --live-readonlyReport queue depth, drain lock status, latest drain activity, unacked errors, ingest log age, and loaded launchd labels. Do not mutate queue, errors, or KB.
-
Run maintenance watchdog smoke when statusline surfacing is in scope.
REFLECT_STATE_DIR="$(mktemp -d)" \ GLOBAL_LEARNINGS_PATH="$(mktemp -d)" \ REFLECT_WATCH_FORCE_JSON_ERRORS=1 \ REFLECT_WATCH_SKIP_LAUNCHD=1 \ plugin/hooks/reflect-maintenance-watch.shVerify
errors.jsonreceivesingest_never_ranor drain malfunction entries. -
Run real Claude tmux smoke only when needed.
.agents/skills/reflect-verify/scripts/verify-reflect.sh \ --real-claude --workdir ~/d/git/ai-coder-rulesThe script creates a tmux session named
reflect-verify-<timestamp>, runs a tinyclaude -pprobe, captures a log, waits with a timeout, and kills only that exact session if cleanup is needed.
Done Criteria
- Static checks pass.
- Isolated drain smoke proves bad entries cannot head-of-line block the queue.
- Live read-only check explains current Reflect state with exact queue depth, launchd labels, and latest drain/error timestamps.
- If real Claude smoke is run, a tmux log proves
claude -pproduced a result or captures the exact failure mode. - Final report lists commands and pass/fail evidence, not just conclusions.
Safety Rules
- Do not run full
/reflect:ingestor/reflect:consolidateinside automated smoke checks. - Do not delete queue files. Use isolated temp state for destructive proofs.
- Do not use
tmux kill-server,pkill tmux, wildcard tmux kills, or process name kills. - Prefer read-only live checks unless the user explicitly asks to repair live state.