Skip to content

Slash commands and scripts

The plugin adds seven slash commands to Claude Code, and each one drives scripts that you can also run yourself with the gateway venv Python. The scripts are in scripts/ and run from a clone or from the plugin copy.

Slash commands

Command Use it to
/system1:setup install, upgrade, reconfigure, register or uninstall
/system1:choose-model pick an engine for your hardware, languages and privacy or cost constraints, using live web research and your Claude memory, then install it on a yes
/system1:report see whether System-1 is used and pays off: reach, hint adherence, subagent cost by tier, realised and missed savings, overhead (totals only); then offer a focused calibration
/system1:calibrate label collected decisions, fit the calibration, measure accuracy and set thresholds
/system1:doctor diagnose a gateway that will not connect, is down or degraded, times out, answers malformed or always abstains
/system1:add-provider add or update an engine adapter; needs a git clone
/system1:toggle on\|off\|status pause or resume System-1 everywhere from the next prompt, with no restart, or show its state
/system1:bench run, extend or rerun the naga decisions bench (bench/naga): add an engine, a test set or a trained student, then rebuild the study's tables and charts; needs a git clone

setup, choose-model, add-provider, toggle and bench are user-only: you type them, so their descriptions stay out of every session's context. doctor, report and calibrate also trigger from plain words ("why is system1 down?", "is System-1 worth it?").

Scripts

Script What it does
smoke.py [--python PATH] [--question Q --options A B ...] starts the installed gateway as an MCP client does; checks the handshake, health and optionally one decision. Exit 0 when all pass
toggle.py on\|off\|status pauses or resumes System-1 (a pause file), or shows its state
calibrate.py DATA.jsonl [--target-accuracy 0.8] [--write \| --ship] [--json] fits a temperature per question from labelled decisions and reports accuracy, ECE, AUROC and a threshold table
evaluate.py [--provider NAME] [--log PATH] [--min-feature-accuracy 0.85] [--min-safety 0.95] [--min-failures 30] [--json] read-only: is an engine ready to route? Verdict READY or NOT READY
outcomes.py [--days 30] [--projects-dir DIR] [--apply] [--json] proposes failed or succeeded for every Agent spawn from your transcripts; --apply writes it into the routing log
usage_report.py [--days 14] [--projects-dir DIR] [--prices FILE] [--json] read-only: how often hints appear, adherence, subagent cost by tier and estimated savings, from your transcripts

The transcript readers print aggregates only, never prompt text. Costs come from scripts/prices.json, API list prices used to compare tiers; a Claude Code subscription bills differently.

Install scripts

Script What it does
install.ps1, install.sh create or reuse ~/.system1-gateway/venv, copy the package in, create the config if missing, print the registration command
uninstall.ps1 [-Purge], uninstall.sh [--purge] unregister, delete the venv and the Windows login entry; -Purge also deletes config, engines and logs

Tests

python -m unittest discover -s tests -v     # from the repo root, Python 3.11+

The tests cover schema validation, provider selection, config and environment overrides, malformed responses, timeouts, fallback and abstention, the adapters against local fake servers, the hooks, the scripts, and an end-to-end stdio JSON-RPC session. They make no network calls beyond 127.0.0.1.