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.
npx skills add https://github.com/github/awesome-copilot --skill microsoft-code-reference
| 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.
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
Take github/microsoft-code-reference from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npm, npx.
Without those the skill loads but fails at the first command.