home / skills / github / awesome-copilot / microsoft-code-reference

microsoft-code-reference skill

/skills/microsoft-code-reference

This skill helps you find official Microsoft API references, working code samples, and correct SDK usage to troubleshoot and implement Azure, .NET, and Graph

npx playbooks add skill github/awesome-copilot --skill microsoft-code-reference

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
3.3 KB
---
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: Requires Microsoft Learn MCP Server (https://learn.microsoft.com/api/mcp)
---

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

Overview

This skill helps you look up Microsoft API references, find official working code samples, and verify SDK code against the authoritative documentation. It is tailored for Azure SDKs, .NET libraries, Microsoft Graph, and other Microsoft APIs to catch hallucinated methods, wrong signatures, and deprecated patterns. Use it to speed development and reduce debugging by consulting official examples and full API pages.

How this skill works

The skill queries Microsoft documentation to confirm method and class existence, retrieves full API pages when overloads or detailed parameter info are needed, and returns verified, working code samples in your requested language. Typical steps are: search for a specific API or package, fetch the documentation page for full signatures, and pull example snippets that show correct initialization and usage. It focuses on authoritative sources so results align with current SDK versions and recommended patterns.

When to use it

  • When you need to confirm a method or class exists and its exact signature
  • Before generating code that calls Microsoft SDKs or Graph APIs
  • When upgrading or mixing SDK versions to detect breaking changes
  • To find complete, working examples for authentication, initialization, and common tasks
  • When troubleshooting errors that may come from wrong parameters, deprecated APIs, or missing packages

Best practices

  • Include the namespace or package in your search to avoid ambiguous matches
  • Fetch the full documentation page for overloads or complex parameter types
  • Request samples in the exact language and runtime you are using (e.g., csharp, python, javascript)
  • Compare your implementation line-by-line to an official sample to isolate differences
  • Validate package names and versions—Azure .NET packages use Azure.* and Python packages use azure-* naming

Example use cases

  • Verify that BlobClient.UploadAsync exists and get its overloads and parameter details
  • Find a working example to upload a file to Azure Blob Storage in Python using managed identity
  • Check GraphServiceClient users APIs and copy a working C# snippet for listing users
  • Troubleshoot a 403 by searching RBAC and permission troubleshooting docs for the specific service
  • Confirm migration guidance when moving from v11 to v12 SDKs to replace deprecated types

FAQ

Can this find samples for all Microsoft languages?

It returns official samples for major languages (C#, Python, JavaScript/TypeScript, Java) when they exist in the Microsoft docs or samples catalog.

How do I avoid following outdated examples?

Always check the documentation page date, target SDK version, and the package name; fetch the full API reference to confirm current signatures and recommended migration notes.