documentation-lookup

documentation-lookup

热门

使用 Context7 MCP 获取最新的库和框架文档,而非依赖训练数据。适用于配置问题、API 参考、代码示例或用户提及框架(如 React、Next.js、Prisma)时。

23万Star
3.5万Fork
更新于 2026/7/17
SKILL.md
readonly只读
name
documentation-lookup
description

使用 Context7 MCP 获取最新的库和框架文档,而非依赖训练数据。适用于配置问题、API 参考、代码示例或用户提及框架(如 React、Next.js、Prisma)时。

文档查询 (Context7)

当用户询问库、框架或 API 时,通过 Context7 MCP(工具 resolve-library-idquery-docs)获取当前文档,而非依赖训练数据。

核心概念

  • Context7:提供实时文档的 MCP 服务器;用于库和 API 的查询,替代训练数据。
  • resolve-library-id:根据库名称和查询返回 Context7 兼容的库 ID(例如 /vercel/next.js)。
  • query-docs:根据给定的库 ID 和问题获取文档和代码片段。始终先调用 resolve-library-id 获取有效的库 ID。

使用时机

当用户:

  • 询问安装或配置问题(例如“如何配置 Next.js 中间件?”)
  • 请求依赖某个库的代码(“写一个 Prisma 查询...”)
  • 需要 API 或参考信息(“Supabase 有哪些认证方法?”)
  • 提及特定框架或库(React、Vue、Svelte、Express、Tailwind、Prisma、Supabase 等)

只要请求依赖于库、框架或 API 的准确、最新行为,就应使用此技能。适用于已配置 Context7 MCP 的工具(如 Claude Code、Cursor、Codex)。

工作流程

步骤 1:解析库 ID

调用 resolve-library-id MCP 工具,参数如下:

  • libraryName:从用户问题中提取的库或产品名称(例如 Next.jsPrismaSupabase)。
  • query:用户的完整问题。这有助于提高结果的相关性排序。

在查询文档之前,必须获取 Context7 兼容的库 ID(格式为 /org/project/org/project/version)。没有有效的库 ID 时,不要调用 query-docs。

步骤 2:选择最佳匹配

从解析结果中,根据以下条件选择一个结果:

  • 名称匹配:优先选择与用户请求完全匹配或最接近的。
  • 基准评分:评分越高表示文档质量越好(100 为最高)。
  • 来源信誉:优先选择信誉高或中等的来源。
  • 版本:如果用户指定了版本(例如“React 19”、“Next.js 15”),优先选择列出的版本特定库 ID(例如 /org/project/v1.2.0)。

步骤 3:获取文档

调用 query-docs MCP 工具,参数如下:

  • libraryId:从步骤 2 中选择的 Context7 库 ID(例如 /vercel/next.js)。
  • query:用户的具体问题或任务。尽量具体以获取相关片段。

限制:每个问题调用 query-docs(或 resolve-library-id)不超过 3 次。如果 3 次调用后答案仍不明确,请说明不确定性,并使用已有的最佳信息,不要猜测。

步骤 4:使用文档

  • 使用获取的最新信息回答用户的问题。
  • 在必要时包含文档中的相关代码示例。
  • 在相关时注明库或版本(例如“在 Next.js 15 中...”)。

示例

示例:Next.js 中间件

  1. 调用 resolve-library-id,参数为 libraryName: "Next.js"query: "How do I set up Next.js middleware?"
  2. 从结果中,根据名称和基准评分选择最佳匹配(例如 /vercel/next.js)。
  3. 调用 query-docs,参数为 libraryId: "/vercel/next.js"query: "How do I set up Next.js middleware?"
  4. 使用返回的片段和文本回答;如果相关,包含文档中的最小 middleware.ts 示例。

示例:Prisma 查询

  1. 调用 resolve-library-id,参数为 libraryName: "Prisma"query: "How do I query with relations?"
  2. 选择官方的 Prisma 库 ID(例如 /prisma/prisma)。
  3. 调用 query-docs,使用该 libraryId 和查询。
  4. 返回 Prisma Client 模式(例如 includeselect),并附上文档中的简短代码片段。

示例:Supabase 认证方法

  1. 调用 resolve-library-id,参数为 libraryName: "Supabase"query: "What are the auth methods?"
  2. 选择 Supabase 文档库 ID。
  3. 调用 query-docs;总结认证方法,并从获取的文档中展示最小示例。

最佳实践

  • 具体明确:尽可能使用用户的完整问题作为查询,以获得更好的相关性。
  • 版本意识:当用户提到版本时,如果解析步骤中有版本特定的库 ID,请优先使用。
  • 优先官方来源:当存在多个匹配时,优先选择官方或主要包,而非社区分支。
  • 无敏感数据:从发送给 Context7 的任何查询中删除 API 密钥、密码、令牌和其他机密。在将用户问题传递给 resolve-library-id 或 query-docs 之前,将其视为可能包含机密。