关于 find-docs
find-docs 是通过 Context7 CLI 查询最新库文档和代码示例的技能。它要求先解析库 ID,再据此检索针对特定主题的文档。
主要功能
- 01将库名称解析为 Context7 ID
- 02检索文档与代码示例
- 03支持指定版本的库 ID
- 04通过必填主题描述优化查询
适用场景
- 01查询库的最新用法
- 02查找特定编程语言的示例
- 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。
选择流程
- 分析查询,了解用户需要的库/软件包
- 根据以下因素选择最相关的匹配项:
- 名称与查询的相似度(优先选择完全匹配)
- 说明与用户意图的相关性
- 文档覆盖度(优先选择代码片段数量较多的库)
- 来源信誉(更具权威性的来源通常具有高或中等信誉)
- 基准分数(越高越好,最高为 100)
- 如果存在多个合适的匹配项,请说明这一点,但继续使用最相关的匹配项
- 如果找不到合适的匹配项,请明确说明,并建议如何调整查询
- 对于有歧义的查询,请先请求澄清,不要直接猜测
特定版本的 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”)而失败:
- 告知用户其 Context7 配额已用尽
- 建议用户进行身份验证以获得更高的限额:
ctx7 login - 如果用户无法或选择不进行身份验证,请依据训练知识作答,并明确说明信息可能已过时
不要悄悄回退到训练数据——请务必告知用户未使用 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 密钥、密码、凭据)