
Documentation Lookup
FreeAccess up-to-date documentation for any developer technology.
Free · Opens the source repo
What Documentation Lookup does
The Documentation Lookup skill enables developers to retrieve current documentation, API references, and code examples for a wide range of libraries, frameworks, and tools. By utilizing the Context7 CLI, users can ensure they are accessing the most recent and relevant information, avoiding the pitfalls of outdated training data. This skill is particularly beneficial for developers who frequently work with popular technologies like React, Next.js, Prisma, and many others. It streamlines the process of finding accurate documentation, which is crucial for effective development and debugging.
To use this skill, developers execute commands through the Context7 CLI, starting with a library name resolution to obtain a Context7-compatible library ID. This two-step process ensures that the documentation queried is specific to the library in question. The skill emphasizes the importance of using precise queries to retrieve the best results, guiding users on how to formulate their queries effectively. This focus on accuracy helps developers quickly find the information they need without sifting through irrelevant search results.
This skill is ideal for developers who need immediate access to documentation while coding or debugging. It is particularly useful in scenarios where API changes or version updates may not be reflected in their existing knowledge. By prioritizing current documentation over potentially outdated training data, users can confidently implement features and troubleshoot issues with the most relevant information at hand.
Overall, the Documentation Lookup skill is a valuable tool for any developer looking to enhance their workflow and ensure they are working with the latest information available for their chosen technologies.
When to use it
Use this skill whenever you need to look up API syntax, configuration options, or code examples for a specific library or framework.
When not to use it
This skill may not be suitable for general programming questions that do not pertain to specific libraries or frameworks.
What you can build with it
Look Up API Syntax
Quickly find the correct API syntax for a specific function in a library like Express.js.
Debugging Library Behavior
Retrieve documentation on a library's behavior to troubleshoot issues during development.
Version Migration Assistance
Access documentation to understand changes between library versions when upgrading.
How to install Documentation Lookup
View source1. Install with the skills CLI
npx skills add upstash/context7/find-docs --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by upstashDocumentation Lookup
Retrieve current documentation and code examples for any library using the Context7 CLI.
Run commands with npx ctx7@latest so setup always uses the latest CLI without a global install:
npx ctx7@latest library <name> "<query>"
npx ctx7@latest docs <libraryId> "<query>"
Optionally install globally if you prefer a bare ctx7 command:
npm install -g ctx7@latest
Workflow
Two-step process: resolve the library name to an ID, then query docs with that ID.
# Step 1: Resolve library ID
npx ctx7@latest library <name> "<query>"
# Step 2: Query documentation
npx ctx7@latest docs <libraryId> "<query>"
You MUST call library first to obtain a valid library ID UNLESS the user explicitly provides a library ID in the format /org/project or /org/project/version.
IMPORTANT: Do not run these commands more than 3 times per question. If you cannot find what you need after 3 attempts, use the best result you have.
Step 1: Resolve a Library
Resolves a package/product name to a Context7-compatible library ID and returns matching libraries.
npx ctx7@latest library React "How to clean up useEffect with async operations"
npx ctx7@latest library "Next.js" "How to set up app router with middleware"
npx ctx7@latest library Prisma "How to define one-to-many relations with cascade delete"
Use the official library name with proper punctuation (e.g., "Next.js" not "nextjs", "Customer.io" not "customerio", "Three.js" not "threejs"). If results look wrong, try alternate spellings such as next.js before changing the query.
Always pass a query argument — it is required and directly affects result ranking. Use the user's intent to form the query, which helps disambiguate when multiple libraries share a similar name. Do not include any sensitive or confidential information such as API keys, passwords, credentials, personal data, or proprietary code in your query.
Result fields
Each result includes:
- Library ID — Context7-compatible identifier (format:
/org/project) - Name — Library or package name
- Description — Short summary
- Code Snippets — Number of available code examples
- Source Reputation — Authority indicator (High, Medium, Low, or Unknown)
- Benchmark Score — Quality indicator (100 is the highest score)
- Versions — List of versions if available. Use one of those versions if the user provides a version in their query. The format is
/org/project/version.
Selection process
- Analyze the query to understand what library/package the user is looking for
- Select the most relevant match based on:
- Name similarity to the query (exact matches prioritized)
- Description relevance to the query's intent
- Documentation coverage (prioritize libraries with higher Code Snippet counts)
- Source reputation (consider libraries with High or Medium reputation more authoritative)
- Benchmark score (higher is better, 100 is the maximum)
- If multiple good matches exist, acknowledge this but proceed with the most relevant one
- If no good matches exist, clearly state this and suggest query refinements
- For ambiguous queries, request clarification before proceeding with a best-guess match
Version-specific IDs
If the user mentions a specific version, use a version-specific library ID:
# General (latest indexed)
npx ctx7@latest docs /vercel/next.js "How to set up app router"
# Version-specific
npx ctx7@latest docs /vercel/next.js/v14.3.0-canary.87 "How to set up app router"
The available versions are listed in the library command output. Use the closest match to what the user specified.
Step 2: Query Documentation
Retrieves up-to-date documentation and code examples for the resolved library.
npx ctx7@latest docs /facebook/react "How to clean up useEffect with async operations"
npx ctx7@latest docs /vercel/next.js "How to add authentication middleware to app router"
npx ctx7@latest docs /prisma/prisma "How to define one-to-many relations with cascade delete"
Writing good queries
The query directly affects the quality of results. Be specific and include relevant details, but keep each query to one topic — if the question spans multiple distinct concepts, run a separate docs command per concept instead of combining them, unless the question is about how the concepts interact. Do not include any sensitive or confidential information such as API keys, passwords, credentials, personal data, or proprietary code in your query.
| Quality | Example |
|---|---|
| Good | "How to set up authentication with JWT in Express.js" |
| Good | "React useEffect cleanup function with async operations" |
| Bad (too vague) | "auth" |
| Bad (too vague) | "hooks" |
| Bad (too broad) | "routing and auth and caching in Next.js" |
Describe what to look up in the library's documentation, rather than the task to complete — vague one-word queries return generic results, and multi-topic queries dilute ranking and return shallow results for each topic.
The output contains two types of content: code snippets (titled, with language-tagged blocks) and info snippets (prose explanations with breadcrumb context).
Authentication
Works without authentication. For higher rate limits:
# Option A: environment variable
export CONTEXT7_API_KEY=your_key
# Option B: OAuth login
npx ctx7@latest login
Error Handling
If a command fails with a quota error ("Monthly quota reached" or "quota exceeded"):
- Inform the user their Context7 quota is exhausted
- Suggest they authenticate for higher limits:
npx ctx7@latest login - If they cannot or choose not to authenticate, answer from training knowledge and clearly note it may be outdated
Do not silently fall back to training data — always tell the user why Context7 was not used.
Common Mistakes
- Library IDs require a
/prefix —/facebook/reactnotfacebook/react - Always run
npx ctx7@latest libraryfirst —npx ctx7@latest docs react "hooks"will fail without a valid ID - Use descriptive queries, not single words —
"React useEffect cleanup function"not"hooks" - One topic per query — split
"routing and auth and caching"into a separatedocscommand per concept, unless the question is about how they interact - Do not include sensitive information (API keys, passwords, credentials) in queries
Frequently asked questions about Documentation Lookup
Similar skills
Markdown to HTML Conversion
Efficiently convert Markdown documents to HTML.
Code Tour
Create structured walkthroughs for codebases.
Acquire Codebase Knowledge
Streamline onboarding with comprehensive codebase documentation.
Documentation & Modernization
Streamline codebase documentation and modernization planning.
Azure Resource Visualizer
Generate architecture diagrams for Azure resources.
CLAUDE.md Improver
Optimize your CLAUDE.md files for better project context.
