A self-evolving coaching layer for Claude Code. Reads your transcripts, learns your habits, ships ambient tips and XP rewards as you work.
npx @rm0nroe/coach-claw@latest install --seed
Coach Claw watches how you actually use Claude Code, surfaces the habits worth reinforcing, and quietly upgrades its own watch-list as your work shifts.
A daily deterministic pass walks redacted transcripts and detects behavior patterns — no LLM on the cron path, zero tokens, zero network.
Behaviors land in profile.yaml. Strengths get reinforcement banners; weaknesses get nudges. Both graduate or retire as the data shifts.
Two Claude Code hooks inject pre-rendered tips, streak rewards, and level-up banners — never narrating, always forward-looking.
The cron path is local-only and LLM-free, so daily runs are reproducible and cost zero tokens. The LLM only writes the tip body — labels, XP lines, and streak bars are pre-computed in Python.
analyze.py walks redacted transcripts, emits detections under run-id insights-<ts>. Atomic write under flock, one commit per run.
Once per 7 days, fires claude -p "/insights" for its sidecar refresh side-effect, then aggregates JSON deterministically.
SessionStart loads the watch-list and queues celebrate banners; UserPromptSubmit schedules tips, banks XP, and renders streaks.
50-level craft ladder with 12 theme variants and statusline integration. Configurable ELO range via /config; XP thresholds stay fixed across themes.
profile.yaml never leaves your machine. The daily path is zero-network. The weekly path's /insights stdout is discarded — only the local sidecar refresh is consumed.
cat ~/.claude/coach/profile.yaml
macOS launchd or Linux cron. Idempotent installer. Backs up
existing state. Roll back any run with git checkout.
npx @rm0nroe/coach-claw@latest install --seed