microsoft-skill-creator
github/awesome-copilot
Generates ready-to-use agent skills for any Microsoft technology by investigating Microsoft Learn docs.
What is microsoft-skill-creator?
microsoft-skill-creator is a meta-skill that helps an agent build new, well-structured skills teaching other agents about Microsoft technologies (Azure, .NET, M365, VS Code, Bicep, SDKs, etc.). It investigates a topic using Microsoft Learn MCP tools (or the mslearn CLI fallback), then generates a hybrid skill that stores essential knowledge locally while pointing to dynamic Learn lookups for deeper detail. Use it when you need to author a new Microsoft-technology skill rather than to answer questions about a technology directly.
- Investigates a Microsoft technology topic in three phases (scope discovery, core content, depth) using Learn MCP search/fetch/code-sample tools or the mslearn CLI
- Asks clarifying questions about key areas, target agent tasks, and preferred programming language before generating the skill
- Selects an appropriate template (SDK/Library, Azure Service, Framework/Platform, or API/Protocol) for the new skill
- Generates a complete skill package with SKILL.md, optional references/, and sample_codes/ folders
- Balances locally stored foundational knowledge against dynamic Learn MCP lookups to keep the skill concise
- Includes an mslearn CLI fallback table in generated skills so they work without the Learn MCP server
How to install microsoft-skill-creator
npx skills add https://github.com/github/awesome-copilot --skill microsoft-skill-creator- Access to the Microsoft Learn MCP Server (https://learn.microsoft.com/api/mcp) for best results
- Node.js/npx available to run the mslearn CLI fallback (`npx @microsoft/learn-cli`) if MCP is unavailable
How to use microsoft-skill-creator
- 1.Invoke the skill and tell it which Microsoft technology, library, framework, or service you want a skill created for
- 2.Let it investigate the topic using microsoft_docs_search, microsoft_docs_fetch, and microsoft_code_sample_search (or the mslearn CLI fallback) across scope, core content, and depth phases
- 3.Review the investigation findings it presents and answer its clarifying questions about key areas, target tasks, and preferred programming language
- 4.Let it select the matching template (SDK/Library, Azure Service, Framework/Platform, or API/Protocol) and generate the new skill's SKILL.md, references/, and sample_codes/
- 5.Review the generated skill to confirm local content covers common tasks, search queries return useful results, and code samples run without errors
Use cases
- Create a new skill that teaches an agent about an Azure service, including quickstart code and key concepts
- Generate a skill for a .NET or npm SDK/library with hello-world and common-pattern code samples
- Build a skill covering an app development framework's architecture, project structure, and configuration
- Produce a skill for a REST API/protocol that documents endpoints and links to deeper Learn MCP searches
- Quickly bootstrap internal documentation/skills for Microsoft 365 or VS Code extensibility topics
- Developers and teams building internal skill libraries for Microsoft technologies
- Coding agent maintainers who want consistent, well-structured skills for Azure/.NET/M365/VS Code/Bicep topics
- Documentation engineers automating creation of agent-readable Microsoft Learn-based knowledge packages
microsoft-skill-creator FAQ
It works best with the Microsoft Learn MCP Server (https://learn.microsoft.com/api/mcp), but it can fall back to the `mslearn` CLI (via `npx @microsoft/learn-cli` or a global install) if the MCP server isn't available.
It produces a new hybrid skill package (SKILL.md plus optional references/ and sample_codes/ folders) for a specific Microsoft technology, combining locally stored core knowledge with dynamic Learn MCP search guidance.
Yes, it's designed to work across technology types including Azure services, SDKs/libraries (NuGet/npm), app development frameworks, and REST APIs/protocols, using a matching template for each.
Yes, after investigation it presents findings and asks which key areas matter most, what tasks the skill should support, and which programming language to prioritize for code samples.
It stores foundational, frequently-needed, stable, hard-to-search content locally (e.g., core concepts, hello-world code, common patterns), and keeps exhaustive, version-specific, or well-indexed content dynamic via Learn MCP search/fetch.
Full instructions (SKILL.md)
Source of truth, from github/awesome-copilot.
name: microsoft-skill-creator description: Create agent skills for Microsoft technologies using Learn MCP tools. Use when users want to create a skill that teaches agents about any Microsoft technology, library, framework, or service (Azure, .NET, M365, VS Code, Bicep, etc.). Investigates topics deeply, then generates a hybrid skill storing essential knowledge locally while enabling dynamic deeper investigation. context: fork compatibility: Works best with Microsoft Learn MCP Server (https://learn.microsoft.com/api/mcp). Can also use the mslearn CLI as a fallback.
Microsoft Skill Creator
Create hybrid skills for Microsoft technologies that store essential knowledge locally while enabling dynamic Learn MCP lookups for deeper details.
About Skills
Skills are modular packages that extend agent capabilities with specialized knowledge and workflows. A skill transforms a general-purpose agent into a specialized one for a specific domain.
Skill Structure
skill-name/
├── SKILL.md (required) # Frontmatter (name, description) + instructions
├── references/ # Documentation loaded into context as needed
├── sample_codes/ # Working code examples
└── assets/ # Files used in output (templates, etc.)
Key Principles
- Frontmatter is critical:
nameanddescriptiondetermine when the skill triggers—be clear and comprehensive - Concise is key: Only include what agents don't already know; context window is shared
- No duplication: Information lives in SKILL.md OR reference files, not both
Learn MCP Tools
| Tool | Purpose | When to Use |
|---|---|---|
microsoft_docs_search | Search official docs | First pass discovery, finding topics |
microsoft_docs_fetch | Get full page content | Deep dive into important pages |
microsoft_code_sample_search | Find code examples | Get implementation patterns |
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:
# Run directly (no install needed)
npx @microsoft/learn-cli search "semantic kernel overview"
# Or install globally, then run
npm install -g @microsoft/learn-cli
mslearn search "semantic kernel overview"
| 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 "..." |
Generated skills should include this same CLI fallback table so agents can use either path.
Creation Process
Step 1: Investigate the Topic
Build deep understanding using Learn MCP tools in three phases:
Phase 1 - Scope Discovery:
microsoft_docs_search(query="{technology} overview what is")
microsoft_docs_search(query="{technology} concepts architecture")
microsoft_docs_search(query="{technology} getting started tutorial")
Phase 2 - Core Content:
microsoft_docs_fetch(url="...") # Fetch pages from Phase 1
microsoft_code_sample_search(query="{technology}", language="{lang}")
Phase 3 - Depth:
microsoft_docs_search(query="{technology} best practices")
microsoft_docs_search(query="{technology} troubleshooting errors")
Investigation Checklist
After investigating, verify:
- Can explain what the technology does in one paragraph
- Identified 3-5 key concepts
- Have working code for basic usage
- Know the most common API patterns
- Have search queries for deeper topics
Step 2: Clarify with User
Present findings and ask:
- "I found these key areas: [list]. Which are most important?"
- "What tasks will agents primarily perform with this skill?"
- "Which programming language should code samples prioritize?"
Step 3: Generate the Skill
Use the appropriate template from skill-templates.md:
| Technology Type | Template |
|---|---|
| Client library, NuGet/npm package | SDK/Library |
| Azure resource | Azure Service |
| App development framework | Framework/Platform |
| REST API, protocol | API/Protocol |
Generated Skill Structure
{skill-name}/
├── SKILL.md # Core knowledge + Learn MCP guidance
├── references/ # Detailed local documentation (if needed)
└── sample_codes/ # Working code examples
├── getting-started/
└── common-patterns/
Step 4: Balance Local vs Dynamic Content
Store locally when:
- Foundational (needed for any task)
- Frequently accessed
- Stable (won't change)
- Hard to find via search
Keep dynamic when:
- Exhaustive reference (too large)
- Version-specific
- Situational (specific tasks only)
- Well-indexed (easy to search)
Content Guidelines
| Content Type | Local | Dynamic |
|---|---|---|
| Core concepts (3-5) | ✅ Full | |
| Hello world code | ✅ Full | |
| Common patterns (3-5) | ✅ Full | |
| Top API methods | Signature + example | Full docs via fetch |
| Best practices | Top 5 bullets | Search for more |
| Troubleshooting | Search queries | |
| Full API reference | Doc links |
Step 5: Validate
- Review: Is local content sufficient for common tasks?
- Test: Do suggested search queries return useful results?
- Verify: Do code samples run without errors?
Common Investigation Patterns
For SDKs/Libraries
"{name} overview" → purpose, architecture
"{name} getting started quickstart" → setup steps
"{name} API reference" → core classes/methods
"{name} samples examples" → code patterns
"{name} best practices performance" → optimization
For Azure Services
"{service} overview features" → capabilities
"{service} quickstart {language}" → setup code
"{service} REST API reference" → endpoints
"{service} SDK {language}" → client library
"{service} pricing limits quotas" → constraints
For Frameworks/Platforms
"{framework} architecture concepts" → mental model
"{framework} project structure" → conventions
"{framework} tutorial walkthrough" → end-to-end flow
"{framework} configuration options" → customization
Example: Creating a "Semantic Kernel" Skill
Investigation
microsoft_docs_search(query="semantic kernel overview")
microsoft_docs_search(query="semantic kernel plugins functions")
microsoft_code_sample_search(query="semantic kernel", language="csharp")
microsoft_docs_fetch(url="https://learn.microsoft.com/semantic-kernel/overview/")
Generated Skill
semantic-kernel/
├── SKILL.md
└── sample_codes/
├── getting-started/
│ └── hello-kernel.cs
└── common-patterns/
├── chat-completion.cs
└── function-calling.cs
Generated SKILL.md
---
name: semantic-kernel
description: Build AI agents with Microsoft Semantic Kernel. Use for LLM-powered apps with plugins, planners, and memory in .NET or Python.
---
# Semantic Kernel
Orchestration SDK for integrating LLMs into applications with plugins, planners, and memory.
## Key Concepts
- **Kernel**: Central orchestrator managing AI services and plugins
- **Plugins**: Collections of functions the AI can call
- **Planner**: Sequences plugin functions to achieve goals
- **Memory**: Vector store integration for RAG patterns
## Quick Start
See [getting-started/hello-kernel.cs](sample_codes/getting-started/hello-kernel.cs)
## Learn More
| Topic | How to Find |
|-------|-------------|
| Plugin development | `microsoft_docs_search(query="semantic kernel plugins custom functions")` |
| Planners | `microsoft_docs_search(query="semantic kernel planner")` |
| Memory | `microsoft_docs_fetch(url="https://learn.microsoft.com/en-us/semantic-kernel/frameworks/agent/agent-memory")` |
## CLI Alternative
If the Learn MCP server is not available, use the `mslearn` CLI instead:
| 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 "..."` |
Run directly with `npx @microsoft/learn-cli <command>` or install globally with `npm install -g @microsoft/learn-cli`.
Related skills
More from github/awesome-copilot and the wider catalog.
git-commit
Execute semantic git commits with conventional message analysis and intelligent staging.
excalidraw-diagram-generator
Generate Excalidraw diagrams from natural language descriptions.
documentation-writer
Create structured technical documentation using the Diátaxis framework for tutorials, how-to guides, references, and explanations.
gh-cli
GitHub CLI comprehensive reference for repositories, issues, PRs, Actions, projects, releases, and all GitHub operations from the command line.
prd
Generate comprehensive Product Requirements Documents with executive summaries, user stories, technical specs, and risk analysis.
refactor
Surgical code refactoring to improve maintainability without changing behavior.