PluginBench
Skill
Official
Review
Audit score 70

microsoft-code-reference

github/awesome-copilot

Look up Microsoft API references, code samples, and verify SDK correctness against official docs.

What is microsoft-code-reference?

Queries Microsoft Learn and official documentation to find correct API methods, working code samples, and parameter signatures for Azure SDKs, .NET libraries, and Microsoft APIs. Use when building with Microsoft services to catch hallucinated methods, wrong signatures, and deprecated patterns.

  • Search Microsoft API references by class, method, or namespace
  • Retrieve working code samples in C#, Python, JavaScript, and other languages
  • Fetch full API documentation including method overloads and parameter details
  • Verify package names and NuGet/pip package locations
  • Troubleshoot authentication, permissions, and SDK version mismatches
  • Compare your code against official samples to catch errors

How to install microsoft-code-reference

npx skills add https://github.com/github/awesome-copilot --skill microsoft-code-reference
Prerequisites
  • Microsoft Learn MCP Server (recommended) or mslearn CLI installed
  • Access to Microsoft Learn documentation (public, no authentication required)
Claude Code
Cursor
Windsurf
Cline

How to use microsoft-code-reference

  1. 1.Search for an API method or class using microsoft_docs_search with the class name, method, and namespace
  2. 2.If the method has multiple overloads or you need full parameter details, fetch the complete page using microsoft_docs_fetch
  3. 3.Search for working code samples using microsoft_code_sample_search with your task and target language
  4. 4.Compare the official sample against your implementation to verify correctness
  5. 5.If MCP server is unavailable, use the mslearn CLI as a fallback (npx @microsoft/learn-cli search or mslearn command)

Use cases

Good for
  • Verify a BlobClient method exists and get its correct signature before writing Azure Storage code
  • Find a working example of managed identity authentication for your language
  • Look up RBAC permissions required for a 403 Forbidden error in Azure services
  • Compare your Service Bus message-sending code against an official sample
  • Confirm the correct NuGet package name and namespace for a .NET library
Who it's for
  • Backend developers using Azure SDKs
  • C#/.NET developers working with Microsoft libraries
  • Python developers using azure-* packages
  • JavaScript/Node.js developers integrating with Azure services
  • DevOps engineers building infrastructure-as-code with Azure SDKs

microsoft-code-reference FAQ

When should I use this skill instead of just writing code?

Use it before writing code with unfamiliar Microsoft APIs, after encountering errors, or when method names seem suspicious. Always verify when mixing SDK versions (v11 vs v12) or using an API for the first time.

What languages are supported for code samples?

C#, Python, JavaScript, and other languages supported by Microsoft Learn. Specify the language in microsoft_code_sample_search queries.

Can this skill help with authentication errors?

Yes. Use microsoft_code_sample_search to find working authentication patterns (e.g., managed identity, connection strings) and microsoft_docs_search to look up RBAC permissions for 403 errors.

What if the Microsoft Learn MCP server is not available?

Use the mslearn CLI as a fallback: npx @microsoft/learn-cli search "query" or install globally with npm install -g @microsoft/learn-cli.

How do I know if a method name is hallucinated?

Search for the exact class and method name in the namespace. If microsoft_docs_search returns no results or suggests a different method name, the original was likely hallucinated. Always fetch the full page to see all available overloads.

Full instructions (SKILL.md)

Source of truth, from github/awesome-copilot.


name: microsoft-code-reference description: Look up Microsoft API references, find working code samples, and verify SDK code is correct. Use when working with Azure SDKs, .NET libraries, or Microsoft APIs—to find the right method, check parameters, get working examples, or troubleshoot errors. Catches hallucinated methods, wrong signatures, and deprecated patterns by querying official docs. compatibility: Works best with Microsoft Learn MCP Server (https://learn.microsoft.com/api/mcp). Can also use the mslearn CLI as a fallback.

Microsoft Code Reference

Tools

NeedToolExample
API method/class lookupmicrosoft_docs_search"BlobClient UploadAsync Azure.Storage.Blobs"
Working code samplemicrosoft_code_sample_searchquery: "upload blob managed identity", language: "python"
Full API referencemicrosoft_docs_fetchFetch 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 TypeQuery
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 existsmicrosoft_docs_search(query: "[ClassName] [MethodName] [Namespace]")
  2. Fetch full details (for overloads/complex params) — microsoft_docs_fetch(url: "...")
  3. Find working samplemicrosoft_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:

# 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 ToolCLI 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.