skills/microsoft-code-reference/SKILL.md
Find working code samples, verify API signatures, and fix Microsoft SDK errors using official docs. Use whenever the user is writing, debugging, or reviewing code that touches any Microsoft SDK, .NET library, Azure client library, or Microsoft API—even if they don't ask for a "reference." Catches hallucinated methods, wrong signatures, and deprecated patterns. If the task involves producing or fixing Microsoft-related code, this is the right skill.
npx skillsauth add microsoftdocs/mcp microsoft-code-referenceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| 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 the command line 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.
development
Create agent skills for Microsoft technologies using official documentation. Use whenever the user wants to build, generate, or scaffold a skill for any Microsoft technology (Azure, .NET, M365, VS Code, Bicep, etc.)—even phrased casually like "make a skill for Cosmos DB." Investigates the topic via official docs, then generates a hybrid skill with essential knowledge stored locally and dynamic lookups for depth.
development
Understand Microsoft technologies by querying official documentation. Use whenever the user asks how something works, wants tutorials, needs configuration options, limits, quotas, or best practices for any Microsoft technology (Azure, .NET, M365, Windows, Power Platform, etc.)—even if they don't mention "docs." If the question is about understanding a concept rather than writing code, this is the right skill.
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------