Our review
Fetches up-to-date documentation for libraries and frameworks using the Context7 MCP server, enabling code generation and troubleshooting with current API information.
Strengths
- Automatically resolves library IDs from package names
- Provides version-specific, official documentation
- Maintains a local registry for cross-session consistency
- Works proactively without explicit user request
Limitations
- Requires Context7 plugin to be installed and enabled
- May fail for obscure, private, or renamed packages
- Relies on network access to the Context7 service
When writing code using any third-party library, framework, or SDK to ensure correctness against current docs.
For standard language built-ins, basic programming concepts, or when offline without cached docs.
Security analysis
SafeThe skill only reads and writes a local registry file and makes calls to a documentation lookup MCP server. It does not execute arbitrary commands, download external payloads, or manipulate sensitive data.
No concerns found
Examples
Use Context7 to fetch the latest React hooks documentation for the useEffect hook.Resolve the Context7 library ID for @tauri-apps/api and then fetch setup docs.I need to use the morgan HTTP logger with Express. Check the latest docs for morgan usage.name: context7 description: Fetch up-to-date library documentation using Context7 MCP. Use proactively whenever working with libraries, APIs, frameworks, or SDKs — for documentation lookup, code generation, setup, configuration, or troubleshooting. Also use when the user says "check docs", "look up API", "how does X work", or references any library/framework.
Context7 Documentation Skill
Fetch version-specific, up-to-date documentation for any library or framework using the Context7 MCP server. This skill is used proactively — you do not need to wait for the user to ask for docs.
When to use this skill
Use Context7 automatically whenever you:
- Need to write code using a library's API
- Are generating setup or configuration steps
- Need to verify correct function signatures, options, or patterns
- Are troubleshooting library-related errors
- Are unsure about current API conventions (your training data may be outdated)
- Are working with any dependency listed in the project's package manager files
Do NOT use for general programming concepts, language builtins, or topics unrelated to specific libraries.
Instructions
Step 1: Check the registry
Before calling Context7, read .claude/context7-registry.md to see if the library already has a known Context7 identifier.
If the library is listed with a context7_id, skip to Step 3.
Step 2: Resolve the library ID
If the library is not in the registry, use the Context7 MCP tool to resolve it:
Tool: mcp__context7__resolve-library-id
Input: { "libraryName": "<library-name>" }
Tips for resolving:
- Use the npm/PyPI/crates.io package name (e.g.,
react,express,tauri) - If the first attempt fails, try the full name (e.g.,
@tauri-apps/apiinstead oftauri) - For monorepo packages, try both the scope and the individual package
Once resolved, immediately register the library — see Step 5.
Step 3: Fetch documentation
Use the Context7 MCP tool to get documentation:
Tool: mcp__context7__get-library-docs
Input: {
"context7CompatibleLibraryID": "<context7_id from registry>",
"topic": "<specific topic you need>"
}
Topic tips:
- Be specific:
"useEffect hook"not"hooks" - Include the operation:
"file upload configuration"not"files" - For setup:
"getting started"or"installation"
Step 4: Apply the documentation
- Use the fetched docs to write correct, up-to-date code
- Prefer patterns shown in the official docs over patterns from training data
- If the docs show a different API than expected, trust the docs
Step 5: Update the registry
After resolving a new library or fetching docs, update .claude/context7-registry.md:
- Read the current registry file
- Add or update the entry with:
- Library name (package manager name)
- Context7 ID (from resolve step)
- Version currently in use (from package.json, Cargo.toml, etc.)
- Date last verified
- Write the updated registry
Registry entry format:
| library-name | /org/repo | 1.2.3 | 2025-01-15 |
Step 6: Version checking (periodic)
At the start of each session and whenever you read a package manager file (package.json, Cargo.toml, etc.):
- Read the registry at
.claude/context7-registry.md - Read the project's dependency file(s)
- Compare versions for all registered libraries
- For any mismatch:
- Warn the user: "Library X version changed: registry says 1.2.3, project uses 2.0.0"
- Auto-update the registry with the new version and today's date
- Re-fetch docs if the major version changed (API may have breaking changes)
Error handling
- Context7 MCP not available: Inform the user that the Context7 plugin needs to be enabled. They can enable it via
/install-plugin context7or by adding"context7@context7": truetoenabledPluginsin~/.claude/settings.json. - Library not found: Try alternative names (scoped, unscoped, org name). If still not found, note it in the registry as
NOT_FOUNDso we don't retry every time. - Rate limited or timeout: Fall back to your training data but note that the docs may be outdated.
Registry file location
The registry lives at: .claude/context7-registry.md
This file is committed to the repo so all team members share the same library mappings.
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.