{"id":"258d1227-75cb-41a3-ab25-118bb3a7ba1c","shortId":"mSKZDw","kind":"skill","title":"skill-creator-ms","tagline":"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.","description":"# Skill Creator\n\nGuide for creating skills that extend AI agent capabilities, with emphasis on Azure SDKs and Microsoft Foundry.\n\n> **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.\n\n## About Skills\n\nSkills are modular knowledge packages that transform general-purpose agents into specialized experts:\n\n1. **Procedural knowledge** — Multi-step workflows for specific domains\n2. **SDK expertise** — API patterns, authentication, error handling for Azure services\n3. **Domain context** — Schemas, business logic, company-specific patterns\n4. **Bundled resources** — Scripts, references, templates for complex tasks\n\n---\n\n## Core Principles\n\n### 1. Concise is Key\n\nThe context window is a shared resource. Challenge each piece: \"Does this justify its token cost?\"\n\n**Default assumption: Agents are already capable.** Only add what they don't already know.\n\n### 2. Fresh Documentation First\n\n**Azure SDKs change constantly.** Skills should instruct agents to verify documentation:\n\n```markdown\n## Before Implementation\n\nSearch `microsoft-docs` MCP for current API patterns:\n- Query: \"[SDK name] [operation] python\"\n- Verify: Parameters match your installed SDK version\n```\n\n### 3. Degrees of Freedom\n\nMatch specificity to task fragility:\n\n| Freedom | When | Example |\n|---------|------|---------|\n| **High** | Multiple valid approaches | Text guidelines |\n| **Medium** | Preferred pattern with variation | Pseudocode |\n| **Low** | Must be exact | Specific scripts |\n\n### 4. Progressive Disclosure\n\nSkills load in three levels:\n\n1. **Metadata** (~100 words) — Always in context\n2. **SKILL.md body** (<5k words) — When skill triggers\n3. **References** (unlimited) — As needed\n\n**Keep SKILL.md under 500 lines.** Split into reference files when approaching this limit.\n\n---\n\n## Skill Structure\n\n```\nskill-name/\n├── SKILL.md (required)\n│   ├── YAML frontmatter (name, description)\n│   └── Markdown instructions\n└── Bundled Resources (optional)\n    ├── scripts/      — Executable code\n    ├── references/   — Documentation loaded as needed\n    └── assets/       — Output resources (templates, images)\n```\n\n### SKILL.md\n\n- **Frontmatter**: `name` and `description`. The description is the trigger mechanism.\n- **Body**: Instructions loaded only after triggering.\n\n### Bundled Resources\n\n| Type | Purpose | When to Include |\n|------|---------|-----------------|\n| `scripts/` | Deterministic operations | Same code rewritten repeatedly |\n| `references/` | Detailed patterns | API docs, schemas, detailed guides |\n| `assets/` | Output resources | Templates, images, boilerplate |\n\n**Don't include**: README.md, CHANGELOG.md, installation guides.\n\n---\n\n## Creating Azure SDK Skills\n\nWhen creating skills for Azure SDKs, follow these patterns consistently.\n\n### Skill Section Order\n\nFollow this structure (based on existing Azure SDK skills):\n\n1. **Title** — `# SDK Name`\n2. **Installation** — `pip install`, `npm install`, etc.\n3. **Environment Variables** — Required configuration\n4. **Authentication** — Always `DefaultAzureCredential`\n5. **Core Workflow** — Minimal viable example\n6. **Feature Tables** — Clients, methods, tools\n7. **Best Practices** — Numbered list\n8. **Reference Links** — Table linking to `/references/*.md`\n\n### Authentication Pattern (All Languages)\n\nAlways use `DefaultAzureCredential`:\n\n```python\n# Python\nfrom azure.identity import DefaultAzureCredential\ncredential = DefaultAzureCredential()\nclient = ServiceClient(endpoint, credential)\n```\n\n```csharp\n// C#\nvar credential = new DefaultAzureCredential();\nvar client = new ServiceClient(new Uri(endpoint), credential);\n```\n\n```java\n// Java\nTokenCredential credential = new DefaultAzureCredentialBuilder().build();\nServiceClient client = new ServiceClientBuilder()\n    .endpoint(endpoint)\n    .credential(credential)\n    .buildClient();\n```\n\n```typescript\n// TypeScript\nimport { DefaultAzureCredential } from \"@azure/identity\";\nconst credential = new DefaultAzureCredential();\nconst client = new ServiceClient(endpoint, credential);\n```\n\n**Never hardcode credentials. Use environment variables.**\n\n### Standard Verb Patterns\n\nAzure SDKs use consistent verbs across all languages:\n\n| Verb | Behavior |\n|------|----------|\n| `create` | Create new; fail if exists |\n| `upsert` | Create or update |\n| `get` | Retrieve; error if missing |\n| `list` | Return collection |\n| `delete` | Succeed even if missing |\n| `begin` | Start long-running operation |\n\n### Language-Specific Patterns\n\nSee `references/azure-sdk-patterns.md` for detailed patterns including:\n\n- **Python**: `ItemPaged`, `LROPoller`, context managers, Sphinx docstrings\n- **.NET**: `Response<T>`, `Pageable<T>`, `Operation<T>`, mocking support\n- **Java**: Builder pattern, `PagedIterable`/`PagedFlux`, Reactor types\n- **TypeScript**: `PagedAsyncIterableIterator`, `AbortSignal`, browser considerations\n\n### Example: Azure SDK Skill Structure\n\n```markdown\n---\nname: skill-creator\ndescription: |\n  Azure AI Example SDK for Python. Use for [specific service features].\n  Triggers: \"example service\", \"create example\", \"list examples\".\n---\n\n# Azure AI Example SDK\n\n## Installation\n\n\\`\\`\\`bash\npip install azure-ai-example\n\\`\\`\\`\n\n## Environment Variables\n\n\\`\\`\\`bash\nAZURE_EXAMPLE_ENDPOINT=https://<resource>.example.azure.com\n\\`\\`\\`\n\n## Authentication\n\n\\`\\`\\`python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.ai.example import ExampleClient\n\ncredential = DefaultAzureCredential()\nclient = ExampleClient(\n    endpoint=os.environ[\"AZURE_EXAMPLE_ENDPOINT\"],\n    credential=credential\n)\n\\`\\`\\`\n\n## Core Workflow\n\n\\`\\`\\`python\n# Create\nitem = client.create_item(name=\"example\", data={...})\n\n# List (pagination handled automatically)\nfor item in client.list_items():\n    print(item.name)\n\n# Long-running operation\npoller = client.begin_process(item_id)\nresult = poller.result()\n\n# Cleanup\nclient.delete_item(item_id)\n\\`\\`\\`\n\n## Reference Files\n\n| File | Contents |\n|------|----------|\n| references/tools.md | Tool integrations |\n| references/streaming.md | Event streaming patterns |\n```\n\n---\n\n## Skill Creation Process\n\n1. **Gather SDK Context** — User provides SDK/API reference (REQUIRED)\n2. **Understand** — Research SDK patterns from official docs\n3. **Plan** — Identify reusable resources and product area category\n4. **Create** — Write SKILL.md in `.github/skills/<skill-name>/`\n5. **Categorize** — Create symlink in `skills/<language>/<category>/`\n6. **Test** — Create acceptance criteria and test scenarios\n7. **Document** — Update README.md skill catalog\n8. **Iterate** — Refine based on real usage\n\n### Step 1: Gather SDK Context (REQUIRED)\n\n**Before creating any SDK skill, the user MUST provide:**\n\n| Required | Example | Purpose |\n|----------|---------|---------|\n| **SDK Package** | `azure-ai-agents`, `Azure.AI.OpenAI` | Identifies the exact SDK |\n| **Documentation URL** | `https://learn.microsoft.com/en-us/azure/ai-services/...` | Primary source of truth |\n| **Repository** (optional) | `Azure/azure-sdk-for-python` | For code patterns |\n\n**Prompt the user if not provided:**\n```\nTo create this skill, I need:\n1. The SDK package name (e.g., azure-ai-projects)\n2. The Microsoft Learn documentation URL or GitHub repo\n3. The target language (py/dotnet/ts/java)\n```\n\n**Search official docs first:**\n```bash\n# Use microsoft-docs MCP to get current API patterns\n# Query: \"[SDK name] [operation] [language]\"\n# Verify: Parameters match the latest SDK version\n```\n\n### Step 2: Understand the Skill\n\nGather concrete examples:\n\n- \"What SDK operations should this skill cover?\"\n- \"What triggers should activate this skill?\"\n- \"What errors do developers commonly encounter?\"\n\n| Example Task | Reusable Resource |\n|--------------|-------------------|\n| Same auth code each time | Code example in SKILL.md |\n| Complex streaming patterns | `references/streaming.md` |\n| Tool configurations | `references/tools.md` |\n| Error handling patterns | `references/error-handling.md` |\n\n### Step 3: Plan Product Area Category\n\nSkills are organized by **language** and **product area** in the `skills/` directory via symlinks.\n\n**Product Area Categories:**\n\n| Category | Description | Examples |\n|----------|-------------|----------|\n| `foundry` | AI Foundry, agents, projects, inference | `azure-ai-agents-py`, `azure-ai-projects-py` |\n| `data` | Storage, Cosmos DB, Tables, Data Lake | `azure-cosmos-py`, `azure-storage-blob-py` |\n| `messaging` | Event Hubs, Service Bus, Event Grid | `azure-eventhub-py`, `azure-servicebus-py` |\n| `monitoring` | OpenTelemetry, App Insights, Query | `azure-monitor-opentelemetry-py` |\n| `identity` | Authentication, DefaultAzureCredential | `azure-identity-py` |\n| `security` | Key Vault, secrets, keys, certificates | `azure-keyvault-py` |\n| `integration` | API Management, App Configuration | `azure-appconfiguration-py` |\n| `compute` | Batch, ML compute | `azure-compute-batch-java` |\n| `container` | Container Registry, ACR | `azure-containerregistry-py` |\n\n**Determine the category** based on:\n1. Azure service family (Storage → `data`, Event Hubs → `messaging`)\n2. Primary use case (AI agents → `foundry`)\n3. Existing skills in the same service area\n\n### Step 4: Create the Skill\n\n**Location:** `.github/skills/<skill-name>/SKILL.md`\n\n**Naming convention:**\n- `azure-<service>-<subservice>-<language>`\n- Examples: `azure-ai-agents-py`, `azure-cosmos-java`, `azure-storage-blob-ts`\n\n**For Azure SDK skills:**\n\n1. Search `microsoft-docs` MCP for current API patterns\n2. Verify against installed SDK version\n3. Follow the section order above\n4. Include cleanup code in examples\n5. Add feature comparison tables\n\n**Write bundled resources first**, then SKILL.md.\n\n**Frontmatter:**\n\n```yaml\n---\nname: skill-name-py\ndescription: |\n  Azure Service SDK for Python. Use for [specific features].\n  Triggers: \"service name\", \"create resource\", \"specific operation\".\n---\n```\n\n### Step 5: Categorize with Symlinks\n\nAfter creating the skill in `.github/skills/`, create a symlink in the appropriate category:\n\n```bash\n# Pattern: skills/<language>/<category>/<short-name> -> ../../../.github/skills/<full-skill-name>\n\n# Example for azure-ai-agents-py in python/foundry:\ncd skills/python/foundry\nln -s ../../../.github/skills/azure-ai-agents-py agents\n\n# Example for azure-cosmos-db-py in python/data:\ncd skills/python/data\nln -s ../../../.github/skills/azure-cosmos-db-py cosmos-db\n```\n\n**Symlink naming:**\n- Use short, descriptive names (e.g., `agents`, `cosmos`, `blob`)\n- Remove the `azure-` prefix and language suffix\n- Match existing patterns in the category\n\n**Verify the symlink:**\n```bash\nls -la skills/python/foundry/agents\n# Should show: agents -> ../../../.github/skills/azure-ai-agents-py\n```\n\n### Step 6: Create Tests\n\n**Every skill MUST have acceptance criteria and test scenarios.**\n\n#### 6.1 Create Acceptance Criteria\n\n**Location:** `.github/skills/<skill-name>/references/acceptance-criteria.md`\n\n**Source materials** (in priority order):\n1. Official Microsoft Learn docs (via `microsoft-docs` MCP)\n2. SDK source code from the repository\n3. Existing reference files in the skill\n\n**Format:**\n```markdown\n# Acceptance Criteria: <skill-name>\n\n**SDK**: `package-name`\n**Repository**: https://github.com/Azure/azure-sdk-for-<language>\n**Purpose**: Skill testing acceptance criteria\n\n---\n\n## 1. Correct Import Patterns\n\n### 1.1 Client Imports\n\n#### ✅ CORRECT: Main Client\n\\`\\`\\`python\nfrom azure.ai.mymodule import MyClient\nfrom azure.identity import DefaultAzureCredential\n\\`\\`\\`\n\n#### ❌ INCORRECT: Wrong Module Path\n\\`\\`\\`python\nfrom azure.ai.mymodule.models import MyClient  # Wrong - Client is not in models\n\\`\\`\\`\n\n## 2. Authentication Patterns\n\n#### ✅ CORRECT: DefaultAzureCredential\n\\`\\`\\`python\ncredential = DefaultAzureCredential()\nclient = MyClient(endpoint, credential)\n\\`\\`\\`\n\n#### ❌ INCORRECT: Hardcoded Credentials\n\\`\\`\\`python\nclient = MyClient(endpoint, api_key=\"hardcoded\")  # Security risk\n\\`\\`\\`\n```\n\n**Critical patterns to document:**\n- Import paths (these vary significantly between Azure SDKs)\n- Authentication patterns\n- Client initialization\n- Async variants (`.aio` modules)\n- Common anti-patterns\n\n#### 6.2 Create Test Scenarios\n\n**Location:** `tests/scenarios/<skill-name>/scenarios.yaml`\n\n```yaml\nconfig:\n  model: gpt-4\n  max_tokens: 2000\n  temperature: 0.3\n\nscenarios:\n  - name: basic_client_creation\n    prompt: |\n      Create a basic example using the Azure SDK.\n      Include proper authentication and client initialization.\n    expected_patterns:\n      - \"DefaultAzureCredential\"\n      - \"MyClient\"\n    forbidden_patterns:\n      - \"api_key=\"\n      - \"hardcoded\"\n    tags:\n      - basic\n      - authentication\n    mock_response: |\n      import os\n      from azure.identity import DefaultAzureCredential\n      from azure.ai.mymodule import MyClient\n      \n      credential = DefaultAzureCredential()\n      client = MyClient(\n          endpoint=os.environ[\"AZURE_ENDPOINT\"],\n          credential=credential\n      )\n      # ... rest of working example\n```\n\n**Scenario design principles:**\n- Each scenario tests ONE specific pattern or feature\n- `expected_patterns` — patterns that MUST appear\n- `forbidden_patterns` — common mistakes that must NOT appear\n- `mock_response` — complete, working code that passes all checks\n- `tags` — for filtering (`basic`, `async`, `streaming`, `tools`)\n\n#### 6.3 Run Tests\n\n```bash\ncd tests\npnpm install\n\n# Check skill is discovered\npnpm harness --list\n\n# Run in mock mode (fast, deterministic)\npnpm harness <skill-name> --mock --verbose\n\n# Run with Ralph Loop (iterative improvement)\npnpm harness <skill-name> --ralph --mock --max-iterations 5 --threshold 85\n```\n\n**Success criteria:**\n- All scenarios pass (100% pass rate)\n- No false positives (mock responses always pass)\n- Patterns catch real mistakes\n\n### Step 7: Update Documentation\n\nAfter creating the skill:\n\n1. **Update README.md** — Add the skill to the appropriate language section in the Skill Catalog\n   - Update total skill count (line ~73: `> N skills in...`)\n   - Update Skill Explorer link count (line ~15: `Browse all N skills`)\n   - Update language count table (lines ~77-83)\n   - Update language section count (e.g., `> N skills • suffix: -py`)\n   - Update category count (e.g., `<summary><strong>Foundry & AI</strong> (N skills)</summary>`)\n   - Add skill row in alphabetical order within its category\n   - Update test coverage summary (line ~622: `**N skills with N test scenarios**`)\n   - Update test coverage table — update skill count, scenario count, and top skills for the language\n\n2. **Regenerate GitHub Pages data** — Run the extraction script to update the docs site\n   ```bash\n   cd docs-site && npx tsx scripts/extract-skills.ts\n   ```\n   This updates `docs-site/src/data/skills.json` which feeds the Astro-based docs site.\n   Then rebuild the docs site:\n   ```bash\n   cd docs-site && npm run build\n   ```\n   This outputs to `docs/` which is served by GitHub Pages.\n\n3. **Verify AGENTS.md** — Ensure the skill count is accurate\n\n---\n\n## Progressive Disclosure Patterns\n\n### Pattern 1: High-Level Guide with References\n\n```markdown\n# SDK Name\n\n## Quick Start\n[Minimal example]\n\n## Advanced Features\n- **Streaming**: See references/streaming.md\n- **Tools**: See references/tools.md\n```\n\n### Pattern 2: Language Variants\n\n```\nazure-service-skill/\n├── SKILL.md (overview + language selection)\n└── references/\n    ├── python.md\n    ├── dotnet.md\n    ├── java.md\n    └── typescript.md\n```\n\n### Pattern 3: Feature Organization\n\n```\nazure-ai-agents/\n├── SKILL.md (core workflow)\n└── references/\n    ├── tools.md\n    ├── streaming.md\n    ├── async-patterns.md\n    └── error-handling.md\n```\n\n---\n\n## Design Pattern References\n\n| Reference | Contents |\n|-----------|----------|\n| `references/workflows.md` | Sequential and conditional workflows |\n| `references/output-patterns.md` | Templates and examples |\n| `references/azure-sdk-patterns.md` | Language-specific Azure SDK patterns |\n\n---\n\n## Anti-Patterns\n\n| Don't | Why |\n|-------|-----|\n| Create skill without SDK context | Users must provide package name/docs URL |\n| Put \"when to use\" in body | Body loads AFTER triggering |\n| Hardcode credentials | Security risk |\n| Skip authentication section | Agents will improvise poorly |\n| Use outdated SDK patterns | APIs change; search docs first |\n| Include README.md | Agents don't need meta-docs |\n| Deeply nest references | Keep one level deep |\n| Skip acceptance criteria | Skills without tests can't be validated |\n| Skip symlink categorization | Skills won't be discoverable by category |\n| Use wrong import paths | Azure SDKs have specific module structures |\n\n---\n\n## Checklist\n\nBefore completing a skill:\n\n**Prerequisites:**\n- [ ] User provided SDK package name or documentation URL\n- [ ] Verified SDK patterns via `microsoft-docs` MCP\n\n**Skill Creation:**\n- [ ] Description includes what AND when (trigger phrases)\n- [ ] SKILL.md under 500 lines\n- [ ] Authentication uses `DefaultAzureCredential`\n- [ ] Includes cleanup/delete in examples\n- [ ] References organized by feature\n\n**Categorization:**\n- [ ] Skill created in `.github/skills/<skill-name>/`\n- [ ] Symlink created in `skills/<language>/<category>/<short-name>`\n- [ ] Symlink points to `../../../.github/skills/<skill-name>`\n\n**Testing:**\n- [ ] `references/acceptance-criteria.md` created with correct/incorrect patterns\n- [ ] `tests/scenarios/<skill-name>/scenarios.yaml` created\n- [ ] All scenarios pass (`pnpm harness <skill> --mock`)\n- [ ] Import paths documented precisely\n\n**Documentation:**\n- [ ] README.md skill catalog updated\n- [ ] Instructs to search `microsoft-docs` MCP for current APIs\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["skill","creator","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows"],"capabilities":["skill","source-sickn33","skill-skill-creator-ms","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/skill-creator-ms","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34515 github stars · SKILL.md body (18,111 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T12:51:46.549Z","embedding":null,"createdAt":"2026-04-18T21:44:56.589Z","updatedAt":"2026-04-22T12:51:46.549Z","lastSeenAt":"2026-04-22T12:51:46.549Z","tsv":"'-4':1411 '-83':1625 '/../../.github/skills':1185,1978 '/../../.github/skills/azure-ai-agents-py':1199,1251 '/../../.github/skills/azure-cosmos-db-py':1214 '/azure/azure-sdk-for-':1312 '/en-us/azure/ai-services/...':791 '/references':429 '/references/acceptance-criteria.md':1271 '/scenarios.yaml':1406,1986 '/skill.md':1078 '/src/data/skills.json':1706 '0.3':1416 '1':93,135,246,386,699,759,814,1047,1101,1277,1318,1584,1751 '1.1':1322 '100':248,1562 '15':1614 '2':103,169,253,390,708,824,866,1056,1111,1287,1352,1679,1774 '2000':1414 '3':114,208,261,397,716,833,917,1063,1117,1294,1738,1791 '4':124,238,402,725,1072,1123 '5':406,731,1129,1165,1554 '500':269,1953 '5k':256 '6':412,737,1253 '6.1':1265 '6.2':1400 '6.3':1516 '622':1657 '7':418,745,1577 '73':1604 '77':1624 '8':423,751 '85':1556 'abortsign':576 'accept':740,1260,1267,1303,1316,1891 'accur':1746 'acr':1037 'across':510 'action':2025 'activ':883 'add':162,1130,1587,1643 'advanc':1765 'agent':13,40,89,157,180,781,945,951,1061,1086,1191,1200,1225,1250,1797,1861,1876 'agents.md':1740 'ai':11,39,591,609,618,780,822,943,950,955,1060,1085,1190,1640,1796 'aio':1394 'alphabet':1647 'alreadi':159,167 'alway':250,404,435,1570 'anti':1398,1828 'anti-pattern':1397,1827 'api':56,106,194,342,851,1017,1109,1371,1443,1869,2012 'app':991,1019 'appconfigur':1023 'appear':1491,1499 'applic':2019 'approach':223,276 'appropri':1180,1592 'area':723,920,929,937,1070 'ask':2063 'asset':303,347 'assumpt':156 'astro':1711 'astro-bas':1710 'async':1392,1513 'async-patterns.md':1804 'auth':897 'authent':108,403,431,627,1000,1353,1388,1433,1448,1859,1955 'automat':661 'azur':16,45,112,173,361,368,383,505,580,590,608,617,623,643,779,821,949,954,966,970,982,986,995,1003,1013,1022,1030,1039,1048,1081,1084,1089,1093,1098,1148,1189,1204,1230,1386,1429,1467,1778,1795,1824,1914 'azure-ai-ag':778,1794 'azure-ai-agents-pi':948,1083,1188 'azure-ai-exampl':616 'azure-ai-project':820 'azure-ai-projects-pi':953 'azure-appconfiguration-pi':1021 'azure-compute-batch-java':1029 'azure-containerregistry-pi':1038 'azure-cosmos-db-pi':1203 'azure-cosmos-java':1088 'azure-cosmos-pi':965 'azure-eventhub-pi':981 'azure-identity-pi':1002 'azure-keyvault-pi':1012 'azure-monitor-opentelemetry-pi':994 'azure-service-skil':1777 'azure-servicebus-pi':985 'azure-storage-blob-pi':969 'azure-storage-blob-t':1092 'azure.ai.example':634 'azure.ai.mymodule':1330,1458 'azure.ai.mymodule.models':1343 'azure.ai.openai':782 'azure.identity':441,630,1334,1454 'azure/azure-sdk-for-python':798 'azure/identity':485 'base':75,380,754,1045,1712 'bash':613,622,842,1182,1244,1519,1693,1720 'basic':1419,1425,1447,1512 'batch':1026,1032 'begin':538 'behavior':514 'best':419 'blob':972,1095,1227 'bodi':255,319,1849,1850 'boilerpl':352 'boundari':2071 'brows':1615 'browser':577 'build':470,1727 'buildclient':479 'builder':568 'bundl':125,292,325,1135 'bus':978 'busi':118 'c':451 'capabl':41,160 'case':1059 'catalog':750,1598,2001 'catch':1573 'categor':732,1166,1902,1966 'categori':724,921,938,939,1044,1181,1240,1636,1651,1909 'cd':1195,1210,1520,1694,1721 'certif':1011 'challeng':146 'chang':175,1870 'changelog.md':357 'check':1508,1524 'checklist':1920 'clarif':2065 'cleanup':680,1125 'cleanup/delete':1959 'clear':2038 'client':415,446,457,472,491,639,1323,1327,1347,1360,1368,1390,1420,1435,1463 'client.begin':674 'client.create':653 'client.delete':681 'client.list':665 'code':12,297,336,800,898,901,1126,1290,1504 'collect':532 'common':890,1396,1494 'compani':121 'company-specif':120 'comparison':1132 'complet':1502,1922 'complex':131,905 'comput':1025,1028,1031 'concis':136 'concret':871 'condit':1814 'config':1408 'configur':401,910,1020 'consider':578 'consist':373,508 'const':486,490 'constant':176 'contain':1034,1035 'containerregistri':1040 'content':688,1810 'context':51,116,140,252,557,702,762,1837 'convent':1080 'core':133,407,648,1799 'correct':1319,1325,1355 'correct/incorrect':1983 'cosmos':960,967,1090,1205,1216,1226 'cosmos-db':1215 'cost':154 'count':1602,1612,1621,1629,1637,1670,1672,1744 'cover':879 'coverag':1654,1666 'creat':7,24,35,53,360,365,515,516,522,604,651,726,733,739,765,809,1073,1160,1170,1175,1254,1266,1401,1423,1581,1833,1968,1972,1981,1987 'creation':697,1421,1943 'creator':3,32,588 'credenti':444,449,453,463,467,477,478,487,495,498,637,646,647,1358,1363,1366,1461,1469,1470,1855 'criteria':741,1261,1268,1304,1317,1558,1892,2074 'critic':1376 'csharp':450 'current':193,850,1108,2011 'data':657,958,963,1052,1683 'db':961,1206,1217 'deep':1889 'deepli':1883 'default':155 'defaultazurecredenti':405,437,443,445,455,483,489,632,638,1001,1336,1356,1359,1439,1456,1462,1957 'defaultazurecredentialbuild':469 'degre':209 'delet':533 'describ':2026,2042 'descript':289,312,314,589,940,1147,1222,1944 'design':1476,1806 'detail':340,345,551 'determin':1042 'determinist':333,1536 'develop':889 'directori':933 'disclosur':240,1748 'discov':1527 'discover':1907 'doc':190,343,715,840,846,1105,1281,1285,1691,1696,1704,1713,1718,1723,1731,1872,1882,1940,2008 'docs-sit':1695,1703,1722 'docstr':560 'document':65,171,183,299,746,787,828,1379,1579,1932,1996,1998 'domain':102,115 'dotnet.md':1787 'e.g':819,1224,1630,1638 'effect':8 'emphasi':43 'encount':891 'endpoint':448,462,475,476,494,625,641,645,1362,1370,1465,1468 'ensur':1741 'environ':398,500,620,2054 'environment-specif':2053 'error':109,527,887,912 'error-handling.md':1805 'etc':396 'even':535 'event':693,975,979,1053 'eventhub':983 'everi':1256 'exact':235,785 'exampl':219,411,579,592,602,605,607,610,619,624,644,656,774,872,892,902,941,1082,1128,1186,1201,1426,1474,1764,1819,1961 'example.azure.com':626 'examplecli':636,640 'execut':296,2021 'exist':29,382,520,1064,1236,1295 'expect':1437,1486 'expert':92,2059 'expertis':105 'explor':1610 'extend':38 'extract':1686 'fail':518 'fals':1566 'famili':1050 'fast':1535 'featur':413,600,1131,1156,1485,1766,1792,1965 'feed':1708 'file':274,686,687,1297 'filter':1511 'first':172,841,1137,1873 'follow':370,377,1118 'forbidden':1441,1492 'format':1301 'foundri':20,49,942,944,1062,1639 'fragil':216 'freedom':211,217 'fresh':170 'frontmatt':287,309,1140 'gather':700,760,870 'general':87 'general-purpos':86 'get':525,849 'github':831,1681,1736 'github.com':1311 'github.com/azure/azure-sdk-for-':1310 'github/skills':730,1077,1174,1270,1970 'gpt':1410 'grid':980 'guid':5,33,346,359,1755 'guidelin':225 'handl':110,660,913 'har':1529,1538,1548,1992 'hardcod':497,1365,1373,1445,1854 'high':220,1753 'high-level':1752 'hub':976,1054 'id':677,684 'ident':999,1004 'identifi':718,783 'imag':307,351 'implement':186 'import':442,482,631,635,1320,1324,1331,1335,1344,1380,1451,1455,1459,1912,1994 'improv':1546 'improvis':1863 'includ':331,355,553,1124,1431,1874,1945,1958 'incorrect':1337,1364 'infer':947 'initi':1391,1436 'input':2068 'insight':992 'instal':205,358,391,393,395,612,615,1114,1523 'instruct':179,291,320,2003 'integr':691,1016 'item':652,654,663,666,676,682,683 'item.name':668 'itempag':555 'iter':752,1545,1553 'java':464,465,567,1033,1091 'java.md':1788 'justifi':151 'keep':266,1886 'key':138,1007,1010,1372,1444 'keyvault':1014 'know':168 'knowledg':82,95 'la':1246 'lake':964 'languag':434,512,545,836,857,926,1233,1593,1620,1627,1678,1775,1783,1822 'language-specif':544,1821 'latest':862 'learn':827,1280 'learn.microsoft.com':790 'learn.microsoft.com/en-us/azure/ai-services/...':789 'level':245,1754,1888 'limit':278,2030 'line':270,1603,1613,1623,1656,1954 'link':425,427,1611 'list':422,530,606,658,1530 'ln':1197,1212 'load':242,300,321,1851 'locat':1076,1269,1404 'logic':119 'long':541,670 'long-run':540,669 'loop':1544 'low':232 'lropol':556 'ls':1245 'main':1326 'manag':558,1018 'markdown':184,290,584,1302,1758 'match':203,212,860,1235,2039 'materi':1273 'max':1412,1552 'max-iter':1551 'mcp':191,847,1106,1286,1941,2009 'md':430 'mechan':318 'medium':226 'messag':974,1055 'meta':1881 'meta-doc':1880 'metadata':247 'method':416 'microsoft':19,48,189,826,845,1104,1279,1284,1939,2007 'microsoft-doc':188,844,1103,1283,1938,2006 'minim':409,1763 'miss':529,537,2076 'mistak':1495,1575 'ml':1027 'mock':565,1449,1500,1533,1539,1550,1568,1993 'mode':1534 'model':1351,1409 'modul':1339,1395,1918 'modular':81 'monitor':989,996 'ms':4 'multi':97 'multi-step':96 'multipl':221 'must':59,233,771,1258,1490,1497,1839 'myclient':1332,1345,1361,1369,1440,1460,1464 'n':1605,1617,1631,1641,1658,1661 'name':64,198,283,288,310,389,585,655,818,855,1079,1142,1145,1159,1219,1223,1308,1418,1760,1930 'name/docs':1842 'need':265,302,813,1879 'nest':1884 'net':561 'never':496 'new':25,454,458,460,468,473,488,492,517 'npm':394,1725 'npx':1698 'number':421 'offici':714,839,1278 'one':1481,1887 'opentelemetri':990,997 'oper':199,334,543,564,672,856,875,1163 'option':294,797 'order':376,1121,1276,1648 'organ':924,1793,1963 'os':1452 'os.environ':642,1466 'outdat':1866 'output':304,348,1729,2048 'overview':1782,2029 'packag':63,83,777,817,1307,1841,1929 'package-nam':1306 'page':1682,1737 'pageabl':563 'pagedasynciterableiter':575 'pagedflux':571 'pagediter':570 'pagin':659 'paramet':202,859 'pass':1506,1561,1563,1571,1990 'path':1340,1381,1913,1995 'pattern':107,123,195,228,341,372,432,504,547,552,569,695,712,801,852,907,914,1110,1183,1237,1321,1354,1377,1389,1399,1438,1442,1483,1487,1488,1493,1572,1749,1750,1773,1790,1807,1826,1829,1868,1936,1984 'permiss':2069 'phrase':1950 'piec':148 'pip':392,614 'plan':717,918 'pnpm':1522,1528,1537,1547,1991 'point':1976 'poller':673 'poller.result':679 'poor':1864 'posit':1567 'practic':420 'precis':1997 'prefer':227 'prefix':1231 'prerequisit':1925 'primari':792,1057 'principl':134,1477 'print':667 'prioriti':1275 'procedur':94 'process':675,698 'product':722,919,928,936 'progress':239,1747 'project':823,946,956 'prompt':802,1422 'proper':1432 'provid':60,704,772,807,1840,1927 'pseudocod':231 'purpos':88,328,775,1313 'put':1844 'py':952,957,968,973,984,988,998,1005,1015,1024,1041,1087,1146,1192,1207,1634 'py/dotnet/ts/java':837 'python':200,438,439,554,595,628,650,1152,1328,1341,1357,1367 'python.md':1786 'python/data':1209 'python/foundry':1194 'queri':196,853,993 'quick':1761 'ralph':1543,1549 'rate':1564 'reactor':572 'readme.md':356,748,1586,1875,1999 'real':756,1574 'rebuild':1716 'refer':69,128,262,273,298,339,424,685,706,1296,1757,1785,1801,1808,1809,1885,1962 'references/acceptance-criteria.md':1980 'references/azure-sdk-patterns.md':549,1820 'references/error-handling.md':915 'references/output-patterns.md':1816 'references/streaming.md':692,908,1769 'references/tools.md':689,911,1772 'references/workflows.md':1811 'refin':753 'regener':1680 'registri':1036 'remov':1228 'repeat':338 'repo':832 'repositori':68,796,1293,1309 'requir':50,285,400,707,763,773,2067 'research':710 'resourc':126,145,293,305,326,349,720,895,1136,1161 'respons':562,1450,1501,1569 'rest':1471 'result':678 'retriev':526 'return':531 'reusabl':719,894 'review':2060 'rewritten':337 'risk':1375,1857 'row':1645 'run':542,671,1517,1531,1541,1684,1726 'safeti':2070 'scenario':744,1264,1403,1417,1475,1479,1560,1663,1671,1989 'schema':117,344 'scope':2041 'script':127,237,295,332,1687 'scripts/extract-skills.ts':1700 'sdk':54,62,104,197,206,362,384,388,581,593,611,701,711,761,767,776,786,816,854,863,874,1099,1115,1150,1288,1305,1430,1759,1825,1836,1867,1928,1935 'sdk/api':705 'sdks':17,46,174,369,506,1387,1915 'search':187,838,1102,1871,2005 'secret':1009 'section':375,1120,1594,1628,1860 'secur':1006,1374,1856 'see':548,1768,1771 'select':1784 'sequenti':1812 'serv':1734 'servic':21,113,599,603,977,1049,1069,1149,1158,1779 'servicebus':987 'servicecli':447,459,471,493 'serviceclientbuild':474 'share':144 'short':1221 'show':1249 'signific':1384 'site':1692,1697,1705,1714,1719,1724 'skill':2,9,26,30,31,36,57,72,78,79,177,241,259,279,282,363,366,374,385,582,587,696,736,749,768,811,869,878,885,922,932,1065,1075,1100,1144,1172,1184,1257,1300,1314,1525,1583,1589,1597,1601,1606,1609,1618,1632,1642,1644,1659,1669,1675,1743,1780,1834,1893,1903,1924,1942,1967,1974,2000,2017,2033 'skill-creat':586 'skill-creator-m':1 'skill-nam':281 'skill-name-pi':1143 'skill-skill-creator-ms' 'skill.md':254,267,284,308,728,904,1139,1781,1798,1951 'skills/python/data':1211 'skills/python/foundry':1196 'skills/python/foundry/agents':1247 'skip':1858,1890,1900 'sourc':793,1272,1289 'source-sickn33' 'special':91 'specif':101,122,213,236,546,598,1155,1162,1482,1823,1917,2055 'sphinx':559 'split':271 'standard':502 'start':539,1762 'step':98,758,865,916,1071,1164,1252,1576 'stop':2061 'storag':959,971,1051,1094 'stream':694,906,1514,1767 'streaming.md':1803 'structur':280,379,583,1919 'substitut':2051 'succeed':534 'success':1557,2073 'suffix':1234,1633 'summari':1655 'support':566 'symlink':734,935,1168,1177,1218,1243,1901,1971,1975 'tabl':414,426,962,1133,1622,1667 'tag':1446,1509 'target':835 'task':132,215,893,2037 'temperatur':1415 'templat':129,306,350,1817 'test':738,743,1255,1263,1315,1402,1480,1518,1521,1653,1662,1665,1895,1979,2057 'tests/scenarios':1405,1985 'text':224 'three':244 'threshold':1555 'time':900 'titl':387 'token':153,1413 'tokencredenti':466 'tool':417,690,909,1515,1770 'tools.md':1802 'top':1674 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'total':1600 'transform':85 'treat':2046 'trigger':260,317,324,601,881,1157,1853,1949 'truth':795 'ts':1096 'tsx':1699 'type':327,573 'typescript':480,481,574 'typescript.md':1789 'understand':709,867 'unlimit':263 'updat':28,524,747,1578,1585,1599,1608,1619,1626,1635,1652,1664,1668,1689,1702,2002 'upsert':521 'uri':461 'url':66,788,829,1843,1933 'usag':757 'use':22,436,499,507,596,843,1058,1153,1220,1427,1847,1865,1910,1956,2015,2031 'user':58,703,770,804,1838,1926 'valid':222,1899,2056 'var':452,456 'vari':1383 'variabl':399,501,621 'variant':1393,1776 'variat':230 'vault':1008 'verb':503,509,513 'verbos':1540 'verifi':182,201,858,1112,1241,1739,1934 'version':207,864,1116 'via':934,1282,1937 'viabl':410 'window':141 'within':1649 'without':1835,1894 'won':1904 'word':249,257 'work':14,1473,1503 'workflow':99,408,649,1800,1815,2023 'write':727,1134 'wrong':1338,1346,1911 'yaml':286,1141,1407","prices":[{"id":"21950fd9-1119-452c-82d6-daa327eba2d3","listingId":"258d1227-75cb-41a3-ab25-118bb3a7ba1c","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:44:56.589Z"}],"sources":[{"listingId":"258d1227-75cb-41a3-ab25-118bb3a7ba1c","source":"github","sourceId":"sickn33/antigravity-awesome-skills/skill-creator-ms","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/skill-creator-ms","isPrimary":false,"firstSeenAt":"2026-04-18T21:44:56.589Z","lastSeenAt":"2026-04-22T12:51:46.549Z"}],"details":{"listingId":"258d1227-75cb-41a3-ab25-118bb3a7ba1c","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"skill-creator-ms","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34515,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-22T06:40:00Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"86813dd03fac7f80cb08a27d76ac8fc13139ea19","skill_md_path":"skills/skill-creator-ms/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/skill-creator-ms"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"skill-creator-ms","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."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/skill-creator-ms"},"updatedAt":"2026-04-22T12:51:46.549Z"}}