documentation-lookup

documentation-lookup

熱門

使用 Context7 MCP 提供的即時函式庫與框架文件,而非訓練資料。適用於設定問題、API 參考、程式碼範例,或當使用者提及框架名稱(例如 React、Next.js、Prisma)時。

23萬星標
3.5萬分支
更新於 2026/7/17
SKILL.md
readonlyread-only
name
documentation-lookup
description

使用 Context7 MCP 提供的即時函式庫與框架文件,而非訓練資料。適用於設定問題、API 參考、程式碼範例,或當使用者提及框架名稱(例如 React、Next.js、Prisma)時。

Documentation Lookup (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 middleware?」)
  • 要求依賴某個函式庫的程式碼(「寫一段 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 為最高)。
  • 來源信譽:若有 High 或 Medium 信譽的來源,優先選用。
  • 版本:如果使用者指定了版本(例如「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 middleware

  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. 使用該 libraryId 和查詢呼叫 query-docs
  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 之前,應視為可能包含機密。