microsoft-skill-creator

Create hybrid agent skills for Microsoft technologies with local knowledge and dynamic Learn MCP lookups. Generates modular skill packages with frontmatter, reference documentation, and working code examples for any Microsoft technology (Azure, .NET, M365, Semantic Kernel, etc.) Uses three-phase investigation workflow: scope discovery via search, core content fetching, and depth exploration for best practices and troubleshooting Balances local storage of foundational concepts and common patterns against dynamic Learn MCP queries for exhaustive references and version-specific details Includes CLI fallback using mslearn when Learn MCP server is unavailable; provides skill templates for SDKs, Azure services, frameworks, and APIs

INSTALLATION
npx skills add https://github.com/github/awesome-copilot --skill microsoft-skill-creator
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

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: name and description determine 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`.
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card