Context7
Overview
Context7 is a service that provides LLMs with the latest library documentation. It prevents hallucinations from outdated training data or non-existent APIs, enabling retrieval of version-specific accurate documentation and code examples.
When to Use
Use this skill in the following cases:
- Explicit instruction: When the user instructs "use context7" or "check the latest documentation"
- Library usage questions: When asked about how to use a specific library's API, hooks, or functions
- Code example requests: When asked for code examples using a specific library
- Version-specific information: When library information for a specific version is needed
- Uncertain API information: When your knowledge might be outdated and latest information verification is needed
Workflow
Step 1: Resolve Library ID
First, obtain the Context7 ID for the target library.
API call:
curl "https://context7.com/api/v2/libs/search?libraryName=LIBRARY_NAME&query=CONTEXT_QUERY" \
-H "Authorization: Bearer $CONTEXT7_API_KEY"
Example:
# Search for React library
curl "https://context7.com/api/v2/libs/search?libraryName=react&query=hooks" \
-H "Authorization: Bearer $CONTEXT7_API_KEY"
Criteria for selecting from response:
trustScore: Trust score (higher is better)totalSnippets: Number of available documents (more means richer information)versions: Verify that the required version is included
Step 2: Retrieve Documentation
Use the resolved library ID to retrieve specific documentation.
API call:
curl "https://context7.com/api/v2/context?libraryId=LIBRARY_ID&query=SPECIFIC_QUERY" \
-H "Authorization: Bearer $CONTEXT7_API_KEY"
Example:
# Retrieve information about React's useEffect
curl "https://context7.com/api/v2/context?libraryId=/facebook/react&query=useEffect cleanup function" \
-H "Authorization: Bearer $CONTEXT7_API_KEY"
Query best practices:
- Use specific queries ("useEffect cleanup function" rather than "hooks")
- Be clear about the purpose ("authentication middleware", "form validation", etc.)
Step 3: Respond to User
Respond to the user's question based on the retrieved documentation.
Information to include in the response:
- Retrieved code examples
- API explanations
- Documentation source URLs (for reference)
Examples
Example 1: React Hook Usage
User: "How do I write a cleanup function with React's useEffect?"
Execution steps:
- Library search:
libraryName=react,query=useEffect cleanup - Documentation retrieval:
libraryId=/facebook/react,query=useEffect cleanup function - Respond with the latest code examples and best practices
Example 2: Next.js Routing
User: "Use context7 to show me how to implement authentication middleware with Next.js App Router"
Execution steps:
- Library search:
libraryName=next.js,query=middleware authentication - Documentation retrieval:
libraryId=/vercel/next.js,query=middleware authentication route protection - Respond with the latest App Router compatible middleware implementation
Example 3: Multiple Libraries Combination
User: "How to create a button component using TailwindCSS and shadcn/ui"
Execution steps:
- Resolve IDs for each library
- Retrieve documentation for both
- Respond with a combined implementation example
Error Handling
| Error | Solution | |-------|----------| | 404 (Not Found) | Search again with a different library name (e.g., "nextjs" → "next.js") | | 429 (Rate Limit) | Wait a moment and retry | | Empty response | Retry with a more general query |
Resources
For detailed API specifications, see references/api_reference.md.
- Endpoint details
- Response field descriptions
- Rate limit information
- Error code list