关于 find-docs
find-docs 是一项通过 Context7 CLI 获取最新库文档和代码示例的技能。它引导用户先将库名称解析为 Context7 ID,再查询文档,并支持特定版本 ID 和按编程语言排序的示例。
主要功能
- 01将库名称解析为 ID
- 02查询最新库文档
- 03使用特定版本的库 ID
- 04按编程语言排序示例
- 05限制每个问题的查询次数
适用场景
- 01查找库的最新 API 用法
- 02查询框架配置说明
- 03获取指定版本的代码示例
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ upstash/ context7 --skill find-docs安装后在 Claude Code 中输入/find-docs确认已加载。
详细介绍
文档查询
使用 Context7 CLI 检索任意库的最新文档和代码示例。
运行命令时使用 npx ctx7@latest,确保每次设置都使用最新 CLI,无需全局安装:
npx ctx7@latest library <name> "<query>"
npx ctx7@latest docs <libraryId> "<query>"
如果更喜欢直接使用 ctx7 命令,也可以选择全局安装:
npm install -g ctx7@latest
工作流
分两步进行:先将库名称解析为 ID,再使用该 ID 查询文档。
# Step 1: Resolve library ID
npx ctx7@latest library <name> "<query>"
# Step 2: Query documentation
npx ctx7@latest docs <libraryId> "<query>"
除非用户明确提供格式为 /org/project 或 /org/project/version 的库 ID,否则必须先调用 library 获取有效的库 ID。
重要:每个问题最多运行这些命令 3 次。如果尝试 3 次后仍找不到所需内容,请使用现有最佳结果。
第 1 步:解析库
将包或产品名称解析为 Context7 兼容的库 ID,并返回匹配的库。
npx ctx7@latest library React "How to clean up useEffect with async operations"
npx ctx7@latest library "Next.js" "How to set up app router with a proxy"
npx ctx7@latest library Prisma "How to define one-to-many relations with cascade delete"
使用官方库名称,并保留正确的标点(例如,使用“Next.js”,而不是“nextjs”;使用“Customer.io”,而不是“customerio”;使用“Three.js”,而不是“threejs”)。如果结果不正确,请先尝试其他拼写方式,例如 next.js,再更改查询内容。
始终传入 query 参数——这是必需参数,并且会直接影响结果排序。根据用户的意图构建查询,有助于在多个名称相似的库之间进行区分。查询中不要包含任何敏感或机密信息,例如 API 密钥、密码、凭据、个人数据或专有代码。
结果字段
每条结果都包含:
- Library ID — Context7 兼容的标识符(格式:
/org/project) - Name — 库或包名称
- Description — 简要说明
- Code Snippets — 可用代码示例的数量
- Source Reputation — 权威性指标(High、Medium、Low 或 Unknown)
- Benchmark Score — 质量指标(最高为 100)
- Versions — 可用版本列表。若用户在查询中指定了版本,请使用其中一个版本。格式为
/org/project/version。
选择流程
- 分析查询,了解用户要查找的库或包
- 根据以下因素选择最相关的匹配项:
- 名称与查询的相似度(优先选择完全匹配项)
- 说明与用户意图的相关性
- 文档覆盖范围(优先选择 Code Snippets 数量较多的库)
- 来源声誉(High 或 Medium 声誉通常更具权威性)
- Benchmark Score(分数越高越好,最高为 100)
- 如果有多个合适的匹配项,请说明这一点,但继续选择最相关的一项
- 如果没有合适的匹配项,请明确说明,并建议如何优化查询
- 对于含糊不清的查询,请先请求澄清,再根据最佳猜测继续
特定版本的 ID
如果用户提到特定版本,请使用特定版本的库 ID:
# General (latest indexed)
npx ctx7@latest docs /vercel/next.js "How to set up app router"
# Version-specific
npx ctx7@latest docs /vercel/next.js/v16.2.9 "How to set up app router"
可用版本列在 library 命令的输出中。使用与用户指定版本最接近的版本。
第 2 步:查询文档
检索已解析库的最新文档和代码示例。
npx ctx7@latest docs /facebook/react "How to clean up useEffect with async operations"
npx ctx7@latest docs /vercel/next.js "How to add an authentication proxy to app router"
npx ctx7@latest docs /prisma/prisma "How to define one-to-many relations with cascade delete"
如果知道用户使用的编程语言,请添加 --language,以便优先显示该语言的代码示例:
npx ctx7@latest 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
npx ctx7@latest login
错误处理
如果命令因配额错误而失败(“Monthly quota reached” 或 “quota exceeded”):
- 告知用户其 Context7 配额已用尽
- 建议用户进行身份验证以获取更高限额:
npx ctx7@latest login - 如果用户无法进行身份验证或选择不进行身份验证,则根据训练知识作答,并明确说明信息可能已过时
不要在未告知用户原因的情况下悄悄改用训练数据——务必说明未使用 Context7 的原因。
常见错误
- 库 ID 必须以
/开头——使用/facebook/react,而不是facebook/react - 务必先运行
npx ctx7@latest library——如果没有有效 ID,运行npx ctx7@latest docs react "hooks"将会失败 - 使用描述性查询,而不是单个单词——使用
"React useEffect cleanup function",而不是"hooks" - 每个查询只涉及一个主题——将
"routing and auth and caching"拆分为针对每个概念的单独docs命令,除非问题涉及这些概念之间的交互 - 请勿在查询中包含敏感信息(API 密钥、密码、凭据)