[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FXBF45RR283X8W002NJESF":3,"skill-same:01M6FXBF45RR283X8W002NJESF":68},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":14,"repositoryHtmlUrl":49,"repositoryHomepageUrl":6,"ownerHtmlUrl":50,"ownerBlogUrl":51,"ownerDescription":52,"updatedAt":53,"install":54,"resources":67},"01M6FXBF45RR283X8W002NJESF","skill-creator-ms",null,"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.","reikiplanet\u002Fdaoskills","reikiplanet","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F96377599?v=4","01M6CVWCMD740YHQDK7E9QYBW4","Reiki Planet","01M6CVWCS4KXVA2CWFVJ43EAXK",0,"MIT","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fother\u002Fskill-creator-ms\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"skill creator","ms","skill creator ms","coding agents","microsoft","foundry","microsoft foundry","ai coding agents","azure","services","coding","guide","use","ai coding","community","with","2026-11-10 10:12:30",false,"---\nname: skill-creator-ms\ndescription: \"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.\"\nrisk: unknown\nsource: community\n---\n\n# 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** (\u003C5k 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\u002F\n├── SKILL.md (required)\n│   ├── YAML frontmatter (name, description)\n│   └── Markdown instructions\n└── Bundled Resources (optional)\n    ├── scripts\u002F      — Executable code\n    ├── references\u002F   — Documentation loaded as needed\n    └── assets\u002F       — 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\u002F` | Deterministic operations | Same code rewritten repeatedly |\n| `references\u002F` | Detailed patterns | API docs, schemas, detailed guides |\n| `assets\u002F` | 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 `\u002Freferences\u002F*.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\u002F\u002F C#\nvar credential = new DefaultAzureCredential();\nvar client = new ServiceClient(new Uri(endpoint), credential);\n```\n\n```java\n\u002F\u002F Java\nTokenCredential credential = new DefaultAzureCredentialBuilder().build();\nServiceClient client = new ServiceClientBuilder()\n    .endpoint(endpoint)\n    .credential(credential)\n    .buildClient();\n```\n\n```typescript\n\u002F\u002F TypeScript\nimport { DefaultAzureCredential } from \"@azure\u002Fidentity\";\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\u002Fazure-sdk-patterns.md` for detailed patterns including:\n\n- **Python**: `ItemPaged`, `LROPoller`, context managers, Sphinx docstrings\n- **.NET**: `Response\u003CT>`, `Pageable\u003CT>`, `Operation\u003CT>`, mocking support\n- **Java**: Builder pattern, `PagedIterable`\u002F`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:\u002F\u002F\u003Cresource>.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\u002Ftools.md | Tool integrations |\n| references\u002Fstreaming.md | Event streaming patterns |\n```\n\n---\n\n## Skill Creation Process\n\n1. **Gather SDK Context** — User provides SDK\u002FAPI 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\u002Fskills\u002F\u003Cskill-name>\u002F`\n5. **Categorize** — Create symlink in `skills\u002F\u003Clanguage>\u002F\u003Ccategory>\u002F`\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:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fai-services\u002F...` | Primary source of truth |\n| **Repository** (optional) | `Azure\u002Fazure-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\u002Fdotnet\u002Fts\u002Fjava)\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\u002Fstreaming.md` |\n| Tool configurations | `references\u002Ftools.md` |\n| Error handling patterns | `references\u002Ferror-handling.md` |\n\n### Step 3: Plan Product Area Category\n\nSkills are organized by **language** and **product area** in the `skills\u002F` 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\u002Fskills\u002F\u003Cskill-name>\u002FSKILL.md`\n\n**Naming convention:**\n- `azure-\u003Cservice>-\u003Csubservice>-\u003Clanguage>`\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\u002Fskills\u002F`, create a symlink in the appropriate category:\n\n```bash\n# Pattern: skills\u002F\u003Clanguage>\u002F\u003Ccategory>\u002F\u003Cshort-name> -> ..\u002F..\u002F..\u002F.github\u002Fskills\u002F\u003Cfull-skill-name>\n\n# Example for azure-ai-agents-py in python\u002Ffoundry:\ncd skills\u002Fpython\u002Ffoundry\nln -s ..\u002F..\u002F..\u002F.github\u002Fskills\u002Fazure-ai-agents-py agents\n\n# Example for azure-cosmos-db-py in python\u002Fdata:\ncd skills\u002Fpython\u002Fdata\nln -s ..\u002F..\u002F..\u002F.github\u002Fskills\u002Fazure-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\u002Fpython\u002Ffoundry\u002Fagents\n# Should show: agents -> ..\u002F..\u002F..\u002F.github\u002Fskills\u002Fazure-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\u002Fskills\u002F\u003Cskill-name>\u002Freferences\u002Facceptance-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: \u003Cskill-name>\n\n**SDK**: `package-name`\n**Repository**: https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-sdk-for-\u003Clanguage>\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\u002Fscenarios\u002F\u003Cskill-name>\u002Fscenarios.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 \u003Cskill-name> --mock --verbose\n\n# Run with Ralph Loop (iterative improvement)\npnpm harness \u003Cskill-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., `\u003Csummary>\u003Cstrong>Foundry & AI\u003C\u002Fstrong> (N skills)\u003C\u002Fsummary>`)\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\u002Fextract-skills.ts\n   ```\n   This updates `docs-site\u002Fsrc\u002Fdata\u002Fskills.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\u002F` 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\u002Fstreaming.md\n- **Tools**: See references\u002Ftools.md\n```\n\n### Pattern 2: Language Variants\n\n```\nazure-service-skill\u002F\n├── SKILL.md (overview + language selection)\n└── references\u002F\n    ├── python.md\n    ├── dotnet.md\n    ├── java.md\n    └── typescript.md\n```\n\n### Pattern 3: Feature Organization\n\n```\nazure-ai-agents\u002F\n├── SKILL.md (core workflow)\n└── references\u002F\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\u002Fworkflows.md` | Sequential and conditional workflows |\n| `references\u002Foutput-patterns.md` | Templates and examples |\n| `references\u002Fazure-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\u002Fdocs 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\u002Fdelete in examples\n- [ ] References organized by feature\n\n**Categorization:**\n- [ ] Skill created in `.github\u002Fskills\u002F\u003Cskill-name>\u002F`\n- [ ] Symlink created in `skills\u002F\u003Clanguage>\u002F\u003Ccategory>\u002F\u003Cshort-name>`\n- [ ] Symlink points to `..\u002F..\u002F..\u002F.github\u002Fskills\u002F\u003Cskill-name>`\n\n**Testing:**\n- [ ] `references\u002Facceptance-criteria.md` created with correct\u002Fincorrect patterns\n- [ ] `tests\u002Fscenarios\u002F\u003Cskill-name>\u002Fscenarios.yaml` created\n- [ ] All scenarios pass (`pnpm harness \u003Cskill> --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","# 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** (\u003C5k 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\u002F\n├── SKILL.md (required)\n│   ├── YAML frontmatter (name, description)\n│   └── Markdown instructions\n└── Bundled Resources (optional)\n    ├── scripts\u002F      — Executable code\n    ├── references\u002F   — Documentation loaded as needed\n    └── assets\u002F       — 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\u002F` | Deterministic operations | Same code rewritten repeatedly |\n| `references\u002F` | Detailed patterns | API docs, schemas, detailed guides |\n| `assets\u002F` | 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 `\u002Freferences\u002F*.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\u002F\u002F C#\nvar credential = new DefaultAzureCredential();\nvar client = new ServiceClient(new Uri(endpoint), credential);\n```\n\n```java\n\u002F\u002F Java\nTokenCredential credential = new DefaultAzureCredentialBuilder().build();\nServiceClient client = new ServiceClientBuilder()\n    .endpoint(endpoint)\n    .credential(credential)\n    .buildClient();\n```\n\n```typescript\n\u002F\u002F TypeScript\nimport { DefaultAzureCredential } from \"@azure\u002Fidentity\";\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\u002Fazure-sdk-patterns.md` for detailed patterns including:\n\n- **Python**: `ItemPaged`, `LROPoller`, context managers, Sphinx docstrings\n- **.NET**: `Response\u003CT>`, `Pageable\u003CT>`, `Operation\u003CT>`, mocking support\n- **Java**: Builder pattern, `PagedIterable`\u002F`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:\u002F\u002F\u003Cresource>.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\u002Ftools.md | Tool integrations |\n| references\u002Fstreaming.md | Event streaming patterns |\n```\n\n---\n\n## Skill Creation Process\n\n1. **Gather SDK Context** — User provides SDK\u002FAPI 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\u002Fskills\u002F\u003Cskill-name>\u002F`\n5. **Categorize** — Create symlink in `skills\u002F\u003Clanguage>\u002F\u003Ccategory>\u002F`\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:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fai-services\u002F...` | Primary source of truth |\n| **Repository** (optional) | `Azure\u002Fazure-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\u002Fdotnet\u002Fts\u002Fjava)\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\u002Fstreaming.md` |\n| Tool configurations | `references\u002Ftools.md` |\n| Error handling patterns | `references\u002Ferror-handling.md` |\n\n### Step 3: Plan Product Area Category\n\nSkills are organized by **language** and **product area** in the `skills\u002F` 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\u002Fskills\u002F\u003Cskill-name>\u002FSKILL.md`\n\n**Naming convention:**\n- `azure-\u003Cservice>-\u003Csubservice>-\u003Clanguage>`\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\u002Fskills\u002F`, create a symlink in the appropriate category:\n\n```bash\n# Pattern: skills\u002F\u003Clanguage>\u002F\u003Ccategory>\u002F\u003Cshort-name> -> ..\u002F..\u002F..\u002F.github\u002Fskills\u002F\u003Cfull-skill-name>\n\n# Example for azure-ai-agents-py in python\u002Ffoundry:\ncd skills\u002Fpython\u002Ffoundry\nln -s ..\u002F..\u002F..\u002F.github\u002Fskills\u002Fazure-ai-agents-py agents\n\n# Example for azure-cosmos-db-py in python\u002Fdata:\ncd skills\u002Fpython\u002Fdata\nln -s ..\u002F..\u002F..\u002F.github\u002Fskills\u002Fazure-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\u002Fpython\u002Ffoundry\u002Fagents\n# Should show: agents -> ..\u002F..\u002F..\u002F.github\u002Fskills\u002Fazure-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\u002Fskills\u002F\u003Cskill-name>\u002Freferences\u002Facceptance-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: \u003Cskill-name>\n\n**SDK**: `package-name`\n**Repository**: https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-sdk-for-\u003Clanguage>\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\u002Fscenarios\u002F\u003Cskill-name>\u002Fscenarios.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 \u003Cskill-name> --mock --verbose\n\n# Run with Ralph Loop (iterative improvement)\npnpm harness \u003Cskill-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., `\u003Csummary>\u003Cstrong>Foundry & AI\u003C\u002Fstrong> (N skills)\u003C\u002Fsummary>`)\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\u002Fextract-skills.ts\n   ```\n   This updates `docs-site\u002Fsrc\u002Fdata\u002Fskills.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\u002F` 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\u002Fstreaming.md\n- **Tools**: See references\u002Ftools.md\n```\n\n### Pattern 2: Language Variants\n\n```\nazure-service-skill\u002F\n├── SKILL.md (overview + language selection)\n└── references\u002F\n    ├── python.md\n    ├── dotnet.md\n    ├── java.md\n    └── typescript.md\n```\n\n### Pattern 3: Feature Organization\n\n```\nazure-ai-agents\u002F\n├── SKILL.md (core workflow)\n└── references\u002F\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\u002Fworkflows.md` | Sequential and conditional workflows |\n| `references\u002Foutput-patterns.md` | Templates and examples |\n| `references\u002Fazure-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\u002Fdocs 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\u002Fdelete in examples\n- [ ] References organized by feature\n\n**Categorization:**\n- [ ] Skill created in `.github\u002Fskills\u002F\u003Cskill-name>\u002F`\n- [ ] Symlink created in `skills\u002F\u003Clanguage>\u002F\u003Ccategory>\u002F\u003Cshort-name>`\n- [ ] Symlink points to `..\u002F..\u002F..\u002F.github\u002Fskills\u002F\u003Cskill-name>`\n\n**Testing:**\n- [ ] `references\u002Facceptance-criteria.md` created with correct\u002Fincorrect patterns\n- [ ] `tests\u002Fscenarios\u002F\u003Cskill-name>\u002Fscenarios.yaml` created\n- [ ] All scenarios pass (`pnpm harness \u003Cskill> --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",{"name":5,"risk":45,"source":38,"description":7},"unknown","master","dff58085da947e81e8418c922055644bf0082b1b","other\u002Fskill-creator-ms","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills","https:\u002F\u002Fgithub.com\u002Freikiplanet","https:\u002F\u002Fwww.reiki-planet.com","Reiki Planet Game","2026-03-29 06:02:29",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add reikiplanet\u002Fdaoskills --skill skill-creator-ms",{"tool":60,"command":61},"bunx","bunx skills add reikiplanet\u002Fdaoskills --skill skill-creator-ms",{"tool":63,"command":64},"pnpm","pnpm dlx skills add reikiplanet\u002Fdaoskills --skill skill-creator-ms","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fother\u002Fskill-creator-ms\u002FSKILL.md",true,[],[69,95,107,121,140,163],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":40},"01M6G614JTEQJHPT8AKK3YQ18S","web-games","Web browser game development principles. Framework selection, WebGPU, optimization, PWA.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fweb-games\u002FSKILL.md",[],[76,77,78,79,80,81,38,82,83,84,85,86,87,88,89,90,91,92,93,94],"games","web games","web","grep","principles","selection","framework selection","edit","write","read","pwa","game","web browser","game development","Optimization","framework","browser","development","webgpu",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":40},"01M6G611H2YGV0GZFP90D38ZMJ","vr-ar","VR\u002FAR development principles. Comfort, interaction, performance requirements.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fvr-ar\u002FSKILL.md",[],[102,103,93,104,105,38,83,84,85,79,106,80],"ar","vr ar","interaction","requirements","performance",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":40},"01M6G60XNMHAMV1SV0EJ1CX0AY","templates","Project scaffolding templates for new applications. Use when creating new projects from scratch. Contains 12 templates for various tech stacks.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Ftemplates\u002FSKILL.md",[],[109,114,115,116,117,118,38,36,85,119,120,79],"project scaffolding","From Scratch","tech","project","scaffolding","projects","applications",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":40},"01M6G60T0GATMK3Q5H8GDC1Z8S","wcag-audit-patterns","Conduct WCAG 2.2 accessibility audits with automated testing, manual verification, and remediation guidance. Use when auditing websites for accessibility, fixing WCAG violations, or implementing ac...","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fskills\u002Fsecurity\u002Fwcag-audit-patterns\u002FSKILL.md",[],[128,129,130,131,132,38,133,39,134,135,36,136,137,138,139],"wcag audit patterns","wcag audit","patterns","WCAG","audit","manual","automated testing","guidance","remediation","verification","accessibility","testing",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":40},"01M6G60PMCHW1FRZ63F931QK3R","vulnerability-scanner","Advanced vulnerability analysis principles. OWASP 2025, Supply Chain Security, attack surface mapping, risk prioritization.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fskills\u002Fsecurity\u002Fvulnerability-scanner\u002FSKILL.md",[],[147,148,149,150,151,152,153,154,38,85,79,155,80,156,157,158,159,160,161,162],"scanner","vulnerability scanner","vulnerability","prioritization","2025","mapping","chain","supply chain","Bash","analysis","risk","owasp","supply chain security","security","supply","advanced",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":169,"publishedAt":40},"01M6G60JZBB8DK0W3DSG1WNMZK","threat-modeling-expert","Expert in threat modeling methodologies, security architecture review, and risk assessment. Masters STRIDE, PASTA, attack trees, and security requirement extraction. Use for security architecture r...","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fskills\u002Fsecurity\u002Fthreat-modeling-expert\u002FSKILL.md",[],[170,171,172,173,174,175,176,177,160,36,178,179,180,38,181,182,183,157,184,185],"modeling","threat modeling expert","threat modeling","expert","threat","risk assessment","architecture review","architecture","security architecture review","trees","security architecture","security requirement extraction","assessment","extraction","review","stride"]