agent skills

Microsoft Docs (microsoft/skills)

Microsoft's microsoft-docs skill from microsoft/skills — a fork-context procedure for understanding Microsoft technologies by querying official Microsoft Learn documentation. Use whenever the user asks how a Microsoft technology works, wants tutorials, needs configuration options, limits, quotas, or best practices — for Azure, .NET, M365, Windows, Power Platform, Fabric, Foundry, and adjacent tech
by Microsoft updated Sep 10, 2026 MIT
install via your agent of choice
❯ npx skills add microsoft/skills (interactive wizard picks microsoft-docs; outputs to .github/skills/ for GitHub Copilot / VS Code Copilot). Manual fallback: git clone https://github.com/microsoft/skills && cp -r .github/skills/microsoft-docs your-project/.github/skills/. Claude Code and Cursor do not auto-discover .github/skills/ — symlink or copy into .claude/skills/ or .opencode/skills/ as your host expects. The skill is a thin wrapper: after install, configure the host to expose the Microsoft Learn MCP server at https://learn.microsoft.com/api/mcp OR install @microsoft/learn-cli globally.

## what it does

tl;dr: a thin Microsoft Learn documentation router that ships as a fork-context skill. The body is short because the work happens in the tools — microsoft_docs_search to find pages, microsoft_docs_fetch to retrieve full content (with --section <heading> and --max-chars <n> support on the CLI side). Primary transport is the Microsoft Learn MCP server at https://learn.microsoft.com/api/mcp; the mslearn CLI (npx @microsoft/learn-cli) is the documented fallback. The value of the skill is its query-effectiveness rules, not the underlying MCP server.

What it actually does

The SKILL.md fetched on 2026-09-10 from microsoft/skills/main/.github/skills/microsoft-docs/SKILL.md is one of the 11 Core skills in the Microsoft skills bundle. The body declares two tools and a query-craft checklist — there is no separate reference/ doc to load.

Tools

ToolUse for
microsoft_docs_searchFind documentation — concepts, guides, tutorials, configuration
microsoft_docs_fetchGet full page content when search excerpts aren’t enough (tutorials, configuration guides, deep dives, cut-off search excerpts)

The MCP server is https://learn.microsoft.com/api/mcp — that endpoint is the upstream Microsoft’s docs site exposes; the skill does not bundle its own server.

When to use (verbatim from the skill)

  • Understanding concepts — “How does Cosmos DB partitioning work?”
  • Learning a service — “Azure Functions overview”, “Container Apps architecture”
  • Finding tutorials — “quickstart”, “getting started”, “step-by-step”
  • Configuration options — “App Service configuration settings”
  • Limits & quotas — “Azure OpenAI rate limits”, “Service Bus quotas”
  • Best practices — “Azure security best practices”

Query effectiveness

The skill is explicit that vague queries return shallow results:

# ❌ Too broad
"Azure Functions"

# ✅ Specific
"Azure Functions Python v2 programming model"
"Cosmos DB partition key design best practices"
"Container Apps scaling rules KEDA"

Add context that survives in docs:

  • Version when relevant (.NET 8, EF Core 8, Python v2)
  • Task intent (quickstart, tutorial, overview, limits, best practices)
  • Platform for multi-platform docs (Linux, Windows)

When to fetch full page vs rely on search excerpts

Fetch after search when:

  • Tutorials — need complete step-by-step instructions
  • Configuration guides — need all options listed
  • Deep dives — user wants comprehensive coverage
  • Search excerpt is cut off — full context needed

Otherwise stop at the search result — the excerpt is the answer.

Why use this (from the skill, not paraphrased marketing)

  • Accuracy — live docs, not training data that may be outdated
  • Completeness — tutorials have all steps, not fragments
  • Authority — official Microsoft documentation

Install

microsoft-docs ships inside Microsoft’s plugin bundle (175 skills). The wizard picks the skill; the README documents the manual path.

# Wizard — interactive install, picks microsoft-docs from the Core catalog
npx skills add microsoft/skills

# Manual — clone the repo, copy the single skill folder
git clone https://github.com/microsoft/skills.git
cp -r microsoft/skills/.github/skills/microsoft-docs \
  your-project/.github/skills/

# Multi-host: symlink so .claude/skills/ and .opencode/skills/ see it
ln -s ../.github/skills .claude/skills
ln -s ../.github/skills .opencode/skills

Targets GitHub Copilot CLI / VS Code Copilot out of the box. Claude Code and Cursor do not auto-discover .github/skills/ — symlink or copy into .claude/skills/ / .opencode/skills/ as your host expects.

After install, the host must expose the underlying tool. Two options:

# Option A — MCP server in your .vscode/mcp.json or equivalent
{
  "microsoft-learn": {
    "type": "http",
    "url": "https://learn.microsoft.com/api/mcp"
  }
}

# Option B — CLI fallback (no install needed, run via npx)
npx @microsoft/learn-cli search "azure functions timeout"
# or install globally
npm install -g @microsoft/learn-cli
mslearn search "azure functions timeout"

The CLI supports --section <heading> to extract a single section and --max-chars <number> to truncate — useful when fetching a long page where only one section matters.

What it explicitly is not

  • Not a Microsoft documentation crawler. It routes through the existing Learn MCP server / CLI; it does not scrape learn.microsoft.com itself.
  • Not a code-writing skill. It returns documentation excerpts, not generated code. Pair with azure-ai-projects-py, azure-storage-blob-ts, etc. when the answer needs to ship.
  • Not a substitute for context7. context7 is a multi-vendor docs resolver indexed for LLMs; microsoft-docs is Microsoft-only and queries the live Learn MCP server.
  • Not self-contained. Without the Learn MCP server reachable (or mslearn installed) the skill has nothing to call. A sandboxed environment with no outbound HTTPS to learn.microsoft.com returns empty results.
  • sandbox_test untested — we read the package, we did not run a docs query in the sandbox. Per config/skill-safety.md, that verdict does not change until a human runs the eval-vs-prompt harness.

Gotchas

  • The skill is a routing wrapper, not a knowledge base. SKILL.md is short on purpose — most of the value lives in the MCP server / CLI. If the underlying transport is misconfigured, the skill silently returns nothing.
  • Fork context is mandatory. The SKILL.md frontmatter declares context: fork — the skill expects to run as a sub-agent with isolated context, not as an inline augmentation. If your host loads it in main context, behavior is undefined.
  • Vague queries are the common failure mode. “How does Azure work?” returns a marketing page; “Azure Functions Python v2 programming model cold start” returns the right doc. The skill’s query-craft rules are the actual deliverable.
  • Version drift. Microsoft Learn pages are rewritten with version bumps. A query that worked for .NET 7 last quarter may now hit .NET 9 docs. The skill does not pin versions — always include the version in the query.
  • The mslearn CLI is the documented fallback, not a deprecated path. The README inside microsoft-docs/SKILL.md explicitly maps MCP tool calls to CLI commands: microsoft_docs_search(query) ↔ mslearn search "...", microsoft_docs_fetch(url) ↔ mslearn fetch "...". Use the CLI when the MCP transport is blocked by a corporate firewall.
  • The skill is in active development. The README says “Work in Progress — this repository is under active development.” microsoft-docs is in the Core catalog (11 skills) but is not listed in the per-language test coverage summary — it is one of the Core skills without a dedicated acceptance-criteria file in tests/scenarios/. Treat upstream edits as expected.
  • License is MIT for the repo. If upstream adds a per-skill LICENSE in a future commit, that file overrides the repo-wide MIT.

Related: Microsoft MCP Builder (the Microsoft-ecosystem MCP procedure that explicitly tells Phase 1 to “Reference official docs via microsoft-docs MCP”), Cloud Solution Architect (an Azure Architecture Center procedure that uses the same Learn MCP server for service-shape lookups), Microsoft Copilot SDK (a code-writing skill that benefits from the docs this skill retrieves — query before writing).

## compatibility

claude-code ✓
cursor ✓
cline ~
aider ?

## embed this badge

cache ✓ in cache.directory
![cached](https://cache.directory/badge/ms-microsoft-docs.svg)