Skip to content

Commit 3a2576a

Browse files
authored
Merge pull request #692 from TianqiZhang/main
Add microsoft-skill-creator skill
2 parents 4555fee + e494fa2 commit 3a2576a

File tree

3 files changed

+551
-0
lines changed

3 files changed

+551
-0
lines changed

docs/README.skills.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ Skills differ from other primitives by supporting bundled assets (scripts, code
4545
| [meeting-minutes](../skills/meeting-minutes/SKILL.md) | Generate concise, actionable meeting minutes for internal meetings. Includes metadata, attendees, agenda, decisions, action items (owner + due date), and follow-up steps. | None |
4646
| [microsoft-code-reference](../skills/microsoft-code-reference/SKILL.md) | Look up Microsoft API references, find working code samples, and verify SDK code is correct. Use when working with Azure SDKs, .NET libraries, or Microsoft APIs—to find the right method, check parameters, get working examples, or troubleshoot errors. Catches hallucinated methods, wrong signatures, and deprecated patterns by querying official docs. | None |
4747
| [microsoft-docs](../skills/microsoft-docs/SKILL.md) | Query official Microsoft documentation to find concepts, tutorials, and code examples across Azure, .NET, Agent Framework, Aspire, VS Code, GitHub, and more. Uses Microsoft Learn MCP as the default, with Context7 and Aspire MCP for content that lives outside learn.microsoft.com. | None |
48+
| [microsoft-skill-creator](../skills/microsoft-skill-creator/SKILL.md) | 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. | `references/skill-templates.md` |
4849
| [nano-banana-pro-openrouter](../skills/nano-banana-pro-openrouter/SKILL.md) | Generate or edit images via OpenRouter with the Gemini 3 Pro Image model. Use for prompt-only image generation, image edits, and multi-image compositing; supports 1K/2K/4K output. | `assets/SYSTEM_TEMPLATE`<br />`scripts/generate_image.py` |
4950
| [nuget-manager](../skills/nuget-manager/SKILL.md) | Manage NuGet packages in .NET projects/solutions. Use this skill when adding, removing, or updating NuGet package versions. It enforces using `dotnet` CLI for package management and provides strict procedures for direct file edits only when updating versions. | None |
5051
| [penpot-uiux-design](../skills/penpot-uiux-design/SKILL.md) | Comprehensive guide for creating professional UI/UX designs in Penpot using MCP tools. Use this skill when: (1) Creating new UI/UX designs for web, mobile, or desktop applications, (2) Building design systems with components and tokens, (3) Designing dashboards, forms, navigation, or landing pages, (4) Applying accessibility standards and best practices, (5) Following platform guidelines (iOS, Android, Material Design), (6) Reviewing or improving existing Penpot designs for usability. Triggers: "design a UI", "create interface", "build layout", "design dashboard", "create form", "design landing page", "make it accessible", "design system", "component library". | `references/accessibility.md`<br />`references/component-patterns.md`<br />`references/platform-guidelines.md`<br />`references/setup-troubleshooting.md` |
Lines changed: 217 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,217 @@
1+
---
2+
name: microsoft-skill-creator
3+
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.
4+
context: fork
5+
compatibility: Requires Microsoft Learn MCP Server (https://learn.microsoft.com/api/mcp)
6+
---
7+
8+
# Microsoft Skill Creator
9+
10+
Create hybrid skills for Microsoft technologies that store essential knowledge locally while enabling dynamic Learn MCP lookups for deeper details.
11+
12+
## About Skills
13+
14+
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.
15+
16+
### Skill Structure
17+
18+
```
19+
skill-name/
20+
├── SKILL.md (required) # Frontmatter (name, description) + instructions
21+
├── references/ # Documentation loaded into context as needed
22+
├── sample_codes/ # Working code examples
23+
└── assets/ # Files used in output (templates, etc.)
24+
```
25+
26+
### Key Principles
27+
28+
- **Frontmatter is critical**: `name` and `description` determine when the skill triggers—be clear and comprehensive
29+
- **Concise is key**: Only include what agents don't already know; context window is shared
30+
- **No duplication**: Information lives in SKILL.md OR reference files, not both
31+
32+
## Learn MCP Tools
33+
34+
| Tool | Purpose | When to Use |
35+
|------|---------|-------------|
36+
| `microsoft_docs_search` | Search official docs | First pass discovery, finding topics |
37+
| `microsoft_docs_fetch` | Get full page content | Deep dive into important pages |
38+
| `microsoft_code_sample_search` | Find code examples | Get implementation patterns |
39+
40+
## Creation Process
41+
42+
### Step 1: Investigate the Topic
43+
44+
Build deep understanding using Learn MCP tools in three phases:
45+
46+
**Phase 1 - Scope Discovery:**
47+
```
48+
microsoft_docs_search(query="{technology} overview what is")
49+
microsoft_docs_search(query="{technology} concepts architecture")
50+
microsoft_docs_search(query="{technology} getting started tutorial")
51+
```
52+
53+
**Phase 2 - Core Content:**
54+
```
55+
microsoft_docs_fetch(url="...") # Fetch pages from Phase 1
56+
microsoft_code_sample_search(query="{technology}", language="{lang}")
57+
```
58+
59+
**Phase 3 - Depth:**
60+
```
61+
microsoft_docs_search(query="{technology} best practices")
62+
microsoft_docs_search(query="{technology} troubleshooting errors")
63+
```
64+
65+
#### Investigation Checklist
66+
67+
After investigating, verify:
68+
- [ ] Can explain what the technology does in one paragraph
69+
- [ ] Identified 3-5 key concepts
70+
- [ ] Have working code for basic usage
71+
- [ ] Know the most common API patterns
72+
- [ ] Have search queries for deeper topics
73+
74+
### Step 2: Clarify with User
75+
76+
Present findings and ask:
77+
1. "I found these key areas: [list]. Which are most important?"
78+
2. "What tasks will agents primarily perform with this skill?"
79+
3. "Which programming language should code samples prioritize?"
80+
81+
### Step 3: Generate the Skill
82+
83+
Use the appropriate template from [skill-templates.md](references/skill-templates.md):
84+
85+
| Technology Type | Template |
86+
|-----------------|----------|
87+
| Client library, NuGet/npm package | SDK/Library |
88+
| Azure resource | Azure Service |
89+
| App development framework | Framework/Platform |
90+
| REST API, protocol | API/Protocol |
91+
92+
#### Generated Skill Structure
93+
94+
```
95+
{skill-name}/
96+
├── SKILL.md # Core knowledge + Learn MCP guidance
97+
├── references/ # Detailed local documentation (if needed)
98+
└── sample_codes/ # Working code examples
99+
├── getting-started/
100+
└── common-patterns/
101+
```
102+
103+
### Step 4: Balance Local vs Dynamic Content
104+
105+
**Store locally when:**
106+
- Foundational (needed for any task)
107+
- Frequently accessed
108+
- Stable (won't change)
109+
- Hard to find via search
110+
111+
**Keep dynamic when:**
112+
- Exhaustive reference (too large)
113+
- Version-specific
114+
- Situational (specific tasks only)
115+
- Well-indexed (easy to search)
116+
117+
#### Content Guidelines
118+
119+
| Content Type | Local | Dynamic |
120+
|--------------|-------|---------|
121+
| Core concepts (3-5) | ✅ Full | |
122+
| Hello world code | ✅ Full | |
123+
| Common patterns (3-5) | ✅ Full | |
124+
| Top API methods | Signature + example | Full docs via fetch |
125+
| Best practices | Top 5 bullets | Search for more |
126+
| Troubleshooting | | Search queries |
127+
| Full API reference | | Doc links |
128+
129+
### Step 5: Validate
130+
131+
1. Review: Is local content sufficient for common tasks?
132+
2. Test: Do suggested search queries return useful results?
133+
3. Verify: Do code samples run without errors?
134+
135+
## Common Investigation Patterns
136+
137+
### For SDKs/Libraries
138+
```
139+
"{name} overview" → purpose, architecture
140+
"{name} getting started quickstart" → setup steps
141+
"{name} API reference" → core classes/methods
142+
"{name} samples examples" → code patterns
143+
"{name} best practices performance" → optimization
144+
```
145+
146+
### For Azure Services
147+
```
148+
"{service} overview features" → capabilities
149+
"{service} quickstart {language}" → setup code
150+
"{service} REST API reference" → endpoints
151+
"{service} SDK {language}" → client library
152+
"{service} pricing limits quotas" → constraints
153+
```
154+
155+
### For Frameworks/Platforms
156+
```
157+
"{framework} architecture concepts" → mental model
158+
"{framework} project structure" → conventions
159+
"{framework} tutorial walkthrough" → end-to-end flow
160+
"{framework} configuration options" → customization
161+
```
162+
163+
## Example: Creating a "Semantic Kernel" Skill
164+
165+
### Investigation
166+
167+
```
168+
microsoft_docs_search(query="semantic kernel overview")
169+
microsoft_docs_search(query="semantic kernel plugins functions")
170+
microsoft_code_sample_search(query="semantic kernel", language="csharp")
171+
microsoft_docs_fetch(url="https://learn.microsoft.com/semantic-kernel/overview/")
172+
```
173+
174+
### Generated Skill
175+
176+
```
177+
semantic-kernel/
178+
├── SKILL.md
179+
└── sample_codes/
180+
├── getting-started/
181+
│ └── hello-kernel.cs
182+
└── common-patterns/
183+
├── chat-completion.cs
184+
└── function-calling.cs
185+
```
186+
187+
### Generated SKILL.md
188+
189+
```markdown
190+
---
191+
name: semantic-kernel
192+
description: Build AI agents with Microsoft Semantic Kernel. Use for LLM-powered apps with plugins, planners, and memory in .NET or Python.
193+
---
194+
195+
# Semantic Kernel
196+
197+
Orchestration SDK for integrating LLMs into applications with plugins, planners, and memory.
198+
199+
## Key Concepts
200+
201+
- **Kernel**: Central orchestrator managing AI services and plugins
202+
- **Plugins**: Collections of functions the AI can call
203+
- **Planner**: Sequences plugin functions to achieve goals
204+
- **Memory**: Vector store integration for RAG patterns
205+
206+
## Quick Start
207+
208+
See [getting-started/hello-kernel.cs](sample_codes/getting-started/hello-kernel.cs)
209+
210+
## Learn More
211+
212+
| Topic | How to Find |
213+
|-------|-------------|
214+
| Plugin development | `microsoft_docs_search(query="semantic kernel plugins custom functions")` |
215+
| Planners | `microsoft_docs_search(query="semantic kernel planner")` |
216+
| Memory | `microsoft_docs_fetch(url="https://learn.microsoft.com/en-us/semantic-kernel/frameworks/agent/agent-memory")` |
217+
```

0 commit comments

Comments
 (0)