[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ESFVTAXWFN8R9YGQME22RM":3,"skill-same:01M6ESFVTAXWFN8R9YGQME22RM":77},{"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":28,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":47,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":49,"updatedAt":50,"install":51,"resources":64},"01M6ESFVTAXWFN8R9YGQME22RM","writing-plans",null,"Create detailed implementation plans with granular tasks. Use before implementing features or complex changes.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdmjgilbert\u002Fwriting-plans\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[29,30,31,32,33,34,35,36],"writing","writing plans","plans","tasks","create","use","implementation","with","2026-11-10 10:12:30",false,"---\nname: writing-plans\ndescription: Create detailed implementation plans with granular tasks. Use before implementing features or complex changes.\n---\n\n# Writing Implementation Plans\n\nCreate detailed plans for engineers with minimal codebase familiarity. Break work into granular, testable tasks following TDD principles.\n\n## When to Use\n\n- Before implementing new features\n- Before complex refactoring\n- When work spans multiple files\u002Fcomponents\n- When coordinating multi-agent work\n\n## Plan Location\n\nSave all plans to: `docs\u002Fplans\u002FYYYY-MM-DD-\u003Cfeature-name>.md`\n\n## Plan Structure\n\n### Header (Required)\n\n```markdown\n# Plan: [Feature Name]\n\n**Goal:** [One sentence describing what this achieves]\n\n**Architecture:** [2-3 sentences on approach]\n\n**Tech Stack:** [Relevant technologies]\n\n**Files Affected:**\n\n- `path\u002Fto\u002Ffile1.ts` - [what changes]\n- `path\u002Fto\u002Ffile2.ts` - [what changes]\n```\n\n### Task Format\n\nEach task = single 2-5 minute action:\n\n```markdown\n## Task 1: [Descriptive Name]\n\n**Action:** Create | Modify | Test\n\n**Files:**\n\n- Create: `src\u002Fcomponents\u002FButton.tsx`\n- Test: `src\u002Fcomponents\u002FButton.test.tsx`\n\n**Steps:**\n\n1. Write failing test for [behavior]\n2. Verify test fails with expected error\n3. Implement minimal code to pass\n4. Verify test passes\n5. Commit: `test(button): add click handler test`\n\n**Verification:**\n\n- [ ] Test fails initially\n- [ ] Test passes after implementation\n- [ ] No other tests broken\n```\n\n### Task Granularity\n\nEach step should be:\n\n- Single action (one file, one change)\n- Independently verifiable\n- Following TDD (test first)\n- Committable\n\n**Too big:** \"Implement authentication system\"\n**Right size:** \"Write failing test for login validation\"\n\n## Design Principles\n\n- **DRY** - Don't Repeat Yourself\n- **YAGNI** - You Aren't Gonna Need It (no speculative features)\n- **TDD** - Test first, always\n\n## After Writing Plan\n\nOffer execution options:\n\n1. **Subagent-Driven:** Execute in current session with fresh subagent per task\n2. **Parallel Session:** User opens new session with executing-plans skill\n\n## Example Plan\n\n```markdown\n# Plan: Add User Avatar Component\n\n**Goal:** Display user avatar with fallback initials\n\n**Architecture:** React component with image loading state, fallback to initials derived from user name\n\n**Tech Stack:** React, TypeScript, Tailwind CSS\n\n**Files Affected:**\n\n- `src\u002Fcomponents\u002FAvatar.tsx` - new component\n- `src\u002Fcomponents\u002FAvatar.test.tsx` - tests\n- `src\u002Fcomponents\u002Findex.ts` - export\n\n## Task 1: Create Avatar Test File\n\n**Action:** Create\n**Files:** `src\u002Fcomponents\u002FAvatar.test.tsx`\n\n**Steps:**\n\n1. Create test file with describe block\n2. Write failing test: renders initials when no image\n3. Verify test fails (component doesn't exist)\n\n**Verification:**\n\n- [ ] Test file created\n- [ ] Test fails with \"Cannot find module\"\n\n## Task 2: Create Basic Avatar Component\n\n**Action:** Create\n**Files:** `src\u002Fcomponents\u002FAvatar.tsx`\n\n**Steps:**\n\n1. Create component that renders initials\n2. Accept `name` prop, extract initials\n3. Verify test from Task 1 passes\n\n**Verification:**\n\n- [ ] Component renders\n- [ ] Test passes\n- [ ] Initials display correctly\n```\n","# Writing Implementation Plans\n\nCreate detailed plans for engineers with minimal codebase familiarity. Break work into granular, testable tasks following TDD principles.\n\n## When to Use\n\n- Before implementing new features\n- Before complex refactoring\n- When work spans multiple files\u002Fcomponents\n- When coordinating multi-agent work\n\n## Plan Location\n\nSave all plans to: `docs\u002Fplans\u002FYYYY-MM-DD-\u003Cfeature-name>.md`\n\n## Plan Structure\n\n### Header (Required)\n\n```markdown\n# Plan: [Feature Name]\n\n**Goal:** [One sentence describing what this achieves]\n\n**Architecture:** [2-3 sentences on approach]\n\n**Tech Stack:** [Relevant technologies]\n\n**Files Affected:**\n\n- `path\u002Fto\u002Ffile1.ts` - [what changes]\n- `path\u002Fto\u002Ffile2.ts` - [what changes]\n```\n\n### Task Format\n\nEach task = single 2-5 minute action:\n\n```markdown\n## Task 1: [Descriptive Name]\n\n**Action:** Create | Modify | Test\n\n**Files:**\n\n- Create: `src\u002Fcomponents\u002FButton.tsx`\n- Test: `src\u002Fcomponents\u002FButton.test.tsx`\n\n**Steps:**\n\n1. Write failing test for [behavior]\n2. Verify test fails with expected error\n3. Implement minimal code to pass\n4. Verify test passes\n5. Commit: `test(button): add click handler test`\n\n**Verification:**\n\n- [ ] Test fails initially\n- [ ] Test passes after implementation\n- [ ] No other tests broken\n```\n\n### Task Granularity\n\nEach step should be:\n\n- Single action (one file, one change)\n- Independently verifiable\n- Following TDD (test first)\n- Committable\n\n**Too big:** \"Implement authentication system\"\n**Right size:** \"Write failing test for login validation\"\n\n## Design Principles\n\n- **DRY** - Don't Repeat Yourself\n- **YAGNI** - You Aren't Gonna Need It (no speculative features)\n- **TDD** - Test first, always\n\n## After Writing Plan\n\nOffer execution options:\n\n1. **Subagent-Driven:** Execute in current session with fresh subagent per task\n2. **Parallel Session:** User opens new session with executing-plans skill\n\n## Example Plan\n\n```markdown\n# Plan: Add User Avatar Component\n\n**Goal:** Display user avatar with fallback initials\n\n**Architecture:** React component with image loading state, fallback to initials derived from user name\n\n**Tech Stack:** React, TypeScript, Tailwind CSS\n\n**Files Affected:**\n\n- `src\u002Fcomponents\u002FAvatar.tsx` - new component\n- `src\u002Fcomponents\u002FAvatar.test.tsx` - tests\n- `src\u002Fcomponents\u002Findex.ts` - export\n\n## Task 1: Create Avatar Test File\n\n**Action:** Create\n**Files:** `src\u002Fcomponents\u002FAvatar.test.tsx`\n\n**Steps:**\n\n1. Create test file with describe block\n2. Write failing test: renders initials when no image\n3. Verify test fails (component doesn't exist)\n\n**Verification:**\n\n- [ ] Test file created\n- [ ] Test fails with \"Cannot find module\"\n\n## Task 2: Create Basic Avatar Component\n\n**Action:** Create\n**Files:** `src\u002Fcomponents\u002FAvatar.tsx`\n\n**Steps:**\n\n1. Create component that renders initials\n2. Accept `name` prop, extract initials\n3. Verify test from Task 1 passes\n\n**Verification:**\n\n- [ ] Component renders\n- [ ] Test passes\n- [ ] Initials display correctly\n```\n",{"name":5,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fdmjgilbert\u002Fwriting-plans",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill writing-plans",{"tool":57,"command":58},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill writing-plans",{"tool":60,"command":61},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill writing-plans","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdmjgilbert\u002Fwriting-plans\u002FSKILL.md",true,[65,71],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"customize.toml","OTHER","其他",1646,"https:\u002F\u002Fgithub.com\u002Fdeveloperworks\u002Frust-supervisor\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fgds-sprint-status\u002Fcustomize.toml",{"path":72,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":75,"sourceHtmlUrl":76},"skill-report.json","REFERENCE","参考文档",11387,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdmjgilbert\u002Fwriting-plans\u002Fskill-report.json",[78,90,100,109,115,122],{"skillNo":79,"name":80,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":86,"publishedAt":37},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[83],{"categoryNo":84,"categoryName":85,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[87,88,89],"model","model hierarchy","model hierarchy skill",{"skillNo":91,"name":92,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":96,"publishedAt":37},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[95],{"categoryNo":84,"categoryName":85,"taxonomyType":21,"taxonomyTypeDesc":22},[97,98,99],"MCP","zoom","zoom mcp",{"skillNo":101,"name":102,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":105,"publishedAt":37},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[106,107,108,98],"sdk","zoom apps sdk","apps",{"skillNo":110,"name":111,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":37},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[111],{"skillNo":116,"name":117,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":121,"publishedAt":37},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[120],{"categoryNo":84,"categoryName":85,"taxonomyType":21,"taxonomyTypeDesc":22},[117],{"skillNo":123,"name":124,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":37},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[124]]