{"owner":"upstash","repo":"context7","hasSkills":true,"totalSkillsCount":59,"totalTokensCount":20635,"categories":["anthropic-skill","marketplace","plugin-manifest","subagent-persona","command-prompt"],"hasMcp":true,"mcpConfig":{"mcpServers":{"context7":{"command":"npx","args":["-y","@modelcontextprotocol/server-context7"]}}},"found":["plugins/cursor/context7/skills/context7-mcp/SKILL.md","skills/context7-mcp/SKILL.md","packages/pi/skills/context7-docs/SKILL.md","skills/context7-cli/SKILL.md","plugins/copilot/context7/skills/context7-mcp/SKILL.md","skills/find-docs/SKILL.md",".claude-plugin/marketplace.json","rules/context7-cli.md","rules/context7-mcp.md",".agents/plugins/marketplace.json","plugins/codex/context7/skills/context7-mcp/SKILL.md",".github/plugin/marketplace.json","packages/tools-ai-sdk/CHANGELOG.md","packages/tools-ai-sdk/package.json","packages/tools-ai-sdk/README.md","packages/tools-ai-sdk/tsconfig.json","packages/sdk/CHANGELOG.md","packages/sdk/package.json","packages/sdk/README.md","packages/sdk/tsconfig.json","packages/pi/CHANGELOG.md","packages/pi/package.json","packages/pi/README.md","packages/pi/tsconfig.json","packages/mcp/CHANGELOG.md","packages/mcp/package.json","packages/mcp/README.md","packages/mcp/smithery.yaml","packages/mcp/tsconfig.json","packages/mcp/tsconfig.test.json","packages/cli/CHANGELOG.md","packages/cli/package.json","packages/cli/README.md","packages/cli/tsconfig.json","plugins/context7-power/mcp.json","plugins/context7-power/POWER.md","packages/pi/prompts/c7-docs.md","packages/mcp/mcpb/manifest.json","packages/mcp/schema/context7.json","plugins/cursor/context7/mcp.json","plugins/cursor/context7/README.md","plugins/copilot/context7/.mcp.json","plugins/copilot/context7/plugin.json","plugins/copilot/context7/README.md","plugins/codex/context7/.mcp.json","plugins/codex/context7/README.md","plugins/claude/context7/.mcp.json","plugins/claude/context7/README.md","skills/context7-cli/references/docs.md","skills/context7-cli/references/setup.md","skills/context7-cli/references/skills.md","plugins/cursor/context7/agents/docs-researcher.md","plugins/cursor/context7/.cursor/plugin.json","plugins/copilot/context7/agents/docs-researcher.agent.md","plugins/copilot/context7/commands/docs.md","plugins/codex/context7/.codex-plugin/plugin.json","plugins/claude/context7/.claude-plugin/plugin.json","plugins/claude/context7/agents/docs-researcher.md","plugins/claude/context7/commands/docs.md"],"skills":{"plugins/cursor/context7/skills/context7-mcp/SKILL.md":"---\nname: context7-mcp\ndescription: This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.\n---\n\nWhen the user asks about libraries, frameworks, or needs code examples, use Context7 to fetch current documentation instead of relying on training data.\n\n## When to Use This Skill\n\nActivate this skill when the user:\n\n- Asks setup or configuration questions (\"How do I configure a Next.js proxy?\")\n- Requests code involving libraries (\"Write a Prisma query for...\")\n- Needs API references (\"What are the Supabase auth methods?\")\n- Mentions specific frameworks (React, Vue, Svelte, Express, Tailwind, etc.)\n\n## How to Fetch Documentation\n\n### Step 1: Resolve the Library ID\n\nCall `resolve-library-id` with:\n\n- `libraryName`: The library name extracted from the user's question\n- `query`: What to look up in the library's documentation (improves relevance ranking)\n\n### Step 2: Select the Best Match\n\nFrom the resolution results, choose based on:\n\n- Exact or closest name match to what the user asked for\n- Higher benchmark scores indicate better documentation quality\n- If the user mentioned a version (e.g., \"React 19\"), prefer version-specific IDs\n\n### Step 3: Fetch the Documentation\n\nCall `query-docs` with:\n\n- `libraryId`: The selected Context7 library ID (e.g., `/vercel/next.js`)\n- `query`: What to look up in the library's documentation, scoped to a single concept\n\nIf the user's question spans multiple distinct concepts (e.g. routing and auth and caching), make a separate `query-docs` call per concept with the same library ID, unless the question is about how the concepts interact — combined queries dilute ranking and return shallow results for each topic.\n\n### Step 4: Use the Documentation\n\nIncorporate the fetched documentation into your response:\n\n- Answer the user's question using current, accurate information\n- Include relevant code examples from the docs\n- Cite the library version when relevant\n\n## Guidelines\n\n- **Be specific**: Describe what to look up in the library's documentation, but keep each query to a single concept\n- **One topic per query**: Split multi-topic questions into separate `query-docs` calls — resolve the library ID once, then query per concept, unless the question is about how the concepts interact\n- **Version awareness**: When users mention versions (\"Next.js 16\", \"React 19\"), use version-specific library IDs if available from the resolution step\n- **Prefer official sources**: When multiple matches exist, prefer official/primary packages over community forks\n","skills/context7-mcp/SKILL.md":"---\nname: context7-mcp\ndescription: This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.\n---\n\nWhen the user asks about libraries, frameworks, or needs code examples, use Context7 to fetch current documentation instead of relying on training data.\n\n## When to Use This Skill\n\nActivate this skill when the user:\n\n- Asks setup or configuration questions (\"How do I configure a Next.js proxy?\")\n- Requests code involving libraries (\"Write a Prisma query for...\")\n- Needs API references (\"What are the Supabase auth methods?\")\n- Mentions specific frameworks (React, Vue, Svelte, Express, Tailwind, etc.)\n\n## How to Fetch Documentation\n\n### Step 1: Resolve the Library ID\n\nCall `resolve-library-id` with:\n\n- `libraryName`: The library name extracted from the user's question\n- `query`: What to look up in the library's documentation (improves relevance ranking)\n\n### Step 2: Select the Best Match\n\nFrom the resolution results, choose based on:\n\n- Exact or closest name match to what the user asked for\n- Higher benchmark scores indicate better documentation quality\n- If the user mentioned a version (e.g., \"React 19\"), prefer version-specific IDs\n\n### Step 3: Fetch the Documentation\n\nCall `query-docs` with:\n\n- `libraryId`: The selected Context7 library ID (e.g., `/vercel/next.js`)\n- `query`: What to look up in the library's documentation, scoped to a single concept\n\nIf the user's question spans multiple distinct concepts (e.g. routing and auth and caching), make a separate `query-docs` call per concept with the same library ID, unless the question is about how the concepts interact — combined queries dilute ranking and return shallow results for each topic.\n\n### Step 4: Use the Documentation\n\nIncorporate the fetched documentation into your response:\n\n- Answer the user's question using current, accurate information\n- Include relevant code examples from the docs\n- Cite the library version when relevant\n\n## Guidelines\n\n- **Be specific**: Describe what to look up in the library's documentation, but keep each query to a single concept\n- **One topic per query**: Split multi-topic questions into separate `query-docs` calls — resolve the library ID once, then query per concept, unless the question is about how the concepts interact\n- **Version awareness**: When users mention versions (\"Next.js 16\", \"React 19\"), use version-specific library IDs if available from the resolution step\n- **Prefer official sources**: When multiple matches exist, prefer official/primary packages over community forks\n","packages/pi/skills/context7-docs/SKILL.md":"---\nname: context7-docs\ndescription: >-\n  Fetch up-to-date documentation and code examples for any library, framework,\n  SDK, CLI tool, or cloud service. Use whenever the user asks about a specific\n  library — even well-known ones like React, Next.js, Prisma, Express, Tailwind,\n  Django, or Spring Boot — because training data may not reflect recent API\n  changes or version updates.\n\n  Always use for: API syntax questions, configuration options, version migration\n  issues, \"how do I\" questions mentioning a library name, debugging that involves\n  library-specific behavior, setup instructions, and CLI tool usage.\n\n  Use even when you think you know the answer. Do not rely on training data for\n  API details, signatures, or configuration options — they are frequently out of\n  date. Prefer this over web search for library documentation.\nlicense: MIT\n---\n\n# Context7 Documentation Lookup\n\nRetrieve current documentation and code examples from [Context7](https://context7.com) using the `resolve-library-id` and `query-docs` tools that ship with this extension.\n\n## When to use\n\nReach for these tools whenever a question involves a specific library, framework, SDK, CLI tool, or cloud service. Examples:\n\n- \"How do I configure caching in Next.js 16?\"\n- \"What's the syntax for Prisma's `findMany` with relations?\"\n- \"Show me a working Tailwind v4 install for a Vite app.\"\n- \"How do I rate-limit with `@upstash/ratelimit`?\"\n\n## Workflow\n\n1. **Resolve the library ID.** Call `resolve-library-id` with the library name and what to look up in the library's documentation. The tool returns matching libraries with their Context7 IDs (`/org/project` format), descriptions, snippet counts, and quality scores. Pick the best match — prioritize official sources, name match, and high benchmark scores.\n2. **Query the docs.** Call `query-docs` with the chosen library ID and what to look up in the library's documentation, scoped to a single concept — if the question spans multiple distinct concepts, make a separate call per concept with the same library ID, unless the question is about how the concepts interact. The tool returns documentation snippets and code examples.\n3. **Answer.** Cite the library ID you used and quote code examples verbatim when relevant.\n\nIf the user supplies a library ID in `/org/project` or `/org/project/version` format directly, skip step 1 and call `query-docs` immediately.\n\n## Constraints\n\n- Do not call either tool more than 3 times per question.\n- Do not pass API keys, passwords, credentials, personal data, or proprietary code as the `query` argument — it is sent to the Context7 API.\n- Authentication uses the `CONTEXT7_API_KEY` environment variable. Get a key at https://context7.com/dashboard if requests fail with an auth error.\n","skills/context7-cli/SKILL.md":"---\nname: context7-cli\ndescription: Use the ctx7 CLI to fetch library documentation and configure Context7 MCP. Activate when the user mentions \"ctx7\" or \"context7\", needs current docs for any library, or needs to set up Context7 for their AI coding agent.\n---\n\n# ctx7 CLI\n\nThe Context7 CLI does two things: fetches up-to-date library documentation and sets up Context7 MCP for your editor.\n\nMake sure the CLI is up to date before running commands:\n\n```bash\nnpm install -g ctx7@latest\n```\n\nOr run directly without installing:\n\n```bash\nnpx ctx7@latest <command>\n```\n\n## What this skill covers\n\n- **[Documentation](references/docs.md)** — Fetch current docs for any library. Use when writing code, verifying API signatures, or when training data may be outdated.\n- **[Setup](references/setup.md)** — Configure Context7 MCP for Claude Code / Cursor / OpenCode.\n\n## Quick Reference\n\n```bash\n# Documentation\nctx7 library <name> <query>           # Step 1: resolve library ID\nctx7 docs <libraryId> <query>         # Step 2: fetch docs\n\n# Setup\nctx7 setup                            # Configure Context7 MCP (interactive)\nctx7 login                            # Log in for higher rate limits\nctx7 whoami                           # Check current login status\n```\n\n## Authentication\n\n```bash\nctx7 login               # Opens browser for OAuth\nctx7 login --no-browser  # Prints URL instead of opening browser\nctx7 logout              # Clear stored tokens\nctx7 whoami              # Show current login status (name + email)\n```\n\nMost commands work without login. Exception: `ctx7 setup` requires it unless `--api-key` or `--oauth` is passed. Login also unlocks higher rate limits on docs commands.\n\nSet an API key via environment variable to skip interactive login entirely:\n\n```bash\nexport CONTEXT7_API_KEY=your_key\n```\n\n## Common Mistakes\n\n- Library IDs require a `/` prefix — `/facebook/react` not `facebook/react`\n- Always run `ctx7 library` first — `ctx7 docs react \"hooks\"` will fail without a valid ID\n","plugins/copilot/context7/skills/context7-mcp/SKILL.md":"---\nname: context7-mcp\ndescription: This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.\n---\n\nWhen the user asks about libraries, frameworks, or needs code examples, use Context7 to fetch current documentation instead of relying on training data.\n\n## When to Use This Skill\n\nActivate this skill when the user:\n\n- Asks setup or configuration questions (\"How do I configure a Next.js proxy?\")\n- Requests code involving libraries (\"Write a Prisma query for...\")\n- Needs API references (\"What are the Supabase auth methods?\")\n- Mentions specific frameworks (React, Vue, Svelte, Express, Tailwind, etc.)\n\n## How to Fetch Documentation\n\n### Step 1: Resolve the Library ID\n\nCall `resolve-library-id` with:\n\n- `libraryName`: The library name extracted from the user's question\n- `query`: What to look up in the library's documentation (improves relevance ranking)\n\n### Step 2: Select the Best Match\n\nFrom the resolution results, choose based on:\n\n- Exact or closest name match to what the user asked for\n- Higher benchmark scores indicate better documentation quality\n- If the user mentioned a version (e.g., \"React 19\"), prefer version-specific IDs\n\n### Step 3: Fetch the Documentation\n\nCall `query-docs` with:\n\n- `libraryId`: The selected Context7 library ID (e.g., `/vercel/next.js`)\n- `query`: What to look up in the library's documentation, scoped to a single concept\n\nIf the user's question spans multiple distinct concepts (e.g. routing and auth and caching), make a separate `query-docs` call per concept with the same library ID, unless the question is about how the concepts interact — combined queries dilute ranking and return shallow results for each topic.\n\n### Step 4: Use the Documentation\n\nIncorporate the fetched documentation into your response:\n\n- Answer the user's question using current, accurate information\n- Include relevant code examples from the docs\n- Cite the library version when relevant\n\n## Guidelines\n\n- **Be specific**: Describe what to look up in the library's documentation, but keep each query to a single concept\n- **One topic per query**: Split multi-topic questions into separate `query-docs` calls — resolve the library ID once, then query per concept, unless the question is about how the concepts interact\n- **Version awareness**: When users mention versions (\"Next.js 16\", \"React 19\"), use version-specific library IDs if available from the resolution step\n- **Prefer official sources**: When multiple matches exist, prefer official/primary packages over community forks\n","skills/find-docs/SKILL.md":"---\nname: find-docs\ndescription: >-\n  Retrieves up-to-date documentation, API references, and code examples for any\n  developer technology. Use this skill whenever the user asks about a specific\n  library, framework, SDK, CLI tool, or cloud service — even for well-known ones\n  like React, Next.js, Prisma, Express, Tailwind, Django, or Spring Boot. Your\n  training data may not reflect recent API changes or version updates.\n\n  Always use for: API syntax questions, configuration options, version migration\n  issues, \"how do I\" questions mentioning a library name, debugging that involves\n  library-specific behavior, setup instructions, and CLI tool usage.\n\n  Use even when you think you know the answer — do not rely on training data\n  for API details, signatures, or configuration options as they are frequently\n  outdated. Always verify against current docs. Prefer this over web search for\n  library documentation and API details.\n---\n\n# Documentation Lookup\n\nRetrieve current documentation and code examples for any library using the Context7 CLI.\n\nRun commands with `npx ctx7@latest` so setup always uses the latest CLI without a global install:\n\n```bash\nnpx ctx7@latest library <name> \"<query>\"\nnpx ctx7@latest docs <libraryId> \"<query>\"\n```\n\nOptionally install globally if you prefer a bare `ctx7` command:\n\n```bash\nnpm install -g ctx7@latest\n```\n\n## Workflow\n\nTwo-step process: resolve the library name to an ID, then query docs with that ID.\n\n```bash\n# Step 1: Resolve library ID\nnpx ctx7@latest library <name> \"<query>\"\n\n# Step 2: Query documentation\nnpx ctx7@latest docs <libraryId> \"<query>\"\n```\n\nYou MUST call `library` first to obtain a valid library ID UNLESS the user explicitly provides a library ID in the format `/org/project` or `/org/project/version`.\n\nIMPORTANT: Do not run these commands more than 3 times per question. If you cannot find what you need after 3 attempts, use the best result you have.\n\n## Step 1: Resolve a Library\n\nResolves a package/product name to a Context7-compatible library ID and returns matching libraries.\n\n```bash\nnpx ctx7@latest library React \"How to clean up useEffect with async operations\"\nnpx ctx7@latest library \"Next.js\" \"How to set up app router with a proxy\"\nnpx ctx7@latest library Prisma \"How to define one-to-many relations with cascade delete\"\n```\n\nUse the official library name with proper punctuation (e.g., \"Next.js\" not \"nextjs\", \"Customer.io\" not \"customerio\", \"Three.js\" not \"threejs\"). If results look wrong, try alternate spellings such as `next.js` before changing the query.\n\nAlways pass a `query` argument — it is required and directly affects result ranking. Use the user's intent to form the query, which helps disambiguate when multiple libraries share a similar name. Do not include any sensitive or confidential information such as API keys, passwords, credentials, personal data, or proprietary code in your query.\n\n### Result fields\n\nEach result includes:\n\n- **Library ID** — Context7-compatible identifier (format: `/org/project`)\n- **Name** — Library or package name\n- **Description** — Short summary\n- **Code Snippets** — Number of available code examples\n- **Source Reputation** — Authority indicator (High, Medium, Low, or Unknown)\n- **Benchmark Score** — Quality indicator (100 is the highest score)\n- **Versions** — List of versions if available. Use one of those versions if the user provides a version in their query. The format is `/org/project/version`.\n\n### Selection process\n\n1. Analyze the query to understand what library/package the user is looking for\n2. Select the most relevant match based on:\n   - Name similarity to the query (exact matches prioritized)\n   - Description relevance to the query's intent\n   - Documentation coverage (prioritize libraries with higher Code Snippet counts)\n   - Source reputation (consider libraries with High or Medium reputation more authoritative)\n   - Benchmark score (higher is better, 100 is the maximum)\n3. If multiple good matches exist, acknowledge this but proceed with the most relevant one\n4. If no good matches exist, clearly state this and suggest query refinements\n5. For ambiguous queries, request clarification before proceeding with a best-guess match\n\n### Version-specific IDs\n\nIf the user mentions a specific version, use a version-specific library ID:\n\n```bash\n# General (latest indexed)\nnpx ctx7@latest docs /vercel/next.js \"How to set up app router\"\n\n# Version-specific\nnpx ctx7@latest docs /vercel/next.js/v16.2.9 \"How to set up app router\"\n```\n\nThe available versions are listed in the `library` command output. Use the closest match to what the user specified.\n\n## Step 2: Query Documentation\n\nRetrieves up-to-date documentation and code examples for the resolved library.\n\n```bash\nnpx ctx7@latest docs /facebook/react \"How to clean up useEffect with async operations\"\nnpx ctx7@latest docs /vercel/next.js \"How to add an authentication proxy to app router\"\nnpx ctx7@latest docs /prisma/prisma \"How to define one-to-many relations with cascade delete\"\n```\n\nIf you know the programming language the user writes in, add `--language` so code examples in that language rank first:\n\n```bash\nnpx ctx7@latest docs /websites/twilio \"How to send an SMS\" --language Ruby\n```\n\n### Writing good queries\n\nThe query directly affects the quality of results. Be specific and include relevant details, but keep each query to one topic — if the question spans multiple distinct concepts, run a separate `docs` command per concept instead of combining them, unless the question is about how the concepts interact. Do not include any sensitive or confidential information such as API keys, passwords, credentials, personal data, or proprietary code in your query.\n\n| Quality         | Example                                                    |\n| --------------- | ---------------------------------------------------------- |\n| Good            | `\"How to set up authentication with JWT in Express.js\"`    |\n| Good            | `\"React useEffect cleanup function with async operations\"` |\n| Bad (too vague) | `\"auth\"`                                                   |\n| Bad (too vague) | `\"hooks\"`                                                  |\n| Bad (too broad) | `\"routing and auth and caching in Next.js\"`                |\n\nDescribe what to look up in the library's documentation, rather than the task to complete — vague one-word queries return generic results, and multi-topic queries dilute ranking and return shallow results for each topic.\n\nThe output contains two types of content: **code snippets** (titled, with language-tagged blocks) and **info snippets** (prose explanations with breadcrumb context).\n\n## Authentication\n\nWorks without authentication. For higher rate limits:\n\n```bash\n# Option A: environment variable\nexport CONTEXT7_API_KEY=your_key\n\n# Option B: OAuth login\nnpx ctx7@latest login\n```\n\n## Error Handling\n\nIf a command fails with a quota error (\"Monthly quota reached\" or \"quota exceeded\"):\n\n1. Inform the user their Context7 quota is exhausted\n2. Suggest they authenticate for higher limits: `npx ctx7@latest login`\n3. If they cannot or choose not to authenticate, answer from training knowledge and clearly note it may be outdated\n\nDo not silently fall back to training data — always tell the user why Context7 was not used.\n\n## Common Mistakes\n\n- Library IDs require a `/` prefix — `/facebook/react` not `facebook/react`\n- Always run `npx ctx7@latest library` first — `npx ctx7@latest docs react \"hooks\"` will fail without a valid ID\n- Use descriptive queries, not single words — `\"React useEffect cleanup function\"` not `\"hooks\"`\n- One topic per query — split `\"routing and auth and caching\"` into a separate `docs` command per concept, unless the question is about how they interact\n- Do not include sensitive information (API keys, passwords, credentials) in queries\n",".claude-plugin/marketplace.json":"{\n  \"name\": \"context7-marketplace\",\n  \"owner\": {\n    \"name\": \"Upstash\"\n  },\n  \"description\": \"Context7 plugins for coding agents.\",\n  \"plugins\": [\n    {\n      \"name\": \"context7\",\n      \"source\": \"./plugins/claude/context7\",\n      \"description\": \"Up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your coding agent's context.\",\n      \"version\": \"1.0.4\"\n    }\n  ]\n}\n","rules/context7-cli.md":"Use the `ctx7` CLI to fetch current documentation whenever the user asks about a library, framework, SDK, API, CLI tool, or cloud service — even well-known ones like React, Next.js, Prisma, Express, Tailwind, Django, or Spring Boot. This includes API syntax, configuration, version migration, porting code between libraries, platforms, or SQL dialects, library-specific debugging, setup instructions, and CLI tool usage. Use even when you think you know the answer — your training data may not reflect recent changes. Prefer this over web search for library docs.\n\nDo not use for: refactoring, debugging, or reviewing code that does not depend on a library or platform API, or general programming concepts.\n\n## Steps\n\n1. Resolve library: `npx ctx7@latest library <name> \"<what to look up>\"` — use the official library name with proper punctuation (e.g., \"Next.js\" not \"nextjs\", \"Customer.io\" not \"customerio\", \"Three.js\" not \"threejs\")\n2. Pick the best match (ID format: `/org/project`) by: exact name match, description relevance, code snippet count, source reputation (High/Medium preferred), and benchmark score (higher is better). If results don't look right, try alternate names or queries (e.g., \"next.js\" not \"nextjs\", or rephrase the question)\n3. Fetch docs: `npx ctx7@latest docs <libraryId> \"<what to look up>\"` — run a separate `docs` command per distinct concept if the question spans multiple topics, unless it's about how they interact\n4. Answer using the fetched documentation\n\nYou MUST call `library` first to get a valid ID unless the user provides one directly in `/org/project` format. Be specific about what to look up in the library's documentation — specific and detailed queries return better results than vague single words, but keep each query to a single concept unless the question is about how concepts interact; combined multi-topic queries dilute ranking and return shallow results for each topic. Do not run more than 3 commands per question. Do not include sensitive information (API keys, passwords, credentials) in queries.\n\nFor version-specific docs, use `/org/project/version` from the `library` output (e.g., `/vercel/next.js/v16.2.9`).\n\nIf a command fails with a quota error, inform the user and suggest `npx ctx7@latest login` or setting `CONTEXT7_API_KEY` env var for higher limits. Do not silently fall back to training data.\n","rules/context7-mcp.md":"Use Context7 MCP to fetch current documentation whenever the user asks about a library, framework, SDK, API, CLI tool, or cloud service — even well-known ones like React, Next.js, Prisma, Express, Tailwind, Django, or Spring Boot. This includes API syntax, configuration, version migration, porting code between libraries, platforms, or SQL dialects, library-specific debugging, setup instructions, and CLI tool usage. Use even when you think you know the answer — your training data may not reflect recent changes. Prefer this over web search for library docs.\n\nDo not use for: refactoring, debugging, or reviewing code that does not depend on a library or platform API, or general programming concepts.\n\n## Steps\n\n1. Always start with `resolve-library-id` using the library name and what to look up in the library's documentation, unless the user provides an exact library ID in `/org/project` format\n2. Pick the best match (ID format: `/org/project`) by: exact name match, description relevance, code snippet count, source reputation (High/Medium preferred), and benchmark score (higher is better). If results don't look right, try alternate names or queries (e.g., \"next.js\" not \"nextjs\", or rephrase the question). Use version-specific IDs when the user mentions a version\n3. `query-docs` with the selected library ID and what to look up in the library's documentation (not single words), scoped to a single concept. If the question spans multiple distinct concepts (e.g. routing and auth and caching), make a separate `query-docs` call per concept with the same library ID, unless the question is about how the concepts interact — combined queries dilute ranking and return shallow results for each topic\n4. Answer using the fetched docs\n",".agents/plugins/marketplace.json":"{\n  \"name\": \"context7-marketplace\",\n  \"interface\": {\n    \"displayName\": \"Context7 Marketplace\"\n  },\n  \"plugins\": [\n    {\n      \"name\": \"context7\",\n      \"source\": {\n        \"source\": \"local\",\n        \"path\": \"./plugins/codex/context7\"\n      },\n      \"policy\": {\n        \"installation\": \"AVAILABLE\",\n        \"authentication\": \"ON_USE\"\n      },\n      \"category\": \"Developer Tools\"\n    }\n  ]\n}\n","plugins/codex/context7/skills/context7-mcp/SKILL.md":"---\nname: context7-mcp\ndescription: This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.\n---\n\nWhen the user asks about libraries, frameworks, or needs code examples, use Context7 to fetch current documentation instead of relying on training data.\n\n## When to Use This Skill\n\nActivate this skill when the user:\n\n- Asks setup or configuration questions (\"How do I configure a Next.js proxy?\")\n- Requests code involving libraries (\"Write a Prisma query for...\")\n- Needs API references (\"What are the Supabase auth methods?\")\n- Mentions specific frameworks (React, Vue, Svelte, Express, Tailwind, etc.)\n\n## How to Fetch Documentation\n\n### Step 1: Resolve the Library ID\n\nCall `resolve-library-id` with:\n\n- `libraryName`: The library name extracted from the user's question\n- `query`: What to look up in the library's documentation (improves relevance ranking)\n\n### Step 2: Select the Best Match\n\nFrom the resolution results, choose based on:\n\n- Exact or closest name match to what the user asked for\n- Higher benchmark scores indicate better documentation quality\n- If the user mentioned a version (e.g., \"React 19\"), prefer version-specific IDs\n\n### Step 3: Fetch the Documentation\n\nCall `query-docs` with:\n\n- `libraryId`: The selected Context7 library ID (e.g., `/vercel/next.js`)\n- `query`: What to look up in the library's documentation, scoped to a single concept\n\nIf the user's question spans multiple distinct concepts (e.g. routing and auth and caching), make a separate `query-docs` call per concept with the same library ID, unless the question is about how the concepts interact — combined queries dilute ranking and return shallow results for each topic.\n\n### Step 4: Use the Documentation\n\nIncorporate the fetched documentation into your response:\n\n- Answer the user's question using current, accurate information\n- Include relevant code examples from the docs\n- Cite the library version when relevant\n\n## Guidelines\n\n- **Be specific**: Describe what to look up in the library's documentation, but keep each query to a single concept\n- **One topic per query**: Split multi-topic questions into separate `query-docs` calls — resolve the library ID once, then query per concept, unless the question is about how the concepts interact\n- **Version awareness**: When users mention versions (\"Next.js 16\", \"React 19\"), use version-specific library IDs if available from the resolution step\n- **Prefer official sources**: When multiple matches exist, prefer official/primary packages over community forks\n",".github/plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.github/plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/.github/plugin/marketplace.json)","packages/tools-ai-sdk/CHANGELOG.md":"# Tools-ai-sdk Skill\n\nPath: `packages/tools-ai-sdk/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/tools-ai-sdk/CHANGELOG.md)","packages/tools-ai-sdk/package.json":"# Tools-ai-sdk Skill\n\nPath: `packages/tools-ai-sdk/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/tools-ai-sdk/package.json)","packages/tools-ai-sdk/README.md":"# tools-ai-sdk Documentation\n\nPath: `packages/tools-ai-sdk/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/tools-ai-sdk/README.md)","packages/tools-ai-sdk/tsconfig.json":"# Tools-ai-sdk Skill\n\nPath: `packages/tools-ai-sdk/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/tools-ai-sdk/tsconfig.json)","packages/sdk/CHANGELOG.md":"# Sdk Skill\n\nPath: `packages/sdk/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/sdk/CHANGELOG.md)","packages/sdk/package.json":"# Sdk Skill\n\nPath: `packages/sdk/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/sdk/package.json)","packages/sdk/README.md":"# sdk Documentation\n\nPath: `packages/sdk/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/sdk/README.md)","packages/sdk/tsconfig.json":"# Sdk Skill\n\nPath: `packages/sdk/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/sdk/tsconfig.json)","packages/pi/CHANGELOG.md":"# Pi Skill\n\nPath: `packages/pi/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/CHANGELOG.md)","packages/pi/package.json":"# Pi Skill\n\nPath: `packages/pi/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/package.json)","packages/pi/README.md":"# pi Documentation\n\nPath: `packages/pi/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/README.md)","packages/pi/tsconfig.json":"# Pi Skill\n\nPath: `packages/pi/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/tsconfig.json)","packages/mcp/CHANGELOG.md":"# Mcp Skill\n\nPath: `packages/mcp/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/CHANGELOG.md)","packages/mcp/package.json":"# Mcp Skill\n\nPath: `packages/mcp/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/package.json)","packages/mcp/README.md":"# mcp Documentation\n\nPath: `packages/mcp/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/README.md)","packages/mcp/smithery.yaml":"# Mcp Skill\n\nPath: `packages/mcp/smithery.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/smithery.yaml)","packages/mcp/tsconfig.json":"# Mcp Skill\n\nPath: `packages/mcp/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/tsconfig.json)","packages/mcp/tsconfig.test.json":"# Mcp Skill\n\nPath: `packages/mcp/tsconfig.test.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/tsconfig.test.json)","packages/cli/CHANGELOG.md":"# Cli Skill\n\nPath: `packages/cli/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/cli/CHANGELOG.md)","packages/cli/package.json":"# Cli Skill\n\nPath: `packages/cli/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/cli/package.json)","packages/cli/README.md":"# cli Documentation\n\nPath: `packages/cli/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/cli/README.md)","packages/cli/tsconfig.json":"# Cli Skill\n\nPath: `packages/cli/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/cli/tsconfig.json)","plugins/context7-power/mcp.json":"# Context7-power Skill\n\nPath: `plugins/context7-power/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/context7-power/mcp.json)","plugins/context7-power/POWER.md":"# Context7-power Skill\n\nPath: `plugins/context7-power/POWER.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/context7-power/POWER.md)","packages/pi/prompts/c7-docs.md":"# Prompts Skill\n\nPath: `packages/pi/prompts/c7-docs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/prompts/c7-docs.md)","packages/mcp/mcpb/manifest.json":"# Mcpb Skill\n\nPath: `packages/mcp/mcpb/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/mcpb/manifest.json)","packages/mcp/schema/context7.json":"# Schema Skill\n\nPath: `packages/mcp/schema/context7.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/schema/context7.json)","plugins/cursor/context7/mcp.json":"# Context7 Skill\n\nPath: `plugins/cursor/context7/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/cursor/context7/mcp.json)","plugins/cursor/context7/README.md":"# context7 Documentation\n\nPath: `plugins/cursor/context7/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/cursor/context7/README.md)","plugins/copilot/context7/.mcp.json":"# Context7 Skill\n\nPath: `plugins/copilot/context7/.mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/.mcp.json)","plugins/copilot/context7/plugin.json":"# context7 Plugin Manifest\n\nPath: `plugins/copilot/context7/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/plugin.json)","plugins/copilot/context7/README.md":"# context7 Documentation\n\nPath: `plugins/copilot/context7/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/README.md)","plugins/codex/context7/.mcp.json":"# Context7 Skill\n\nPath: `plugins/codex/context7/.mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/codex/context7/.mcp.json)","plugins/codex/context7/README.md":"# context7 Documentation\n\nPath: `plugins/codex/context7/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/codex/context7/README.md)","plugins/claude/context7/.mcp.json":"# Context7 Skill\n\nPath: `plugins/claude/context7/.mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/.mcp.json)","plugins/claude/context7/README.md":"# context7 Documentation\n\nPath: `plugins/claude/context7/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/README.md)","skills/context7-cli/references/docs.md":"# References Skill\n\nPath: `skills/context7-cli/references/docs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/skills/context7-cli/references/docs.md)","skills/context7-cli/references/setup.md":"# References Skill\n\nPath: `skills/context7-cli/references/setup.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/skills/context7-cli/references/setup.md)","skills/context7-cli/references/skills.md":"# References Skill\n\nPath: `skills/context7-cli/references/skills.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/skills/context7-cli/references/skills.md)","plugins/cursor/context7/agents/docs-researcher.md":"# Subagent: docs-researcher\n\nPath: `plugins/cursor/context7/agents/docs-researcher.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/cursor/context7/agents/docs-researcher.md)","plugins/cursor/context7/.cursor/plugin.json":"# cursor Plugin Manifest\n\nPath: `plugins/cursor/context7/.cursor/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/cursor/context7/.cursor/plugin.json)","plugins/copilot/context7/agents/docs-researcher.agent.md":"# Subagent: docs-researcher.agent\n\nPath: `plugins/copilot/context7/agents/docs-researcher.agent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/agents/docs-researcher.agent.md)","plugins/copilot/context7/commands/docs.md":"# Command: /docs\n\nPath: `plugins/copilot/context7/commands/docs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/commands/docs.md)","plugins/codex/context7/.codex-plugin/plugin.json":"# codex-plugin Plugin Manifest\n\nPath: `plugins/codex/context7/.codex-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/codex/context7/.codex-plugin/plugin.json)","plugins/claude/context7/.claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `plugins/claude/context7/.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/.claude-plugin/plugin.json)","plugins/claude/context7/agents/docs-researcher.md":"# Subagent: docs-researcher\n\nPath: `plugins/claude/context7/agents/docs-researcher.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/agents/docs-researcher.md)","plugins/claude/context7/commands/docs.md":"# Command: /docs\n\nPath: `plugins/claude/context7/commands/docs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/commands/docs.md)"},"files":{"plugins/cursor/context7/skills/context7-mcp/SKILL.md":"---\nname: context7-mcp\ndescription: This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.\n---\n\nWhen the user asks about libraries, frameworks, or needs code examples, use Context7 to fetch current documentation instead of relying on training data.\n\n## When to Use This Skill\n\nActivate this skill when the user:\n\n- Asks setup or configuration questions (\"How do I configure a Next.js proxy?\")\n- Requests code involving libraries (\"Write a Prisma query for...\")\n- Needs API references (\"What are the Supabase auth methods?\")\n- Mentions specific frameworks (React, Vue, Svelte, Express, Tailwind, etc.)\n\n## How to Fetch Documentation\n\n### Step 1: Resolve the Library ID\n\nCall `resolve-library-id` with:\n\n- `libraryName`: The library name extracted from the user's question\n- `query`: What to look up in the library's documentation (improves relevance ranking)\n\n### Step 2: Select the Best Match\n\nFrom the resolution results, choose based on:\n\n- Exact or closest name match to what the user asked for\n- Higher benchmark scores indicate better documentation quality\n- If the user mentioned a version (e.g., \"React 19\"), prefer version-specific IDs\n\n### Step 3: Fetch the Documentation\n\nCall `query-docs` with:\n\n- `libraryId`: The selected Context7 library ID (e.g., `/vercel/next.js`)\n- `query`: What to look up in the library's documentation, scoped to a single concept\n\nIf the user's question spans multiple distinct concepts (e.g. routing and auth and caching), make a separate `query-docs` call per concept with the same library ID, unless the question is about how the concepts interact — combined queries dilute ranking and return shallow results for each topic.\n\n### Step 4: Use the Documentation\n\nIncorporate the fetched documentation into your response:\n\n- Answer the user's question using current, accurate information\n- Include relevant code examples from the docs\n- Cite the library version when relevant\n\n## Guidelines\n\n- **Be specific**: Describe what to look up in the library's documentation, but keep each query to a single concept\n- **One topic per query**: Split multi-topic questions into separate `query-docs` calls — resolve the library ID once, then query per concept, unless the question is about how the concepts interact\n- **Version awareness**: When users mention versions (\"Next.js 16\", \"React 19\"), use version-specific library IDs if available from the resolution step\n- **Prefer official sources**: When multiple matches exist, prefer official/primary packages over community forks\n","skills/context7-mcp/SKILL.md":"---\nname: context7-mcp\ndescription: This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.\n---\n\nWhen the user asks about libraries, frameworks, or needs code examples, use Context7 to fetch current documentation instead of relying on training data.\n\n## When to Use This Skill\n\nActivate this skill when the user:\n\n- Asks setup or configuration questions (\"How do I configure a Next.js proxy?\")\n- Requests code involving libraries (\"Write a Prisma query for...\")\n- Needs API references (\"What are the Supabase auth methods?\")\n- Mentions specific frameworks (React, Vue, Svelte, Express, Tailwind, etc.)\n\n## How to Fetch Documentation\n\n### Step 1: Resolve the Library ID\n\nCall `resolve-library-id` with:\n\n- `libraryName`: The library name extracted from the user's question\n- `query`: What to look up in the library's documentation (improves relevance ranking)\n\n### Step 2: Select the Best Match\n\nFrom the resolution results, choose based on:\n\n- Exact or closest name match to what the user asked for\n- Higher benchmark scores indicate better documentation quality\n- If the user mentioned a version (e.g., \"React 19\"), prefer version-specific IDs\n\n### Step 3: Fetch the Documentation\n\nCall `query-docs` with:\n\n- `libraryId`: The selected Context7 library ID (e.g., `/vercel/next.js`)\n- `query`: What to look up in the library's documentation, scoped to a single concept\n\nIf the user's question spans multiple distinct concepts (e.g. routing and auth and caching), make a separate `query-docs` call per concept with the same library ID, unless the question is about how the concepts interact — combined queries dilute ranking and return shallow results for each topic.\n\n### Step 4: Use the Documentation\n\nIncorporate the fetched documentation into your response:\n\n- Answer the user's question using current, accurate information\n- Include relevant code examples from the docs\n- Cite the library version when relevant\n\n## Guidelines\n\n- **Be specific**: Describe what to look up in the library's documentation, but keep each query to a single concept\n- **One topic per query**: Split multi-topic questions into separate `query-docs` calls — resolve the library ID once, then query per concept, unless the question is about how the concepts interact\n- **Version awareness**: When users mention versions (\"Next.js 16\", \"React 19\"), use version-specific library IDs if available from the resolution step\n- **Prefer official sources**: When multiple matches exist, prefer official/primary packages over community forks\n","packages/pi/skills/context7-docs/SKILL.md":"---\nname: context7-docs\ndescription: >-\n  Fetch up-to-date documentation and code examples for any library, framework,\n  SDK, CLI tool, or cloud service. Use whenever the user asks about a specific\n  library — even well-known ones like React, Next.js, Prisma, Express, Tailwind,\n  Django, or Spring Boot — because training data may not reflect recent API\n  changes or version updates.\n\n  Always use for: API syntax questions, configuration options, version migration\n  issues, \"how do I\" questions mentioning a library name, debugging that involves\n  library-specific behavior, setup instructions, and CLI tool usage.\n\n  Use even when you think you know the answer. Do not rely on training data for\n  API details, signatures, or configuration options — they are frequently out of\n  date. Prefer this over web search for library documentation.\nlicense: MIT\n---\n\n# Context7 Documentation Lookup\n\nRetrieve current documentation and code examples from [Context7](https://context7.com) using the `resolve-library-id` and `query-docs` tools that ship with this extension.\n\n## When to use\n\nReach for these tools whenever a question involves a specific library, framework, SDK, CLI tool, or cloud service. Examples:\n\n- \"How do I configure caching in Next.js 16?\"\n- \"What's the syntax for Prisma's `findMany` with relations?\"\n- \"Show me a working Tailwind v4 install for a Vite app.\"\n- \"How do I rate-limit with `@upstash/ratelimit`?\"\n\n## Workflow\n\n1. **Resolve the library ID.** Call `resolve-library-id` with the library name and what to look up in the library's documentation. The tool returns matching libraries with their Context7 IDs (`/org/project` format), descriptions, snippet counts, and quality scores. Pick the best match — prioritize official sources, name match, and high benchmark scores.\n2. **Query the docs.** Call `query-docs` with the chosen library ID and what to look up in the library's documentation, scoped to a single concept — if the question spans multiple distinct concepts, make a separate call per concept with the same library ID, unless the question is about how the concepts interact. The tool returns documentation snippets and code examples.\n3. **Answer.** Cite the library ID you used and quote code examples verbatim when relevant.\n\nIf the user supplies a library ID in `/org/project` or `/org/project/version` format directly, skip step 1 and call `query-docs` immediately.\n\n## Constraints\n\n- Do not call either tool more than 3 times per question.\n- Do not pass API keys, passwords, credentials, personal data, or proprietary code as the `query` argument — it is sent to the Context7 API.\n- Authentication uses the `CONTEXT7_API_KEY` environment variable. Get a key at https://context7.com/dashboard if requests fail with an auth error.\n","skills/context7-cli/SKILL.md":"---\nname: context7-cli\ndescription: Use the ctx7 CLI to fetch library documentation and configure Context7 MCP. Activate when the user mentions \"ctx7\" or \"context7\", needs current docs for any library, or needs to set up Context7 for their AI coding agent.\n---\n\n# ctx7 CLI\n\nThe Context7 CLI does two things: fetches up-to-date library documentation and sets up Context7 MCP for your editor.\n\nMake sure the CLI is up to date before running commands:\n\n```bash\nnpm install -g ctx7@latest\n```\n\nOr run directly without installing:\n\n```bash\nnpx ctx7@latest <command>\n```\n\n## What this skill covers\n\n- **[Documentation](references/docs.md)** — Fetch current docs for any library. Use when writing code, verifying API signatures, or when training data may be outdated.\n- **[Setup](references/setup.md)** — Configure Context7 MCP for Claude Code / Cursor / OpenCode.\n\n## Quick Reference\n\n```bash\n# Documentation\nctx7 library <name> <query>           # Step 1: resolve library ID\nctx7 docs <libraryId> <query>         # Step 2: fetch docs\n\n# Setup\nctx7 setup                            # Configure Context7 MCP (interactive)\nctx7 login                            # Log in for higher rate limits\nctx7 whoami                           # Check current login status\n```\n\n## Authentication\n\n```bash\nctx7 login               # Opens browser for OAuth\nctx7 login --no-browser  # Prints URL instead of opening browser\nctx7 logout              # Clear stored tokens\nctx7 whoami              # Show current login status (name + email)\n```\n\nMost commands work without login. Exception: `ctx7 setup` requires it unless `--api-key` or `--oauth` is passed. Login also unlocks higher rate limits on docs commands.\n\nSet an API key via environment variable to skip interactive login entirely:\n\n```bash\nexport CONTEXT7_API_KEY=your_key\n```\n\n## Common Mistakes\n\n- Library IDs require a `/` prefix — `/facebook/react` not `facebook/react`\n- Always run `ctx7 library` first — `ctx7 docs react \"hooks\"` will fail without a valid ID\n","plugins/copilot/context7/skills/context7-mcp/SKILL.md":"---\nname: context7-mcp\ndescription: This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.\n---\n\nWhen the user asks about libraries, frameworks, or needs code examples, use Context7 to fetch current documentation instead of relying on training data.\n\n## When to Use This Skill\n\nActivate this skill when the user:\n\n- Asks setup or configuration questions (\"How do I configure a Next.js proxy?\")\n- Requests code involving libraries (\"Write a Prisma query for...\")\n- Needs API references (\"What are the Supabase auth methods?\")\n- Mentions specific frameworks (React, Vue, Svelte, Express, Tailwind, etc.)\n\n## How to Fetch Documentation\n\n### Step 1: Resolve the Library ID\n\nCall `resolve-library-id` with:\n\n- `libraryName`: The library name extracted from the user's question\n- `query`: What to look up in the library's documentation (improves relevance ranking)\n\n### Step 2: Select the Best Match\n\nFrom the resolution results, choose based on:\n\n- Exact or closest name match to what the user asked for\n- Higher benchmark scores indicate better documentation quality\n- If the user mentioned a version (e.g., \"React 19\"), prefer version-specific IDs\n\n### Step 3: Fetch the Documentation\n\nCall `query-docs` with:\n\n- `libraryId`: The selected Context7 library ID (e.g., `/vercel/next.js`)\n- `query`: What to look up in the library's documentation, scoped to a single concept\n\nIf the user's question spans multiple distinct concepts (e.g. routing and auth and caching), make a separate `query-docs` call per concept with the same library ID, unless the question is about how the concepts interact — combined queries dilute ranking and return shallow results for each topic.\n\n### Step 4: Use the Documentation\n\nIncorporate the fetched documentation into your response:\n\n- Answer the user's question using current, accurate information\n- Include relevant code examples from the docs\n- Cite the library version when relevant\n\n## Guidelines\n\n- **Be specific**: Describe what to look up in the library's documentation, but keep each query to a single concept\n- **One topic per query**: Split multi-topic questions into separate `query-docs` calls — resolve the library ID once, then query per concept, unless the question is about how the concepts interact\n- **Version awareness**: When users mention versions (\"Next.js 16\", \"React 19\"), use version-specific library IDs if available from the resolution step\n- **Prefer official sources**: When multiple matches exist, prefer official/primary packages over community forks\n","skills/find-docs/SKILL.md":"---\nname: find-docs\ndescription: >-\n  Retrieves up-to-date documentation, API references, and code examples for any\n  developer technology. Use this skill whenever the user asks about a specific\n  library, framework, SDK, CLI tool, or cloud service — even for well-known ones\n  like React, Next.js, Prisma, Express, Tailwind, Django, or Spring Boot. Your\n  training data may not reflect recent API changes or version updates.\n\n  Always use for: API syntax questions, configuration options, version migration\n  issues, \"how do I\" questions mentioning a library name, debugging that involves\n  library-specific behavior, setup instructions, and CLI tool usage.\n\n  Use even when you think you know the answer — do not rely on training data\n  for API details, signatures, or configuration options as they are frequently\n  outdated. Always verify against current docs. Prefer this over web search for\n  library documentation and API details.\n---\n\n# Documentation Lookup\n\nRetrieve current documentation and code examples for any library using the Context7 CLI.\n\nRun commands with `npx ctx7@latest` so setup always uses the latest CLI without a global install:\n\n```bash\nnpx ctx7@latest library <name> \"<query>\"\nnpx ctx7@latest docs <libraryId> \"<query>\"\n```\n\nOptionally install globally if you prefer a bare `ctx7` command:\n\n```bash\nnpm install -g ctx7@latest\n```\n\n## Workflow\n\nTwo-step process: resolve the library name to an ID, then query docs with that ID.\n\n```bash\n# Step 1: Resolve library ID\nnpx ctx7@latest library <name> \"<query>\"\n\n# Step 2: Query documentation\nnpx ctx7@latest docs <libraryId> \"<query>\"\n```\n\nYou MUST call `library` first to obtain a valid library ID UNLESS the user explicitly provides a library ID in the format `/org/project` or `/org/project/version`.\n\nIMPORTANT: Do not run these commands more than 3 times per question. If you cannot find what you need after 3 attempts, use the best result you have.\n\n## Step 1: Resolve a Library\n\nResolves a package/product name to a Context7-compatible library ID and returns matching libraries.\n\n```bash\nnpx ctx7@latest library React \"How to clean up useEffect with async operations\"\nnpx ctx7@latest library \"Next.js\" \"How to set up app router with a proxy\"\nnpx ctx7@latest library Prisma \"How to define one-to-many relations with cascade delete\"\n```\n\nUse the official library name with proper punctuation (e.g., \"Next.js\" not \"nextjs\", \"Customer.io\" not \"customerio\", \"Three.js\" not \"threejs\"). If results look wrong, try alternate spellings such as `next.js` before changing the query.\n\nAlways pass a `query` argument — it is required and directly affects result ranking. Use the user's intent to form the query, which helps disambiguate when multiple libraries share a similar name. Do not include any sensitive or confidential information such as API keys, passwords, credentials, personal data, or proprietary code in your query.\n\n### Result fields\n\nEach result includes:\n\n- **Library ID** — Context7-compatible identifier (format: `/org/project`)\n- **Name** — Library or package name\n- **Description** — Short summary\n- **Code Snippets** — Number of available code examples\n- **Source Reputation** — Authority indicator (High, Medium, Low, or Unknown)\n- **Benchmark Score** — Quality indicator (100 is the highest score)\n- **Versions** — List of versions if available. Use one of those versions if the user provides a version in their query. The format is `/org/project/version`.\n\n### Selection process\n\n1. Analyze the query to understand what library/package the user is looking for\n2. Select the most relevant match based on:\n   - Name similarity to the query (exact matches prioritized)\n   - Description relevance to the query's intent\n   - Documentation coverage (prioritize libraries with higher Code Snippet counts)\n   - Source reputation (consider libraries with High or Medium reputation more authoritative)\n   - Benchmark score (higher is better, 100 is the maximum)\n3. If multiple good matches exist, acknowledge this but proceed with the most relevant one\n4. If no good matches exist, clearly state this and suggest query refinements\n5. For ambiguous queries, request clarification before proceeding with a best-guess match\n\n### Version-specific IDs\n\nIf the user mentions a specific version, use a version-specific library ID:\n\n```bash\n# General (latest indexed)\nnpx ctx7@latest docs /vercel/next.js \"How to set up app router\"\n\n# Version-specific\nnpx ctx7@latest docs /vercel/next.js/v16.2.9 \"How to set up app router\"\n```\n\nThe available versions are listed in the `library` command output. Use the closest match to what the user specified.\n\n## Step 2: Query Documentation\n\nRetrieves up-to-date documentation and code examples for the resolved library.\n\n```bash\nnpx ctx7@latest docs /facebook/react \"How to clean up useEffect with async operations\"\nnpx ctx7@latest docs /vercel/next.js \"How to add an authentication proxy to app router\"\nnpx ctx7@latest docs /prisma/prisma \"How to define one-to-many relations with cascade delete\"\n```\n\nIf you know the programming language the user writes in, add `--language` so code examples in that language rank first:\n\n```bash\nnpx ctx7@latest docs /websites/twilio \"How to send an SMS\" --language Ruby\n```\n\n### Writing good queries\n\nThe query directly affects the quality of results. Be specific and include relevant details, but keep each query to one topic — if the question spans multiple distinct concepts, run a separate `docs` command per concept instead of combining them, unless the question is about how the concepts interact. Do not include any sensitive or confidential information such as API keys, passwords, credentials, personal data, or proprietary code in your query.\n\n| Quality         | Example                                                    |\n| --------------- | ---------------------------------------------------------- |\n| Good            | `\"How to set up authentication with JWT in Express.js\"`    |\n| Good            | `\"React useEffect cleanup function with async operations\"` |\n| Bad (too vague) | `\"auth\"`                                                   |\n| Bad (too vague) | `\"hooks\"`                                                  |\n| Bad (too broad) | `\"routing and auth and caching in Next.js\"`                |\n\nDescribe what to look up in the library's documentation, rather than the task to complete — vague one-word queries return generic results, and multi-topic queries dilute ranking and return shallow results for each topic.\n\nThe output contains two types of content: **code snippets** (titled, with language-tagged blocks) and **info snippets** (prose explanations with breadcrumb context).\n\n## Authentication\n\nWorks without authentication. For higher rate limits:\n\n```bash\n# Option A: environment variable\nexport CONTEXT7_API_KEY=your_key\n\n# Option B: OAuth login\nnpx ctx7@latest login\n```\n\n## Error Handling\n\nIf a command fails with a quota error (\"Monthly quota reached\" or \"quota exceeded\"):\n\n1. Inform the user their Context7 quota is exhausted\n2. Suggest they authenticate for higher limits: `npx ctx7@latest login`\n3. If they cannot or choose not to authenticate, answer from training knowledge and clearly note it may be outdated\n\nDo not silently fall back to training data — always tell the user why Context7 was not used.\n\n## Common Mistakes\n\n- Library IDs require a `/` prefix — `/facebook/react` not `facebook/react`\n- Always run `npx ctx7@latest library` first — `npx ctx7@latest docs react \"hooks\"` will fail without a valid ID\n- Use descriptive queries, not single words — `\"React useEffect cleanup function\"` not `\"hooks\"`\n- One topic per query — split `\"routing and auth and caching\"` into a separate `docs` command per concept, unless the question is about how they interact\n- Do not include sensitive information (API keys, passwords, credentials) in queries\n",".claude-plugin/marketplace.json":"{\n  \"name\": \"context7-marketplace\",\n  \"owner\": {\n    \"name\": \"Upstash\"\n  },\n  \"description\": \"Context7 plugins for coding agents.\",\n  \"plugins\": [\n    {\n      \"name\": \"context7\",\n      \"source\": \"./plugins/claude/context7\",\n      \"description\": \"Up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your coding agent's context.\",\n      \"version\": \"1.0.4\"\n    }\n  ]\n}\n","rules/context7-cli.md":"Use the `ctx7` CLI to fetch current documentation whenever the user asks about a library, framework, SDK, API, CLI tool, or cloud service — even well-known ones like React, Next.js, Prisma, Express, Tailwind, Django, or Spring Boot. This includes API syntax, configuration, version migration, porting code between libraries, platforms, or SQL dialects, library-specific debugging, setup instructions, and CLI tool usage. Use even when you think you know the answer — your training data may not reflect recent changes. Prefer this over web search for library docs.\n\nDo not use for: refactoring, debugging, or reviewing code that does not depend on a library or platform API, or general programming concepts.\n\n## Steps\n\n1. Resolve library: `npx ctx7@latest library <name> \"<what to look up>\"` — use the official library name with proper punctuation (e.g., \"Next.js\" not \"nextjs\", \"Customer.io\" not \"customerio\", \"Three.js\" not \"threejs\")\n2. Pick the best match (ID format: `/org/project`) by: exact name match, description relevance, code snippet count, source reputation (High/Medium preferred), and benchmark score (higher is better). If results don't look right, try alternate names or queries (e.g., \"next.js\" not \"nextjs\", or rephrase the question)\n3. Fetch docs: `npx ctx7@latest docs <libraryId> \"<what to look up>\"` — run a separate `docs` command per distinct concept if the question spans multiple topics, unless it's about how they interact\n4. Answer using the fetched documentation\n\nYou MUST call `library` first to get a valid ID unless the user provides one directly in `/org/project` format. Be specific about what to look up in the library's documentation — specific and detailed queries return better results than vague single words, but keep each query to a single concept unless the question is about how concepts interact; combined multi-topic queries dilute ranking and return shallow results for each topic. Do not run more than 3 commands per question. Do not include sensitive information (API keys, passwords, credentials) in queries.\n\nFor version-specific docs, use `/org/project/version` from the `library` output (e.g., `/vercel/next.js/v16.2.9`).\n\nIf a command fails with a quota error, inform the user and suggest `npx ctx7@latest login` or setting `CONTEXT7_API_KEY` env var for higher limits. Do not silently fall back to training data.\n","rules/context7-mcp.md":"Use Context7 MCP to fetch current documentation whenever the user asks about a library, framework, SDK, API, CLI tool, or cloud service — even well-known ones like React, Next.js, Prisma, Express, Tailwind, Django, or Spring Boot. This includes API syntax, configuration, version migration, porting code between libraries, platforms, or SQL dialects, library-specific debugging, setup instructions, and CLI tool usage. Use even when you think you know the answer — your training data may not reflect recent changes. Prefer this over web search for library docs.\n\nDo not use for: refactoring, debugging, or reviewing code that does not depend on a library or platform API, or general programming concepts.\n\n## Steps\n\n1. Always start with `resolve-library-id` using the library name and what to look up in the library's documentation, unless the user provides an exact library ID in `/org/project` format\n2. Pick the best match (ID format: `/org/project`) by: exact name match, description relevance, code snippet count, source reputation (High/Medium preferred), and benchmark score (higher is better). If results don't look right, try alternate names or queries (e.g., \"next.js\" not \"nextjs\", or rephrase the question). Use version-specific IDs when the user mentions a version\n3. `query-docs` with the selected library ID and what to look up in the library's documentation (not single words), scoped to a single concept. If the question spans multiple distinct concepts (e.g. routing and auth and caching), make a separate `query-docs` call per concept with the same library ID, unless the question is about how the concepts interact — combined queries dilute ranking and return shallow results for each topic\n4. Answer using the fetched docs\n",".agents/plugins/marketplace.json":"{\n  \"name\": \"context7-marketplace\",\n  \"interface\": {\n    \"displayName\": \"Context7 Marketplace\"\n  },\n  \"plugins\": [\n    {\n      \"name\": \"context7\",\n      \"source\": {\n        \"source\": \"local\",\n        \"path\": \"./plugins/codex/context7\"\n      },\n      \"policy\": {\n        \"installation\": \"AVAILABLE\",\n        \"authentication\": \"ON_USE\"\n      },\n      \"category\": \"Developer Tools\"\n    }\n  ]\n}\n","plugins/codex/context7/skills/context7-mcp/SKILL.md":"---\nname: context7-mcp\ndescription: This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.\n---\n\nWhen the user asks about libraries, frameworks, or needs code examples, use Context7 to fetch current documentation instead of relying on training data.\n\n## When to Use This Skill\n\nActivate this skill when the user:\n\n- Asks setup or configuration questions (\"How do I configure a Next.js proxy?\")\n- Requests code involving libraries (\"Write a Prisma query for...\")\n- Needs API references (\"What are the Supabase auth methods?\")\n- Mentions specific frameworks (React, Vue, Svelte, Express, Tailwind, etc.)\n\n## How to Fetch Documentation\n\n### Step 1: Resolve the Library ID\n\nCall `resolve-library-id` with:\n\n- `libraryName`: The library name extracted from the user's question\n- `query`: What to look up in the library's documentation (improves relevance ranking)\n\n### Step 2: Select the Best Match\n\nFrom the resolution results, choose based on:\n\n- Exact or closest name match to what the user asked for\n- Higher benchmark scores indicate better documentation quality\n- If the user mentioned a version (e.g., \"React 19\"), prefer version-specific IDs\n\n### Step 3: Fetch the Documentation\n\nCall `query-docs` with:\n\n- `libraryId`: The selected Context7 library ID (e.g., `/vercel/next.js`)\n- `query`: What to look up in the library's documentation, scoped to a single concept\n\nIf the user's question spans multiple distinct concepts (e.g. routing and auth and caching), make a separate `query-docs` call per concept with the same library ID, unless the question is about how the concepts interact — combined queries dilute ranking and return shallow results for each topic.\n\n### Step 4: Use the Documentation\n\nIncorporate the fetched documentation into your response:\n\n- Answer the user's question using current, accurate information\n- Include relevant code examples from the docs\n- Cite the library version when relevant\n\n## Guidelines\n\n- **Be specific**: Describe what to look up in the library's documentation, but keep each query to a single concept\n- **One topic per query**: Split multi-topic questions into separate `query-docs` calls — resolve the library ID once, then query per concept, unless the question is about how the concepts interact\n- **Version awareness**: When users mention versions (\"Next.js 16\", \"React 19\"), use version-specific library IDs if available from the resolution step\n- **Prefer official sources**: When multiple matches exist, prefer official/primary packages over community forks\n",".github/plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.github/plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/.github/plugin/marketplace.json)","packages/tools-ai-sdk/CHANGELOG.md":"# Tools-ai-sdk Skill\n\nPath: `packages/tools-ai-sdk/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/tools-ai-sdk/CHANGELOG.md)","packages/tools-ai-sdk/package.json":"# Tools-ai-sdk Skill\n\nPath: `packages/tools-ai-sdk/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/tools-ai-sdk/package.json)","packages/tools-ai-sdk/README.md":"# tools-ai-sdk Documentation\n\nPath: `packages/tools-ai-sdk/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/tools-ai-sdk/README.md)","packages/tools-ai-sdk/tsconfig.json":"# Tools-ai-sdk Skill\n\nPath: `packages/tools-ai-sdk/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/tools-ai-sdk/tsconfig.json)","packages/sdk/CHANGELOG.md":"# Sdk Skill\n\nPath: `packages/sdk/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/sdk/CHANGELOG.md)","packages/sdk/package.json":"# Sdk Skill\n\nPath: `packages/sdk/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/sdk/package.json)","packages/sdk/README.md":"# sdk Documentation\n\nPath: `packages/sdk/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/sdk/README.md)","packages/sdk/tsconfig.json":"# Sdk Skill\n\nPath: `packages/sdk/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/sdk/tsconfig.json)","packages/pi/CHANGELOG.md":"# Pi Skill\n\nPath: `packages/pi/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/CHANGELOG.md)","packages/pi/package.json":"# Pi Skill\n\nPath: `packages/pi/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/package.json)","packages/pi/README.md":"# pi Documentation\n\nPath: `packages/pi/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/README.md)","packages/pi/tsconfig.json":"# Pi Skill\n\nPath: `packages/pi/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/tsconfig.json)","packages/mcp/CHANGELOG.md":"# Mcp Skill\n\nPath: `packages/mcp/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/CHANGELOG.md)","packages/mcp/package.json":"# Mcp Skill\n\nPath: `packages/mcp/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/package.json)","packages/mcp/README.md":"# mcp Documentation\n\nPath: `packages/mcp/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/README.md)","packages/mcp/smithery.yaml":"# Mcp Skill\n\nPath: `packages/mcp/smithery.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/smithery.yaml)","packages/mcp/tsconfig.json":"# Mcp Skill\n\nPath: `packages/mcp/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/tsconfig.json)","packages/mcp/tsconfig.test.json":"# Mcp Skill\n\nPath: `packages/mcp/tsconfig.test.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/tsconfig.test.json)","packages/cli/CHANGELOG.md":"# Cli Skill\n\nPath: `packages/cli/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/cli/CHANGELOG.md)","packages/cli/package.json":"# Cli Skill\n\nPath: `packages/cli/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/cli/package.json)","packages/cli/README.md":"# cli Documentation\n\nPath: `packages/cli/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/cli/README.md)","packages/cli/tsconfig.json":"# Cli Skill\n\nPath: `packages/cli/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/cli/tsconfig.json)","plugins/context7-power/mcp.json":"# Context7-power Skill\n\nPath: `plugins/context7-power/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/context7-power/mcp.json)","plugins/context7-power/POWER.md":"# Context7-power Skill\n\nPath: `plugins/context7-power/POWER.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/context7-power/POWER.md)","packages/pi/prompts/c7-docs.md":"# Prompts Skill\n\nPath: `packages/pi/prompts/c7-docs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/prompts/c7-docs.md)","packages/mcp/mcpb/manifest.json":"# Mcpb Skill\n\nPath: `packages/mcp/mcpb/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/mcpb/manifest.json)","packages/mcp/schema/context7.json":"# Schema Skill\n\nPath: `packages/mcp/schema/context7.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/schema/context7.json)","plugins/cursor/context7/mcp.json":"# Context7 Skill\n\nPath: `plugins/cursor/context7/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/cursor/context7/mcp.json)","plugins/cursor/context7/README.md":"# context7 Documentation\n\nPath: `plugins/cursor/context7/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/cursor/context7/README.md)","plugins/copilot/context7/.mcp.json":"# Context7 Skill\n\nPath: `plugins/copilot/context7/.mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/.mcp.json)","plugins/copilot/context7/plugin.json":"# context7 Plugin Manifest\n\nPath: `plugins/copilot/context7/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/plugin.json)","plugins/copilot/context7/README.md":"# context7 Documentation\n\nPath: `plugins/copilot/context7/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/README.md)","plugins/codex/context7/.mcp.json":"# Context7 Skill\n\nPath: `plugins/codex/context7/.mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/codex/context7/.mcp.json)","plugins/codex/context7/README.md":"# context7 Documentation\n\nPath: `plugins/codex/context7/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/codex/context7/README.md)","plugins/claude/context7/.mcp.json":"# Context7 Skill\n\nPath: `plugins/claude/context7/.mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/.mcp.json)","plugins/claude/context7/README.md":"# context7 Documentation\n\nPath: `plugins/claude/context7/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/README.md)","skills/context7-cli/references/docs.md":"# References Skill\n\nPath: `skills/context7-cli/references/docs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/skills/context7-cli/references/docs.md)","skills/context7-cli/references/setup.md":"# References Skill\n\nPath: `skills/context7-cli/references/setup.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/skills/context7-cli/references/setup.md)","skills/context7-cli/references/skills.md":"# References Skill\n\nPath: `skills/context7-cli/references/skills.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/skills/context7-cli/references/skills.md)","plugins/cursor/context7/agents/docs-researcher.md":"# Subagent: docs-researcher\n\nPath: `plugins/cursor/context7/agents/docs-researcher.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/cursor/context7/agents/docs-researcher.md)","plugins/cursor/context7/.cursor/plugin.json":"# cursor Plugin Manifest\n\nPath: `plugins/cursor/context7/.cursor/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/cursor/context7/.cursor/plugin.json)","plugins/copilot/context7/agents/docs-researcher.agent.md":"# Subagent: docs-researcher.agent\n\nPath: `plugins/copilot/context7/agents/docs-researcher.agent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/agents/docs-researcher.agent.md)","plugins/copilot/context7/commands/docs.md":"# Command: /docs\n\nPath: `plugins/copilot/context7/commands/docs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/commands/docs.md)","plugins/codex/context7/.codex-plugin/plugin.json":"# codex-plugin Plugin Manifest\n\nPath: `plugins/codex/context7/.codex-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/codex/context7/.codex-plugin/plugin.json)","plugins/claude/context7/.claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `plugins/claude/context7/.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/.claude-plugin/plugin.json)","plugins/claude/context7/agents/docs-researcher.md":"# Subagent: docs-researcher\n\nPath: `plugins/claude/context7/agents/docs-researcher.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/agents/docs-researcher.md)","plugins/claude/context7/commands/docs.md":"# Command: /docs\n\nPath: `plugins/claude/context7/commands/docs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/commands/docs.md)"},"items":[{"name":"CHANGELOG.md","path":"packages/cli/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/cli/CHANGELOG.md","title":"Cli Skill","category":"anthropic-skill","format":"markdown","content":"# Cli Skill\n\nPath: `packages/cli/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/cli/CHANGELOG.md)","tokens":300,"sizeBytes":159},{"name":"package.json","path":"packages/cli/package.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/cli/package.json","title":"Cli Skill","category":"anthropic-skill","format":"json","content":"# Cli Skill\n\nPath: `packages/cli/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/cli/package.json)","tokens":300,"sizeBytes":159},{"name":"tsconfig.json","path":"packages/cli/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/cli/tsconfig.json","title":"Cli Skill","category":"anthropic-skill","format":"json","content":"# Cli Skill\n\nPath: `packages/cli/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/cli/tsconfig.json)","tokens":300,"sizeBytes":161},{"name":"CHANGELOG.md","path":"packages/mcp/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/CHANGELOG.md","title":"Mcp Skill","category":"anthropic-skill","format":"markdown","content":"# Mcp Skill\n\nPath: `packages/mcp/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/CHANGELOG.md)","tokens":300,"sizeBytes":159},{"name":"manifest.json","path":"packages/mcp/mcpb/manifest.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/mcpb/manifest.json","title":"Mcpb Skill","category":"anthropic-skill","format":"json","content":"# Mcpb Skill\n\nPath: `packages/mcp/mcpb/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/mcpb/manifest.json)","tokens":300,"sizeBytes":172},{"name":"package.json","path":"packages/mcp/package.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/package.json","title":"Mcp Skill","category":"anthropic-skill","format":"json","content":"# Mcp Skill\n\nPath: `packages/mcp/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/package.json)","tokens":300,"sizeBytes":159},{"name":"context7.json","path":"packages/mcp/schema/context7.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/schema/context7.json","title":"Schema Skill","category":"anthropic-skill","format":"json","content":"# Schema Skill\n\nPath: `packages/mcp/schema/context7.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/schema/context7.json)","tokens":300,"sizeBytes":178},{"name":"smithery.yaml","path":"packages/mcp/smithery.yaml","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/smithery.yaml","title":"Mcp Skill","category":"anthropic-skill","format":"yaml","content":"# Mcp Skill\n\nPath: `packages/mcp/smithery.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/smithery.yaml)","tokens":300,"sizeBytes":161},{"name":"tsconfig.json","path":"packages/mcp/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/tsconfig.json","title":"Mcp Skill","category":"anthropic-skill","format":"json","content":"# Mcp Skill\n\nPath: `packages/mcp/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/tsconfig.json)","tokens":300,"sizeBytes":161},{"name":"tsconfig.test.json","path":"packages/mcp/tsconfig.test.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/tsconfig.test.json","title":"Mcp Skill","category":"anthropic-skill","format":"json","content":"# Mcp Skill\n\nPath: `packages/mcp/tsconfig.test.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/tsconfig.test.json)","tokens":300,"sizeBytes":171},{"name":"CHANGELOG.md","path":"packages/pi/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/CHANGELOG.md","title":"Pi Skill","category":"anthropic-skill","format":"markdown","content":"# Pi Skill\n\nPath: `packages/pi/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/CHANGELOG.md)","tokens":300,"sizeBytes":156},{"name":"package.json","path":"packages/pi/package.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/package.json","title":"Pi Skill","category":"anthropic-skill","format":"json","content":"# Pi Skill\n\nPath: `packages/pi/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/package.json)","tokens":300,"sizeBytes":156},{"name":"c7-docs.md","path":"packages/pi/prompts/c7-docs.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/prompts/c7-docs.md","title":"Prompts Skill","category":"anthropic-skill","format":"markdown","content":"# Prompts Skill\n\nPath: `packages/pi/prompts/c7-docs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/prompts/c7-docs.md)","tokens":300,"sizeBytes":173},{"name":"SKILL.md","path":"packages/pi/skills/context7-docs/SKILL.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/skills/context7-docs/SKILL.md","title":"context7-docs","category":"anthropic-skill","format":"markdown","content":"---\nname: context7-docs\ndescription: >-\n  Fetch up-to-date documentation and code examples for any library, framework,\n  SDK, CLI tool, or cloud service. Use whenever the user asks about a specific\n  library — even well-known ones like React, Next.js, Prisma, Express, Tailwind,\n  Django, or Spring Boot — because training data may not reflect recent API\n  changes or version updates.\n\n  Always use for: API syntax questions, configuration options, version migration\n  issues, \"how do I\" questions mentioning a library name, debugging that involves\n  library-specific behavior, setup instructions, and CLI tool usage.\n\n  Use even when you think you know the answer. Do not rely on training data for\n  API details, signatures, or configuration options — they are frequently out of\n  date. Prefer this over web search for library documentation.\nlicense: MIT\n---\n\n# Context7 Documentation Lookup\n\nRetrieve current documentation and code examples from [Context7](https://context7.com) using the `resolve-library-id` and `query-docs` tools that ship with this extension.\n\n## When to use\n\nReach for these tools whenever a question involves a specific library, framework, SDK, CLI tool, or cloud service. Examples:\n\n- \"How do I configure caching in Next.js 16?\"\n- \"What's the syntax for Prisma's `findMany` with relations?\"\n- \"Show me a working Tailwind v4 install for a Vite app.\"\n- \"How do I rate-limit with `@upstash/ratelimit`?\"\n\n## Workflow\n\n1. **Resolve the library ID.** Call `resolve-library-id` with the library name and what to look up in the library's documentation. The tool returns matching libraries with their Context7 IDs (`/org/project` format), descriptions, snippet counts, and quality scores. Pick the best match — prioritize official sources, name match, and high benchmark scores.\n2. **Query the docs.** Call `query-docs` with the chosen library ID and what to look up in the library's documentation, scoped to a single concept — if the question spans multiple distinct concepts, make a separate call per concept with the same library ID, unless the question is about how the concepts interact. The tool returns documentation snippets and code examples.\n3. **Answer.** Cite the library ID you used and quote code examples verbatim when relevant.\n\nIf the user supplies a library ID in `/org/project` or `/org/project/version` format directly, skip step 1 and call `query-docs` immediately.\n\n## Constraints\n\n- Do not call either tool more than 3 times per question.\n- Do not pass API keys, passwords, credentials, personal data, or proprietary code as the `query` argument — it is sent to the Context7 API.\n- Authentication uses the `CONTEXT7_API_KEY` environment variable. Get a key at https://context7.com/dashboard if requests fail with an auth error.\n","frontmatter":{"name":"context7-docs","description":"Fetch up-to-date documentation and code examples for any library, framework, SDK, CLI tool, or cloud service. Use whenever the user asks about a specific library — even well-known ones like React, Next.js, Prisma, Express, Tailwind, Django, or Spring Boot — because training data may not reflect recent API changes or version updates.\nAlways use for: API syntax questions, configuration options, version migration issues, \"how do I\" questions mentioning a library name, debugging that involves library-specific behavior, setup instructions, and CLI tool usage.\nUse even when you think you know the answer. Do not rely on training data for API details, signatures, or configuration options — they are frequently out of date. Prefer this over web search for library documentation.","license":"MIT"},"isInternal":false,"tokens":612,"sizeBytes":2780},{"name":"tsconfig.json","path":"packages/pi/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/tsconfig.json","title":"Pi Skill","category":"anthropic-skill","format":"json","content":"# Pi Skill\n\nPath: `packages/pi/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/tsconfig.json)","tokens":300,"sizeBytes":158},{"name":"CHANGELOG.md","path":"packages/sdk/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/sdk/CHANGELOG.md","title":"Sdk Skill","category":"anthropic-skill","format":"markdown","content":"# Sdk Skill\n\nPath: `packages/sdk/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/sdk/CHANGELOG.md)","tokens":300,"sizeBytes":159},{"name":"package.json","path":"packages/sdk/package.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/sdk/package.json","title":"Sdk Skill","category":"anthropic-skill","format":"json","content":"# Sdk Skill\n\nPath: `packages/sdk/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/sdk/package.json)","tokens":300,"sizeBytes":159},{"name":"tsconfig.json","path":"packages/sdk/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/sdk/tsconfig.json","title":"Sdk Skill","category":"anthropic-skill","format":"json","content":"# Sdk Skill\n\nPath: `packages/sdk/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/sdk/tsconfig.json)","tokens":300,"sizeBytes":161},{"name":"CHANGELOG.md","path":"packages/tools-ai-sdk/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/tools-ai-sdk/CHANGELOG.md","title":"Tools-ai-sdk Skill","category":"anthropic-skill","format":"markdown","content":"# Tools-ai-sdk Skill\n\nPath: `packages/tools-ai-sdk/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/tools-ai-sdk/CHANGELOG.md)","tokens":300,"sizeBytes":186},{"name":"package.json","path":"packages/tools-ai-sdk/package.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/tools-ai-sdk/package.json","title":"Tools-ai-sdk Skill","category":"anthropic-skill","format":"json","content":"# Tools-ai-sdk Skill\n\nPath: `packages/tools-ai-sdk/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/tools-ai-sdk/package.json)","tokens":300,"sizeBytes":186},{"name":"tsconfig.json","path":"packages/tools-ai-sdk/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/tools-ai-sdk/tsconfig.json","title":"Tools-ai-sdk Skill","category":"anthropic-skill","format":"json","content":"# Tools-ai-sdk Skill\n\nPath: `packages/tools-ai-sdk/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/tools-ai-sdk/tsconfig.json)","tokens":300,"sizeBytes":188},{"name":".mcp.json","path":"plugins/claude/context7/.mcp.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/.mcp.json","title":"Context7 Skill","category":"anthropic-skill","format":"json","content":"# Context7 Skill\n\nPath: `plugins/claude/context7/.mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/.mcp.json)","tokens":300,"sizeBytes":180},{"name":".mcp.json","path":"plugins/codex/context7/.mcp.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/codex/context7/.mcp.json","title":"Context7 Skill","category":"anthropic-skill","format":"json","content":"# Context7 Skill\n\nPath: `plugins/codex/context7/.mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/codex/context7/.mcp.json)","tokens":300,"sizeBytes":178},{"name":"SKILL.md","path":"plugins/codex/context7/skills/context7-mcp/SKILL.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/codex/context7/skills/context7-mcp/SKILL.md","title":"context7-mcp","category":"anthropic-skill","format":"markdown","content":"---\nname: context7-mcp\ndescription: This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.\n---\n\nWhen the user asks about libraries, frameworks, or needs code examples, use Context7 to fetch current documentation instead of relying on training data.\n\n## When to Use This Skill\n\nActivate this skill when the user:\n\n- Asks setup or configuration questions (\"How do I configure a Next.js proxy?\")\n- Requests code involving libraries (\"Write a Prisma query for...\")\n- Needs API references (\"What are the Supabase auth methods?\")\n- Mentions specific frameworks (React, Vue, Svelte, Express, Tailwind, etc.)\n\n## How to Fetch Documentation\n\n### Step 1: Resolve the Library ID\n\nCall `resolve-library-id` with:\n\n- `libraryName`: The library name extracted from the user's question\n- `query`: What to look up in the library's documentation (improves relevance ranking)\n\n### Step 2: Select the Best Match\n\nFrom the resolution results, choose based on:\n\n- Exact or closest name match to what the user asked for\n- Higher benchmark scores indicate better documentation quality\n- If the user mentioned a version (e.g., \"React 19\"), prefer version-specific IDs\n\n### Step 3: Fetch the Documentation\n\nCall `query-docs` with:\n\n- `libraryId`: The selected Context7 library ID (e.g., `/vercel/next.js`)\n- `query`: What to look up in the library's documentation, scoped to a single concept\n\nIf the user's question spans multiple distinct concepts (e.g. routing and auth and caching), make a separate `query-docs` call per concept with the same library ID, unless the question is about how the concepts interact — combined queries dilute ranking and return shallow results for each topic.\n\n### Step 4: Use the Documentation\n\nIncorporate the fetched documentation into your response:\n\n- Answer the user's question using current, accurate information\n- Include relevant code examples from the docs\n- Cite the library version when relevant\n\n## Guidelines\n\n- **Be specific**: Describe what to look up in the library's documentation, but keep each query to a single concept\n- **One topic per query**: Split multi-topic questions into separate `query-docs` calls — resolve the library ID once, then query per concept, unless the question is about how the concepts interact\n- **Version awareness**: When users mention versions (\"Next.js 16\", \"React 19\"), use version-specific library IDs if available from the resolution step\n- **Prefer official sources**: When multiple matches exist, prefer official/primary packages over community forks\n","frontmatter":{"name":"context7-mcp","description":"This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc."},"isInternal":false,"tokens":582,"sizeBytes":2724},{"name":"mcp.json","path":"plugins/context7-power/mcp.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/context7-power/mcp.json","title":"Context7-power Skill","category":"anthropic-skill","format":"json","content":"# Context7-power Skill\n\nPath: `plugins/context7-power/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/context7-power/mcp.json)","tokens":300,"sizeBytes":182},{"name":"POWER.md","path":"plugins/context7-power/POWER.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/context7-power/POWER.md","title":"Context7-power Skill","category":"anthropic-skill","format":"markdown","content":"# Context7-power Skill\n\nPath: `plugins/context7-power/POWER.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/context7-power/POWER.md)","tokens":300,"sizeBytes":182},{"name":".mcp.json","path":"plugins/copilot/context7/.mcp.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/.mcp.json","title":"Context7 Skill","category":"anthropic-skill","format":"json","content":"# Context7 Skill\n\nPath: `plugins/copilot/context7/.mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/.mcp.json)","tokens":300,"sizeBytes":182},{"name":"SKILL.md","path":"plugins/copilot/context7/skills/context7-mcp/SKILL.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/skills/context7-mcp/SKILL.md","title":"context7-mcp","category":"anthropic-skill","format":"markdown","content":"---\nname: context7-mcp\ndescription: This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.\n---\n\nWhen the user asks about libraries, frameworks, or needs code examples, use Context7 to fetch current documentation instead of relying on training data.\n\n## When to Use This Skill\n\nActivate this skill when the user:\n\n- Asks setup or configuration questions (\"How do I configure a Next.js proxy?\")\n- Requests code involving libraries (\"Write a Prisma query for...\")\n- Needs API references (\"What are the Supabase auth methods?\")\n- Mentions specific frameworks (React, Vue, Svelte, Express, Tailwind, etc.)\n\n## How to Fetch Documentation\n\n### Step 1: Resolve the Library ID\n\nCall `resolve-library-id` with:\n\n- `libraryName`: The library name extracted from the user's question\n- `query`: What to look up in the library's documentation (improves relevance ranking)\n\n### Step 2: Select the Best Match\n\nFrom the resolution results, choose based on:\n\n- Exact or closest name match to what the user asked for\n- Higher benchmark scores indicate better documentation quality\n- If the user mentioned a version (e.g., \"React 19\"), prefer version-specific IDs\n\n### Step 3: Fetch the Documentation\n\nCall `query-docs` with:\n\n- `libraryId`: The selected Context7 library ID (e.g., `/vercel/next.js`)\n- `query`: What to look up in the library's documentation, scoped to a single concept\n\nIf the user's question spans multiple distinct concepts (e.g. routing and auth and caching), make a separate `query-docs` call per concept with the same library ID, unless the question is about how the concepts interact — combined queries dilute ranking and return shallow results for each topic.\n\n### Step 4: Use the Documentation\n\nIncorporate the fetched documentation into your response:\n\n- Answer the user's question using current, accurate information\n- Include relevant code examples from the docs\n- Cite the library version when relevant\n\n## Guidelines\n\n- **Be specific**: Describe what to look up in the library's documentation, but keep each query to a single concept\n- **One topic per query**: Split multi-topic questions into separate `query-docs` calls — resolve the library ID once, then query per concept, unless the question is about how the concepts interact\n- **Version awareness**: When users mention versions (\"Next.js 16\", \"React 19\"), use version-specific library IDs if available from the resolution step\n- **Prefer official sources**: When multiple matches exist, prefer official/primary packages over community forks\n","frontmatter":{"name":"context7-mcp","description":"This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc."},"isInternal":false,"tokens":582,"sizeBytes":2724},{"name":"mcp.json","path":"plugins/cursor/context7/mcp.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/cursor/context7/mcp.json","title":"Context7 Skill","category":"anthropic-skill","format":"json","content":"# Context7 Skill\n\nPath: `plugins/cursor/context7/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/cursor/context7/mcp.json)","tokens":300,"sizeBytes":178},{"name":"SKILL.md","path":"plugins/cursor/context7/skills/context7-mcp/SKILL.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/cursor/context7/skills/context7-mcp/SKILL.md","title":"context7-mcp","category":"anthropic-skill","format":"markdown","content":"---\nname: context7-mcp\ndescription: This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.\n---\n\nWhen the user asks about libraries, frameworks, or needs code examples, use Context7 to fetch current documentation instead of relying on training data.\n\n## When to Use This Skill\n\nActivate this skill when the user:\n\n- Asks setup or configuration questions (\"How do I configure a Next.js proxy?\")\n- Requests code involving libraries (\"Write a Prisma query for...\")\n- Needs API references (\"What are the Supabase auth methods?\")\n- Mentions specific frameworks (React, Vue, Svelte, Express, Tailwind, etc.)\n\n## How to Fetch Documentation\n\n### Step 1: Resolve the Library ID\n\nCall `resolve-library-id` with:\n\n- `libraryName`: The library name extracted from the user's question\n- `query`: What to look up in the library's documentation (improves relevance ranking)\n\n### Step 2: Select the Best Match\n\nFrom the resolution results, choose based on:\n\n- Exact or closest name match to what the user asked for\n- Higher benchmark scores indicate better documentation quality\n- If the user mentioned a version (e.g., \"React 19\"), prefer version-specific IDs\n\n### Step 3: Fetch the Documentation\n\nCall `query-docs` with:\n\n- `libraryId`: The selected Context7 library ID (e.g., `/vercel/next.js`)\n- `query`: What to look up in the library's documentation, scoped to a single concept\n\nIf the user's question spans multiple distinct concepts (e.g. routing and auth and caching), make a separate `query-docs` call per concept with the same library ID, unless the question is about how the concepts interact — combined queries dilute ranking and return shallow results for each topic.\n\n### Step 4: Use the Documentation\n\nIncorporate the fetched documentation into your response:\n\n- Answer the user's question using current, accurate information\n- Include relevant code examples from the docs\n- Cite the library version when relevant\n\n## Guidelines\n\n- **Be specific**: Describe what to look up in the library's documentation, but keep each query to a single concept\n- **One topic per query**: Split multi-topic questions into separate `query-docs` calls — resolve the library ID once, then query per concept, unless the question is about how the concepts interact\n- **Version awareness**: When users mention versions (\"Next.js 16\", \"React 19\"), use version-specific library IDs if available from the resolution step\n- **Prefer official sources**: When multiple matches exist, prefer official/primary packages over community forks\n","frontmatter":{"name":"context7-mcp","description":"This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc."},"isInternal":false,"tokens":582,"sizeBytes":2724},{"name":"context7-cli.md","path":"rules/context7-cli.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/rules/context7-cli.md","title":"Rules Skill","category":"anthropic-skill","format":"markdown","content":"Use the `ctx7` CLI to fetch current documentation whenever the user asks about a library, framework, SDK, API, CLI tool, or cloud service — even well-known ones like React, Next.js, Prisma, Express, Tailwind, Django, or Spring Boot. This includes API syntax, configuration, version migration, porting code between libraries, platforms, or SQL dialects, library-specific debugging, setup instructions, and CLI tool usage. Use even when you think you know the answer — your training data may not reflect recent changes. Prefer this over web search for library docs.\n\nDo not use for: refactoring, debugging, or reviewing code that does not depend on a library or platform API, or general programming concepts.\n\n## Steps\n\n1. Resolve library: `npx ctx7@latest library <name> \"<what to look up>\"` — use the official library name with proper punctuation (e.g., \"Next.js\" not \"nextjs\", \"Customer.io\" not \"customerio\", \"Three.js\" not \"threejs\")\n2. Pick the best match (ID format: `/org/project`) by: exact name match, description relevance, code snippet count, source reputation (High/Medium preferred), and benchmark score (higher is better). If results don't look right, try alternate names or queries (e.g., \"next.js\" not \"nextjs\", or rephrase the question)\n3. Fetch docs: `npx ctx7@latest docs <libraryId> \"<what to look up>\"` — run a separate `docs` command per distinct concept if the question spans multiple topics, unless it's about how they interact\n4. Answer using the fetched documentation\n\nYou MUST call `library` first to get a valid ID unless the user provides one directly in `/org/project` format. Be specific about what to look up in the library's documentation — specific and detailed queries return better results than vague single words, but keep each query to a single concept unless the question is about how concepts interact; combined multi-topic queries dilute ranking and return shallow results for each topic. Do not run more than 3 commands per question. Do not include sensitive information (API keys, passwords, credentials) in queries.\n\nFor version-specific docs, use `/org/project/version` from the `library` output (e.g., `/vercel/next.js/v16.2.9`).\n\nIf a command fails with a quota error, inform the user and suggest `npx ctx7@latest login` or setting `CONTEXT7_API_KEY` env var for higher limits. Do not silently fall back to training data.\n","isInternal":false,"tokens":536,"sizeBytes":2377},{"name":"context7-mcp.md","path":"rules/context7-mcp.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/rules/context7-mcp.md","title":"Rules Skill","category":"anthropic-skill","format":"markdown","content":"Use Context7 MCP to fetch current documentation whenever the user asks about a library, framework, SDK, API, CLI tool, or cloud service — even well-known ones like React, Next.js, Prisma, Express, Tailwind, Django, or Spring Boot. This includes API syntax, configuration, version migration, porting code between libraries, platforms, or SQL dialects, library-specific debugging, setup instructions, and CLI tool usage. Use even when you think you know the answer — your training data may not reflect recent changes. Prefer this over web search for library docs.\n\nDo not use for: refactoring, debugging, or reviewing code that does not depend on a library or platform API, or general programming concepts.\n\n## Steps\n\n1. Always start with `resolve-library-id` using the library name and what to look up in the library's documentation, unless the user provides an exact library ID in `/org/project` format\n2. Pick the best match (ID format: `/org/project`) by: exact name match, description relevance, code snippet count, source reputation (High/Medium preferred), and benchmark score (higher is better). If results don't look right, try alternate names or queries (e.g., \"next.js\" not \"nextjs\", or rephrase the question). Use version-specific IDs when the user mentions a version\n3. `query-docs` with the selected library ID and what to look up in the library's documentation (not single words), scoped to a single concept. If the question spans multiple distinct concepts (e.g. routing and auth and caching), make a separate `query-docs` call per concept with the same library ID, unless the question is about how the concepts interact — combined queries dilute ranking and return shallow results for each topic\n4. Answer using the fetched docs\n","isInternal":false,"tokens":371,"sizeBytes":1750},{"name":"docs.md","path":"skills/context7-cli/references/docs.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/skills/context7-cli/references/docs.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `skills/context7-cli/references/docs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/skills/context7-cli/references/docs.md)","tokens":300,"sizeBytes":192},{"name":"setup.md","path":"skills/context7-cli/references/setup.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/skills/context7-cli/references/setup.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `skills/context7-cli/references/setup.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/skills/context7-cli/references/setup.md)","tokens":300,"sizeBytes":194},{"name":"skills.md","path":"skills/context7-cli/references/skills.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/skills/context7-cli/references/skills.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `skills/context7-cli/references/skills.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/skills/context7-cli/references/skills.md)","tokens":300,"sizeBytes":196},{"name":"SKILL.md","path":"skills/context7-cli/SKILL.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/skills/context7-cli/SKILL.md","title":"context7-cli","category":"anthropic-skill","format":"markdown","content":"---\nname: context7-cli\ndescription: Use the ctx7 CLI to fetch library documentation and configure Context7 MCP. Activate when the user mentions \"ctx7\" or \"context7\", needs current docs for any library, or needs to set up Context7 for their AI coding agent.\n---\n\n# ctx7 CLI\n\nThe Context7 CLI does two things: fetches up-to-date library documentation and sets up Context7 MCP for your editor.\n\nMake sure the CLI is up to date before running commands:\n\n```bash\nnpm install -g ctx7@latest\n```\n\nOr run directly without installing:\n\n```bash\nnpx ctx7@latest <command>\n```\n\n## What this skill covers\n\n- **[Documentation](references/docs.md)** — Fetch current docs for any library. Use when writing code, verifying API signatures, or when training data may be outdated.\n- **[Setup](references/setup.md)** — Configure Context7 MCP for Claude Code / Cursor / OpenCode.\n\n## Quick Reference\n\n```bash\n# Documentation\nctx7 library <name> <query>           # Step 1: resolve library ID\nctx7 docs <libraryId> <query>         # Step 2: fetch docs\n\n# Setup\nctx7 setup                            # Configure Context7 MCP (interactive)\nctx7 login                            # Log in for higher rate limits\nctx7 whoami                           # Check current login status\n```\n\n## Authentication\n\n```bash\nctx7 login               # Opens browser for OAuth\nctx7 login --no-browser  # Prints URL instead of opening browser\nctx7 logout              # Clear stored tokens\nctx7 whoami              # Show current login status (name + email)\n```\n\nMost commands work without login. Exception: `ctx7 setup` requires it unless `--api-key` or `--oauth` is passed. Login also unlocks higher rate limits on docs commands.\n\nSet an API key via environment variable to skip interactive login entirely:\n\n```bash\nexport CONTEXT7_API_KEY=your_key\n```\n\n## Common Mistakes\n\n- Library IDs require a `/` prefix — `/facebook/react` not `facebook/react`\n- Always run `ctx7 library` first — `ctx7 docs react \"hooks\"` will fail without a valid ID\n","frontmatter":{"name":"context7-cli","description":"Use the ctx7 CLI to fetch library documentation and configure Context7 MCP. Activate when the user mentions \"ctx7\" or \"context7\", needs current docs for any library, or needs to set up Context7 for their AI coding agent."},"isInternal":false,"tokens":457,"sizeBytes":2008},{"name":"SKILL.md","path":"skills/context7-mcp/SKILL.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/skills/context7-mcp/SKILL.md","title":"context7-mcp","category":"anthropic-skill","format":"markdown","content":"---\nname: context7-mcp\ndescription: This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.\n---\n\nWhen the user asks about libraries, frameworks, or needs code examples, use Context7 to fetch current documentation instead of relying on training data.\n\n## When to Use This Skill\n\nActivate this skill when the user:\n\n- Asks setup or configuration questions (\"How do I configure a Next.js proxy?\")\n- Requests code involving libraries (\"Write a Prisma query for...\")\n- Needs API references (\"What are the Supabase auth methods?\")\n- Mentions specific frameworks (React, Vue, Svelte, Express, Tailwind, etc.)\n\n## How to Fetch Documentation\n\n### Step 1: Resolve the Library ID\n\nCall `resolve-library-id` with:\n\n- `libraryName`: The library name extracted from the user's question\n- `query`: What to look up in the library's documentation (improves relevance ranking)\n\n### Step 2: Select the Best Match\n\nFrom the resolution results, choose based on:\n\n- Exact or closest name match to what the user asked for\n- Higher benchmark scores indicate better documentation quality\n- If the user mentioned a version (e.g., \"React 19\"), prefer version-specific IDs\n\n### Step 3: Fetch the Documentation\n\nCall `query-docs` with:\n\n- `libraryId`: The selected Context7 library ID (e.g., `/vercel/next.js`)\n- `query`: What to look up in the library's documentation, scoped to a single concept\n\nIf the user's question spans multiple distinct concepts (e.g. routing and auth and caching), make a separate `query-docs` call per concept with the same library ID, unless the question is about how the concepts interact — combined queries dilute ranking and return shallow results for each topic.\n\n### Step 4: Use the Documentation\n\nIncorporate the fetched documentation into your response:\n\n- Answer the user's question using current, accurate information\n- Include relevant code examples from the docs\n- Cite the library version when relevant\n\n## Guidelines\n\n- **Be specific**: Describe what to look up in the library's documentation, but keep each query to a single concept\n- **One topic per query**: Split multi-topic questions into separate `query-docs` calls — resolve the library ID once, then query per concept, unless the question is about how the concepts interact\n- **Version awareness**: When users mention versions (\"Next.js 16\", \"React 19\"), use version-specific library IDs if available from the resolution step\n- **Prefer official sources**: When multiple matches exist, prefer official/primary packages over community forks\n","frontmatter":{"name":"context7-mcp","description":"This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc."},"isInternal":false,"tokens":582,"sizeBytes":2724},{"name":"SKILL.md","path":"skills/find-docs/SKILL.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/skills/find-docs/SKILL.md","title":"find-docs","category":"anthropic-skill","format":"markdown","content":"---\nname: find-docs\ndescription: >-\n  Retrieves up-to-date documentation, API references, and code examples for any\n  developer technology. Use this skill whenever the user asks about a specific\n  library, framework, SDK, CLI tool, or cloud service — even for well-known ones\n  like React, Next.js, Prisma, Express, Tailwind, Django, or Spring Boot. Your\n  training data may not reflect recent API changes or version updates.\n\n  Always use for: API syntax questions, configuration options, version migration\n  issues, \"how do I\" questions mentioning a library name, debugging that involves\n  library-specific behavior, setup instructions, and CLI tool usage.\n\n  Use even when you think you know the answer — do not rely on training data\n  for API details, signatures, or configuration options as they are frequently\n  outdated. Always verify against current docs. Prefer this over web search for\n  library documentation and API details.\n---\n\n# Documentation Lookup\n\nRetrieve current documentation and code examples for any library using the Context7 CLI.\n\nRun commands with `npx ctx7@latest` so setup always uses the latest CLI without a global install:\n\n```bash\nnpx ctx7@latest library <name> \"<query>\"\nnpx ctx7@latest docs <libraryId> \"<query>\"\n```\n\nOptionally install globally if you prefer a bare `ctx7` command:\n\n```bash\nnpm install -g ctx7@latest\n```\n\n## Workflow\n\nTwo-step process: resolve the library name to an ID, then query docs with that ID.\n\n```bash\n# Step 1: Resolve library ID\nnpx ctx7@latest library <name> \"<query>\"\n\n# Step 2: Query documentation\nnpx ctx7@latest docs <libraryId> \"<query>\"\n```\n\nYou MUST call `library` first to obtain a valid library ID UNLESS the user explicitly provides a library ID in the format `/org/project` or `/org/project/version`.\n\nIMPORTANT: Do not run these commands more than 3 times per question. If you cannot find what you need after 3 attempts, use the best result you have.\n\n## Step 1: Resolve a Library\n\nResolves a package/product name to a Context7-compatible library ID and returns matching libraries.\n\n```bash\nnpx ctx7@latest library React \"How to clean up useEffect with async operations\"\nnpx ctx7@latest library \"Next.js\" \"How to set up app router with a proxy\"\nnpx ctx7@latest library Prisma \"How to define one-to-many relations with cascade delete\"\n```\n\nUse the official library name with proper punctuation (e.g., \"Next.js\" not \"nextjs\", \"Customer.io\" not \"customerio\", \"Three.js\" not \"threejs\"). If results look wrong, try alternate spellings such as `next.js` before changing the query.\n\nAlways pass a `query` argument — it is required and directly affects result ranking. Use the user's intent to form the query, which helps disambiguate when multiple libraries share a similar name. Do not include any sensitive or confidential information such as API keys, passwords, credentials, personal data, or proprietary code in your query.\n\n### Result fields\n\nEach result includes:\n\n- **Library ID** — Context7-compatible identifier (format: `/org/project`)\n- **Name** — Library or package name\n- **Description** — Short summary\n- **Code Snippets** — Number of available code examples\n- **Source Reputation** — Authority indicator (High, Medium, Low, or Unknown)\n- **Benchmark Score** — Quality indicator (100 is the highest score)\n- **Versions** — List of versions if available. Use one of those versions if the user provides a version in their query. The format is `/org/project/version`.\n\n### Selection process\n\n1. Analyze the query to understand what library/package the user is looking for\n2. Select the most relevant match based on:\n   - Name similarity to the query (exact matches prioritized)\n   - Description relevance to the query's intent\n   - Documentation coverage (prioritize libraries with higher Code Snippet counts)\n   - Source reputation (consider libraries with High or Medium reputation more authoritative)\n   - Benchmark score (higher is better, 100 is the maximum)\n3. If multiple good matches exist, acknowledge this but proceed with the most relevant one\n4. If no good matches exist, clearly state this and suggest query refinements\n5. For ambiguous queries, request clarification before proceeding with a best-guess match\n\n### Version-specific IDs\n\nIf the user mentions a specific version, use a version-specific library ID:\n\n```bash\n# General (latest indexed)\nnpx ctx7@latest docs /vercel/next.js \"How to set up app router\"\n\n# Version-specific\nnpx ctx7@latest docs /vercel/next.js/v16.2.9 \"How to set up app router\"\n```\n\nThe available versions are listed in the `library` command output. Use the closest match to what the user specified.\n\n## Step 2: Query Documentation\n\nRetrieves up-to-date documentation and code examples for the resolved library.\n\n```bash\nnpx ctx7@latest docs /facebook/react \"How to clean up useEffect with async operations\"\nnpx ctx7@latest docs /vercel/next.js \"How to add an authentication proxy to app router\"\nnpx ctx7@latest docs /prisma/prisma \"How to define one-to-many relations with cascade delete\"\n```\n\nIf you know the programming language the user writes in, add `--language` so code examples in that language rank first:\n\n```bash\nnpx ctx7@latest docs /websites/twilio \"How to send an SMS\" --language Ruby\n```\n\n### Writing good queries\n\nThe query directly affects the quality of results. Be specific and include relevant details, but keep each query to one topic — if the question spans multiple distinct concepts, run a separate `docs` command per concept instead of combining them, unless the question is about how the concepts interact. Do not include any sensitive or confidential information such as API keys, passwords, credentials, personal data, or proprietary code in your query.\n\n| Quality         | Example                                                    |\n| --------------- | ---------------------------------------------------------- |\n| Good            | `\"How to set up authentication with JWT in Express.js\"`    |\n| Good            | `\"React useEffect cleanup function with async operations\"` |\n| Bad (too vague) | `\"auth\"`                                                   |\n| Bad (too vague) | `\"hooks\"`                                                  |\n| Bad (too broad) | `\"routing and auth and caching in Next.js\"`                |\n\nDescribe what to look up in the library's documentation, rather than the task to complete — vague one-word queries return generic results, and multi-topic queries dilute ranking and return shallow results for each topic.\n\nThe output contains two types of content: **code snippets** (titled, with language-tagged blocks) and **info snippets** (prose explanations with breadcrumb context).\n\n## Authentication\n\nWorks without authentication. For higher rate limits:\n\n```bash\n# Option A: environment variable\nexport CONTEXT7_API_KEY=your_key\n\n# Option B: OAuth login\nnpx ctx7@latest login\n```\n\n## Error Handling\n\nIf a command fails with a quota error (\"Monthly quota reached\" or \"quota exceeded\"):\n\n1. Inform the user their Context7 quota is exhausted\n2. Suggest they authenticate for higher limits: `npx ctx7@latest login`\n3. If they cannot or choose not to authenticate, answer from training knowledge and clearly note it may be outdated\n\nDo not silently fall back to training data — always tell the user why Context7 was not used.\n\n## Common Mistakes\n\n- Library IDs require a `/` prefix — `/facebook/react` not `facebook/react`\n- Always run `npx ctx7@latest library` first — `npx ctx7@latest docs react \"hooks\"` will fail without a valid ID\n- Use descriptive queries, not single words — `\"React useEffect cleanup function\"` not `\"hooks\"`\n- One topic per query — split `\"routing and auth and caching\"` into a separate `docs` command per concept, unless the question is about how they interact\n- Do not include sensitive information (API keys, passwords, credentials) in queries\n","frontmatter":{"name":"find-docs","description":"Retrieves up-to-date documentation, API references, and code examples for any developer technology. Use this skill whenever the user asks about a specific library, framework, SDK, CLI tool, or cloud service — even for well-known ones like React, Next.js, Prisma, Express, Tailwind, Django, or Spring Boot. Your training data may not reflect recent API changes or version updates.\nAlways use for: API syntax questions, configuration options, version migration issues, \"how do I\" questions mentioning a library name, debugging that involves library-specific behavior, setup instructions, and CLI tool usage.\nUse even when you think you know the answer — do not rely on training data for API details, signatures, or configuration options as they are frequently outdated. Always verify against current docs. Prefer this over web search for library documentation and API details."},"isInternal":false,"tokens":1718,"sizeBytes":7881},{"name":"marketplace.json","path":".agents/plugins/marketplace.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/.agents/plugins/marketplace.json","title":"context7-marketplace","category":"marketplace","format":"json","content":"{\n  \"name\": \"context7-marketplace\",\n  \"interface\": {\n    \"displayName\": \"Context7 Marketplace\"\n  },\n  \"plugins\": [\n    {\n      \"name\": \"context7\",\n      \"source\": {\n        \"source\": \"local\",\n        \"path\": \"./plugins/codex/context7\"\n      },\n      \"policy\": {\n        \"installation\": \"AVAILABLE\",\n        \"authentication\": \"ON_USE\"\n      },\n      \"category\": \"Developer Tools\"\n    }\n  ]\n}\n","frontmatter":{"name":"context7-marketplace","interface":{"displayName":"Context7 Marketplace"},"plugins":[{"name":"context7","source":{"source":"local","path":"./plugins/codex/context7"},"policy":{"installation":"AVAILABLE","authentication":"ON_USE"},"category":"Developer Tools"}]},"isInternal":false,"tokens":103,"sizeBytes":391},{"name":"marketplace.json","path":".claude-plugin/marketplace.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/.claude-plugin/marketplace.json","title":"context7-marketplace","category":"marketplace","format":"json","content":"{\n  \"name\": \"context7-marketplace\",\n  \"owner\": {\n    \"name\": \"Upstash\"\n  },\n  \"description\": \"Context7 plugins for coding agents.\",\n  \"plugins\": [\n    {\n      \"name\": \"context7\",\n      \"source\": \"./plugins/claude/context7\",\n      \"description\": \"Up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your coding agent's context.\",\n      \"version\": \"1.0.4\"\n    }\n  ]\n}\n","frontmatter":{"name":"context7-marketplace","owner":{"name":"Upstash"},"description":"Context7 plugins for coding agents.","plugins":[{"name":"context7","source":"./plugins/claude/context7","description":"Up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your coding agent's context.","version":"1.0.4"}]},"isInternal":false,"tokens":110,"sizeBytes":440},{"name":"marketplace.json","path":".github/plugin/marketplace.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/.github/plugin/marketplace.json","title":"Claude Plugin Marketplace Catalog","category":"marketplace","format":"json","content":"# Claude Plugin Marketplace Catalog\n\nPath: `.github/plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/.github/plugin/marketplace.json)","tokens":300,"sizeBytes":195},{"name":"README.md","path":"packages/cli/README.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/cli/README.md","title":"cli Documentation","category":"plugin-manifest","format":"markdown","content":"# cli Documentation\n\nPath: `packages/cli/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/cli/README.md)","tokens":300,"sizeBytes":161},{"name":"README.md","path":"packages/mcp/README.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/README.md","title":"mcp Documentation","category":"plugin-manifest","format":"markdown","content":"# mcp Documentation\n\nPath: `packages/mcp/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/README.md)","tokens":300,"sizeBytes":161},{"name":"README.md","path":"packages/pi/README.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/README.md","title":"pi Documentation","category":"plugin-manifest","format":"markdown","content":"# pi Documentation\n\nPath: `packages/pi/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/README.md)","tokens":300,"sizeBytes":158},{"name":"README.md","path":"packages/sdk/README.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/sdk/README.md","title":"sdk Documentation","category":"plugin-manifest","format":"markdown","content":"# sdk Documentation\n\nPath: `packages/sdk/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/sdk/README.md)","tokens":300,"sizeBytes":161},{"name":"README.md","path":"packages/tools-ai-sdk/README.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/packages/tools-ai-sdk/README.md","title":"tools-ai-sdk Documentation","category":"plugin-manifest","format":"markdown","content":"# tools-ai-sdk Documentation\n\nPath: `packages/tools-ai-sdk/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/tools-ai-sdk/README.md)","tokens":300,"sizeBytes":188},{"name":"plugin.json","path":"plugins/claude/context7/.claude-plugin/plugin.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/.claude-plugin/plugin.json","title":"claude-plugin Plugin Manifest","category":"plugin-manifest","format":"json","content":"# claude-plugin Plugin Manifest\n\nPath: `plugins/claude/context7/.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/.claude-plugin/plugin.json)","tokens":300,"sizeBytes":229},{"name":"README.md","path":"plugins/claude/context7/README.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/README.md","title":"context7 Documentation","category":"plugin-manifest","format":"markdown","content":"# context7 Documentation\n\nPath: `plugins/claude/context7/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/README.md)","tokens":300,"sizeBytes":188},{"name":"plugin.json","path":"plugins/codex/context7/.codex-plugin/plugin.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/codex/context7/.codex-plugin/plugin.json","title":"codex-plugin Plugin Manifest","category":"plugin-manifest","format":"json","content":"# codex-plugin Plugin Manifest\n\nPath: `plugins/codex/context7/.codex-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/codex/context7/.codex-plugin/plugin.json)","tokens":300,"sizeBytes":224},{"name":"README.md","path":"plugins/codex/context7/README.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/codex/context7/README.md","title":"context7 Documentation","category":"plugin-manifest","format":"markdown","content":"# context7 Documentation\n\nPath: `plugins/codex/context7/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/codex/context7/README.md)","tokens":300,"sizeBytes":186},{"name":"plugin.json","path":"plugins/copilot/context7/plugin.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/plugin.json","title":"context7 Plugin Manifest","category":"plugin-manifest","format":"json","content":"# context7 Plugin Manifest\n\nPath: `plugins/copilot/context7/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/plugin.json)","tokens":300,"sizeBytes":196},{"name":"README.md","path":"plugins/copilot/context7/README.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/README.md","title":"context7 Documentation","category":"plugin-manifest","format":"markdown","content":"# context7 Documentation\n\nPath: `plugins/copilot/context7/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/README.md)","tokens":300,"sizeBytes":190},{"name":"plugin.json","path":"plugins/cursor/context7/.cursor/plugin.json","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/cursor/context7/.cursor/plugin.json","title":"cursor Plugin Manifest","category":"plugin-manifest","format":"json","content":"# cursor Plugin Manifest\n\nPath: `plugins/cursor/context7/.cursor/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/cursor/context7/.cursor/plugin.json)","tokens":300,"sizeBytes":208},{"name":"README.md","path":"plugins/cursor/context7/README.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/cursor/context7/README.md","title":"context7 Documentation","category":"plugin-manifest","format":"markdown","content":"# context7 Documentation\n\nPath: `plugins/cursor/context7/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/cursor/context7/README.md)","tokens":300,"sizeBytes":188},{"name":"docs-researcher.md","path":"plugins/claude/context7/agents/docs-researcher.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/agents/docs-researcher.md","title":"Subagent: docs-researcher","category":"subagent-persona","format":"markdown","content":"# Subagent: docs-researcher\n\nPath: `plugins/claude/context7/agents/docs-researcher.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/agents/docs-researcher.md)","tokens":300,"sizeBytes":223},{"name":"docs.md","path":"plugins/claude/context7/commands/docs.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/commands/docs.md","title":"Command: /docs","category":"command-prompt","format":"markdown","content":"# Command: /docs\n\nPath: `plugins/claude/context7/commands/docs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/commands/docs.md)","tokens":300,"sizeBytes":194},{"name":"docs-researcher.agent.md","path":"plugins/copilot/context7/agents/docs-researcher.agent.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/agents/docs-researcher.agent.md","title":"Subagent: docs-researcher.agent","category":"subagent-persona","format":"markdown","content":"# Subagent: docs-researcher.agent\n\nPath: `plugins/copilot/context7/agents/docs-researcher.agent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/agents/docs-researcher.agent.md)","tokens":300,"sizeBytes":243},{"name":"docs.md","path":"plugins/copilot/context7/commands/docs.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/commands/docs.md","title":"Command: /docs","category":"command-prompt","format":"markdown","content":"# Command: /docs\n\nPath: `plugins/copilot/context7/commands/docs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/commands/docs.md)","tokens":300,"sizeBytes":196},{"name":"docs-researcher.md","path":"plugins/cursor/context7/agents/docs-researcher.md","rawUrl":"https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/cursor/context7/agents/docs-researcher.md","title":"Subagent: docs-researcher","category":"subagent-persona","format":"markdown","content":"# Subagent: docs-researcher\n\nPath: `plugins/cursor/context7/agents/docs-researcher.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/cursor/context7/agents/docs-researcher.md)","tokens":300,"sizeBytes":223}],"systemPromptSnippet":"<yakaai_skills repo=\"upstash/context7\">\n<!-- File: packages/cli/CHANGELOG.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Cli Skill\n\nPath: `packages/cli/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/cli/CHANGELOG.md)\n\n<!-- File: packages/cli/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Cli Skill\n\nPath: `packages/cli/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/cli/package.json)\n\n<!-- File: packages/cli/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Cli Skill\n\nPath: `packages/cli/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/cli/tsconfig.json)\n\n<!-- File: packages/mcp/CHANGELOG.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Mcp Skill\n\nPath: `packages/mcp/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/CHANGELOG.md)\n\n<!-- File: packages/mcp/mcpb/manifest.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Mcpb Skill\n\nPath: `packages/mcp/mcpb/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/mcpb/manifest.json)\n\n<!-- File: packages/mcp/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Mcp Skill\n\nPath: `packages/mcp/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/package.json)\n\n<!-- File: packages/mcp/schema/context7.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Schema Skill\n\nPath: `packages/mcp/schema/context7.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/schema/context7.json)\n\n<!-- File: packages/mcp/smithery.yaml (Tokens: ~300 | Category: anthropic-skill) -->\n# Mcp Skill\n\nPath: `packages/mcp/smithery.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/smithery.yaml)\n\n<!-- File: packages/mcp/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Mcp Skill\n\nPath: `packages/mcp/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/tsconfig.json)\n\n<!-- File: packages/mcp/tsconfig.test.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Mcp Skill\n\nPath: `packages/mcp/tsconfig.test.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/mcp/tsconfig.test.json)\n\n<!-- File: packages/pi/CHANGELOG.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Pi Skill\n\nPath: `packages/pi/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/CHANGELOG.md)\n\n<!-- File: packages/pi/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Pi Skill\n\nPath: `packages/pi/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/package.json)\n\n<!-- File: packages/pi/prompts/c7-docs.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Prompts Skill\n\nPath: `packages/pi/prompts/c7-docs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/prompts/c7-docs.md)\n\n<!-- File: packages/pi/skills/context7-docs/SKILL.md (Tokens: ~612 | Category: anthropic-skill) -->\n---\nname: context7-docs\ndescription: >-\n  Fetch up-to-date documentation and code examples for any library, framework,\n  SDK, CLI tool, or cloud service. Use whenever the user asks about a specific\n  library — even well-known ones like React, Next.js, Prisma, Express, Tailwind,\n  Django, or Spring Boot — because training data may not reflect recent API\n  changes or version updates.\n\n  Always use for: API syntax questions, configuration options, version migration\n  issues, \"how do I\" questions mentioning a library name, debugging that involves\n  library-specific behavior, setup instructions, and CLI tool usage.\n\n  Use even when you think you know the answer. Do not rely on training data for\n  API details, signatures, or configuration options — they are frequently out of\n  date. Prefer this over web search for library documentation.\nlicense: MIT\n---\n\n# Context7 Documentation Lookup\n\nRetrieve current documentation and code examples from [Context7](https://context7.com) using the `resolve-library-id` and `query-docs` tools that ship with this extension.\n\n## When to use\n\nReach for these tools whenever a question involves a specific library, framework, SDK, CLI tool, or cloud service. Examples:\n\n- \"How do I configure caching in Next.js 16?\"\n- \"What's the syntax for Prisma's `findMany` with relations?\"\n- \"Show me a working Tailwind v4 install for a Vite app.\"\n- \"How do I rate-limit with `@upstash/ratelimit`?\"\n\n## Workflow\n\n1. **Resolve the library ID.** Call `resolve-library-id` with the library name and what to look up in the library's documentation. The tool returns matching libraries with their Context7 IDs (`/org/project` format), descriptions, snippet counts, and quality scores. Pick the best match — prioritize official sources, name match, and high benchmark scores.\n2. **Query the docs.** Call `query-docs` with the chosen library ID and what to look up in the library's documentation, scoped to a single concept — if the question spans multiple distinct concepts, make a separate call per concept with the same library ID, unless the question is about how the concepts interact. The tool returns documentation snippets and code examples.\n3. **Answer.** Cite the library ID you used and quote code examples verbatim when relevant.\n\nIf the user supplies a library ID in `/org/project` or `/org/project/version` format directly, skip step 1 and call `query-docs` immediately.\n\n## Constraints\n\n- Do not call either tool more than 3 times per question.\n- Do not pass API keys, passwords, credentials, personal data, or proprietary code as the `query` argument — it is sent to the Context7 API.\n- Authentication uses the `CONTEXT7_API_KEY` environment variable. Get a key at https://context7.com/dashboard if requests fail with an auth error.\n\n<!-- File: packages/pi/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Pi Skill\n\nPath: `packages/pi/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/pi/tsconfig.json)\n\n<!-- File: packages/sdk/CHANGELOG.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Sdk Skill\n\nPath: `packages/sdk/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/sdk/CHANGELOG.md)\n\n<!-- File: packages/sdk/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Sdk Skill\n\nPath: `packages/sdk/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/sdk/package.json)\n\n<!-- File: packages/sdk/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Sdk Skill\n\nPath: `packages/sdk/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/sdk/tsconfig.json)\n\n<!-- File: packages/tools-ai-sdk/CHANGELOG.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools-ai-sdk Skill\n\nPath: `packages/tools-ai-sdk/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/tools-ai-sdk/CHANGELOG.md)\n\n<!-- File: packages/tools-ai-sdk/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools-ai-sdk Skill\n\nPath: `packages/tools-ai-sdk/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/tools-ai-sdk/package.json)\n\n<!-- File: packages/tools-ai-sdk/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools-ai-sdk Skill\n\nPath: `packages/tools-ai-sdk/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/packages/tools-ai-sdk/tsconfig.json)\n\n<!-- File: plugins/claude/context7/.mcp.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Context7 Skill\n\nPath: `plugins/claude/context7/.mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/claude/context7/.mcp.json)\n\n<!-- File: plugins/codex/context7/.mcp.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Context7 Skill\n\nPath: `plugins/codex/context7/.mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/codex/context7/.mcp.json)\n\n<!-- File: plugins/codex/context7/skills/context7-mcp/SKILL.md (Tokens: ~582 | Category: anthropic-skill) -->\n---\nname: context7-mcp\ndescription: This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.\n---\n\nWhen the user asks about libraries, frameworks, or needs code examples, use Context7 to fetch current documentation instead of relying on training data.\n\n## When to Use This Skill\n\nActivate this skill when the user:\n\n- Asks setup or configuration questions (\"How do I configure a Next.js proxy?\")\n- Requests code involving libraries (\"Write a Prisma query for...\")\n- Needs API references (\"What are the Supabase auth methods?\")\n- Mentions specific frameworks (React, Vue, Svelte, Express, Tailwind, etc.)\n\n## How to Fetch Documentation\n\n### Step 1: Resolve the Library ID\n\nCall `resolve-library-id` with:\n\n- `libraryName`: The library name extracted from the user's question\n- `query`: What to look up in the library's documentation (improves relevance ranking)\n\n### Step 2: Select the Best Match\n\nFrom the resolution results, choose based on:\n\n- Exact or closest name match to what the user asked for\n- Higher benchmark scores indicate better documentation quality\n- If the user mentioned a version (e.g., \"React 19\"), prefer version-specific IDs\n\n### Step 3: Fetch the Documentation\n\nCall `query-docs` with:\n\n- `libraryId`: The selected Context7 library ID (e.g., `/vercel/next.js`)\n- `query`: What to look up in the library's documentation, scoped to a single concept\n\nIf the user's question spans multiple distinct concepts (e.g. routing and auth and caching), make a separate `query-docs` call per concept with the same library ID, unless the question is about how the concepts interact — combined queries dilute ranking and return shallow results for each topic.\n\n### Step 4: Use the Documentation\n\nIncorporate the fetched documentation into your response:\n\n- Answer the user's question using current, accurate information\n- Include relevant code examples from the docs\n- Cite the library version when relevant\n\n## Guidelines\n\n- **Be specific**: Describe what to look up in the library's documentation, but keep each query to a single concept\n- **One topic per query**: Split multi-topic questions into separate `query-docs` calls — resolve the library ID once, then query per concept, unless the question is about how the concepts interact\n- **Version awareness**: When users mention versions (\"Next.js 16\", \"React 19\"), use version-specific library IDs if available from the resolution step\n- **Prefer official sources**: When multiple matches exist, prefer official/primary packages over community forks\n\n<!-- File: plugins/context7-power/mcp.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Context7-power Skill\n\nPath: `plugins/context7-power/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/context7-power/mcp.json)\n\n<!-- File: plugins/context7-power/POWER.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Context7-power Skill\n\nPath: `plugins/context7-power/POWER.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/context7-power/POWER.md)\n\n<!-- File: plugins/copilot/context7/.mcp.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Context7 Skill\n\nPath: `plugins/copilot/context7/.mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/copilot/context7/.mcp.json)\n\n<!-- File: plugins/copilot/context7/skills/context7-mcp/SKILL.md (Tokens: ~582 | Category: anthropic-skill) -->\n---\nname: context7-mcp\ndescription: This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.\n---\n\nWhen the user asks about libraries, frameworks, or needs code examples, use Context7 to fetch current documentation instead of relying on training data.\n\n## When to Use This Skill\n\nActivate this skill when the user:\n\n- Asks setup or configuration questions (\"How do I configure a Next.js proxy?\")\n- Requests code involving libraries (\"Write a Prisma query for...\")\n- Needs API references (\"What are the Supabase auth methods?\")\n- Mentions specific frameworks (React, Vue, Svelte, Express, Tailwind, etc.)\n\n## How to Fetch Documentation\n\n### Step 1: Resolve the Library ID\n\nCall `resolve-library-id` with:\n\n- `libraryName`: The library name extracted from the user's question\n- `query`: What to look up in the library's documentation (improves relevance ranking)\n\n### Step 2: Select the Best Match\n\nFrom the resolution results, choose based on:\n\n- Exact or closest name match to what the user asked for\n- Higher benchmark scores indicate better documentation quality\n- If the user mentioned a version (e.g., \"React 19\"), prefer version-specific IDs\n\n### Step 3: Fetch the Documentation\n\nCall `query-docs` with:\n\n- `libraryId`: The selected Context7 library ID (e.g., `/vercel/next.js`)\n- `query`: What to look up in the library's documentation, scoped to a single concept\n\nIf the user's question spans multiple distinct concepts (e.g. routing and auth and caching), make a separate `query-docs` call per concept with the same library ID, unless the question is about how the concepts interact — combined queries dilute ranking and return shallow results for each topic.\n\n### Step 4: Use the Documentation\n\nIncorporate the fetched documentation into your response:\n\n- Answer the user's question using current, accurate information\n- Include relevant code examples from the docs\n- Cite the library version when relevant\n\n## Guidelines\n\n- **Be specific**: Describe what to look up in the library's documentation, but keep each query to a single concept\n- **One topic per query**: Split multi-topic questions into separate `query-docs` calls — resolve the library ID once, then query per concept, unless the question is about how the concepts interact\n- **Version awareness**: When users mention versions (\"Next.js 16\", \"React 19\"), use version-specific library IDs if available from the resolution step\n- **Prefer official sources**: When multiple matches exist, prefer official/primary packages over community forks\n\n<!-- File: plugins/cursor/context7/mcp.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Context7 Skill\n\nPath: `plugins/cursor/context7/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/upstash/context7/HEAD/plugins/cursor/context7/mcp.json)\n\n<!-- File: plugins/cursor/context7/skills/context7-mcp/SKILL.md (Tokens: ~582 | Category: anthropic-skill) -->\n---\nname: context7-mcp\ndescription: This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.\n---\n\nWhen the user asks about libraries, frameworks, or needs code examples, use Context7 to fetch current documentation instead of relying on training data.\n\n## When to Use This Skill\n\nActivate this skill when the user:\n\n- Asks setup or configuration questions (\"How do I configure a Next.js proxy?\")\n- Requests code involving libraries (\"Write a Prisma query for...\")\n- Needs API references (\"What are the Supabase auth methods?\")\n- Mentions specific frameworks (React, Vue, Svelte, Express, Tailwind, etc.)\n\n## How to Fetch Documentation\n\n### Step 1: Resolve the Library ID\n\nCall `resolve-library-id` with:\n\n- `libraryName`: The library name extracted from the user's question\n- `query`: What to look up in the library's documentation (improves relevance ranking)\n\n### Step 2: Select the Best Match\n\nFrom the resolution results, choose based on:\n\n- Exact or closest name match to what the user asked for\n- Higher benchmark scores indicate better documentation quality\n- If the user mentioned a version (e.g., \"React 19\"), prefer version-specific IDs\n\n### Step 3: Fetch the Documentation\n\nCall `query-docs` with:\n\n- `libraryId`: The selected Context7 library ID (e.g., `/vercel/next.js`)\n- `query`: What to look up in the library's documentation, scoped to a single concept\n\nIf the user's question spans multiple distinct concepts (e.g. routing and auth and caching), make a separate `query-docs` call per concept with the same library ID, unless the question is about how the concepts interact — combined queries dilute ranking and return shallow results for each topic.\n\n### Step 4: Use the Documentation\n\nIncorporate the fetched documentation into your response:\n\n- Answer the user's question using current, accurate information\n- Include relevant code examples from the docs\n- Cite the library version when relevant\n\n## Guidelines\n\n- **Be specific**: Describe what to look up in the library's documentation, but keep each query to a single concept\n- **One topic per query**: Split multi-topic questions into separate `query-docs` calls — resolve the library ID once, then query per concept, unless the question is about how the concepts interact\n- **Version awareness**: When users mention versions (\"Next.js 16\", \"React 19\"), use version-specific library IDs if available from the resolution step\n- **Prefer official sources**: When multiple matches exist, prefer official/primary packages over community forks\n\n<!-- ... +29 more modular skills available via /api/skills/upstash/context7?path={path} -->\n</yakaai_skills>"}