Help us improve
Share bugs, ideas, or general feedback.
From docpull
Uses docpull tools to fetch, index, and search live docs for fast-moving libraries like Next.js, FastAPI, LangChain, React when answering 'how to X' or API questions.
npx claudepluginhub raintree-technology/docpull --plugin docpullHow this skill is triggered — by the user, by Claude, or both
Slash command
/docpull:docpull-researchThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Ground library/framework answers in real documentation instead of training-data recall. The cost of one `grep_docs` call is ~50 ms; the cost of giving a confidently wrong answer about a fast-moving API is much higher.
Grounds answers in real library documentation by searching indexed docs, fetching uncached sources, and reading specific sections. Useful for fast-moving SDKs, APIs, and version-sensitive tool behavior.
Fetches live documentation and implementation guidance for any library, framework, or API. Invoked when the user asks for documentation, examples, or best practices.
Fetches up-to-date GitHub documentation for libraries, frameworks, and APIs via search and chunk/TOC retrieval for usage, references, configs.
Share bugs, ideas, or general feedback.
Ground library/framework answers in real documentation instead of training-data recall. The cost of one grep_docs call is ~50 ms; the cost of giving a confidently wrong answer about a fast-moving API is much higher.
Activate when the user's question names a specific library, framework, SDK, or API surface — especially:
Do NOT activate for:
os, JavaScript Array.prototype).Always start with list_indexed. It's free and tells you which libraries you can search immediately without fetching.
list_indexed() → ["fastapi (3d ago)", "react (12h ago)", ...]
Use grep_docs with a focused regex. The library is already on disk, so this is a local search:
grep_docs(library="fastapi", pattern="dependency injection", limit=10, context=2)
If you want more context around a hit, use read_doc(library, path, line_start, line_end).
list_sources()): call ensure_docs(source="<alias>"). This crawls and indexes the whole library. ~10–30s for typical sites.fetch_url(url=...) if you only need one page. For a whole site you don't have an alias for, tell the user to run /docs-add <URL> (which uses the docpull CLI to crawl); the MCP fetch_url is single-page only.When you cite docs, include the source path returned by grep_docs / read_doc so the user can verify. Example: "Per fastapi/tutorial/dependencies.md:42, dependencies declared with Depends() are resolved per-request..."
ensure_docs for libraries the user didn't ask about ("while we're here, let me also fetch...").list_indexed will tell you it's there.grep_docs returns nothing useful, broaden the regex once before suggesting the user add more docs.These are pre-configured and resolvable by ensure_docs(source=...) without setup: react, nextjs, tailwindcss, vite, hono, fastapi, express, anthropic, openai, langchain, supabase, drizzle, prisma. Run list_sources() for the current set.
ensure_docs returns "unknown source": the alias isn't built-in. Either suggest /docs-add <URL> or call list_sources() and propose a near match.grep_docs returns empty: the pattern is too narrow, or the library doesn't cover the topic. Broaden once, then surface the gap to the user.pip install docpull and verify the plugin's MCP server is healthy. Fall back to answering from training data with an explicit caveat that docs weren't available.When you've grounded an answer in fetched docs, say so once at the start of the answer ("Per the FastAPI docs..."). Don't pad every paragraph with attribution — one source citation up front plus inline file references is enough.