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
- Call resolve-library-id with
libraryName: "Next.js", query: "How do I set up Next.js middleware?".
- From results, pick the best match (e.g.
/vercel/next.js) by name and benchmark score.
- Call query-docs with
libraryId: "/vercel/next.js", query: "How do I set up Next.js middleware?".
- Use the returned snippets and text to answer; include a minimal
middleware.ts example from the docs if relevant.
Example: Prisma query
- Call resolve-library-id with
libraryName: "Prisma", query: "How do I query with relations?".
- Select the official Prisma library ID (e.g.
/prisma/prisma).
- Call query-docs with that
libraryId and the query.
- Return the Prisma Client pattern (e.g.
include or select) with a short code snippet from the docs.
Example: Supabase auth methods
- Call resolve-library-id with
libraryName: "Supabase", query: "What are the auth methods?".
- Pick the Supabase docs library ID.
- 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.
Source: affaan-m/ECC → skills/documentation-lookup/SKILL.md
Also appears in: affaan-m/ECC/.agents/skills/documentation-lookup/SKILL.md, affaan-m/ECC/.cursor/skills/documentation-lookup/SKILL.md, hashgraph-online/awesome-codex-plugins/plugins/Colin4k1024/tsp/skills/documentation-lookup/SKILL.md
1---2name: documentation-lookup3description: 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).4---5# Documentation Lookup (Context7)67When 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.89## Core Concepts1011- **Context7**: MCP server that exposes live documentation; use it instead of training data for libraries and APIs.12- **resolve-library-id**: Returns Context7-compatible library IDs (e.g. `/vercel/next.js`) from a library name and query.13- **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.1415## When to use1617Activate when the user:1819- Asks setup or configuration questions (e.g. "How do I configure Next.js middleware?")20- Requests code that depends on a library ("Write a Prisma query for...")21- Needs API or reference information ("What are the Supabase auth methods?")22- Mentions specific frameworks or libraries (React, Vue, Svelte, Express, Tailwind, Prisma, Supabase, etc.)2324Use 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).2526## How it works2728### Step 1: Resolve the Library ID2930Call the **resolve-library-id** MCP tool with:3132- **libraryName**: The library or product name taken from the user's question (e.g. `Next.js`, `Prisma`, `Supabase`).33- **query**: The user's full question. This improves relevance ranking of results.3435You 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.3637### Step 2: Select the Best Match3839From the resolution results, choose one result using:4041- **Name match**: Prefer exact or closest match to what the user asked for.42- **Benchmark score**: Higher scores indicate better documentation quality (100 is highest).43- **Source reputation**: Prefer High or Medium reputation when available.44- **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`).4546### Step 3: Fetch the Documentation4748Call the **query-docs** MCP tool with:4950- **libraryId**: The selected Context7 library ID from Step 2 (e.g. `/vercel/next.js`).51- **query**: The user's specific question or task. Be specific to get relevant snippets.5253Limit: 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.5455### Step 4: Use the Documentation5657- Answer the user's question using the fetched, current information.58- Include relevant code examples from the docs when helpful.59- Cite the library or version when it matters (e.g. "In Next.js 15...").6061## Examples6263### Example: Next.js middleware64651. Call **resolve-library-id** with `libraryName: "Next.js"`, `query: "How do I set up Next.js middleware?"`.662. From results, pick the best match (e.g. `/vercel/next.js`) by name and benchmark score.673. Call **query-docs** with `libraryId: "/vercel/next.js"`, `query: "How do I set up Next.js middleware?"`.684. Use the returned snippets and text to answer; include a minimal `middleware.ts` example from the docs if relevant.6970### Example: Prisma query71721. Call **resolve-library-id** with `libraryName: "Prisma"`, `query: "How do I query with relations?"`.732. Select the official Prisma library ID (e.g. `/prisma/prisma`).743. Call **query-docs** with that `libraryId` and the query.754. Return the Prisma Client pattern (e.g. `include` or `select`) with a short code snippet from the docs.7677### Example: Supabase auth methods78791. Call **resolve-library-id** with `libraryName: "Supabase"`, `query: "What are the auth methods?"`.802. Pick the Supabase docs library ID.813. Call **query-docs**; summarize the auth methods and show minimal examples from the fetched docs.8283## Best Practices8485- **Be specific**: Use the user's full question as the query where possible for better relevance.86- **Version awareness**: When users mention versions, use version-specific library IDs from the resolve step when available.87- **Prefer official sources**: When multiple matches exist, prefer official or primary packages over community forks.88- **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.8990---9192**Source:** [`affaan-m/ECC`](https://github.com/affaan-m/ECC) → `skills/documentation-lookup/SKILL.md`9394**Also appears in:** `affaan-m/ECC/.agents/skills/documentation-lookup/SKILL.md`, `affaan-m/ECC/.cursor/skills/documentation-lookup/SKILL.md`, `hashgraph-online/awesome-codex-plugins/plugins/Colin4k1024/tsp/skills/documentation-lookup/SKILL.md`