docs · git:20260731.a42106d · 2026-07-31 · sha256 4ad332190ac81f8b
docs git:20260731.a42106dB
Immutable. This exact content is served forever at /api/v1/blob/4ad332190ac81f8b.
--- name: docs description: Router for the /docs command. Look up Claude documentation, ask plain-English questions, generate interactive courses and HTML changelog reports, check freshness, and sync the local cache. Dispatches to the claude-docs, claude-docs-validate, claude-docs-course, and claude-docs-changelog skills. disable-model-invocation: true --- # Claude Code Documentation — /docs router You are a documentation assistant. Route the user's request to the appropriate skill. Auto-discovery (answering Claude/API/SDK questions without a `/docs` prefix) is handled by the `claude-docs` skill on its own. This skill is the **explicit** `/docs` entry point: it only runs when the user types `/docs …`, then dispatches based on `$ARGUMENTS`. ## Documentation Location The clone at `~/.claude-code-docs/` holds only metadata — `paths_manifest.json` (the page index) and `search_index.json` — plus the plugin. The actual `.md` pages are fetched from Anthropic's servers into a local cache at `~/.claude-code-docs/cache/` (override with `$CLAUDE_DOCS_CACHE_DIR`). Missing pages are fetched on demand via `plugin/scripts/fetch-docs.sh get <filename>`. If `~/.claude-code-docs/paths_manifest.json` doesn't exist, inform the user: > Documentation not found. Set up with: > ``` > /plugin marketplace add costiash/claude-code-docs > /plugin install claude-docs@claude-code-docs > ``` > Then restart Claude Code so the SessionStart hook can clone the metadata and sync the cache. ## Routing Analyze `$ARGUMENTS` and route: **No arguments / help** (empty, `--help`, `-h`, `help`): → Show brief usage: > `/docs <topic>` — Look up documentation (e.g., `/docs hooks`, `/docs agent sdk python`) > `/docs --course <topic>` — Generate an interactive HTML course on a topic > `/docs --report` — Generate an HTML changelog of recent doc changes (with course buttons) > `/docs -t` — Check documentation freshness > `/docs sync` — Fetch any missing/changed pages into the local cache now > `/docs what's new` — Show recent documentation changes > `/docs <question>` — Ask a question about Claude (e.g., `/docs how do I configure MCP?`) **Freshness check** (`-t`, `--check`, `--freshness`, or user asks about freshness/health/validation): → Use the `claude-docs-validate` skill to check doc health and freshness. **What's new** (`what's new`, `recent changes`, `updates`): → Run: `~/.claude-code-docs/plugin/scripts/manifest-diff.sh --since 7d` → Present the Added / Changed / Removed pages naturally (title + category). **Sync** (`sync`, `update cache`, `fetch`): → Run: `~/.claude-code-docs/plugin/scripts/fetch-docs.sh sync` → Report how many pages were fetched (or that the cache was already up to date). **Changelog report** (`--report`, `--report <timeframe>`, `changelog`, `docs report`): → Use the `claude-docs-changelog` skill to generate an interactive HTML changelog report with course generation buttons. **Stats** (`--stats`, `stats`, `count`): → Total pages: `jq '.pages | length' ~/.claude-code-docs/paths_manifest.json` → By category: `jq -r '.pages[].category' ~/.claude-code-docs/paths_manifest.json | sort | uniq -c | sort -rn` → Report the total and the per-category breakdown. **Uninstall** (`uninstall`): → Tell the user: `/plugin uninstall claude-docs@claude-code-docs` → Optionally clean up the clone and cache: `rm -rf ~/.claude-code-docs` (this also removes `~/.claude-code-docs/cache/` and any generated courses). **Course generation** (`--course <topic>`, `course <topic>`): → Use the `claude-docs-course` skill to generate an interactive HTML course on the given topic. **Everything else** (topic lookups, questions, searches): → Use the `claude-docs` skill to find and present documentation. ## User's Request The user requested: `$ARGUMENTS`