
The microsoft-code-reference skill enables developers to verify Microsoft API usage by searching official documentation, retrieving working code samples, and validating SDK method signatures and parameters across Azure, .NET, and Microsoft Graph libraries. It serves developers using Microsoft technologies who need to confirm correct API methods, find language-specific implementation examples, and catch common errors like hallucinated methods, incorrect signatures, and deprecated patterns. The skill solves the problem of unreliable or outdated code generation by grounding responses in official Microsoft Learn documentation and verified sample code.
$ npx -y skills add github/awesome-copilot --skill microsoft-code-reference --agent claude-codeInstalls into .claude/skills of the current project.
| Need | Tool | Example |
|---|---|---|
| API method/class lookup | microsoft_docs_search | "BlobClient UploadAsync Azure.Storage.Blobs" |
| Working code sample | microsoft_code_sample_search | query: "upload blob managed identity", language: "python" |
| Full API reference | microsoft_docs_fetch | Fetch URL from microsoft_docs_search (for overloads, full signatures) |
Use microsoft_code_sample_search to get official, working examples:
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")
When to use:
# Verify method exists (include namespace for precision)
"BlobClient UploadAsync Azure.Storage.Blobs"
"GraphServiceClient Users Microsoft.Graph"
# Find class/interface
"DefaultAzureCredential class Azure.Identity"
# Find correct package
"Azure Blob Storage NuGet package"
"azure-storage-blob pip package"
Fetch full page when method has multiple overloads or you need complete parameter details.
Use microsoft_code_sample_search to find working code samples and compare with your implementation. For specific errors, use microsoft_docs_search and microsoft_docs_fetch:
| Error Type | Query |
|---|---|
| Method not found | "[ClassName] methods [Namespace]" |
| Type not found | "[TypeName] NuGet package namespace" |
| Wrong signature | "[ClassName] [MethodName] overloads" → fetch full page |
| Deprecated warning | "[OldType] migration v12" |
| Auth failure | "DefaultAzureCredential troubleshooting" |
| 403 Forbidden | "[ServiceName] RBAC permissions" |
Always verify when:
UploadFile vs actual Upload)CloudBlobClient vs v12 BlobServiceClient)Azure.* for .NET, azure-* for Python)Before generating code using Microsoft SDKs, verify it's correct:
microsoft_docs_search(query: "[ClassName] [MethodName] [Namespace]")microsoft_docs_fetch(url: "...")microsoft_code_sample_search(query: "[task]", language: "[lang]")For simple lookups, step 1 alone may suffice. For complex API usage, complete all three steps.
If the Learn MCP server is not available, use the mslearn CLI from a terminal or shell (for example, Bash, PowerShell, or cmd) instead:
# Run directly (no install needed)
npx @microsoft/learn-cli search "BlobClient UploadAsync Azure.Storage.Blobs"
# Or install globally, then run
npm install -g @microsoft/learn-cli
mslearn search "BlobClient UploadAsync Azure.Storage.Blobs"
| MCP Tool | CLI Command |
|---|---|
microsoft_docs_search(query: "...") | mslearn search "..." |
microsoft_code_sample_search(query: "...", language: "...") | mslearn code-search "..." --language ... |
microsoft_docs_fetch(url: "...") | mslearn fetch "..." |
Pass --json to search or code-search to get raw JSON output for further processing.
Sponsors