verify-narulisted
Install: claude install-skill 9710willy/naru
# Verify Naru
Naru's main user surface is the short-lived CLI in `naru.py`. The Codex hooks,
Claude Code spill hook, model agent, and benchmark are other surfaces. This
skill covers the CLI. Run their module self-checks when a change touches them.
## Launch
Run from the repository root. This creates one state folder and one separate
evidence folder. The state folder includes its own SQLite database, metrics
file, and temp folder. Two runs can work side by side when each uses this block.
```bash
set -eu
VERIFY_NARU_HOST_TMP="${TMPDIR:-/tmp}"
VERIFY_NARU_STATE=$(mktemp -d "${VERIFY_NARU_HOST_TMP%/}/verify-naru-state.XXXXXX")
VERIFY_NARU_EVIDENCE=$(mktemp -d "${VERIFY_NARU_HOST_TMP%/}/verify-naru-evidence.XXXXXX")
mkdir -p "$VERIFY_NARU_STATE/tmp"
export VERIFY_NARU_HOST_TMP VERIFY_NARU_STATE VERIFY_NARU_EVIDENCE
export NARU_DB="$VERIFY_NARU_STATE/log.db"
export NARU_NOTES="$NARU_DB"
export NARU_METRICS="$VERIFY_NARU_STATE/metrics.jsonl"
export TMPDIR="$VERIFY_NARU_STATE/tmp"
./.agents/skills/verify-naru/capture.py launch -- python3 naru.py --help
rg -q "naru claim" "$VERIFY_NARU_EVIDENCE/launch.terminal.txt"
rg -q "naru inject" "$VERIFY_NARU_EVIDENCE/launch.terminal.txt"
printf 'ready - state=%s evidence=%s\n' "$VERIFY_NARU_STATE" "$VERIFY_NARU_EVIDENCE"
```
The CLI is ready when the block exits `0` and prints `ready`. There is no server
or long-running process. Use the Cleanup block when the drive ends.
## Doctor
Run this read-only check before the first drive and when