microsoft-skill-creator

作者: github

為Microsoft技術建立混合代理技能,結合本地知識與動態Learn MCP查詢。生成模組化技能套件,包含前置資料、參考文件及可運作程式碼範例,適用於任何Microsoft技術(Azure、.NET、M365、Semantic Kernel等)。採用三階段調查工作流程:透過搜尋進行範圍探索、核心內容擷取,以及深度探索最佳實務與疑難排解。平衡本地儲存基礎概念與常見...

npx skills add https://github.com/github/awesome-copilot --skill microsoft-skill-creator

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

ToolPurposeWhen to Use
microsoft_docs_searchSearch official docsFirst pass discovery, finding topics
microsoft_docs_fetchGet full page contentDeep dive into important pages
microsoft_code_sample_searchFind code examplesGet 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 ToolCLI 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:

  1. "I found these key areas: [list]. Which are most important?"
  2. "What tasks will agents primarily perform with this skill?"
  3. "Which programming language should code samples prioritize?"

Step 3: Generate the Skill

Use the appropriate template from skill-templates.md:

Technology TypeTemplate
Client library, NuGet/npm packageSDK/Library
Azure resourceAzure Service
App development frameworkFramework/Platform
REST API, protocolAPI/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 TypeLocalDynamic
Core concepts (3-5)✅ Full
Hello world code✅ Full
Common patterns (3-5)✅ Full
Top API methodsSignature + exampleFull docs via fetch
Best practicesTop 5 bulletsSearch for more
TroubleshootingSearch queries
Full API referenceDoc links

Step 5: Validate

  1. Review: Is local content sufficient for common tasks?
  2. Test: Do suggested search queries return useful results?
  3. 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`.

來自 github 的更多技能

console-rendering
github
在 Go 中使用基於結構體標籤的控制台渲染系統的說明
official
acquire-codebase-knowledge
github
當使用者明確要求對現有程式碼庫進行映射、文件化或入門引導時,使用此技能。觸發詞如「映射此程式碼庫」、「文件化…」等提示。
official
acreadiness-assess
github
Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps `npx github:microsoft/agentrc…
official
acreadiness-generate-instructions
github
透過 AgentRC 指令命令生成量身打造的 AI 代理指令檔案。產生 .github/copilot-instructions.md(預設,建議用於 VS Code 中的 Copilot…
official
acreadiness-policy
github
幫助使用者選取、撰寫或套用 AgentRC 政策。政策可透過停用不相關的檢查、覆寫影響/等級、設定…來自訂整備度評分。
official
add-educational-comments
github
為程式碼檔案添加教育性註解,將其轉化為有效的學習資源。根據三個可設定的知識層級(初學者、中級、進階)調整解釋深度與語氣。若未提供檔案,會自動請求提供,並以編號清單對應以便快速選取。僅透過教育性註解將檔案擴充最多125%(嚴格上限:400行新註解;超過1,000行的檔案上限為300行)。保留檔案編碼、縮排風格、語法正確性及……
official
adobe-illustrator-scripting
github
使用 ExtendScript (JavaScript/JSX) 編寫、除錯及最佳化 Adobe Illustrator 自動化腳本。適用於建立或修改操控…的腳本時。
official
agent-governance
github
宣告式政策、意圖分類與稽核軌跡,用於控制AI代理工具存取與行為。可組合的治理政策定義允許/封鎖的工具、內容過濾器、速率限制與核准要求——以配置而非程式碼形式儲存。語意意圖分類在工具執行前,透過基於模式的訊號偵測危險提示(資料外洩、權限提升、提示注入)。工具層級治理裝飾器在函式層級強制執行政策……
official