MR
Mayur Rathi
@github
⭐ 34.1k GitHub stars

Microsoft-Code-Reference

Microsoft-Code-Reference是一款code方向的AI技能,核心价值是Look up Microsoft API references, find working code samples, and verify SDK code is correct,可用于解决开发者在code领域的实际问题,帮助用户提升效率、自动化重复任务或优化工作流。

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 paramet

Last verified on: 2026-05-30
mkdir -p ./skills/microsoft-code-reference && curl -sfL https://raw.githubusercontent.com/github/awesome-copilot/main/skills/microsoft-code-reference/SKILL.md -o ./skills/microsoft-code-reference/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

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


text
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


text
# 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 code-search "..." --language ...` |

| `microsoft_docs_fetch(url: "...")` | `mslearn fetch "..."` |


Pass `--json` to `search` or `code-search` to get raw JSON output for further processing.

🎯 Best For

  • Claude users
  • GitHub Copilot users
  • Software engineers
  • Development teams
  • Tech leads

💡 Use Cases

  • Code quality improvement
  • Best practice enforcement

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude or GitHub Copilot and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply Microsoft-Code-Reference to Your Work

    Open your project in the AI assistant and ask it to apply the skill. Start with a small module to verify the output quality.

  4. 4

    Review and Refine

    Review AI suggestions before committing. Run tests, check for regressions, and iterate on the skill output.

❓ Frequently Asked Questions

Is Microsoft-Code-Reference compatible with Cursor and VS Code?

Yes — this skill works with any AI coding assistant including Cursor, VS Code with Copilot, and JetBrains IDEs.

Do I need specific dependencies for Microsoft-Code-Reference?

Check the install command and Works With section. Most code skills only require the AI assistant and your codebase.

How do I install Microsoft-Code-Reference?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/microsoft-code-reference/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Skipping validation

Always test AI-generated code changes, even for simple refactors.

Missing dependency updates

Check if the skill requires updated dependencies or new packages.

🔗 Related Skills