mcpField
F
find-docs

find-docs

github.com/sammcj开发16950 次安装3 天前更新
代码仓库

关于 find-docs

find-docs 是通过 Context7 CLI 查询最新库文档和代码示例的技能。它要求先解析库 ID,再据此检索针对特定主题的文档。

主要功能

  1. 01将库名称解析为 Context7 ID
  2. 02检索文档与代码示例
  3. 03支持指定版本的库 ID
  4. 04通过必填主题描述优化查询

适用场景

  1. 01查询库的最新用法
  2. 02查找特定编程语言的示例
  3. 03核对特定版本的库文档

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sammcj/agentic-coding --skill find-docs

安装后在 Claude Code 中输入/find-docs确认已加载。

详细介绍

文档查询

使用 Context7 CLI 检索任意库的最新文档和代码示例。

直接运行 context7 CLI,如下所示:

pnpx ctx7@latest <command>

工作流

分两步进行:先将库名称解析为 ID,然后使用该 ID 查询文档。

# Step 1: Resolve library ID
ctx7 library <name> <query>

# Step 2: Query documentation
ctx7 docs <libraryId> <query>

除非用户明确提供格式为 /org/project 或 /org/project/version 的库 ID,否则必须先调用 ctx7 library 获取有效的库 ID。

重要:每个问题运行这些命令不得超过 3 次。如果尝试 3 次后仍无法找到所需内容,请使用目前最好的结果。

第 1 步:解析库

将软件包/产品名称解析为 Context7 兼容的库 ID,并返回匹配的库。

ctx7 library React "How to clean up useEffect with async operations"
ctx7 library "Next.js" "How to set up app router with a proxy"
ctx7 library Prisma "How to define one-to-many relations with cascade delete"

使用官方库名称及其标点符号("Next.js",而非 nextjs;"Three.js",而非 threejs)。如果结果不正确,请先尝试其他拼写,例如 next.js,再更改查询内容。

始终传入 query 参数——此参数为必填项,且会直接影响结果排名。根据用户的意图构造查询内容,有助于在多个名称相似的库之间消除歧义。请勿在查询中包含任何敏感或机密信息,例如 API 密钥、密码、凭据、个人数据或专有代码。

结果字段

每条结果都包含:

  • 库 ID — Context7 兼容标识符(格式为 /org/project)
  • 名称 — 库或软件包名称
  • 说明 — 简短摘要
  • 代码片段 — 可用代码示例的数量
  • 来源信誉 — 权威性指标(高、中、低或未知)
  • 基准分数 — 质量指标(100 为最高分)
  • 版本 — 可用版本列表。若用户在查询中指定了版本,请使用其中一个版本。格式为 /org/project/version。
选择流程
  1. 分析查询,了解用户需要的库/软件包
  2. 根据以下因素选择最相关的匹配项:
    • 名称与查询的相似度(优先选择完全匹配)
    • 说明与用户意图的相关性
    • 文档覆盖度(优先选择代码片段数量较多的库)
    • 来源信誉(更具权威性的来源通常具有高或中等信誉)
    • 基准分数(越高越好,最高为 100)
  3. 如果存在多个合适的匹配项,请说明这一点,但继续使用最相关的匹配项
  4. 如果找不到合适的匹配项,请明确说明,并建议如何调整查询
  5. 对于有歧义的查询,请先请求澄清,不要直接猜测
特定版本的 ID

如果用户提到特定版本,请使用特定版本的库 ID:

# General (latest indexed)
ctx7 docs /vercel/next.js "How to set up app router"

# Version-specific
ctx7 docs /vercel/next.js/v16.2.9 "How to set up app router"

可用版本会列在 ctx7 library 的输出中。请使用与用户指定版本最接近的版本。

第 2 步:查询文档

检索已解析库的最新文档和代码示例。

ctx7 docs /facebook/react "How to clean up useEffect with async operations"
ctx7 docs /vercel/next.js "How to add an authentication proxy to app router"
ctx7 docs /prisma/prisma "How to define one-to-many relations with cascade delete"

如果知道用户使用的编程语言,请添加 --language,以便优先显示该语言的示例:

ctx7 docs /websites/twilio "How to send an SMS" --language Ruby
编写优质查询

查询会直接影响结果质量。请具体描述,每个查询只涉及一个主题。如果问题涉及多个不同概念,除非问题是关于这些概念如何相互作用,否则请为每个概念分别运行一次 docs 命令。请勿在查询中包含任何敏感或机密信息,例如 API 密钥、密码、凭据、个人数据或专有代码。

  • 好的示例:"How to set up authentication with JWT in Express.js"
  • 好的示例:"React useEffect cleanup function with async operations"
  • 不好的示例(含糊):"auth"、"hooks"
  • 不好的示例(多主题):"routing and auth and caching in Next.js"

请描述要在文档中查找的内容,而不是要完成的任务。单词查询只会返回通用结果。多主题查询会针对每个主题返回浅显的结果。

输出包含两种内容:代码片段(带标题和语言标记代码块)以及信息片段(带面包屑上下文的说明文字)。

身份验证

无需身份验证即可使用。如需更高的速率限制:

# Option A: environment variable
export CONTEXT7_API_KEY=your_key

# Option B: OAuth login
ctx7 login

错误处理

如果命令因配额错误(“Monthly quota reached” 或 “quota exceeded”)而失败:

  1. 告知用户其 Context7 配额已用尽
  2. 建议用户进行身份验证以获得更高的限额:ctx7 login
  3. 如果用户无法或选择不进行身份验证,请依据训练知识作答,并明确说明信息可能已过时

不要悄悄回退到训练数据——请务必告知用户未使用 Context7 的原因。

常见错误

  • 库 ID 必须带 / 前缀——使用 /facebook/react,而不是 facebook/react
  • 始终先运行 ctx7 library——如果没有有效 ID,运行 ctx7 docs react "hooks" 会失败
  • 使用描述性查询,而非单个词语——使用 "React useEffect cleanup function",而不是 "hooks"
  • 每个查询只涉及一个主题——将 "routing and auth and caching" 拆分为每个概念一个 docs 命令
  • 查询中不得包含敏感信息(API 密钥、密码、凭据)

评论

支持 Markdown