SKILL.md
readonlyread-only
name
microsoft-code-reference
description
查詢 Microsoft API 參考資料、尋找可運作的程式碼範例,並驗證 SDK 程式碼是否正確。當您使用 Azure SDK、.NET 程式庫或 Microsoft API 時,可用來尋找正確的方法、檢查參數、取得可運作的範例,或排解錯誤。透過查詢官方文件,可找出幻覺方法、錯誤簽章和已淘汰的模式。
Microsoft Code Reference
工具
| 需求 | 工具 | 範例 |
|---|---|---|
| API 方法/類別查詢 | microsoft_docs_search |
"BlobClient UploadAsync Azure.Storage.Blobs" |
| 可運作的程式碼範例 | microsoft_code_sample_search |
query: "upload blob managed identity", language: "python" |
| 完整 API 參考 | microsoft_docs_fetch |
從 microsoft_docs_search 取得 URL(用於多載、完整簽章) |
尋找程式碼範例
使用 microsoft_code_sample_search 取得官方可運作的範例:
microsoft_code_sample_search(query: "upload file to blob storage", language: "csharp")
microsoft_code_sample_search(query: "authenticate with managed identity", language: "python")
microsoft_code_sample_search(query: "send message service bus", language: "javascript")
使用時機:
- 在撰寫程式碼之前,先尋找可遵循的運作模式
- 發生錯誤後,將您的程式碼與已知良好的範例進行比對
- 不確定初始化或設定方式時,範例會顯示完整的上下文
API 查詢
# 確認方法存在(包含命名空間以提高精確度)
"BlobClient UploadAsync Azure.Storage.Blobs"
"GraphServiceClient Users Microsoft.Graph"
# 尋找類別/介面
"DefaultAzureCredential class Azure.Identity"
# 尋找正確的套件
"Azure Blob Storage NuGet package"
"azure-storage-blob pip package"
當方法有多個多載或需要完整的參數詳細資料時,請擷取完整頁面。
錯誤排解
使用 microsoft_code_sample_search 尋找可運作的程式碼範例,並與您的實作進行比對。針對特定錯誤,使用 microsoft_docs_search 和 microsoft_docs_fetch:
| 錯誤類型 | 查詢 |
|---|---|
| 找不到方法 | "[ClassName] methods [Namespace]" |
| 找不到類型 | "[TypeName] NuGet package namespace" |
| 簽章錯誤 | "[ClassName] [MethodName] overloads" → 擷取完整頁面 |
| 已淘汰警告 | "[OldType] migration v12" |
| 驗證失敗 | "DefaultAzureCredential troubleshooting" |
| 403 禁止存取 | "[ServiceName] RBAC permissions" |
何時需要驗證
在以下情況務必驗證:
- 方法名稱看起來「太方便」(例如
UploadFile而非實際的Upload) - 混用 SDK 版本(v11 的
CloudBlobClient與 v12 的BlobServiceClient) - 套件名稱不符合慣例(.NET 為
Azure.*,Python 為azure-*) - 首次使用某個 API
驗證流程
在產生使用 Microsoft SDK 的程式碼之前,請先驗證其正確性:
- 確認方法或套件存在 —
microsoft_docs_search(query: "[ClassName] [MethodName] [Namespace]") - 擷取完整詳細資料(用於多載或複雜參數)—
microsoft_docs_fetch(url: "...") - 尋找可運作的範例 —
microsoft_code_sample_search(query: "[task]", language: "[lang]")
對於簡單查詢,僅執行步驟 1 可能就足夠。對於複雜的 API 使用,請完成所有三個步驟。
CLI 替代方案
如果 Learn MCP 伺服器無法使用,請改用終端機或殼層(例如 Bash、PowerShell 或 cmd)中的 mslearn CLI:
# 直接執行(無需安裝)
npx @microsoft/learn-cli search "BlobClient UploadAsync Azure.Storage.Blobs"
# 或全域安裝後執行
npm install -g @microsoft/learn-cli
mslearn search "BlobClient UploadAsync Azure.Storage.Blobs"
| MCP 工具 | CLI 指令 |
|---|---|
microsoft_docs_search(query: "...") |
mslearn search "..." |
microsoft_code_sample_search(query: "...", language: "...") |
mslearn code-search "..." --language ... |
microsoft_docs_fetch(url: "...") |
mslearn fetch "..." |
在 search 或 code-search 後加上 --json 可取得原始 JSON 輸出,以便進一步處理。






