Microsoft docs research
Find authoritative Microsoft ecosystem documentation by choosing Microsoft Learn first, then using the documented exception source for Aspire, VS Code, GitHub, and repository-level Agent Framework details.
When to invoke
- "Find the Microsoft docs for this Azure feature."
- "Show a .NET code sample from Learn."
- "Which docs explain Agent Framework DevUI tracing?"
- "Search Aspire docs for this integration."
- "Find GitHub CLI docs for this gh flag."
Documentation source routing
| Topic |
Primary source |
Use when |
| Azure, .NET, M365, Power Platform, Agent Framework tutorials, Semantic Kernel, Windows |
Microsoft Learn MCP or mslearn CLI |
Content lives on learn.microsoft.com. |
| .NET Aspire |
Aspire MCP server or Context7 |
Content lives on aspire.dev, not Learn. |
| VS Code |
Context7 |
Content lives on code.visualstudio.com. |
| GitHub and GitHub CLI |
Context7 |
Content lives on docs.github.com or cli.github.com. |
| Agent Framework API details |
Learn MCP plus Context7 repository source |
Learn has tutorials; the GitHub repo often has newer DevUI REST API, CLI, auth, and .NET details. |
Microsoft Learn access
Use Learn for the vast majority of Microsoft documentation queries.
| Tool or command |
Purpose |
microsoft_docs_search / microsoft_docs_search(query: "...") |
Search learn.microsoft.com concepts, guides, tutorials, and configuration. |
microsoft_code_sample_search / microsoft_code_sample_search(query: "...", language: "...") |
Find Learn code snippets; pass language such as python or csharp for best results. |
microsoft_docs_fetch / microsoft_docs_fetch(url: "...") |
Fetch full content from a specific Learn URL when excerpts are truncated. |
npx @microsoft/learn-cli search "BlobClient UploadAsync Azure.Storage.Blobs" |
CLI fallback with no global install. |
npm install -g @microsoft/learn-cli then mslearn search "..." |
Installed CLI fallback. |
mslearn code-search "..." --language ... |
CLI equivalent for code samples. |
mslearn fetch "<url>" / mslearn fetch "..." |
CLI equivalent for full-page fetch. |
Pass --json to search or code-search when raw JSON output is useful.
Exception sources
.NET Aspire
Aspire docs live on aspire.dev. Aspire CLI 13.2+ includes built-in docs search tools: list_docs, search_docs, and get_doc. Update with aspire update --self --channel daily when the CLI is too old. Aspire CLI 13.1 has list_integrations and get_integration_docs but not docs search, so fall back to Context7.
| Library ID |
Use for |
/microsoft/aspire.dev |
Primary guides, integrations, CLI reference, and deployment. |
/dotnet/aspire |
Runtime source, API internals, and implementation details. |
/communitytoolkit/aspire |
Community integrations for Go, Java, Node.js, and Ollama. |
VS Code, GitHub, and Agent Framework
| Library ID |
Use for |
/websites/code_visualstudio |
VS Code user docs, settings, features, debugging, and remote dev. |
/websites/code_visualstudio_api |
Extension API, webviews, TreeViews, commands, and contribution points. |
/websites/github_en |
GitHub Actions, API, repositories, security, administration, and GitHub Copilot. |
/websites/cli_github |
GitHub CLI gh commands and flags. |
/websites/learn_microsoft_en-us_agent-framework |
Agent Framework tutorials, DevUI guides, tracing, and workflow orchestration. |
/microsoft/agent-framework |
DevUI REST endpoints, CLI flags, auth, .NET AddDevUI and MapDevUI. |
For Agent Framework DevUI, query Learn website source for how-to guides, then repository source for endpoint schemas, proxy config, auth tokens, and API-level details.
Query construction
Be specific and include version, intent, and language.
| Too broad |
Better |
Azure Functions |
Azure Functions Python v2 programming model |
agent framework |
Agent Framework workflow conditional edges branching handoff |
Cosmos DB |
Cosmos DB partition key design best practices |
GitHub Actions |
GitHub Actions workflow_dispatch inputs matrix strategy |
Aspire Python |
Aspire AddUvicornApp Python FastAPI integration |
DevUI tracing |
DevUI serve agents tracing OpenTelemetry directory discovery |
Include .NET 8, Aspire 13, VS Code 1.96, quickstart, tutorial, overview, limits, API reference, Python, TypeScript, or C# when relevant.
Procedure
- Classify the technology and documentation host.
- Search the primary source for the host.
- Fetch full pages when excerpts are truncated or complete config options are needed.
- Cross-check repository source only for areas known to be ahead of docs, such as Agent Framework DevUI API details.
- Return concise guidance with source titles and URLs or command/tool evidence.
For Context7, perform one-time setup by resolving the library ID with mcp_context7_resolve-library-id, then query it with mcp_context7_query-docs. Use PowerShell, Bash, or cmd for CLI fallbacks depending on the user's shell.
Gotchas
- Do not route Aspire, VS Code, or GitHub docs to Learn by default: their canonical docs live outside
learn.microsoft.com.
- Resolve Context7 library IDs first: call the resolver once per session before querying docs.
- Do not rely on broad queries: include version, intent, and language to avoid stale or generic excerpts.
Output template
## Microsoft docs result — <topic>
**Source used:** Microsoft Learn | Aspire MCP | Context7 | mslearn CLI | repository source
**Query:** `<exact query>`
| Need | Source | Finding | URL or command evidence |
| --- | --- | --- | --- |
| <concept/tutorial/API/sample> | <source title> | <concise answer> | <URL, tool result, or command> |
### Recommended next step
<what to implement, read, or verify next>
Quality gate
References
1---2name: microsoft-docs3description: Query official Microsoft documentation and adjacent source documentation for Azure, .NET, Agent Framework, Semantic Kernel, Aspire, VS Code, GitHub, Power Platform, Windows, and M365. Use this skill when the user needs concepts, tutorials, configuration details, API examples, code samples, or current docs for Microsoft ecosystem technologies.4---56<!-- Generated from harness/github-copilot/skills/microsoft-docs/SKILL.md by harness/claude-code/scripts/convert_from_copilot.py. Edit the source, not this file. -->78# Microsoft docs research910Find authoritative Microsoft ecosystem documentation by choosing Microsoft Learn first, then using the documented exception source for Aspire, VS Code, GitHub, and repository-level Agent Framework details.1112## When to invoke1314- "Find the Microsoft docs for this Azure feature."15- "Show a .NET code sample from Learn."16- "Which docs explain Agent Framework DevUI tracing?"17- "Search Aspire docs for this integration."18- "Find GitHub CLI docs for this gh flag."1920## Documentation source routing2122| Topic | Primary source | Use when |23| --- | --- | --- |24| Azure, .NET, M365, Power Platform, Agent Framework tutorials, Semantic Kernel, Windows | Microsoft Learn MCP or `mslearn` CLI | Content lives on `learn.microsoft.com`. |25| .NET Aspire | Aspire MCP server or Context7 | Content lives on `aspire.dev`, not Learn. |26| VS Code | Context7 | Content lives on `code.visualstudio.com`. |27| GitHub and GitHub CLI | Context7 | Content lives on `docs.github.com` or `cli.github.com`. |28| Agent Framework API details | Learn MCP plus Context7 repository source | Learn has tutorials; the GitHub repo often has newer DevUI REST API, CLI, auth, and .NET details. |2930## Microsoft Learn access3132Use Learn for the vast majority of Microsoft documentation queries.3334| Tool or command | Purpose |35| --- | --- |36| `microsoft_docs_search` / `microsoft_docs_search(query: "...")` | Search `learn.microsoft.com` concepts, guides, tutorials, and configuration. |37| `microsoft_code_sample_search` / `microsoft_code_sample_search(query: "...", language: "...")` | Find Learn code snippets; pass `language` such as `python` or `csharp` for best results. |38| `microsoft_docs_fetch` / `microsoft_docs_fetch(url: "...")` | Fetch full content from a specific Learn URL when excerpts are truncated. |39| `npx @microsoft/learn-cli search "BlobClient UploadAsync Azure.Storage.Blobs"` | CLI fallback with no global install. |40| `npm install -g @microsoft/learn-cli` then `mslearn search "..."` | Installed CLI fallback. |41| `mslearn code-search "..." --language ...` | CLI equivalent for code samples. |42| `mslearn fetch "<url>"` / `mslearn fetch "..."` | CLI equivalent for full-page fetch. |4344Pass `--json` to `search` or `code-search` when raw JSON output is useful.4546## Exception sources4748### .NET Aspire4950Aspire docs live on `aspire.dev`. Aspire CLI 13.2+ includes built-in docs search tools: `list_docs`, `search_docs`, and `get_doc`. Update with `aspire update --self --channel daily` when the CLI is too old. Aspire CLI 13.1 has `list_integrations` and `get_integration_docs` but not docs search, so fall back to Context7.5152| Library ID | Use for |53| --- | --- |54| `/microsoft/aspire.dev` | Primary guides, integrations, CLI reference, and deployment. |55| `/dotnet/aspire` | Runtime source, API internals, and implementation details. |56| `/communitytoolkit/aspire` | Community integrations for Go, Java, Node.js, and Ollama. |5758### VS Code, GitHub, and Agent Framework5960| Library ID | Use for |61| --- | --- |62| `/websites/code_visualstudio` | VS Code user docs, settings, features, debugging, and remote dev. |63| `/websites/code_visualstudio_api` | Extension API, webviews, TreeViews, commands, and contribution points. |64| `/websites/github_en` | GitHub Actions, API, repositories, security, administration, and GitHub Copilot. |65| `/websites/cli_github` | GitHub CLI `gh` commands and flags. |66| `/websites/learn_microsoft_en-us_agent-framework` | Agent Framework tutorials, DevUI guides, tracing, and workflow orchestration. |67| `/microsoft/agent-framework` | DevUI REST endpoints, CLI flags, auth, .NET `AddDevUI` and `MapDevUI`. |6869For Agent Framework DevUI, query Learn website source for how-to guides, then repository source for endpoint schemas, proxy config, auth tokens, and API-level details.7071## Query construction7273Be specific and include version, intent, and language.7475| Too broad | Better |76| --- | --- |77| `Azure Functions` | `Azure Functions Python v2 programming model` |78| `agent framework` | `Agent Framework workflow conditional edges branching handoff` |79| `Cosmos DB` | `Cosmos DB partition key design best practices` |80| `GitHub Actions` | `GitHub Actions workflow_dispatch inputs matrix strategy` |81| `Aspire Python` | `Aspire AddUvicornApp Python FastAPI integration` |82| `DevUI tracing` | `DevUI serve agents tracing OpenTelemetry directory discovery` |8384Include `.NET 8`, `Aspire 13`, `VS Code 1.96`, `quickstart`, `tutorial`, `overview`, `limits`, `API reference`, `Python`, `TypeScript`, or `C#` when relevant.8586## Procedure87881. Classify the technology and documentation host.892. Search the primary source for the host.903. Fetch full pages when excerpts are truncated or complete config options are needed.914. Cross-check repository source only for areas known to be ahead of docs, such as Agent Framework DevUI API details.925. Return concise guidance with source titles and URLs or command/tool evidence.9394For Context7, perform one-time setup by resolving the library ID with `mcp_context7_resolve-library-id`, then query it with `mcp_context7_query-docs`. Use PowerShell, Bash, or cmd for CLI fallbacks depending on the user's shell.9596## Gotchas9798- **Do not route Aspire, VS Code, or GitHub docs to Learn by default**: their canonical docs live outside `learn.microsoft.com`.99- **Resolve Context7 library IDs first**: call the resolver once per session before querying docs.100- **Do not rely on broad queries**: include version, intent, and language to avoid stale or generic excerpts.101102## Output template103104```markdown105## Microsoft docs result — <topic>106107**Source used:** Microsoft Learn | Aspire MCP | Context7 | mslearn CLI | repository source108**Query:** `<exact query>`109110| Need | Source | Finding | URL or command evidence |111| --- | --- | --- | --- |112| <concept/tutorial/API/sample> | <source title> | <concise answer> | <URL, tool result, or command> |113114### Recommended next step115<what to implement, read, or verify next>116```117118## Quality gate119120- [ ] The documentation host was selected using the routing table.121- [ ] Microsoft Learn was used for `learn.microsoft.com` content.122- [ ] Aspire, VS Code, GitHub, and Agent Framework repository exceptions used the specified alternate source.123- [ ] Queries included version, intent, and language when relevant.124- [ ] Full pages were fetched when snippets were insufficient.125- [ ] The answer cites source titles and URLs or exact command/tool evidence.126127## References128129- [Aspire docs MCP tools announcement](https://davidpine.dev/posts/aspire-docs-mcp-tools/)130- [Aspire PR #14028](https://github.com/dotnet/aspire/pull/14028)