
Microsoft Code Reference
Look up official Microsoft and Azure SDK methods, pull working code samples, and stop agents from inventing APIs or wrong signatures.
Overview
microsoft-code-reference is an agent skill most often used in Build integrations (also Ship review, Operate iterate) that queries Microsoft Learn to verify APIs, signatures, and official SDK samples.
Install
npx skills add https://github.com/github/awesome-copilot --skill microsoft-code-referenceWhat is this skill?
- Three-tool workflow: `microsoft_docs_search`, `microsoft_code_sample_search`, `microsoft_docs_fetch` for APIs and overlo
- Official code sample search by natural language query and language (csharp, python, javascript)
- Targets hallucinated methods, wrong signatures, and deprecated Azure/.NET patterns
- Documented fallback to mslearn CLI when Microsoft Learn MCP Server is unavailable
- Use-before-write and use-after-error patterns for SDK troubleshooting
- 3 primary lookup tools documented: microsoft_docs_search, microsoft_code_sample_search, microsoft_docs_fetch
Adoption & trust: 11.4k installs on skills.sh; 34.6k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You are coding against Azure or .NET SDKs and the agent keeps hallucinating methods, parameters, or deprecated patterns you cannot trust in production.
Who is it for?
Solo builders shipping Azure, .NET, or Microsoft Graph integrations who want doc-grounded SDK calls before writing or patching code.
Skip if: Non-Microsoft stacks with no Learn docs, or pure infrastructure-as-code work where Terraform/Bicep module docs replace SDK reference.
When should I use this skill?
Working with Azure SDKs, .NET libraries, or Microsoft APIs—to find methods, check parameters, get samples, or troubleshoot SDK errors.
What do I get? / Deliverables
Implementation and fixes align with Microsoft Learn search results and official code samples, with full doc fetches when overload lists are required.
- Verified API/method references with correct signatures
- Official language-specific code sample snippets aligned to the task
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Microsoft-heavy integrations are built during implementation; wrong SDK calls are cheapest to catch before merge and deployment. Integrations is the canonical shelf for Azure, .NET, and Learn-docs-grounded coding against external Microsoft services.
Where it fits
Pull a csharp blob upload sample with managed identity before implementing storage in your API.
Fetch the full method reference page to confirm overloads on a PR that adds Service Bus send helpers.
Compare failing production SDK usage against an official javascript sample after an Azure SDK upgrade.
How it compares
Doc-and-sample verification skill via Learn MCP/mslearn—not a deploy workflow and not a substitute for reading service quotas and IAM in Azure Portal.
Common Questions / FAQ
Who is microsoft-code-reference for?
Indie developers and agent users working with Azure SDKs, .NET, or Microsoft APIs who need verified references instead of model-trained guesses.
When should I use microsoft-code-reference?
Before writing Blob, Service Bus, or identity code in Build, when a compile/runtime error disagrees with agent output in Ship, or when debugging production SDK misuse in Operate.
Is microsoft-code-reference safe to install?
It encourages querying official Microsoft documentation sources; review the Security Audits panel on this Prism page and treat MCP/CLI network access like any external doc tool.
SKILL.md
READMESKILL.md - Microsoft Code Reference
# Microsoft Code Reference ## Tools | 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) | ## Finding Code Samples 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:** - Before writing code—find a working pattern to follow - After errors—compare your code against a known-good sample - Unsure of initialization/setup—samples show complete context ## API Lookups ``` # 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. ## Error Troubleshooting 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"` | ## When to Verify Always verify when: - Method name seems "too convenient" (`UploadFile` vs actual `Upload`) - Mixing SDK versions (v11 `CloudBlobClient` vs v12 `BlobServiceClient`) - Package name doesn't follow conventions (`Azure.*` for .NET, `azure-*` for Python) - Using an API for the first time ## Validation Workflow Before generating code using Microsoft SDKs, verify it's correct: 1. **Confirm method or package exists** — `microsoft_docs_search(query: "[ClassName] [MethodName] [Namespace]")` 2. **Fetch full details** (for overloads/complex params) — `microsoft_docs_fetch(url: "...")` 3. **Find working sample** — `microsoft_code_sample_search(query: "[task]", language: "[lang]")` For simple lookups, step 1 alone may suffice. For complex API usage, complete all three steps. ## CLI Alternative If the Learn MCP server is not available, use the `mslearn` CLI from a terminal or shell (for example, Bash, PowerShell, or cmd) instead: ```sh # 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 cod