calibrate
Re-tunes the vSR plugin's thresholds from the user's own decision log. Tunes only the parts the user names (for example just the…
Guided setup for the vSR plugin. Runs the vLLM Semantic Router classifier on this machine's GPU or CPU or connects a remote runtime, picks which of vSR's six apps run, sets thresholds, writes the settings, and checks each app against the runtime. Use when vSR was just installed,
Claude Code
$ npx -y skills add vllm-project/semantic-router --skill setup --agent claude-code
Codex
$ npx skills add vllm-project/semantic-router --skill setup -a codex -y
Cursor
$ npx skills add vllm-project/semantic-router --skill setup -a cursor -y
Gemini CLI
$ npx skills add vllm-project/semantic-router --skill setup -a gemini-cli -y
GitHub Copilot
$ npx skills add vllm-project/semantic-router --skill setup -a github-copilot -y
OpenCode
$ npx skills add vllm-project/semantic-router --skill setup -a opencode -y
Windsurf
$ npx skills add vllm-project/semantic-router --skill setup -a windsurf -y
name: setup
description: Guided setup for the vSR plugin. Runs the vLLM Semantic Router classifier on this machine's GPU or CPU or connects a remote runtime, picks which of vSR's six apps run, sets thresholds, writes the settings, and checks each app against the runtime. Use when vSR was just installed, when its tally says classifier offline or its rows say SKIPPED, or when the user wants to change vSR's runtime, apps, or thresholds.
allowed-tools: Bash(python3 ${CLAUDE_SKILL_DIR}/scripts/detect.py *) Bash(python3 ${CLAUDE_SKILL_DIR}/scripts/runtime.py *) Bash(python3 ${CLAUDE_SKILL_DIR}/scripts/settings.py id *) Bash(python3 ${CLAUDE_SKILL_DIR}/scripts/settings.py show *) Bash(python3 ${CLAUDE_SKILL_DIR}/scripts/settings.py plan *)vSR asks a small classifier questions on every subagent, prompt, read and Bash command. This skill gets that classifier answering and writes vSR's settings. The scripts in `${CLAUDE_SKILL_DIR}/scripts/` do every check and every write; you run them, read their output, and ask the user only what they decide. Show script output as it prints, and keep your own summary to a few lines.
Settings go under `pluginConfigs["<plugin id>"].options` in the user's `~/.claude/settings.json` (or `$CLAUDE_CONFIG_DIR/settings.json`). Claude Code reads `pluginConfigs` only from user settings, so there is no project scope. The token for a remote runtime is the one value that never goes there: the user saves it with `/plugin configure <plugin id>`, which stores it in secure storage.
Apps and thresholds start at vSR's defaults. Every app is on by default except check: it reads Claude's whole answer, so on a CPU runtime a long answer outlasts its 3 s limit. Recommend check only with a GPU or remote runtime.
1. **Plugin id.** Run `python3 ${CLAUDE_SKILL_DIR}/scripts/settings.py id --plugin-root "${CLAUDE_PLUGIN_ROOT}"`. It prints `vsr@<marketplace>` for an installed copy, or `vsr@inline` for one loaded with `--plugin-dir`. Then run `python3 ${CLAUDE_SKILL_DIR}/scripts/settings.py show --id <id>`. If `otherIds` lists another vSR id, tell the user those values stay under that id. Done when you know the id and what is already saved.
2. **Look first.** Run `python3 ${CLAUDE_SKILL_DIR}/scripts/detect.py --id <id>` and show its six lines (machine, GPU, Python, vllm-srun, runtime, suggestion). It installs nothing. When a runtime already answers, the runtime line names the device it runs on when the runtime reports one and how long one question takes, and the suggestion line carries `keep runtime=<value>`, the value that keeping it saves, with the reason in parentheses. Done when the user has seen what this machine has and what detect suggests.
3. **Recommended or custom.** Ask one AskUserQuestion:
When detect suggests `remote`, this machine cannot run the classifier, so skip the question and go on as Custom. Done when the user picked one. For Recommended, take detect's suggestion as the step 5 branch, then go to step 8 with every app and threshold at its default. For Custom, go to step 4.
4. **Where the classifier runs.** Custom only. Ask one AskUserQuestion. Put detect's suggestion first, marked "(Recommended)", with its reason as the description:
Done when the user picked one.
5. **Get the runtime answering.** Follow the branch the user picked, or detect's suggestion on the Recommended path:
Re-tunes the vSR plugin's thresholds from the user's own decision log. Tunes only the parts the user names (for example just the…
Use for vLLM Semantic Router issue intake, PR decisions, releases, and reviewed GitHub mutations performed on behalf of…
Use when changing a request-visible router contract across configuration, signals, decisions, algorithms, or recipe-scoped…
Use when calibrating or validating a maintained routing recipe against live model backends, including probe manifests and…
Install, configure, verify, maintain, troubleshoot and optimize vLLM Semantic Router v0.5 on a Docker host (CPU, AMD or NVIDIA…
Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…
Create a new Architecture Decision Record with sequential numbering and AgentDB registration