> **context7-docs** — chapter 1 of 5 in [upstash/context7](https://skillsdocs.com/upstash/context7).
>
> Book (all chapters, one file): https://skillsdocs.com/upstash/context7.md
> Machine manifest: https://skillsdocs.com/upstash/context7/.well-known/agent-skills/index.json
> Install the book: `npx skills add upstash/context7`
> Upstream: https://github.com/upstash/context7/blob/master/packages/pi/skills/context7-docs/SKILL.md @ `master`
> Raw bytes, no header: https://raw.githubusercontent.com/upstash/context7/master/packages/pi/skills/context7-docs/SKILL.md
> Base for relative paths: https://raw.githubusercontent.com/upstash/context7/master/packages/pi/skills/context7-docs/
> Licence: MIT — https://spdx.org/licenses/MIT.html
>
> Content © its authors, served unmodified. Takedown: https://github.com/kyleledbetter/skillsdocs/issues/new?labels=takedown&title=Takedown+request

<!-- Verbatim upstream SKILL.md follows, YAML frontmatter included. -->

---
name: context7-docs
description: >-
  Fetch up-to-date documentation and code examples for any library, framework,
  SDK, CLI tool, or cloud service. Use whenever the user asks about a specific
  library — even well-known ones like React, Next.js, Prisma, Express, Tailwind,
  Django, or Spring Boot — because training data may not reflect recent API
  changes or version updates.

  Always use for: API syntax questions, configuration options, version migration
  issues, "how do I" questions mentioning a library name, debugging that involves
  library-specific behavior, setup instructions, and CLI tool usage.

  Use even when you think you know the answer. Do not rely on training data for
  API details, signatures, or configuration options — they are frequently out of
  date. Prefer this over web search for library documentation.
license: MIT
---

# Context7 Documentation Lookup

Retrieve current documentation and code examples from [Context7](https://context7.com) using the `resolve-library-id` and `query-docs` tools that ship with this extension.

## When to use

Reach for these tools whenever a question involves a specific library, framework, SDK, CLI tool, or cloud service. Examples:

- "How do I configure caching in Next.js 16?"
- "What's the syntax for Prisma's `findMany` with relations?"
- "Show me a working Tailwind v4 install for a Vite app."
- "How do I rate-limit with `@upstash/ratelimit`?"

## Workflow

1. **Resolve the library ID.** Call `resolve-library-id` with the library name and what to look up in the library's documentation. The tool returns matching libraries with their Context7 IDs (`/org/project` format), descriptions, snippet counts, and quality scores. Pick the best match — prioritize official sources, name match, and high benchmark scores.
2. **Query the docs.** Call `query-docs` with the chosen library ID and what to look up in the library's documentation, scoped to a single concept — if the question spans multiple distinct concepts, make a separate call per concept with the same library ID, unless the question is about how the concepts interact. The tool returns documentation snippets and code examples.
3. **Answer.** Cite the library ID you used and quote code examples verbatim when relevant.

If the user supplies a library ID in `/org/project` or `/org/project/version` format directly, skip step 1 and call `query-docs` immediately.

## Constraints

- Do not call either tool more than 3 times per question.
- Do not pass API keys, passwords, credentials, personal data, or proprietary code as the `query` argument — it is sent to the Context7 API.
- Authentication uses the `CONTEXT7_API_KEY` environment variable. Get a key at https://context7.com/dashboard if requests fail with an auth error.
