From docs-researcher
Search strategies and source hierarchies for finding external library documentation on the internet. Used internally by the documentation-researcher-agent. Provides query patterns for npm, PyPI, crates.io, MDN, and GitHub.
npx claudepluginhub bartekck/bartek-marketplace --plugin docs-researcherThis skill uses the workspace's default tool permissions.
Finding accurate, up-to-date documentation for external libraries and tools requires targeted search strategies. Generic queries return tutorials and blog posts — useful, but often outdated or inaccurate. This skill provides a hierarchy of authoritative sources and proven query patterns to find canonical documentation quickly.
Guides doc lookup and web search workflow for investigating libraries, APIs, or unfamiliar patterns before implementation.
Fetches up-to-date GitHub documentation for libraries, frameworks, and APIs via search and chunk/TOC retrieval for usage, references, configs.
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.
Share bugs, ideas, or general feedback.
Finding accurate, up-to-date documentation for external libraries and tools requires targeted search strategies. Generic queries return tutorials and blog posts — useful, but often outdated or inaccurate. This skill provides a hierarchy of authoritative sources and proven query patterns to find canonical documentation quickly.
Always prefer sources in this order — stop as soon as you find a sufficient answer:
| Priority | Source | When to use |
|---|---|---|
| 1 | Official documentation site | All cases — highest trust |
| 2 | npm / PyPI / crates.io package page | Package overview, README, links to docs |
| 3 | GitHub repository (/docs, /wiki, README.md) | When official site is lacking or missing |
| 4 | MDN Web Docs | Browser APIs, Node.js built-ins, Web standards |
| 5 | Stack Overflow | Error resolution, edge cases, usage patterns |
Never use tutorials, blog posts, or Medium articles as a primary source. They may document outdated APIs.
[library name] official documentation
[library name] api reference
[library name] docs site:[known-docs-domain]
Examples:
lodash official documentation
@tanstack/react-query api reference
zod schema validation docs
[library name] [method name] documentation
[library name] [class name] [method] api
site:[docs-domain] [method name]
Examples:
lodash debounce documentation
react-query useInfiniteQuery options
site:axios-http.com create instance
site:npmjs.com [package-name]
[package-name] npm readme
Or use Bash for instant metadata:
npm info <package> homepage # official docs URL
npm info <package> version # latest stable version
npm info <package> description # one-line summary
npm info <package> repository # GitHub repo URL
site:pypi.org [package-name]
[package-name] python documentation
[package-name] readthedocs
site:docs.rs [crate-name]
[crate-name] rust documentation
site:developer.mozilla.org [API name]
mdn [method name]
Examples:
site:developer.mozilla.org Promise.all
mdn Array.prototype.flatMap
mdn fetch api
When debugging an error from an external library:
"[exact error message]" [library name]
[library name] [error type] [method name]
[library name] [version] breaking change [method]
Examples:
"TypeError: Cannot read properties of undefined" axios
lodash TypeError map undefined
react-query v5 breaking changes useQuery
When using WebFetch, target these URL patterns over homepage/landing pages:
| Type | Pattern |
|---|---|
| API reference | /api/[method], /reference/[name] |
| Guide section | /docs/[topic], /guide/[topic] |
| GitHub docs | github.com/[org]/[repo]/blob/main/docs/[file].md |
| GitHub raw | raw.githubusercontent.com/[org]/[repo]/main/docs/[file].md |
| npm README | npmjs.com/package/[name] — scroll to README |
| PyPI README | pypi.org/project/[name]/ |
| Rust docs | docs.rs/[crate]/latest/[crate]/[module]/struct.Type.html |
For GitHub repositories, fetch raw markdown for clean, structured content:
# Replace:
https://github.com/org/repo/blob/main/docs/api.md
# With:
https://raw.githubusercontent.com/org/repo/main/docs/api.md
When version differences matter:
CHANGELOG.md in the GitHub repository/docs/migration or /docs/upgrading pages/v4/api/, /docs/5.x/# Quick package metadata
npm info <package>
# Find homepage (docs URL)
npm info <package> homepage
# Check if package exists
npm view <package> name
Common doc sites:
react.devnextjs.org/docslodash.com/docsaxios-http.com/docstanstack.com/query/latest/docszod.devtypescriptlang.org/docsvitest.dev/apiCommon doc sites:
docs.djangoproject.comfastapi.tiangolo.comdocs.pydantic.devdocs.sqlalchemy.orgrequests.readthedocs.ioAlways use MDN:
developer.mozilla.org/en-US/docs/Web/API/[API]developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/[type]If official docs don't cover the specific question:
[library] [version] [topic]awesome-[library] repos, official Discord/Slack linksAlways report the source URL and note if the answer came from unofficial sources.