skill-creator
Guide for creating effective skills for AI coding agents working with Azure SDKs and Microsoft Foundry services
Install / Use
npx skills add microsoft/skills --skill skill-creatorInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Content & MediaSupported Platforms
Our assessment of skill-creator
skill-creator scores 83/100 on our quality scale, 604th of 923 Content & Media skills we index.
Its SKILL.md is 66 KB long, well organised into 112 sections with 32 code examples: long enough that it reads more like full documentation than a focused instruction file, which agents can find harder to follow.
With 3,051 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 6 days ago, so skill-creator is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.
Automated pattern scan on 2026-09-30. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
skill-creator compared with similar skills
All 4 of these similar skills score higher than skill-creator; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| skill-creator (this skill)by microsoft | 83 | 3.1k | 6d ago | SKILL.md |
| Agent-Reachby Panniantong | 100 | 86.2k | 14d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 74.1k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 84.6k | today | MCP Server |
| crawl4aiby unclecode | 100 | 84.5k | 5d ago | MCP Server |
Frequently asked questions
- How do I install skill-creator?
- Run
npx skills add microsoft/skills --skill skill-creator. The install tabs above show the steps for each supported agent. - Which AI agents does skill-creator work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is skill-creator safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is skill-creator still maintained?
- The repository was last updated 6 days ago, so skill-creator is actively maintained.
Skill content
View source on GitHubname: skill-creator description: Guide for creating effective skills for AI coding agents working with Azure SDKs and Microsoft Foundry services. Use when creating new skills or updating existing skills.
Skill Creator
Guide for creating skills that extend AI agent capabilities, with emphasis on Azure SDKs and Microsoft Foundry.
Required Context: When creating SDK or API skills, users MUST provide the SDK package name, documentation URL, or repository reference for the skill to be based on.
About Skills
Skills are modular knowledge packages that transform general-purpose agents into specialized experts:
- Procedural knowledge — Multi-step workflows for specific domains
- SDK expertise — API patterns, authentication, error handling for Azure services
- Domain context — Schemas, business logic, company-specific patterns
- Bundled resources — Scripts, references, templates for complex tasks
Core Principles
1. Concise is Key
The context window is a shared resource. Challenge each piece: "Does this justify its token cost?"
For domain/procedural skills: Agents are already capable. Only add what they don't already know.
For SDK/API skills: Users MUST provide SDK package name, documentation URL, or repository reference. The skill cannot be created without this context.
2. Fresh Documentation First
Azure SDKs change constantly. Skills should instruct agents to verify documentation:
## Before Implementation
Search `microsoft-docs` MCP for current API patterns:
- Query: "[SDK name] [operation] python"
- Verify: Parameters match your installed SDK version
3. Degrees of Freedom
Match specificity to implementation constraints. High freedom when approaches vary; low freedom when precise execution is required:
| Freedom | When | Example | | ---------- | -------------------------------- | ---------------- | | High | Multiple valid approaches | Text guidelines | | Medium | Preferred pattern with variation | Pseudocode | | Low | Must be exact | Specific scripts |
4. Progressive Disclosure
Skills load in three levels:
- Metadata (~100 words) — Always in context
- SKILL.md body (<5k words) — When skill triggers
- References (unlimited) — As needed
Keep SKILL.md under 500 lines. Split into reference files when approaching this limit.
Skill Structure
Quick reference:
skill-name/
├── SKILL.md (required)
│ ├── YAML frontmatter (name, description)
│ └── Markdown instructions
└── Bundled Resources (optional)
├── scripts/ — Executable code
├── references/ — Documentation loaded as needed
└── assets/ — Output resources (templates, images)
For Azure SDK skills, follow the Skill Section Order below. For domain skills, use your judgment to organize logically.
SKILL.md Essentials
- Frontmatter:
nameanddescription(description triggers the skill) - Body: Keep under 500 lines; split large skills into reference files
Bundled Resources (Optional)
| Type | When to Include | Examples |
| ------------- | ---------------------------------------- | ---------------------------------------------------------- |
| scripts/ | Reused code patterns | Auth setup, CLI scripts |
| references/ | Feature deep-dives and overflow examples | capabilities.md index, non-hero-scenarios.md, API docs |
| assets/ | Output templates | Boilerplate code, images |
Creating Azure SDK Skills
When creating skills for Azure SDKs, follow these patterns consistently.
Token Budget Guidelines (REQUIRED)
Every Azure SDK skill MUST stay within these token limits:
| Section | Target | Absolute Max | | ----------------------------- | ---------------- | ---------------- | | Installation + Env Vars | 100 tokens | 150 | | Authentication & Lifecycle | 200 tokens | 300 | | Core Workflow (1 example) | 300 tokens | 400 | | Feature Tables | 200 tokens | 300 | | Best Practices (6-8 items) | 200 tokens | 250 | | References (reference/ links) | 100 tokens | 150 | | Total SKILL.md | ~1100 tokens | ~1500 tokens |
Enforcement:
- Exceeding max limit → refactor into
/references/subdirectories - When approaching 500 lines → move entire sections to reference files
- Annotate with
<!-- Token Count: ~XXXX (target: 1100, max: 1500) -->immediately below the skill's H1
Reference Extraction Guide (REQUIRED)
Decide what goes in SKILL.md vs. /references/ using these signals:
| Signal | Move to /references/ | Keep in SKILL.md |
| -------------- | ----------------------------------- | ---------------------- |
| Use frequency | <20% of typical use | ~80%+ of workflows |
| Cognitive load | Advanced patterns, multiple options | Single happy path |
| Example length | >10 lines, multiple paths | 1-5 lines, single path |
Content extraction rules:
- Batch operations →
/references/batch-operations.md - Error handling (beyond try-except) →
/references/error-handling.md - Performance tuning →
/references/performance.md - Alternative workflows →
/references/workflows-comparison.md - Streaming/events →
/references/streaming.md - Advanced auth →
/references/auth-strategies.md - Tool integration →
/references/tools.md - Breaking changes →
/references/migration.md
Decision: Keep common case in SKILL.md, move edge cases to /references/.
Core Workflow Discipline (REQUIRED)
Every Azure SDK skill must clarify which workflow(s) it documents.
Case 1: Single clear "core workflow" (majority of services)
If one pattern handles ~80% of use cases:
- Designate it as the core workflow
- Show ONLY this workflow in SKILL.md (one complete, runnable example)
- Defer alternatives to
/references/:- Batch operations →
/references/batch-operations.md - Error handling →
/references/error-handling.md - Performance tuning →
/references/performance.md - Alternative workflows →
/references/workflows-comparison.md
- Batch operations →
Example: Azure Key Vault Secrets (core workflow: retrieve a secret using managed identity). Alternative authentication workflows in /references/: local development with DefaultAzureCredential, workload identity, and service-principal credentials (client secret or certificate).
Case 2: Multiple equally-valid "core workflows" (e.g., authentication strategies, deployment targets)
If no single pattern dominates:
- Include every hero scenario in SKILL.md, even when that means multiple equally valid workflows
- Show one complete, runnable example for each hero scenario in SKILL.md
- Use
/references/workflows-comparison.mdfor trade-offs, secondary variations, and deeper context that would otherwise bloat the main file - Do NOT treat valid alternatives as "advanced" when they are core to real usage — they're equally valid, just different contexts
Example: Azure Identity SDK has several hero scenarios. Keep the primary local-development and production-safe credential flows in SKILL.md, then use /references/credential-types.md for deeper comparisons across AzureCliCredential, workload identity, service principal variants, and other secondary credential choices.
Decision rule: If you're unsure, ask: "Would a user choosing the other approach call what I wrote wrong?" If yes, it's another hero scenario and belongs in SKILL.md. If no, it can be summarized and linked from /references/.
Skill Section Order
Follow this structure (based on existing Azure SDK skills):
- Title —
# SDK Name - Installation —
pip install,npm install, etc. - Environment Variables — Required configuration, with an inline comment explaining when it's required. If using
DefaultAzureCredentialin production, includeAZURE_TOKEN_CREDENTIALS(set toprodor<specific_credential>) - Authentication & Lifecycle — For Python skills, prefer
DefaultAzureCredential: use it as-is for local development, and constrain it for production by settingAZURE_TOKEN_CREDENTIALStoprod(or a specific target credential name). A specific Microsoft Entra Token credential such asManagedIdentityCredentialorWorkloadIdentityCredentialmay be used directly instead. For Python skills, this section MUST start with the standard callout block (see Required Authentication & Lifecycle Callout (Python) below). - Core Workflow — Minimal viable example (per core workflow discipline above)
- Feature Tables — Clients, methods, tools
- Best Practices — Numbered list
- Reference Links — Table linking to
/references/*.md(for Azure SDK skills, includecapabilities.md+non-hero-scenarios.md)
Required Authentication & Lifecycle Callout (Python)
Scope: Python skills (
-pysuffix) only. Other languages may follow their own idioms.
Every Python Azure SDK skill MUST open its ## Authentication & Lifecycle section with the following callout block, verbatim, before any code samples. This makes the two non-negotiable rules visible to users before they read or copy any client setup code.
## Authentication & Lifecycle
> **🔑 Two rules apply to every code sample below:**
>
> 1. **Prefer `DefaultAzureCredential` for local development.** It works as-is with Azure CLI / VS Code / Developer CLI. For production, either constrain `DefaultAzureCredential` to production-safe credentials or use a specific credential directly. Avoid connection strings, account/API keys — they bypass Entra audit and rotation.
> - Local dev: `DefaultAzureCredential` works as-is.
> - Production: set `AZURE_TOKEN_CREDENTIALS=prod` (or `AZURE_TOKEN_CREDENTIALS=<specific_credential>`) to constrain the credential chain to production-safe credentials.
> 2. **Wrap every client in a context manager** so HTTP transports, sockets, and token caches are released deterministically:
> - Sync: `with <Client>(...) as client:`
> - Async: `async with <Client>(...) as client:` **and** `async with DefaultAzureCredential() as credential:` (from `azure.identity.aio`)
>
> Snippets may abbreviate this setup, but production code should always follow both rules.
Placement rules:
- Insert immediately under the
## Authentication & Lifecycleheading, before the first code sample. - Do not paraphrase or restructure the wording — the consistency across skills is the point.
- If the SDK does not support Entra ID at all (rare — e.g. some legacy speech REST endpoints, websocket APIs that require subscription keys), keep rule #2 (context managers) and replace rule #1 with a single sentence noting the SDK requires API-key auth and explaining why Entra is not yet available.
- If the SDK is async-only (e.g.
azure-ai-voicelive), keep both rules but show only the async form in the bullets. - Skip the callout entirely for non-Azure Python skills with no client lifecycle (e.g.
pydantic-models-py).
Code sample enforcement. Every client construction in the skill body must demonstrate both rules:
- Show
with/async withon every client instantiation in usage examples (not just the auth section). - Show
DefaultAzureCredentialin the primary auth example. Do not delete API-key examples for SDKs where keys are still officially supported — many existing users (especially in regulated environments still co
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
86.2kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
74.1kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Scrapling
84.6k🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
crawl4ai
84.5kOpen-source web crawler and scraper for LLMs and AI agents: any website into clean, LLM-ready Markdown. Run it yourself, or use Crawl4AI Cloud with one key.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
