claude-docs-changelog
Generate a self-contained HTML changelog report showing recent documentation changes with interactive course generation buttons. Use this skill when the user…
Search and read locally-stored Claude documentation covering Claude Code CLI, Claude API (Messages, tool use, vision, streaming, batch), Agent SDK (Python and TypeScript), prompt engineering, and all Anthropic platform docs. Use this skill whenever the user asks about Claude
$ npx -y skills add costiash/claude-code-docs --skill claude-docs --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/claude-docsContext preview
The summary Claude sees to decide when to auto-load this skill.
Search and read locally-stored Claude documentation covering Claude Code CLI, Claude API (Messages, tool use, vision, streaming, batch), Agent SDK (Python and TypeScript), prompt engineering, and all Anthropic platform docs. Use this skill whenever the user asks about Claude
name: claude-docs description: > Search and read locally-stored Claude documentation covering Claude Code CLI, Claude API (Messages, tool use, vision, streaming, batch), Agent SDK (Python and TypeScript), prompt engineering, and all Anthropic platform docs. Use this skill whenever the user asks about Claude Code features (hooks, MCP servers, skills, plugins, settings, permissions, keybindings, sub-agents), the Anthropic API or any of its SDKs (Python, TypeScript, Go, Java), the Agent SDK (sessions, hooks, custom tools, MCP), model capabilities (context windows, extended thinking, pricing, rate limits, vision), prompt engineering best practices, or troubleshooting any Claude-related error. This skill provides instant access to official documentation files without web searches — always prefer it over web lookups for Claude and Anthropic topics.
Claude's official documentation is indexed locally. The clone at `~/.claude-code-docs/` holds only metadata:
The actual `.md` pages are cached at `~/.claude-code-docs/cache/` (override: `$CLAUDE_DOCS_CACHE_DIR`). A background sync keeps the cache current; any page not yet cached is fetched on demand — see **Reading a doc** below.
Activate when the user asks about:
The search scripts read the manifest + index, so they see **every** page whether or not it is cached yet. Prefer them over globbing the cache.
bash ~/.claude-code-docs/plugin/skills/claude-docs/scripts/content-search.sh "<keyword1>" "<keyword2>"
Output is `filename<TAB>title<TAB>score`, best first. **Keyword extraction:** strip filler, keep domain terms — "how do I configure streaming" → `streaming configure`; "difference between hooks and MCP" → `hooks mcp`. Take the top 3-5 filenames and read them (next section).
User says "that caching doc", "something about checkpoint":
bash ~/.claude-code-docs/plugin/skills/claude-docs/scripts/fuzzy-search.sh "<query>"
Output is ranked filenames. Read the top match.
To list pages in a category or matching a filename fragment, query the manifest:
jq -r '.pages[] | select(.filename | test("<fragment>")) | .filename' ~/.claude-code-docs/paths_manifest.json
jq -r '.pages[] | select(.category=="claude_code") | .filename' ~/.claude-code-docs/paths_manifest.jsonA search returns a **filename** (e.g. `claude-code__hooks.md`). The file is at `~/.claude-code-docs/cache/<filename>`.
1. Read `~/.claude-code-docs/cache/<filename>`. 2. **If it is not there** (not fetched yet), fetch it first, then read:
~/.claude-code-docs/plugin/scripts/fetch-docs.sh get "<filename>"
then Read `~/.claude-code-docs/cache/<filename>`. 3. If the fetch fails (offline), the script prints the canonical source URL on stderr — fall back to WebFetch on that URL.
**To save context, prefer previewing large pages before reading them.** Pull a page's structure from the index (title + headings) first — often the headings alone answer the question and you skip loading a multi-KB body:
jq -r '.pages[] | select(.filename=="<filename>") | .title, (.headings[]|" "+.text)' ~/.claude-code-docs/search_index.json
When all matching docs share one product (all Claude Code, all Agent SDK, ...): read them all silently, extract relevant sections, present one unified answer, cite sources.
When matches span products (CLI + API + Agent SDK), ask which the user means. Labels (see `manifest-reference.md`) map from `category`:
| category | Say to user | |---|---| | `claude_code` | **Claude Code CLI** | | `agent_sdk` | **Claude Agent SDK** | | `api_reference` | **Claude API** | | `core_documentation` | **Claude Documentation** | | `agents_and_tools` | **Agents & Tools** | | `about_claude` | **About Claude** | | `get_started` | **Getting Started** | | `test_and_evaluate` | **Testing & Evaluation** | | `release_notes` | **Release Notes** | | `resources` | **Resources** | | `prompt_library` | **Prompt Library** |
After selection → read all docs in that context and synthesize.
When the user names a language, narrow API/SDK results (e.g. `agent-sdk__python`, `agent-sdk__typescript`, `api__go`, `api__java`). If none named but the query is about SDK methods, present **Python** first and note TypeScript equivalents exist.
Always cite source links. Get the **exact** URL from the manifest — never reconstruct it from the filename (filenames are lossy; the manifest stores the verbatim URL):
jq -r '.pages[] | select(.filename=="<filename>") | .url' ~/.claude-code-docs/paths_manifest.json
Example: `claude-code__hooks.md` → `https://code.claude.com/docs/en/hooks`.
When a search returns too few results, retry with a known synonym:
| User says | Search for | |---|---| | "function calling" | "tool use", "tool-use" | | "system instructions" | "system prompt" | | "JSON mode" | "structured outputs" | | "thinking" | "extended thinking", "adaptive thinking" | | "caching" | "prompt caching", "prompt-caching" | | "files API" | "files", "pdf support" | | "sub-agents" |
Every official Claude doc page, always live, never redistributed. 700+ pages across platform.claude.com and code.claude.com, re-indexed every 3 hours — and your Claude reads the actual current page, not a stale copy or a guess from training data. Two commands.
Repo: costiash/claude-code-docs
Generate a self-contained HTML changelog report showing recent documentation changes with interactive course generation buttons. Use this skill when the user…
Generate an interactive, self-contained HTML course on any Claude documentation topic. Use this skill when the user wants to create an interactive course,…
Check the health and freshness of locally-stored Claude documentation. Use this skill when the user asks about documentation health, broken links, stale docs,…