[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6H5H10KBGT5G1KZX8J67C2D":3,"skill-same:01M6H5H10KBGT5G1KZX8J67C2D":64},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":45,"commitSha":46,"skillDirectory":5,"forksCount":13,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":49,"install":50,"resources":63},"01M6H5H10KBGT5G1KZX8J67C2D","openspec-apply-change",null,"Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.","cookeyholder\u002Fusing-ai-skills","cookeyholder","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F75561931?v=4","01M6H58KRK3MSWHTTB1Y7Q82A1","01M6H58KX5T98CH5KGFGG3K0WJ",0,"MIT","https:\u002F\u002Fgithub.com\u002Fcookeyholder\u002Fusing-ai-skills\u002Fblob\u002Fmain\u002Fopenspec-apply-change\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"change","openspec apply change","apply","openspec apply","openspec","work","when","implementing","implementation","use","user","cli","continue","Bash","start","tasks","implement","2026-11-10 10:12:30",false,"---\nname: openspec-apply-change\ndescription: Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.\nallowed-tools: Bash(openspec:*)\nlicense: MIT\ncompatibility: Requires openspec CLI.\nmetadata:\n  author: openspec\n  version: \"1.0\"\n  generatedBy: \"1.6.0\"\n---\n\nImplement tasks from an OpenSpec change.\n\n**Store selection:** If the user names a store (a store is a standalone OpenSpec repo registered on this machine) or the work lives in one, run `openspec store list --json` to discover registered store ids, then pass `--store \u003Cid>` on the commands that read or write specs and changes (`new change`, `status`, `instructions`, `list`, `show`, `validate`, `archive`, `doctor`, `context`). Other commands do not take the flag. Hints printed by commands already carry the flag; keep it on follow-ups. Without a store, commands act on the nearest local `openspec\u002F` root.\n\n**Input**: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.\n\n**Steps**\n\n1. **Select the change**\n\n   If a name is provided, use it. Otherwise:\n   - Infer from conversation context if the user mentioned a change\n   - Auto-select if only one active change exists\n   - If ambiguous, run `openspec list --json` to get available changes and use the **AskUserQuestion tool** to let the user select\n\n   Always announce: \"Using change: \u003Cname>\" and how to override (e.g., `\u002Fopsx-apply \u003Cother>`).\n\n2. **Check status to understand the schema**\n   ```bash\n   openspec status --change \"\u003Cname>\" --json\n   ```\n   Parse the JSON to understand:\n   - `schemaName`: The workflow being used (e.g., \"spec-driven\")\n   - `planningHome`, `changeRoot`, and `actionContext`: planning scope and edit constraints\n   - Which artifact contains the tasks (typically \"tasks\" for spec-driven, check status for others)\n\n3. **Get apply instructions**\n\n   ```bash\n   openspec instructions apply --change \"\u003Cname>\" --json\n   ```\n\n   This returns:\n   - `contextFiles`: artifact ID -> array of concrete file paths (varies by schema - could be proposal\u002Fspecs\u002Fdesign\u002Ftasks or spec\u002Ftests\u002Fimplementation\u002Fdocs)\n   - Progress (total, complete, remaining)\n   - Task list with status\n   - Dynamic instruction based on current state\n\n   **Handle states:**\n   - If `state: \"blocked\"` (missing artifacts): show message, suggest using openspec-continue-change\n   - If `state: \"all_done\"`: congratulate, suggest archive\n   - Otherwise: proceed to implementation\n\n4. **Read context files**\n\n   Read every file path listed under `contextFiles` from the apply instructions output.\n   The files depend on the schema being used:\n   - **spec-driven**: proposal, specs, design, tasks\n   - Other schemas: follow the contextFiles from CLI output\n\n5. **Show current progress**\n\n   Display:\n   - Schema being used\n   - Progress: \"N\u002FM tasks complete\"\n   - Remaining tasks overview\n   - Dynamic instruction from CLI\n\n6. **Implement tasks (loop until done or blocked)**\n\n   For each pending task:\n   - Show which task is being worked on\n   - Make the code changes required\n   - Keep changes minimal and focused\n   - Mark task complete in the tasks file: `- [ ]` → `- [x]`\n   - Continue to next task\n\n   **Pause if:**\n   - Task is unclear → ask for clarification\n   - Implementation reveals a design issue → suggest updating artifacts\n   - Error or blocker encountered → report and wait for guidance\n   - User interrupts\n\n7. **On completion or pause, show status**\n\n   Display:\n   - Tasks completed this session\n   - Overall progress: \"N\u002FM tasks complete\"\n   - If all done: suggest archive\n   - If paused: explain why and wait for guidance\n\n**Output During Implementation**\n\n```\n## Implementing: \u003Cchange-name> (schema: \u003Cschema-name>)\n\nWorking on task 3\u002F7: \u003Ctask description>\n[...implementation happening...]\n✓ Task complete\n\nWorking on task 4\u002F7: \u003Ctask description>\n[...implementation happening...]\n✓ Task complete\n```\n\n**Output On Completion**\n\n```\n## Implementation Complete\n\n**Change:** \u003Cchange-name>\n**Schema:** \u003Cschema-name>\n**Progress:** 7\u002F7 tasks complete ✓\n\n### Completed This Session\n- [x] Task 1\n- [x] Task 2\n...\n\nAll tasks complete! Ready to archive this change.\n```\n\n**Output On Pause (Issue Encountered)**\n\n```\n## Implementation Paused\n\n**Change:** \u003Cchange-name>\n**Schema:** \u003Cschema-name>\n**Progress:** 4\u002F7 tasks complete\n\n### Issue Encountered\n\u003Cdescription of the issue>\n\n**Options:**\n1. \u003Coption 1>\n2. \u003Coption 2>\n3. Other approach\n\nWhat would you like to do?\n```\n\n**Guardrails**\n- Keep going through tasks until done or blocked\n- Always read context files before starting (from the apply instructions output)\n- If task is ambiguous, pause and ask before implementing\n- If implementation reveals issues, pause and suggest artifact updates\n- Keep code changes minimal and scoped to each task\n- Update task checkbox immediately after completing each task\n- Pause on errors, blockers, or unclear requirements - don't guess\n- Use contextFiles from CLI output, don't assume specific file names\n\n**Fluid Workflow Integration**\n\nThis skill supports the \"actions on a change\" model:\n\n- **Can be invoked anytime**: Before all artifacts are done (if tasks exist), after partial implementation, interleaved with other actions\n- **Allows artifact updates**: If implementation reveals design issues, suggest updating artifacts - not phase-locked, work fluidly\n","Implement tasks from an OpenSpec change.\n\n**Store selection:** If the user names a store (a store is a standalone OpenSpec repo registered on this machine) or the work lives in one, run `openspec store list --json` to discover registered store ids, then pass `--store \u003Cid>` on the commands that read or write specs and changes (`new change`, `status`, `instructions`, `list`, `show`, `validate`, `archive`, `doctor`, `context`). Other commands do not take the flag. Hints printed by commands already carry the flag; keep it on follow-ups. Without a store, commands act on the nearest local `openspec\u002F` root.\n\n**Input**: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.\n\n**Steps**\n\n1. **Select the change**\n\n   If a name is provided, use it. Otherwise:\n   - Infer from conversation context if the user mentioned a change\n   - Auto-select if only one active change exists\n   - If ambiguous, run `openspec list --json` to get available changes and use the **AskUserQuestion tool** to let the user select\n\n   Always announce: \"Using change: \u003Cname>\" and how to override (e.g., `\u002Fopsx-apply \u003Cother>`).\n\n2. **Check status to understand the schema**\n   ```bash\n   openspec status --change \"\u003Cname>\" --json\n   ```\n   Parse the JSON to understand:\n   - `schemaName`: The workflow being used (e.g., \"spec-driven\")\n   - `planningHome`, `changeRoot`, and `actionContext`: planning scope and edit constraints\n   - Which artifact contains the tasks (typically \"tasks\" for spec-driven, check status for others)\n\n3. **Get apply instructions**\n\n   ```bash\n   openspec instructions apply --change \"\u003Cname>\" --json\n   ```\n\n   This returns:\n   - `contextFiles`: artifact ID -> array of concrete file paths (varies by schema - could be proposal\u002Fspecs\u002Fdesign\u002Ftasks or spec\u002Ftests\u002Fimplementation\u002Fdocs)\n   - Progress (total, complete, remaining)\n   - Task list with status\n   - Dynamic instruction based on current state\n\n   **Handle states:**\n   - If `state: \"blocked\"` (missing artifacts): show message, suggest using openspec-continue-change\n   - If `state: \"all_done\"`: congratulate, suggest archive\n   - Otherwise: proceed to implementation\n\n4. **Read context files**\n\n   Read every file path listed under `contextFiles` from the apply instructions output.\n   The files depend on the schema being used:\n   - **spec-driven**: proposal, specs, design, tasks\n   - Other schemas: follow the contextFiles from CLI output\n\n5. **Show current progress**\n\n   Display:\n   - Schema being used\n   - Progress: \"N\u002FM tasks complete\"\n   - Remaining tasks overview\n   - Dynamic instruction from CLI\n\n6. **Implement tasks (loop until done or blocked)**\n\n   For each pending task:\n   - Show which task is being worked on\n   - Make the code changes required\n   - Keep changes minimal and focused\n   - Mark task complete in the tasks file: `- [ ]` → `- [x]`\n   - Continue to next task\n\n   **Pause if:**\n   - Task is unclear → ask for clarification\n   - Implementation reveals a design issue → suggest updating artifacts\n   - Error or blocker encountered → report and wait for guidance\n   - User interrupts\n\n7. **On completion or pause, show status**\n\n   Display:\n   - Tasks completed this session\n   - Overall progress: \"N\u002FM tasks complete\"\n   - If all done: suggest archive\n   - If paused: explain why and wait for guidance\n\n**Output During Implementation**\n\n```\n## Implementing: \u003Cchange-name> (schema: \u003Cschema-name>)\n\nWorking on task 3\u002F7: \u003Ctask description>\n[...implementation happening...]\n✓ Task complete\n\nWorking on task 4\u002F7: \u003Ctask description>\n[...implementation happening...]\n✓ Task complete\n```\n\n**Output On Completion**\n\n```\n## Implementation Complete\n\n**Change:** \u003Cchange-name>\n**Schema:** \u003Cschema-name>\n**Progress:** 7\u002F7 tasks complete ✓\n\n### Completed This Session\n- [x] Task 1\n- [x] Task 2\n...\n\nAll tasks complete! Ready to archive this change.\n```\n\n**Output On Pause (Issue Encountered)**\n\n```\n## Implementation Paused\n\n**Change:** \u003Cchange-name>\n**Schema:** \u003Cschema-name>\n**Progress:** 4\u002F7 tasks complete\n\n### Issue Encountered\n\u003Cdescription of the issue>\n\n**Options:**\n1. \u003Coption 1>\n2. \u003Coption 2>\n3. Other approach\n\nWhat would you like to do?\n```\n\n**Guardrails**\n- Keep going through tasks until done or blocked\n- Always read context files before starting (from the apply instructions output)\n- If task is ambiguous, pause and ask before implementing\n- If implementation reveals issues, pause and suggest artifact updates\n- Keep code changes minimal and scoped to each task\n- Update task checkbox immediately after completing each task\n- Pause on errors, blockers, or unclear requirements - don't guess\n- Use contextFiles from CLI output, don't assume specific file names\n\n**Fluid Workflow Integration**\n\nThis skill supports the \"actions on a change\" model:\n\n- **Can be invoked anytime**: Before all artifacts are done (if tasks exist), after partial implementation, interleaved with other actions\n- **Allows artifact updates**: If implementation reveals design issues, suggest updating artifacts - not phase-locked, work fluidly\n",{"name":5,"license":14,"metadata":40,"description":7,"allowed-tools":43,"compatibility":44},{"author":22,"version":41,"generatedBy":42},"1.0","1.6.0","Bash(openspec:*)","Requires openspec CLI.","main","9cec288199a31b49d95245753d0eb94ebc3f099b","https:\u002F\u002Fgithub.com\u002Fcookeyholder\u002Fusing-ai-skills","https:\u002F\u002Fgithub.com\u002Fcookeyholder","2026-11-09 23:14:08",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add cookeyholder\u002Fusing-ai-skills --skill openspec-apply-change",{"tool":56,"command":57},"bunx","bunx skills add cookeyholder\u002Fusing-ai-skills --skill openspec-apply-change",{"tool":59,"command":60},"pnpm","pnpm dlx skills add cookeyholder\u002Fusing-ai-skills --skill openspec-apply-change","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcookeyholder\u002Fusing-ai-skills\u002Fblob\u002Fmain\u002Fopenspec-apply-change\u002FSKILL.md",true,[],[65,99,125,153,182,210],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":69,"licenseFileUrl":70,"sourceHtmlUrl":71,"categories":72,"keywords":81,"publishedAt":35},"01M6H5RCXCG2J10DQJZEXG5YD5","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fcookeyholder\u002Fusing-ai-skills\u002Fblob\u002Fmain\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fcookeyholder\u002Fusing-ai-skills\u002Fblob\u002Fmain\u002Fwebapp-testing\u002FSKILL.md",[73,78],{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":79,"categoryName":80,"taxonomyType":76,"taxonomyTypeDesc":77},"01JBSEEDCAT000000000000009","前端开发",[82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],"testing","webapp testing","webapp","frontend","screenshots","playwright","web","debugging","toolkit","browser","ui","logs","applications","behavior","local","with","for",{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":69,"licenseFileUrl":103,"sourceHtmlUrl":104,"categories":105,"keywords":107,"publishedAt":35},"01M6H5R995MJ6KTH5RA7P0ZJTW","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","https:\u002F\u002Fgithub.com\u002Fcookeyholder\u002Fusing-ai-skills\u002Fblob\u002Fmain\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fcookeyholder\u002Fusing-ai-skills\u002Fblob\u002Fmain\u002Fweb-artifacts-builder\u002FSKILL.md",[106],{"categoryNo":79,"categoryName":80,"taxonomyType":76,"taxonomyTypeDesc":77},[108,88,109,110,111,85,112,113,114,115,116,117,118,119,27,120,121,122,123,98,124],"web artifacts builder","artifacts","artifacts builder","builder","css","components","react","routing","state management","state","file","Tailwind","single-file","simple","ui components","multi","single",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":69,"licenseFileUrl":129,"sourceHtmlUrl":130,"categories":131,"keywords":135,"publishedAt":35},"01M6H5P8JRJQ89YNEJ0XPPRYBW","theme-factory","Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors\u002Ffonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.","https:\u002F\u002Fgithub.com\u002Fcookeyholder\u002Fusing-ai-skills\u002Fblob\u002Fmain\u002Ftheme-factory\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fcookeyholder\u002Fusing-ai-skills\u002Fblob\u002Fmain\u002Ftheme-factory\u002FSKILL.md",[132],{"categoryNo":133,"categoryName":134,"taxonomyType":76,"taxonomyTypeDesc":77},"01JBSEEDCAT000000000000015","视觉设计",[136,137,138,139,90,140,109,141,142,143,144,145,146,147,148,97,149,150,151,98,20,152],"theme factory","factory","theme","docs","generate","SET","fly","slides","landing","styling","artifact","pages","themes","you","fonts","can","new",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":69,"licenseFileUrl":157,"sourceHtmlUrl":158,"categories":159,"keywords":166,"publishedAt":35},"01M6H5NB01PC5BCQR35K20M489","slack-gif-creator","Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like \"make me a GIF of X doing Y for Slack.\"","https:\u002F\u002Fgithub.com\u002Fcookeyholder\u002Fusing-ai-skills\u002Fblob\u002Fmain\u002Fslack-gif-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fcookeyholder\u002Fusing-ai-skills\u002Fblob\u002Fmain\u002Fslack-gif-creator\u002FSKILL.md",[160,163],{"categoryNo":161,"categoryName":162,"taxonomyType":76,"taxonomyTypeDesc":77},"01JBSEEDCAT000000000000005","邮件与沟通",{"categoryNo":164,"categoryName":165,"taxonomyType":76,"taxonomyTypeDesc":77},"01JBSEEDCAT000000000000016","图像与多媒体",[167,168,169,170,171,172,173,174,175,27,176,177,178,179,180,98,181,24],"slack gif creator","slack","gif","creator","validation","Tools","constraints","Animation","knowledge","me","users","make","Utilities","concepts","request",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":69,"licenseFileUrl":186,"sourceHtmlUrl":187,"categories":188,"keywords":192,"publishedAt":35},"01M6H5N5RHSENZ03TFAB956J4V","skill-creator","Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.","https:\u002F\u002Fgithub.com\u002Fcookeyholder\u002Fusing-ai-skills\u002Fblob\u002Fmain\u002Fskill-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fcookeyholder\u002Fusing-ai-skills\u002Fblob\u002Fmain\u002Fskill-creator\u002FSKILL.md",[189],{"categoryNo":190,"categoryName":191,"taxonomyType":76,"taxonomyTypeDesc":77},"01JBSEEDCAT000000000000023","Skill与智能体开发",[193,170,194,195,196,197,198,199,200,201,202,27,203,204,205,177,206,98,207,208,209,24,152],"skill creator","performance","run evals","variance analysis","create","run","benchmark","analysis","improve","edit","evals","optimize","existing skill","From Scratch","accuracy","Existing","scratch",{"skillNo":211,"name":212,"nameZh":6,"description":213,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":69,"licenseFileUrl":214,"sourceHtmlUrl":215,"categories":216,"keywords":218,"publishedAt":35},"01M6H5GMG092AS5HM45XEQ68H4","mcp-builder","Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node\u002FTypeScript (MCP SDK).","https:\u002F\u002Fgithub.com\u002Fcookeyholder\u002Fusing-ai-skills\u002Fblob\u002Fmain\u002Fmcp-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fcookeyholder\u002Fusing-ai-skills\u002Fblob\u002Fmain\u002Fmcp-builder\u002FSKILL.md",[217],{"categoryNo":190,"categoryName":191,"taxonomyType":76,"taxonomyTypeDesc":77},[219,220,111,221,222,223,224,225,226,172,227,228,229,230,27,231,232,233,97,98,24],"MCP","mcp builder","typescript","python","llms","model context protocol","fastmcp","services","model","node","context","guide","integrate","mcp sdk","building mcp servers"]