Sprag

Sprag command reference

Every sprag command in one page: route-scan, harness, doc2md, handoff, mode, stats and the statusline switches.

Commands

Run these in your shell (inside Claude Code, the /claude-token-saver Skill is the only entry point):

CommandWhat it does
spragLast-1-day diagnostic report (--days N / --hours N)
sprag lastMost recent warning + remediation
sprag historyLast 7 days of warning transitions
sprag handoffBack work up to HANDOFF-*.md before a cap blocks you
sprag mode [keywords...]Output config (icon/text, en/ko, 1hโ€“30d window, โ€ฆ)
sprag harness ...๐Ÿ…ท Harness management (below)
sprag route-scanDetect recurring easy work on expensive models โ†’ propose haiku-delegation ratchet rules (below)
sprag route-scan savingsThe routing-savings ledger โ€” per-model-change rollup + per-run log (the evidence behind the figure)
sprag compact-windowWarn when a 1M-context session has no auto-compact cap โ†’ pin 400k with set (below)
sprag korean on\|off\|statusInject Korean writing guidance at session start and install the write-time check (below)
sprag cohesion on\|off\|status\|showInject English cohesion guidance (sentence-connection rules) at session start
sprag korean lint block\|warn\|offHow the write-time check handles findings
sprag korean lint scope all\|proseCheck every text file, or documents only
sprag doc2md on\|offConvert attached documents to Markdown before the model reads them (below)
sprag doc2md <file>Convert one file by hand. Diagnostic: it prints the refusal reason instead of swallowing it
sprag mode ttl=5m\|1h\|autoPin the cache TTL bucket. The default auto trusts the measured split, then falls back to gateway detection
sprag --versionPrint the installed version
sprag update-checkIs a newer version out? (--refresh to ask now, --dismiss to mute this version's offer)
sprag upgradeInstall the latest release with the package manager that installed this copy (--print shows the command only)
sprag installManually register Skill + statusline
sprag uninstall [--purge]Remove the hooks, statusline and skill it registered. Recorded savings are kept unless --purge is given

The output language is decided once, at install time: a terminal install proposes the system locale and asks whether to use Korean, while an unattended install records what the locale says. Once recorded it is never asked again, not even on an upgrade. Change it later with mode ko / mode en, or pin it for a scripted install with CTS_LANG=ko / CTS_LANG=en. Statusline chips stay symbolic either way.

All CLI options
FlagDescriptionDefault
--days, -dAnalysis period in days30
--hoursAnalysis window in hours (overrides --days)โ€“
--format, -ftable / json / csvtable
--project, -pFilter by project directoryall
--thresholdHit-rate alert threshold (0.0โ€“1.0)0.7
--statuslineOne-line statusline outputโ€“
--iconUse ๐Ÿง  / โณ / ๐Ÿ’ฐ / ๐Ÿ“ฆ iconstext
--verboseLonger labelsโ€“
--no-timerHide TTL countdownshow
--no-colorStrip ANSI codesโ€“
--segments=โ€ฆLimit statusline segments (e.g. model,five_hour,seven_day,saved)all
--install-hook / --uninstall-hookManage the PostToolUse hookโ€“

More docs