Ccr Toolkit — AI skill for Claude Code
Diagnose a local LLM gateway: why a request failed, which hop broke it, and what the log still says.
How to install Ccr Toolkit
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open acrot0/ccr-toolkit and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Ccr Toolkit does
Diagnose a local LLM gateway: why a request failed, which hop broke it, and what the log still says. Read-only tools for Claude Code Router.
Alternatives in AI
- Token Cost Tracker — Estimate, log, and report token usage using runtime-supplied billing rates; never rely on embedded model price 138 ★
- Generate Clip — Generate AI video clips for your Remotion project 113 ★
- Aurora — Aurora - independent community smart home orchestrator 103 ★
README
ccr-toolkit
[](https://github.com/acrot0/ccr-toolkit/actions/workflows/ci.yml) [](test/) [](https://nodejs.org) [](LICENSE)
Six read-only audit tools for [Claude Code Router](https://github.com/musistudio/claude-code-router) (CCR).
git clone https://github.com/acrot0/ccr-toolkit.git
cd ccr-toolkit
node src/cli.mjs # run the whole sweep, get one verdict
✅ doctor OK
✅ cache OK
⚠️ check WARN
✅ takeover OK
3 ok, 1 warn, 0 fail
Needs attention: ccr-toolkit check
Overall: ⚠️ WARN
Then `node src/cli.mjs doctor` for the full detail on whichever needs it.
They answer six questions CCR itself does not:
- Why did that request fail? →
ccr-doctor - Where exactly did it fail? →
ccr-trace - What did the request body actually contain? →
ccr-body - Is my prompt cache actually working? →
ccr-cache - Is my gateway config healthy? →
ccr-check - Will CCR silently overwrite my agent's config with a broken snapshot? →
ccr-takeover
All six are **read-only**. They open databases with `readOnly: true` and never write to your config.
Why this exists
CCR is a local model gateway. It routes Claude Code (and other agents) through whichever upstream you configure. Six problems are invisible from inside it:
0. The error message is empty, and the explanation is sitting right there
CCR logs every request to `request-logs.sqlite`. When a request fails it records the upstream's response in `response_body_text` — and then never reads it. The `error` column it shows you is a different thing entirely, and is frequently blank.
Measured on a real install: **four of seven failures carried an empty `error` column —
Related Skills
Grep Jsonl
Inspect Mori's ~/.mori/logs/mori-YYYY-MM-DD.jsonl event log to diagnose user-reported issues — find errors, tr
Frontend Design Pro
Machine-enforced frontend UI/UX skill pack for AI agents. Registry + lazy loading: a 2,149-token router loads
Claude Code Jev Smart Router
HTTP proxy for Claude Code that selects the Claude model per request to cut cost and latency. Routes on task p
Agent Rules Kit
Diagnose AI agent instruction files like AGENTS.md, CLAUDE.md, and Cursor rules using this local read-only Pyt
Claude Request
Send a prompt to Claude Code via the LLM gateway with session tracking
Codex Request
Delegate a task to Codex via the LLM gateway
Related Agents
Bd Diagnose
Diagnoses why a run broke or looks wrong — NaN, blow-up, a failed prediction, a strange plot shape. Needs hypo
Local Worker
Coding worker on a local model (Ollama, LM Studio, vLLM) served by the multi-model gateway's upstream. Use whe
CI Fix Agent
CI failure diagnosis and repair. Use when CI is failing, when asked to 'fix CI', 'pipeline broke', or 'build f