AI skills in use in my daily
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

3.7 KiB

name description
mslearn Query the live Microsoft Learn MCP for grounded, first-party docs, code samples, and full-page fetches across Azure, M365, .NET, and Power Platform. Use when the user asks what Microsoft says about X, needs an authoritative answer for a customer, wants current official guidance, looks for a code sample, or asks to cite or quote the docs. Triggers: ms learn, microsoft learn, learn docs, look it up on learn, cite the docs, official microsoft guidance, what do the docs say.

MS Learn MCP skill

Calls the public Microsoft Learn MCP server at https://learn.microsoft.com/api/mcp over JSON-RPC 2.0. No auth required. Use this to ground customer-facing answers in live, first-party Microsoft documentation.

Three tools available

Tool Purpose Args
microsoft_docs_search Top-10 doc chunks (≤500 tokens each). Always start here. query (string)
microsoft_code_sample_search Official code snippets. Use when generating any MS/Azure code. query (string), language (optional: csharp, javascript, typescript, python, powershell, azurecli, al, sql, java, kusto, cpp, go, rust, ruby, php)
microsoft_docs_fetch Full page → markdown. Use AFTER search when a result looks high-value or is truncated. url (must be microsoft.com HTML page)

How to call (PowerShell)

$body = @{
  jsonrpc = "2.0"
  id      = 1
  method  = "tools/call"
  params  = @{
    name      = "microsoft_docs_search"
    arguments = @{ query = "YOUR QUERY HERE" }
  }
} | ConvertTo-Json -Compress -Depth 6

curl.exe -s -X POST "https://learn.microsoft.com/api/mcp" `
  -H "Content-Type: application/json" `
  -H "Accept: application/json, text/event-stream" `
  -d $body

Response is SSE-framed: skip the event: message\ndata: prefix, then JSON-parse. The result.content[0].text field is itself JSON — parse it again to get results[].

Quick parser:

$raw = curl.exe ...   # as above
$json = ($raw -join "`n") -replace '^event:.*\ndata: ',''
$outer = $json | ConvertFrom-Json
$inner = $outer.result.content[0].text | ConvertFrom-Json
$inner.results | ForEach-Object { "[$($_.title)]($($_.contentUrl))`n$($_.content)`n" }

To call microsoft_code_sample_search or microsoft_docs_fetch, swap the params.name and params.arguments accordingly (e.g. arguments = @{ query = "..."; language = "csharp" } or arguments = @{ url = "https://learn.microsoft.com/..." }).

Workflow for a customer answer

  1. Search with microsoft_docs_search using the user's question verbatim or refined keywords.
  2. Skim the top results. If they fully answer the question → synthesize and cite.
  3. If a result is truncated, ambiguous, or is the canonical landing page → fetch it with microsoft_docs_fetch for full content.
  4. If the user wants code → also call microsoft_code_sample_search with the right language.
  5. Compose the response with inline citations: every claim that came from Learn must link to the source contentUrl so the customer can verify.

Output style for customer-facing answers

  • Lead with a one-paragraph plain-English answer.
  • Follow with bullet points of key facts, each citing [Source title](url).
  • If quoting code, fence it with the right language and cite the sample's link.
  • End with "Sources" section listing every URL used.
  • Never paraphrase past what the docs say. If Learn doesn't cover it, say so explicitly — don't fill gaps with model knowledge.

When NOT to use

  • Internal Microsoft content (Seismic, MSX, Learn Pathways gated content) — use the other skills.
  • Non-Microsoft topics — Learn won't have it.
  • Anything time-sensitive about pricing/SLAs — confirm via the actual product pricing page after Learn points you there.