[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M714MB254D58GTYE8QTCX9NA":3,"skill-same:01M714MB254D58GTYE8QTCX9NA":70},{"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":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":14,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M714MB254D58GTYE8QTCX9NA","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.","sapsapshen\u002Fai-memory-router","sapsapshen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20347959?v=4","01M6XDQEF1DP50DKF37H81J3J5","shenmian","01M6XDQEJPE41Y3DT2763X8ZJN",0,"MIT","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\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,40,41,42,43],"skill creator","ms","creator","skill creator ms","new","2026","when","unknown","Existing","for","sdks","with","community","use","guide","coding","services","azure","ai coding agents","coding agents","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\ndate_added: \"2026-02-27\"\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":31,"source":36,"date_added":49,"description":7},"2026-02-27","main","7a38d8e7073e61c16eda85681cb32fb68a8657a5","skills-store\u002Fcopilot\u002Fskill-creator-ms","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router","https:\u002F\u002Fgithub.com\u002Fsapsapshen","2026-04-14 21:12:12",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add sapsapshen\u002Fai-memory-router --skill skill-creator-ms",{"tool":62,"command":63},"bunx","bunx skills add sapsapshen\u002Fai-memory-router --skill skill-creator-ms",{"tool":65,"command":66},"pnpm","pnpm dlx skills add sapsapshen\u002Fai-memory-router --skill skill-creator-ms","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fskill-creator-ms\u002FSKILL.md",true,[],[71,94,119,129,142,159],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":82,"publishedAt":44},"01M71ATQRKG48SH06FQ697T5G9","wechat-search","Search WeChat Official Account articles using OpenClaw's web search and fetch capabilities with compliance-focused design.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fwechat-search-release\u002FSKILL.md",[77],{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[83,84,85,86,87,88,89,90,91,92,93,35],"wechat search","wechat","search","capabilities","openclaw","design","web search","compliance","web","official","fetch",{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":44},"01M71ATNAVGZB35PFYM2GC5N00","trend-tap","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend tap', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-tap\u002FSKILL.md",[],[101,102,103,104,105,106,85,107,108,109,110,30,111,112,113,114,115,116,117,118],"trend","trend tap","tap","api keys","Bash","time","trending","hacker","aggregator","do","brew","live","data","google","install","read","across","api",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":125,"publishedAt":44},"01M71ATJ9AM5KM15AA8PS302EB","trend-radar","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend pulse', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-radar\u002FSKILL.md",[],[126,127,101,111,112,113,114,105,85,116,128,117,118,30,109,108,107,115,106,104],"trend radar","radar","pulse",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":44},"01M71ATGF095N3EJM9G8SD0BB5","tech-news-daily","每日科技新闻汇——从全球多个 RSS 源抓取最新科技新闻，翻译（英→中）、去重、排版成每日简报。当用户询问科技新闻、科技新鲜事、每日科技、技术动态、Daily Tech News 或类似表达时触发此技能。","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftech-news-daily\u002FSKILL.md",[],[136,137,138,139,140,141],"news","tech","tech news daily","daily","rss","翻译",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":151,"publishedAt":44},"01M71ATFAEAMQ17M70NQNY7SR8","summarize","Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsummarize\u002FSKILL.md",[148],{"categoryNo":149,"categoryName":150,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[144,91,152,153,154,35,111,155,156,157,103,158,115],"Audio","cli","youtube","images","https","files","pdfs",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":165,"publishedAt":44},"01M71ATDNS3R0M4H936PACQAWZ","sonoscli","Control Sonos speakers (discover\u002Fstatus\u002Fplay\u002Fvolume\u002Fgroup).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsonoscli\u002FSKILL.md",[],[161,166,167,168,115,169,156,170,171,172,173,174],"status","play","go","latest","github","discover","control","cmd","volume"]