documentation-lookup — Claude Code skill: what it does, how to install
Fetches live library and framework documentation via the Context7 MCP server instead of stale training data. Helps get accurate API methods and configuration examples.
npx skills add affaan-m/ECC --skill documentation-lookup -a claude-codeWhat documentation-lookup does
Instead of guessing from frozen model weights, this skill routes queries to the Context7 MCP server. It first runs resolve-library-id with the library name and full question. Matches are ranked by benchmark quality scores and requested versions like Next.js 15.
Once resolved, the agent calls query-docs to retrieve official code snippets and documentation. The skill sets a strict ceiling of 3 calls per question to prevent loop traps. It also enforces secret redaction, stripping tokens and API keys from queries before hitting the MCP server.
Install this if you regularly work with fast-evolving packages like Supabase, Prisma, or modern frontend frameworks. If your codebase relies purely on standard libraries with frozen APIs, you will not need it.
What it helps with
- fetch current auth methods for Supabase
- configure middleware in specific Next.js versions
- write relational database queries using Prisma Client
- verify framework APIs without relying on outdated training data
Example prompts for the agent
- How do I configure Next.js middleware?
- Write a Prisma query with relations using include
- What are the current Supabase auth methods?
How to install documentation-lookup
1Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill documentation-lookup -a claude-code2Manually: put the files in place
~/.claude/skills/documentation-lookup/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/documentation-lookup/
1Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill documentation-lookup -a codex2Manually: put the files in place
.agents/skills/documentation-lookup/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill documentation-lookup -a cursor2Manually: put the files in place
.cursor/skills/documentation-lookup/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install affaan-m/ECC documentation-lookup2Manually: put the files in place
.github/skills/documentation-lookup/SKILL.md1Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill documentation-lookup -a gemini-cli2Platform CLI
gemini skills install https://github.com/affaan-m/ECC --path skills/documentation-lookupManually: put the files in place
.devin/skills/documentation-lookup/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill documentation-lookup -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set146
The whole set →Similar
Questions about documentation-lookup
How to install documentation-lookup in Claude Code?
Run npx skills add affaan-m/ECC --skill documentation-lookup -a claude-code. Context7 MCP must also be configured in your environment.
What does documentation-lookup do?
It connects to the Context7 MCP server using resolve-library-id and query-docs to retrieve official docs and code examples for user questions.
Does it limit the number of doc lookups?
Yes, the skill restricts the agent to a maximum of 3 calls per question to avoid looping. If details are still missing, it reports uncertainty instead of guessing.
Source text
SKILL.md · MIT
---
name: documentation-lookup
description: Use up-to-date library and framework docs via Context7 MCP instead of training data. Activates for setup questions, API references, code examples, or when the user names a framework (e.g. React, Next.js, Prisma).
metadata:
origin: ECC
---
# Documentation Lookup (Context7)
When the user asks about libraries, frameworks, or APIs, fetch current documentation via the Context7 MCP (tools `resolve-library-id` and `query-docs`) instead of relying on training data.
## Core Concepts
- **Context7**: MCP server that exposes live documentation; use it instead of training data for libraries and APIs.
- **resolve-library-id**: Returns Context7-compatible library IDs (e.g. `/vercel/next.js`) from a library name and query.
- **query-docs**: Fetches documentation and code snippets for a given library ID and question. Always call resolve-library-id first to get a valid library ID.
## When to use
Activate when the user:
- Asks setup or configuration questions (e.g. "How do I configure Next.js middleware?")
- Requests code that depends on a library ("Write a Prisma query for...")
- Needs API or reference information ("What are the Supabase auth methods?")
- Mentions specific frameworks or libraries (React, Vue, Svelte, Express, Tailwind, Prisma, Supabase, etc.)
Use this skill whenever the request depends on accurate, up-to-date behavior of a library, framework, or API. Applies across harnesses that have the Context7 MCP configured (e.g. Claude Code, Cursor, Codex).
## How it works
### Step 1: Resolve the Library ID
Call the **resolve-library-id** MCP tool with:
- **libraryName**: The library or product name taken from the user's question (e.g. `Next.js`, `Prisma`, `Supabase`).
- **query**: The user's full question. This improves relevance ranking of results.
You must obtain a Context7-compatible library ID (format `/org/project` or `/org/project/version`) before querying docs. Do not call query-docs without a valid library ID from this step.
### Step 2: Select the Best Match
From the resolution results, choose one result using:
- **Name match**: Prefer exact or closest match to what the user asked for.
- **Benchmark score**: Higher scores indicate better documentation quality (100 is highest).
- **Source reputation**: Prefer High or Medium reputation when available.
- **Version**: If the user specified a version (e.g. "React 19", "Next.js 15"), prefer a version-specific library ID if listed (e.g. `/org/project/v1.2.0`).
### Step 3: Fetch the Documentation
Call the **query-docs** MCP tool with:
- **libraryId**: The selected Context7 library ID from Step 2 (e.g. `/vercel/next.js`).
- **query**: The user's specific question or task. Be specific to get relevant snippets.
Limit: do not call query-docs (or resolve-library-id) more than 3 times per question. If the answer is unclear after 3 calls, state the uncertainty and use the best information you have rather than guessing.
### Step 4: Use the Documentation
- Answer the user's question using the fetched, current information.
- Include relevant code examples from the docs when helpful.
- Cite the library or version when it matters (e.g. "In Next.js 15...").
## Examples
### Example: Next.js middleware
1. Call **resolve-library-id** with `libraryName: "Next.js"`, `query: "How do I set up Next.js middleware?"`.
2. From results, pick the best match (e.g. `/vercel/next.js`) by name and benchmark score.
3. Call **query-docs** with `libraryId: "/vercel/next.js"`, `query: "How do I set up Next.js middleware?"`.
4. Use the returned snippets and text to answer; include a minimal `middleware.ts` example from the docs if relevant.
### Example: Prisma query
1. Call **resolve-library-id** with `libraryName: "Prisma"`, `query: "How do I query with relations?"`.
2. Select the official Prisma library ID (e.g. `/prisma/prisma`).
3. Call **query-docs** with that `libraryId` and the query.
4. Return the Prisma Client pattern (e.g. `include` or `select`) with a short code snippet from the docs.
### Example: Supabase auth methods
1. Call **resolve-library-id** with `libraryName: "Supabase"`, `query: "What are the auth methods?"`.
2. Pick the Supabase docs library ID.
3. Call **query-docs**; summarize the auth methods and show minimal examples from the fetched docs.
## Best Practices
- **Be specific**: Use the user's full question as the query where possible for better relevance.
- **Version awareness**: When users mention versions, use version-specific library IDs from the resolve step when available.
- **Prefer official sources**: When multiple matches exist, prefer official or primary packages over community forks.
- **No sensitive data**: Redact API keys, passwords, tokens, and other secrets from any query sent to Context7. Treat the user's question as potentially containing secrets before passing it to resolve-library-id or query-docs.
© affaan-m · MIT · affaan-m/ECC