Use when researching library documentation with Context7 MCP tools for official patterns and best practices
Use this skill when researching library documentation with Context7 MCP tools for official patterns and best practices.
Use resolve-library-id before fetching docs:
# Search for library
result = resolve_library_id(libraryName="react")
# Returns matches with:
# - Context7 ID (e.g., "/facebook/react")
# - Description
# - Code snippet count
# - Source reputation (High/Medium/Low)
# - Benchmark score (0-100, higher is better)
Selection criteria:
Example output:
Selected: /facebook/react
Reason: Official React repository, High reputation, 850 snippets, Benchmark: 95
Use get-library-docs with resolved ID:
# Get focused documentation
docs = get_library_docs(
context7CompatibleLibraryID="/facebook/react",
topic="hooks",
page=1
)
Topic parameter:
Pagination:
page=1 returns first batchpage=2, page=3, etc.page=10Include version in ID when needed:
# Specific version
docs = get_library_docs(
context7CompatibleLibraryID="/vercel/next.js/v14.3.0-canary.87",
topic="server components"
)
Use when:
Structure findings as:
## Library Documentation Findings
### Library: React 18
**Context7 ID:** /facebook/react
**Benchmark Score:** 95
### Relevant APIs
**useEffect Hook** (Official pattern)
```javascript
// Recommended: Cleanup pattern
useEffect(() => {
const subscription = api.subscribe()
return () => subscription.unsubscribe()
}, [dependencies])
Source: React docs, hooks section
Dependency Arrays
Performance
## Common Libraries
**Frontend:**
- React: `/facebook/react`
- Next.js: `/vercel/next.js`
- Vue: `/vuejs/vue`
- Svelte: `/sveltejs/svelte`
**Backend:**
- Express: `/expressjs/express`
- FastAPI: `/tiangolo/fastapi`
- Django: `/django/django`
**Tools:**
- TypeScript: `/microsoft/typescript`
- Vite: `/vitejs/vite`
- Jest: `/jestjs/jest`
## Anti-Patterns
❌ **Don't:** Skip resolve-library-id step
✅ **Do:** Always resolve first (unless user provides exact ID)
❌ **Don't:** Use vague topics like "general"
✅ **Do:** Use specific topics: "authentication", "state management"
❌ **Don't:** Accept low benchmark scores (<50) without checking alternatives
✅ **Do:** Prefer high-quality sources (benchmark 80+)
❌ **Don't:** Cite docs without library version
✅ **Do:** Include version in findings
## Example Session
```python
# 1. Resolve library
result = resolve_library_id(libraryName="fastapi")
# → Selected: /tiangolo/fastapi (Benchmark: 92, High reputation)
# 2. Get auth documentation
docs = get_library_docs(
context7CompatibleLibraryID="/tiangolo/fastapi",
topic="authentication",
page=1
)
# → Got OAuth2, JWT patterns, security best practices
# 3. Need more detail on dependencies
docs2 = get_library_docs(
context7CompatibleLibraryID="/tiangolo/fastapi",
topic="dependency injection",
page=1
)
# → Got Depends() patterns, testing with overrides
# 4. Check pagination if needed
if insufficient:
docs3 = get_library_docs(
context7CompatibleLibraryID="/tiangolo/fastapi",
topic="authentication",
page=2 # Next page
)
High-quality results have:
Consider alternatives if: