7.1 KiB
Skill Templates
Ready-to-use templates for different types of Microsoft technologies.
Template 1: SDK/Library Skill
For client libraries, SDKs, and programming frameworks.
---
name: {sdk-name}
description: {What it does}. Use when agents need to {primary task} with {technology context}. Supports {languages/platforms}.
---
# {SDK Name}
{One paragraph: what it is, why it exists, when to use it}
## Installation
{Package manager commands for supported languages}
## Key Concepts
{3-5 essential concepts, one paragraph each max}
### {Concept 1}
{Brief explanation}
### {Concept 2}
{Brief explanation}
## Quick Start
{Minimal working example - inline if <30 lines, otherwise reference sample_codes/}
## Common Patterns
### {Pattern 1: e.g., "Basic CRUD"}
```{language}
{code}
{Pattern 2: e.g., "Error Handling"}
{code}
API Quick Reference
| Class/Method | Purpose | Example |
|---|---|---|
| {name} | {what it does} | {usage} |
For full API documentation:
microsoft_docs_search(query="{sdk} {class} API reference")microsoft_docs_fetch(url="{url}")
Best Practices
- Do: {recommendation}
- Do: {recommendation}
- Avoid: {anti-pattern}
See best-practices.md for detailed guidance.
Learn More
| Topic | How to Find |
|---|---|
| {Advanced topic 1} | microsoft_docs_search(query="{sdk} {topic}") |
| {Advanced topic 2} | microsoft_docs_fetch(url="{url}") |
| {Code examples} | microsoft_code_sample_search(query="{sdk} {scenario}", language="{lang}") |
---
## Template 2: Azure Service Skill
For Azure services and cloud resources.
```markdown
---
name: {service-name}
description: Work with {Azure Service}. Use when agents need to {primary capabilities}. Covers provisioning, configuration, and SDK usage.
---
# {Azure Service Name}
{One paragraph: what the service does, primary use cases}
## Overview
- **Category**: {Compute/Storage/AI/Networking/etc.}
- **Key capability**: {main value proposition}
- **When to use**: {scenarios}
## Getting Started
### Prerequisites
- Azure subscription
- {Other requirements}
### Provisioning
{CLI/Portal/Bicep snippet for creating the resource}
## SDK Usage ({Language})
### Installation
{package install command}
### Authentication
```{language}
{auth code pattern}
Basic Operations
{CRUD or primary operations}
Key Configurations
| Setting | Purpose | Default |
|---|---|---|
| {setting} | {what it controls} | {value} |
Pricing & Limits
- Pricing model: {consumption/tier-based/etc.}
- Key limits: {important quotas}
For current pricing: microsoft_docs_search(query="{service} pricing")
Common Patterns
{Pattern 1}
{Code or configuration}
{Pattern 2}
{Code or configuration}
Troubleshooting
| Issue | Solution |
|---|---|
| {Common error} | {Fix} |
For more issues: microsoft_docs_search(query="{service} troubleshoot {symptom}")
Learn More
| Topic | How to Find |
|---|---|
| REST API | microsoft_docs_fetch(url="{url}") |
| ARM/Bicep | microsoft_docs_search(query="{service} bicep template") |
| Security | microsoft_docs_search(query="{service} security best practices") |
---
## Template 3: Framework/Platform Skill
For development frameworks and platforms (e.g., ASP.NET, MAUI, Blazor).
```markdown
---
name: {framework-name}
description: Build {type of apps} with {Framework}. Use when agents need to create, modify, or debug {framework} applications.
---
# {Framework Name}
{One paragraph: what it is, what you build with it, why choose it}
## Project Structure
{typical-project}/ ├── {folder}/ # {purpose} ├── {file} # {purpose} └── {file} # {purpose}
## Getting Started
### Create New Project
```bash
{CLI command to scaffold}
Project Configuration
{Key files to configure and what they control}
Core Concepts
{Concept 1: e.g., "Components"}
{Explanation with minimal code example}
{Concept 2: e.g., "Routing"}
{Explanation with minimal code example}
{Concept 3: e.g., "State Management"}
{Explanation with minimal code example}
Common Patterns
{Pattern 1}
{code}
{Pattern 2}
{code}
Configuration Options
| Setting | File | Purpose |
|---|---|---|
| {setting} | {file} | {what it does} |
Deployment
{Brief deployment guidance or reference}
For detailed deployment: microsoft_docs_search(query="{framework} deploy {target}")
Learn More
| Topic | How to Find |
|---|---|
| {Advanced feature} | microsoft_docs_search(query="{framework} {feature}") |
| {Integration} | microsoft_docs_fetch(url="{url}") |
| {Samples} | microsoft_code_sample_search(query="{framework} {scenario}") |
---
## Template 4: API/Protocol Skill
For APIs, protocols, and specifications (e.g., Microsoft Graph, OOXML).
```markdown
---
name: {api-name}
description: Interact with {API/Protocol}. Use when agents need to {primary operations}. Covers authentication, endpoints, and common operations.
---
# {API/Protocol Name}
{One paragraph: what it provides access to, primary use cases}
## Authentication
{Auth method and code pattern}
## Base Configuration
- **Base URL**: `{url}`
- **Version**: `{version}`
- **Format**: {JSON/XML/etc.}
## Common Endpoints/Operations
### {Operation 1: e.g., "List Items"}
{HTTP method} {endpoint}
```{language}
{SDK code}
{Operation 2: e.g., "Create Item"}
{HTTP method} {endpoint}
{SDK code}
Request/Response Patterns
Pagination
{How to handle pagination}
Error Handling
{Error format and common codes}
Quick Reference
| Operation | Endpoint/Method | Notes |
|---|---|---|
| {op} | {endpoint} |
{note} |
Permissions/Scopes
| Operation | Required Permission |
|---|---|
| {op} | {permission} |
Learn More
| Topic | How to Find |
|---|---|
| Full endpoint reference | microsoft_docs_fetch(url="{url}") |
| Permissions | microsoft_docs_search(query="{api} permissions {resource}") |
| SDKs | microsoft_docs_search(query="{api} SDK {language}") |
---
## Choosing a Template
| Technology Type | Template | Examples |
|-----------------|----------|----------|
| Client library, NuGet/npm package | SDK/Library | Semantic Kernel, Azure SDK, MSAL |
| Azure resource | Azure Service | Cosmos DB, Azure Functions, App Service |
| App development framework | Framework/Platform | ASP.NET Core, Blazor, MAUI |
| REST API, protocol, specification | API/Protocol | Microsoft Graph, OOXML, FHIR |
## Customization Guidelines
Templates are starting points. Customize by:
1. **Adding sections** for unique aspects of the technology
2. **Removing sections** that don't apply
3. **Adjusting depth** based on complexity (more concepts for complex tech)
4. **Adding reference files** for detailed content that doesn't fit in SKILL.md
5. **Adding sample_codes/** for working examples beyond inline snippets