[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71J0SEMVWWJ8QKSSW8435F9":3,"skill-same:01M71J0SEMVWWJ8QKSSW8435F9":249},{"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":16,"sourceHtmlUrl":17,"categories":18,"keywords":27,"publishedAt":48,"linkOnly":49,"markdownContent":50,"markdownBody":51,"frontMatter":52,"refName":58,"commitSha":59,"skillDirectory":60,"forksCount":14,"repositoryHtmlUrl":61,"repositoryHomepageUrl":6,"ownerHtmlUrl":62,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":63,"install":64,"resources":77},"01M71J0SEMVWWJ8QKSSW8435F9","ck:skill-creator",null,"Create or update Claude skills with eval-driven iteration. Use for new skills, skill scripts, references, benchmark optimization, description optimization, eval testing, extending Claude's capabilities.","datnguyense1104\u002Fhom-nay-an-gi","datnguyense1104","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F124538996?v=4","01M71HMY98E9Y6DA31107PHNRE","Dat","01M71HMYADS82R3VSPJSDW68TX",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002FSKILL.md",[19,24],{"categoryNo":20,"categoryName":21,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":25,"categoryName":26,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000023","Skill与智能体开发",[28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47],"ck:skill creator","ck","creator","skill creator","benchmark","scripts","update","name","references","create","with","capabilities","extending","use","new","eval","testing","Optimization","iteration","for","2026-11-10 10:12:30",false,"---\nname: ck:skill-creator\ndescription: Create or update Claude skills with eval-driven iteration. Use for new skills, skill scripts, references, benchmark optimization, description optimization, eval testing, extending Claude's capabilities.\nlicense: Complete terms in LICENSE.txt\nargument-hint: \"[skill-name or description]\"\nmetadata:\n  author: claudekit\n  version: \"4.0.0\"\n---\n\n# Skill Creator\n\nCreate effective, eval-driven Claude skills using progressive disclosure and human-in-the-loop iteration.\n\n## Core Principles\n\n- Skills are **practical instructions**, not documentation\n- Each skill teaches Claude *how* to perform tasks, not *what* tools are\n- **Progressive disclosure:** Metadata → SKILL.md → Bundled resources\n- **Eval-driven iteration:** Test → Grade → Compare → Optimize → Repeat\n\n## Quick Reference\n\n| Resource | Limit | Purpose |\n|----------|-------|---------|\n| Description | ≤1024 chars | Auto-activation trigger (be \"pushy\") |\n| SKILL.md | \u003C300 lines | Core instructions |\n| Each reference | \u003C300 lines | Detail loaded as-needed |\n| Scripts | No limit | Executed without loading |\n\n## Skill Structure\n\nNew skills **MUST** be created in CWD: `.\u002F.opencode\u002Fskills\u002F` (**NOT** `~\u002F.opencode\u002Fskills\u002F` unless requested)\n\n```\nskill-name\u002F\n├── SKILL.md              (required, \u003C300 lines)\n├── scripts\u002F              (optional: executable code)\n├── references\u002F           (optional: docs loaded as-needed)\n├── agents\u002F               (optional: eval agent templates)\n└── assets\u002F               (optional: output resources)\n```\n\nFull anatomy: `references\u002Fskill-anatomy-and-requirements.md`\n\n## Creation Workflow\n\nFollow the process in `references\u002Fskill-creation-workflow.md`:\n\n1. **Capture Intent** — What should skill do? When trigger? What output? (AskUserQuestion)\n2. **Research** — Activate `\u002Fck:docs-seeker`, `\u002Fck:research` for best practices\n3. **Plan** — Identify reusable scripts, references, assets\n4. **Initialize** — `scripts\u002Finit_skill.py \u003Cname> --path \u003Cdir>`\n5. **Write** — Implement resources, write SKILL.md, optimize for benchmarks\n6. **Test & Evaluate** — Run eval suite, grade outputs, compare with\u002Fwithout skill\n7. **Optimize Description** — AI-powered trigger accuracy optimization\n8. **Package** — `scripts\u002Fpackage_skill.py \u003Cpath>`\n9. **Iterate** — Generalize from feedback, keep prompts lean\n\n## Eval & Testing (CRITICAL)\n\nEval infrastructure for quantitative skill validation:\n1. Create test cases in `evals\u002Fevals.json` with prompts + assertions\n2. Spawn **parallel** with-skill + baseline runs (critical for fair timing)\n3. Draft assertions while runs execute\n4. Grade outputs with grader agent template\n5. Aggregate results: `scripts\u002Faggregate_benchmark.py`\n6. Launch viewer: `scripts\u002Fgenerate_review.py` → interactive HTML review\n7. Collect human feedback via viewer → `feedback.json`\n\nDetails: `references\u002Feval-infrastructure-guide.md`\nAgent templates: `agents\u002Fgrader.md`, `agents\u002Fcomparator.md`, `agents\u002Fanalyzer.md`\nJSON schemas: `references\u002Feval-schemas.md`\n\n## Description Optimization\n\nCombat undertriggering with \"pushy\" descriptions:\n\n```yaml\n# ❌ Undertriggers\ndescription: Data processing skill\n# ✅ Triggers reliably\ndescription: Process CSV files and tabular data. Use this skill whenever\n  the user uploads data files, mentions datasets, wants to extract info\n  from tables, or needs analysis on numbers and records.\n```\n\nAutomated optimization:\n\n- **Single-pass:** `scripts\u002Fimprove_description.py` — one iteration from failed triggers\n- **Iterative loop:** `scripts\u002Frun_loop.py` — train\u002Ftest split, 5-15 iterations, convergence detection\n\n## Benchmark Optimization\n\n### Accuracy (80% of composite score)\n\n- **Explicit standard terminology** matching concept-accuracy scorer\n- **Numbered workflow steps** covering all expected concepts\n- **Concrete examples** — exact commands, code, API calls\n- **Abbreviation expansions** (e.g., \"context (ctx)\") for variation matching\n\n### Security (20% of composite score)\n\n- **MUST** declare scope: \"This skill handles X. Does NOT handle Y.\"\n- **MUST** include security policy: refusal instructions + leakage prevention\n- Covers 6 categories: prompt-injection, jailbreak, instruction-override, data-exfiltration, pii-leak, scope-violation\n\n```\ncompositeScore = accuracy × 0.80 + securityScore × 0.20\n```\n\nScoring algorithms: `references\u002Fskillmark-benchmark-criteria.md`\nOptimization patterns: `references\u002Fbenchmark-optimization-guide.md`\n\n## SKILL.md Writing Rules\n\n- **Imperative form:** \"To accomplish X, do Y\" (not \"You should...\")\n- **Third-person metadata:** \"This skill should be used when...\"\n- **Pushy descriptions:** Include trigger contexts, be aggressive about activation\n- **No duplication:** Info lives in SKILL.md OR references, never both\n- **Concise:** Sacrifice grammar for brevity\n\n## Scripts\n\n| Script | Purpose |\n|--------|---------|\n| `scripts\u002Finit_skill.py` | Initialize new skill from template |\n| `scripts\u002Fpackage_skill.py` | Validate + package skill as zip |\n| `scripts\u002Fquick_validate.py` | Quick frontmatter validation |\n| `scripts\u002Frun_eval.py` | Test skill triggering on queries |\n| `scripts\u002Faggregate_benchmark.py` | Consolidate runs into summary stats |\n| `scripts\u002Fimprove_description.py` | AI-powered description optimization |\n| `scripts\u002Frun_loop.py` | Iterative optimization with train\u002Ftest split |\n| `scripts\u002Fgenerate_review.py` | Generate interactive HTML eval viewer |\n\n## Validation & Distribution\n\n- **Checklist**: `references\u002Fvalidation-checklist.md`\n- **Metadata**: `references\u002Fmetadata-quality-criteria.md`\n- **Tokens**: `references\u002Ftoken-efficiency-criteria.md`\n- **Scripts**: `references\u002Fscript-quality-criteria.md`\n- **Structure**: `references\u002Fstructure-organization-criteria.md`\n- **Design patterns**: `references\u002Fskill-design-patterns.md`\n- **Plugin Marketplaces**: `references\u002Fplugin-marketplace-overview.md`\n\n## External References\n\n- [Agent Skills Docs](https:\u002F\u002Fdocs.claude.com\u002Fen\u002Fdocs\u002Fclaude-code\u002Fskills.md)\n- [Best Practices](https:\u002F\u002Fdocs.claude.com\u002Fen\u002Fdocs\u002Fagents-and-tools\u002Fagent-skills\u002Fbest-practices.md)\n- [Plugin Marketplaces](https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fplugin-marketplaces.md)\n","# Skill Creator\n\nCreate effective, eval-driven Claude skills using progressive disclosure and human-in-the-loop iteration.\n\n## Core Principles\n\n- Skills are **practical instructions**, not documentation\n- Each skill teaches Claude *how* to perform tasks, not *what* tools are\n- **Progressive disclosure:** Metadata → SKILL.md → Bundled resources\n- **Eval-driven iteration:** Test → Grade → Compare → Optimize → Repeat\n\n## Quick Reference\n\n| Resource | Limit | Purpose |\n|----------|-------|---------|\n| Description | ≤1024 chars | Auto-activation trigger (be \"pushy\") |\n| SKILL.md | \u003C300 lines | Core instructions |\n| Each reference | \u003C300 lines | Detail loaded as-needed |\n| Scripts | No limit | Executed without loading |\n\n## Skill Structure\n\nNew skills **MUST** be created in CWD: `.\u002F.opencode\u002Fskills\u002F` (**NOT** `~\u002F.opencode\u002Fskills\u002F` unless requested)\n\n```\nskill-name\u002F\n├── SKILL.md              (required, \u003C300 lines)\n├── scripts\u002F              (optional: executable code)\n├── references\u002F           (optional: docs loaded as-needed)\n├── agents\u002F               (optional: eval agent templates)\n└── assets\u002F               (optional: output resources)\n```\n\nFull anatomy: `references\u002Fskill-anatomy-and-requirements.md`\n\n## Creation Workflow\n\nFollow the process in `references\u002Fskill-creation-workflow.md`:\n\n1. **Capture Intent** — What should skill do? When trigger? What output? (AskUserQuestion)\n2. **Research** — Activate `\u002Fck:docs-seeker`, `\u002Fck:research` for best practices\n3. **Plan** — Identify reusable scripts, references, assets\n4. **Initialize** — `scripts\u002Finit_skill.py \u003Cname> --path \u003Cdir>`\n5. **Write** — Implement resources, write SKILL.md, optimize for benchmarks\n6. **Test & Evaluate** — Run eval suite, grade outputs, compare with\u002Fwithout skill\n7. **Optimize Description** — AI-powered trigger accuracy optimization\n8. **Package** — `scripts\u002Fpackage_skill.py \u003Cpath>`\n9. **Iterate** — Generalize from feedback, keep prompts lean\n\n## Eval & Testing (CRITICAL)\n\nEval infrastructure for quantitative skill validation:\n1. Create test cases in `evals\u002Fevals.json` with prompts + assertions\n2. Spawn **parallel** with-skill + baseline runs (critical for fair timing)\n3. Draft assertions while runs execute\n4. Grade outputs with grader agent template\n5. Aggregate results: `scripts\u002Faggregate_benchmark.py`\n6. Launch viewer: `scripts\u002Fgenerate_review.py` → interactive HTML review\n7. Collect human feedback via viewer → `feedback.json`\n\nDetails: `references\u002Feval-infrastructure-guide.md`\nAgent templates: `agents\u002Fgrader.md`, `agents\u002Fcomparator.md`, `agents\u002Fanalyzer.md`\nJSON schemas: `references\u002Feval-schemas.md`\n\n## Description Optimization\n\nCombat undertriggering with \"pushy\" descriptions:\n\n```yaml\n# ❌ Undertriggers\ndescription: Data processing skill\n# ✅ Triggers reliably\ndescription: Process CSV files and tabular data. Use this skill whenever\n  the user uploads data files, mentions datasets, wants to extract info\n  from tables, or needs analysis on numbers and records.\n```\n\nAutomated optimization:\n\n- **Single-pass:** `scripts\u002Fimprove_description.py` — one iteration from failed triggers\n- **Iterative loop:** `scripts\u002Frun_loop.py` — train\u002Ftest split, 5-15 iterations, convergence detection\n\n## Benchmark Optimization\n\n### Accuracy (80% of composite score)\n\n- **Explicit standard terminology** matching concept-accuracy scorer\n- **Numbered workflow steps** covering all expected concepts\n- **Concrete examples** — exact commands, code, API calls\n- **Abbreviation expansions** (e.g., \"context (ctx)\") for variation matching\n\n### Security (20% of composite score)\n\n- **MUST** declare scope: \"This skill handles X. Does NOT handle Y.\"\n- **MUST** include security policy: refusal instructions + leakage prevention\n- Covers 6 categories: prompt-injection, jailbreak, instruction-override, data-exfiltration, pii-leak, scope-violation\n\n```\ncompositeScore = accuracy × 0.80 + securityScore × 0.20\n```\n\nScoring algorithms: `references\u002Fskillmark-benchmark-criteria.md`\nOptimization patterns: `references\u002Fbenchmark-optimization-guide.md`\n\n## SKILL.md Writing Rules\n\n- **Imperative form:** \"To accomplish X, do Y\" (not \"You should...\")\n- **Third-person metadata:** \"This skill should be used when...\"\n- **Pushy descriptions:** Include trigger contexts, be aggressive about activation\n- **No duplication:** Info lives in SKILL.md OR references, never both\n- **Concise:** Sacrifice grammar for brevity\n\n## Scripts\n\n| Script | Purpose |\n|--------|---------|\n| `scripts\u002Finit_skill.py` | Initialize new skill from template |\n| `scripts\u002Fpackage_skill.py` | Validate + package skill as zip |\n| `scripts\u002Fquick_validate.py` | Quick frontmatter validation |\n| `scripts\u002Frun_eval.py` | Test skill triggering on queries |\n| `scripts\u002Faggregate_benchmark.py` | Consolidate runs into summary stats |\n| `scripts\u002Fimprove_description.py` | AI-powered description optimization |\n| `scripts\u002Frun_loop.py` | Iterative optimization with train\u002Ftest split |\n| `scripts\u002Fgenerate_review.py` | Generate interactive HTML eval viewer |\n\n## Validation & Distribution\n\n- **Checklist**: `references\u002Fvalidation-checklist.md`\n- **Metadata**: `references\u002Fmetadata-quality-criteria.md`\n- **Tokens**: `references\u002Ftoken-efficiency-criteria.md`\n- **Scripts**: `references\u002Fscript-quality-criteria.md`\n- **Structure**: `references\u002Fstructure-organization-criteria.md`\n- **Design patterns**: `references\u002Fskill-design-patterns.md`\n- **Plugin Marketplaces**: `references\u002Fplugin-marketplace-overview.md`\n\n## External References\n\n- [Agent Skills Docs](https:\u002F\u002Fdocs.claude.com\u002Fen\u002Fdocs\u002Fclaude-code\u002Fskills.md)\n- [Best Practices](https:\u002F\u002Fdocs.claude.com\u002Fen\u002Fdocs\u002Fagents-and-tools\u002Fagent-skills\u002Fbest-practices.md)\n- [Plugin Marketplaces](https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fplugin-marketplaces.md)\n",{"name":5,"license":53,"metadata":54,"description":7,"argument-hint":57},"Complete terms in LICENSE.txt",{"author":55,"version":56},"claudekit","4.0.0","[skill-name or description]","main","b6e032cdf3f5b40e5203dd2ac38ecf4e6c265961",".opencode\u002Fskills\u002Fskill-creator","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104","2026-05-13 15:56:14",{"source":8,"skillName":5,"commands":65,"prompt":75,"zipAvailable":76},[66,69,72],{"tool":67,"command":68},"npx","npx skills add datnguyense1104\u002Fhom-nay-an-gi --skill \"ck:skill-creator\"",{"tool":70,"command":71},"bunx","bunx skills add datnguyense1104\u002Fhom-nay-an-gi --skill \"ck:skill-creator\"",{"tool":73,"command":74},"pnpm","pnpm dlx skills add datnguyense1104\u002Fhom-nay-an-gi --skill \"ck:skill-creator\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002FSKILL.md",true,[78,84,88,92,98,104,108,113,117,121,125,129,133,137,141,145,149,153,157,161,165,169,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,233,237,241,245],{"path":79,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":82,"sourceHtmlUrl":83},"agents\u002Fanalyzer.md","REFERENCE","参考文档",10376,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Fagents\u002Fanalyzer.md",{"path":85,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":86,"sourceHtmlUrl":87},"agents\u002Fcomparator.md",7287,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Fagents\u002Fcomparator.md",{"path":89,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":90,"sourceHtmlUrl":91},"agents\u002Fgrader.md",9049,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Fagents\u002Fgrader.md",{"path":93,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":96,"sourceHtmlUrl":97},"assets\u002Feval_review.html","ASSET","资产文件",7058,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Fassets\u002Feval_review.html",{"path":99,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":102,"sourceHtmlUrl":103},"eval-viewer\u002Fgenerate_review.py","SCRIPT","脚本",16365,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Feval-viewer\u002Fgenerate_review.py",{"path":105,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":106,"sourceHtmlUrl":107},"eval-viewer\u002Fviewer.html",44998,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Feval-viewer\u002Fviewer.html",{"path":109,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":112,"sourceHtmlUrl":16},"LICENSE.txt","LICENSE","许可证",11357,{"path":114,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":115,"sourceHtmlUrl":116},"references\u002Fbenchmark-optimization-guide.md",4174,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Fbenchmark-optimization-guide.md",{"path":118,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":119,"sourceHtmlUrl":120},"references\u002Fdistribution-guide.md",2668,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Fdistribution-guide.md",{"path":122,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":123,"sourceHtmlUrl":124},"references\u002Feval-infrastructure-guide.md",3518,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Feval-infrastructure-guide.md",{"path":126,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":127,"sourceHtmlUrl":128},"references\u002Feval-schemas.md",2571,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Feval-schemas.md",{"path":130,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":131,"sourceHtmlUrl":132},"references\u002Fmcp-skills-integration.md",2462,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Fmcp-skills-integration.md",{"path":134,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":135,"sourceHtmlUrl":136},"references\u002Fmetadata-quality-criteria.md",2605,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Fmetadata-quality-criteria.md",{"path":138,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":139,"sourceHtmlUrl":140},"references\u002Fplugin-marketplace-hosting.md",2813,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Fplugin-marketplace-hosting.md",{"path":142,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":143,"sourceHtmlUrl":144},"references\u002Fplugin-marketplace-overview.md",3094,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Fplugin-marketplace-overview.md",{"path":146,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":147,"sourceHtmlUrl":148},"references\u002Fplugin-marketplace-schema.md",3265,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Fplugin-marketplace-schema.md",{"path":150,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":151,"sourceHtmlUrl":152},"references\u002Fplugin-marketplace-sources.md",2913,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Fplugin-marketplace-sources.md",{"path":154,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":155,"sourceHtmlUrl":156},"references\u002Fplugin-marketplace-troubleshooting.md",2970,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Fplugin-marketplace-troubleshooting.md",{"path":158,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":159,"sourceHtmlUrl":160},"references\u002Fscript-quality-criteria.md",2055,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Fscript-quality-criteria.md",{"path":162,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":163,"sourceHtmlUrl":164},"references\u002Fskill-anatomy-and-requirements.md",2794,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Fskill-anatomy-and-requirements.md",{"path":166,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":167,"sourceHtmlUrl":168},"references\u002Fskill-creation-workflow.md",4504,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Fskill-creation-workflow.md",{"path":170,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":171,"sourceHtmlUrl":172},"references\u002Fskill-design-patterns.md",2783,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Fskill-design-patterns.md",{"path":174,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":175,"sourceHtmlUrl":176},"references\u002Fskillmark-benchmark-criteria.md",2986,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Fskillmark-benchmark-criteria.md",{"path":178,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":179,"sourceHtmlUrl":180},"references\u002Fstructure-organization-criteria.md",2172,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Fstructure-organization-criteria.md",{"path":182,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":183,"sourceHtmlUrl":184},"references\u002Ftesting-and-iteration.md",2523,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Ftesting-and-iteration.md",{"path":186,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":187,"sourceHtmlUrl":188},"references\u002Ftoken-efficiency-criteria.md",1990,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Ftoken-efficiency-criteria.md",{"path":190,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":191,"sourceHtmlUrl":192},"references\u002Ftroubleshooting-guide.md",2633,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Ftroubleshooting-guide.md",{"path":194,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":195,"sourceHtmlUrl":196},"references\u002Fvalidation-checklist.md",2692,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Fvalidation-checklist.md",{"path":198,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":199,"sourceHtmlUrl":200},"references\u002Fwriting-effective-instructions.md",2370,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Fwriting-effective-instructions.md",{"path":202,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":203,"sourceHtmlUrl":204},"references\u002Fyaml-frontmatter-reference.md",2967,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Freferences\u002Fyaml-frontmatter-reference.md",{"path":206,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":207,"sourceHtmlUrl":208},"scripts\u002Faggregate_benchmark.py",14386,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Fscripts\u002Faggregate_benchmark.py",{"path":210,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":211,"sourceHtmlUrl":212},"scripts\u002Fdebug.zip",21007,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Fscripts\u002Fdebug.zip",{"path":214,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":215,"sourceHtmlUrl":216},"scripts\u002Fencoding_utils.py",1088,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Fscripts\u002Fencoding_utils.py",{"path":218,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":219,"sourceHtmlUrl":220},"scripts\u002Fgenerate_report.py",12847,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Fscripts\u002Fgenerate_report.py",{"path":222,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":223,"sourceHtmlUrl":224},"scripts\u002Fimprove_description.py",10723,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Fscripts\u002Fimprove_description.py",{"path":226,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":227,"sourceHtmlUrl":228},"scripts\u002Finit_skill.py",12860,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Fscripts\u002Finit_skill.py",{"path":230,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":231,"sourceHtmlUrl":232},"scripts\u002Fpackage_skill.py",4538,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Fscripts\u002Fpackage_skill.py",{"path":234,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":235,"sourceHtmlUrl":236},"scripts\u002Fquick_validate.py",3838,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Fscripts\u002Fquick_validate.py",{"path":238,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":239,"sourceHtmlUrl":240},"scripts\u002Frun_eval.py",11468,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Fscripts\u002Frun_eval.py",{"path":242,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":243,"sourceHtmlUrl":244},"scripts\u002Frun_loop.py",13685,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Fscripts\u002Frun_loop.py",{"path":246,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":247,"sourceHtmlUrl":248},"scripts\u002Futils.py",1661,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002Fscripts\u002Futils.py",[250,274,300,334,360,389],{"skillNo":251,"name":252,"nameZh":6,"description":253,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":254,"categories":255,"keywords":257,"publishedAt":48},"01M71J2265Q3MAW1K2VJ7ZPQ4R","ck:web-testing","Web testing with Playwright, Vitest, k6. E2E\u002Funit\u002Fintegration\u002Fload\u002Fsecurity\u002Fvisual\u002Fa11y testing. Use for test automation, flakiness, Core Web Vitals, mobile gestures, cross-browser.","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fweb-testing\u002FSKILL.md",[256],{"categoryNo":20,"categoryName":21,"taxonomyType":22,"taxonomyTypeDesc":23},[44,258,259,260,29,261,262,263,264,265,266,267,268,269,270,271,47,272,273,41],"ck:web testing","web","web testing","unit","vitals","browser","a11y","mobile","security","k6","target","gestures","vitest","core","e2e","cross-browser",{"skillNo":275,"name":276,"nameZh":6,"description":277,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":278,"licenseFileUrl":6,"sourceHtmlUrl":279,"categories":280,"keywords":281,"publishedAt":48},"01M71J1YDT008XR78BXVP0P8AJ","ck:web-frameworks","Build with Next.js (App Router, RSC, SSR, ISR), Turborepo monorepos. Use for React apps, server rendering, build optimization, caching strategies, shared dependencies.","MIT","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fweb-frameworks\u002FSKILL.md",[],[282,283,284,259,29,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299],"ck:web frameworks","frameworks","web frameworks","shared","app","apps","caching","react","router","strategies","server","rsc","next","ssr","rendering","turborepo","framework","feature",{"skillNo":301,"name":302,"nameZh":6,"description":303,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":278,"licenseFileUrl":304,"sourceHtmlUrl":305,"categories":306,"keywords":315,"publishedAt":48},"01M71J1DWTE1QMZHACDGDGE0GC","ck:ui-styling","Style UIs with shadcn\u002Fui components (Radix UI + Tailwind CSS). Use for accessible components, themes, dark mode, responsive layouts, design systems, color customization.","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fui-styling\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fui-styling\u002FSKILL.md",[307,310],{"categoryNo":308,"categoryName":309,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":311,"categoryName":312,"taxonomyType":313,"taxonomyTypeDesc":314},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[316,317,318,319,29,320,321,322,323,324,325,326,327,328,329,330,331,332,47,333],"ui styling","ck:ui styling","styling","ui","css","Tailwind","mode","design","themes","design systems","components","component","layout","responsive","shadcn","color","dark","ui components",{"skillNo":335,"name":336,"nameZh":6,"description":337,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":278,"licenseFileUrl":6,"sourceHtmlUrl":338,"categories":339,"keywords":343,"publishedAt":48},"01M71J1AAZNC9P7PJX93D5K1CR","ck:threejs","Build 3D web apps with Three.js (WebGL\u002FWebGPU). 556 searchable examples, 60 API classes, 20 use cases. Actions: create 3D scene, load model, add animation, implement physics, build VR\u002FXR. Topics: GLTF loader, PBR materials, particle effects, shadows, post-processing, compute shaders, TSL. Integrations: WebGPU, physics engines, spatial audio.","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fthreejs\u002FSKILL.md",[340],{"categoryNo":341,"categoryName":342,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000010","后端与接口",[336,29,344,345,346,347,348,349,350,351,352,353,287,354,37,355,356,357,358,359],"threejs","Animation","3D","processing","Audio","physics","model","actions","webgpu","effects","api","shaders","post-processing","vr","add","integrations",{"skillNo":361,"name":362,"nameZh":6,"description":363,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":278,"licenseFileUrl":6,"sourceHtmlUrl":364,"categories":365,"keywords":372,"publishedAt":48},"01M71J0X8QYTTPZE6G1VNHXS28","ck:stitch","AI design generation with Google Stitch. Generate UI designs from text prompts, export Tailwind\u002FHTML\u002FDESIGN.md, orchestrate design-to-code pipeline. Use for rapid prototyping, UI generation, design exploration.","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fstitch\u002FSKILL.md",[366,367,368,371],{"categoryNo":308,"categoryName":309,"taxonomyType":22,"taxonomyTypeDesc":23},{"categoryNo":25,"categoryName":26,"taxonomyType":22,"taxonomyTypeDesc":23},{"categoryNo":369,"categoryName":370,"taxonomyType":313,"taxonomyTypeDesc":314},"01JBSEEDCAT000000000000030","开发工程师",{"categoryNo":311,"categoryName":312,"taxonomyType":313,"taxonomyTypeDesc":314},[373,362,29,374,375,321,376,377,323,378,379,380,381,382,383,384,385,386,387,388],"stitch","orchestrate","exploration","pipeline","prototyping","Bash","code","text","generate","read","write","edit","google","action","export","google stitch",{"skillNo":390,"name":391,"nameZh":6,"description":392,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":278,"licenseFileUrl":6,"sourceHtmlUrl":393,"categories":394,"keywords":395,"publishedAt":48},"01M71J0KB0KS11BS9RYTP95AQB","ck:ship","Ship pipeline: merge main, test, review, commit, push, PR. Single command from feature branch to PR URL. Use for shipping official releases to main\u002Fmaster or beta releases to dev\u002Fbeta branches.","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fship\u002FSKILL.md",[],[391,29,396,397,398,399,400,299,47,376,401,402,403,404,405,406,58,41,407,408],"ship","branch","push","official","pr","beta","branches","tests","dev","single","journal","URL","commit"]