SKILL.md
readonly只读
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与 v12BlobServiceClient) - 包名不符合约定(.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 服务器不可用,请使用终端或 shell(例如 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 输出,便于进一步处理。






