[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CTGH6DCNSBZPQ256NSF9X6":3,"skill-same:01M6CTGH6DCNSBZPQ256NSF9X6":65},{"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":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":50,"updatedAt":51,"install":52,"resources":64},"01M6CTGH6DCNSBZPQ256NSF9X6","test-plan-generator",null,"Generates a test plan from a PRD's acceptance criteria. Use when a feature needs a testing strategy before implementation.","vibbs\u002Fcompany-os","vibbs","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F7379149?v=4","01M6CT6M03CAS1H7RA89F3965B","Vibbs Dod","01M6CT6M4MY60C9FFQ3AAR2RSK",6,"MIT","https:\u002F\u002Fgithub.com\u002Fvibbs\u002Fcompany-os\u002Fblob\u002Fmain\u002Fos\u002Fskills\u002Ftest-plan-generator\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35],"test","test plan","test plan generator","plan","testing","acceptance","prd","strategy","use","implementation","acceptance criteria","testing strategy","2026-11-10 10:12:30",false,"---\nname: test-plan-generator\ndescription: Generates a test plan from a PRD's acceptance criteria. Use when a feature needs a testing strategy before implementation.\nruntimes:\n  claude:\n    user-invocable: true\n---\n\n# Test Plan Generator\n\n## Reference\n- **ID**: S-QA-01\n- **Category**: QA\n- **Inputs**: PRD with acceptance criteria, architecture context, risk areas\n- **Outputs**: test plan document → artifacts\u002Fqa\u002F\n- **Used by**: QA Agent\n- **Tool scripts**: .\u002Ftools\u002Fartifact\u002Fvalidate.sh\n\n## Purpose\nTransforms PRD acceptance criteria into a structured test plan covering functional, edge-case, integration, and regression scenarios, ensuring every requirement has verifiable test coverage before code is written.\n\n## Procedure\n1. Read the PRD and extract all acceptance criteria.\n2. For each acceptance criterion, derive one or more test scenarios.\n3. Classify each scenario: functional, edge case, integration, regression, or destructive.\n4. Define test data requirements for each scenario.\n5. Identify dependencies: APIs, services, or fixtures needed for test execution.\n\n### Step 4.5: Map Test Data to Seed Scenarios\n\nFor each test scenario that requires pre-existing data, map it to a seed scenario from the `\u002Fseed-data` skill:\n\n| Test Type | Recommended Seed Scenario | Rationale |\n|-----------|--------------------------|-----------|\n| Happy path \u002F smoke tests | `nominal` | Realistic data diversity for standard flows |\n| Edge case \u002F boundary tests | `edge-cases` | Pre-populated boundary values (unicode, max-length, epoch dates) |\n| Empty state \u002F onboarding | `empty` | Clean slate to test first-run experience |\n| Error handling | `error-states` | Soft-deleted records, expired tokens, failed payments |\n| Performance \u002F load tests | `high-volume` | 1,000–10,000 records to reveal N+1 queries |\n| Unit tests \u002F fast checks | `minimal` | 1–2 records, minimal fixtures |\n\nInclude a **Test Data Requirements** section in the test plan artifact:\n\n```\n## Test Data Requirements\n\n| Scenario Name | Seed Scenario | Command | Key Entities |\n|---------------|--------------|---------|--------------|\n| User registration flow | empty | .\u002Ftools\u002Fdb\u002Fseed.sh empty | none (clean slate) |\n| Dashboard with data | nominal | .\u002Ftools\u002Fdb\u002Fseed.sh nominal | User, Post, Comment |\n| Pagination at scale | high-volume | .\u002Ftools\u002Fdb\u002Fseed.sh high-volume | User, Post |\n```\n\nIf a seed data catalog does not yet exist in `artifacts\u002Ftest-data\u002F`, note it as a dependency: \"Run `\u002Fseed-data` before executing these test scenarios.\"\n\n6. Prioritize scenarios by risk: high-risk paths get more thorough coverage.\n7. Define pass\u002Ffail criteria for each scenario.\n8. Map scenarios to test types: unit, integration, E2E, manual exploratory.\n9. Estimate effort for test implementation.\n10. Save the test plan to `artifacts\u002Fqa\u002F`.\n11. Validate the artifact using `.\u002Ftools\u002Fartifact\u002Fvalidate.sh`.\n\n## Mobile Test Scenarios\n\nIf `platforms.targets` in `company.config.yaml` includes mobile targets, add the following test categories:\n\n### Responsive Web (when `platforms.responsive: true`)\n- **Viewport testing**: Verify layouts at mobile (320px, 375px), tablet (768px), and desktop (1024px, 1440px) breakpoints\n- **Touch interaction**: All interactive elements meet 44x44px minimum touch target\n- **Orientation**: Layouts work in both portrait and landscape\n- **Soft keyboard**: Forms remain accessible when virtual keyboard is open\n- **Scroll behavior**: No horizontal scroll on mobile viewports\n\n### Native Mobile (when `platforms.targets` includes `ios` or `android`)\n- **Platform-specific**: iOS safe area insets, Android back button behavior\n- **Offline behavior**: Feature degrades gracefully without network\n- **Performance**: Screen transitions \u003C 300ms, list scrolling at 60fps\n- **Deep linking**: Feature is reachable via deep link if applicable\n\n### PWA (when `platforms.pwa: true`)\n- **Offline**: Service worker caches required assets\n- **Install prompt**: App is installable and works standalone\n- **Background sync**: Pending actions sync when connection restored\n\n## Quality Checklist\n- [ ] Every acceptance criterion has at least one test scenario\n- [ ] Edge cases and error paths are covered\n- [ ] Test data requirements are specified\n- [ ] Scenarios are classified by type (unit, integration, E2E)\n- [ ] High-risk areas have deeper coverage\n- [ ] Pass\u002Ffail criteria are unambiguous\n- [ ] Dependencies and fixtures are listed\n- [ ] Mobile test scenarios included (if platform targets are configured)\n- [ ] Test data requirements are mapped to specific seed scenarios\n- [ ] Seed command is documented for each scenario type\n- [ ] If seed catalog does not exist, it is listed as a dependency\n- [ ] Artifact passes validation\n","# Test Plan Generator\n\n## Reference\n- **ID**: S-QA-01\n- **Category**: QA\n- **Inputs**: PRD with acceptance criteria, architecture context, risk areas\n- **Outputs**: test plan document → artifacts\u002Fqa\u002F\n- **Used by**: QA Agent\n- **Tool scripts**: .\u002Ftools\u002Fartifact\u002Fvalidate.sh\n\n## Purpose\nTransforms PRD acceptance criteria into a structured test plan covering functional, edge-case, integration, and regression scenarios, ensuring every requirement has verifiable test coverage before code is written.\n\n## Procedure\n1. Read the PRD and extract all acceptance criteria.\n2. For each acceptance criterion, derive one or more test scenarios.\n3. Classify each scenario: functional, edge case, integration, regression, or destructive.\n4. Define test data requirements for each scenario.\n5. Identify dependencies: APIs, services, or fixtures needed for test execution.\n\n### Step 4.5: Map Test Data to Seed Scenarios\n\nFor each test scenario that requires pre-existing data, map it to a seed scenario from the `\u002Fseed-data` skill:\n\n| Test Type | Recommended Seed Scenario | Rationale |\n|-----------|--------------------------|-----------|\n| Happy path \u002F smoke tests | `nominal` | Realistic data diversity for standard flows |\n| Edge case \u002F boundary tests | `edge-cases` | Pre-populated boundary values (unicode, max-length, epoch dates) |\n| Empty state \u002F onboarding | `empty` | Clean slate to test first-run experience |\n| Error handling | `error-states` | Soft-deleted records, expired tokens, failed payments |\n| Performance \u002F load tests | `high-volume` | 1,000–10,000 records to reveal N+1 queries |\n| Unit tests \u002F fast checks | `minimal` | 1–2 records, minimal fixtures |\n\nInclude a **Test Data Requirements** section in the test plan artifact:\n\n```\n## Test Data Requirements\n\n| Scenario Name | Seed Scenario | Command | Key Entities |\n|---------------|--------------|---------|--------------|\n| User registration flow | empty | .\u002Ftools\u002Fdb\u002Fseed.sh empty | none (clean slate) |\n| Dashboard with data | nominal | .\u002Ftools\u002Fdb\u002Fseed.sh nominal | User, Post, Comment |\n| Pagination at scale | high-volume | .\u002Ftools\u002Fdb\u002Fseed.sh high-volume | User, Post |\n```\n\nIf a seed data catalog does not yet exist in `artifacts\u002Ftest-data\u002F`, note it as a dependency: \"Run `\u002Fseed-data` before executing these test scenarios.\"\n\n6. Prioritize scenarios by risk: high-risk paths get more thorough coverage.\n7. Define pass\u002Ffail criteria for each scenario.\n8. Map scenarios to test types: unit, integration, E2E, manual exploratory.\n9. Estimate effort for test implementation.\n10. Save the test plan to `artifacts\u002Fqa\u002F`.\n11. Validate the artifact using `.\u002Ftools\u002Fartifact\u002Fvalidate.sh`.\n\n## Mobile Test Scenarios\n\nIf `platforms.targets` in `company.config.yaml` includes mobile targets, add the following test categories:\n\n### Responsive Web (when `platforms.responsive: true`)\n- **Viewport testing**: Verify layouts at mobile (320px, 375px), tablet (768px), and desktop (1024px, 1440px) breakpoints\n- **Touch interaction**: All interactive elements meet 44x44px minimum touch target\n- **Orientation**: Layouts work in both portrait and landscape\n- **Soft keyboard**: Forms remain accessible when virtual keyboard is open\n- **Scroll behavior**: No horizontal scroll on mobile viewports\n\n### Native Mobile (when `platforms.targets` includes `ios` or `android`)\n- **Platform-specific**: iOS safe area insets, Android back button behavior\n- **Offline behavior**: Feature degrades gracefully without network\n- **Performance**: Screen transitions \u003C 300ms, list scrolling at 60fps\n- **Deep linking**: Feature is reachable via deep link if applicable\n\n### PWA (when `platforms.pwa: true`)\n- **Offline**: Service worker caches required assets\n- **Install prompt**: App is installable and works standalone\n- **Background sync**: Pending actions sync when connection restored\n\n## Quality Checklist\n- [ ] Every acceptance criterion has at least one test scenario\n- [ ] Edge cases and error paths are covered\n- [ ] Test data requirements are specified\n- [ ] Scenarios are classified by type (unit, integration, E2E)\n- [ ] High-risk areas have deeper coverage\n- [ ] Pass\u002Ffail criteria are unambiguous\n- [ ] Dependencies and fixtures are listed\n- [ ] Mobile test scenarios included (if platform targets are configured)\n- [ ] Test data requirements are mapped to specific seed scenarios\n- [ ] Seed command is documented for each scenario type\n- [ ] If seed catalog does not exist, it is listed as a dependency\n- [ ] Artifact passes validation\n",{"name":5,"runtimes":41,"description":7},{"claude":42},{"user-invocable":43},true,"main","e842fb6d0e04360c47db78bc2e2e2987314d64d4","os\u002Fskills\u002Ftest-plan-generator",2,"https:\u002F\u002Fgithub.com\u002Fvibbs\u002Fcompany-os","https:\u002F\u002Fgithub.com\u002Fvibbs","Principal Engineer · Applied AI · building ArcAI @ GrowthArc","2026-10-21 02:08:08",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":43},[54,57,60],{"tool":55,"command":56},"npx","npx skills add vibbs\u002Fcompany-os --skill test-plan-generator",{"tool":58,"command":59},"bunx","bunx skills add vibbs\u002Fcompany-os --skill test-plan-generator",{"tool":61,"command":62},"pnpm","pnpm dlx skills add vibbs\u002Fcompany-os --skill test-plan-generator","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fvibbs\u002Fcompany-os\u002Fblob\u002Fmain\u002Fos\u002Fskills\u002Ftest-plan-generator\u002FSKILL.md",[],[66,75,83,93,108,124],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":72,"publishedAt":36},"01M6CTHBW1E64ECYGD105N4S5E","typo-field","Fixture skill with a misspelled top-level field.","https:\u002F\u002Fgithub.com\u002Fvibbs\u002Fcompany-os\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskills\u002Ftypo-field\u002FSKILL.md",[],[73,74],"typo field","fixture skill",{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":36},"01M6CTHABTV8FKVDHFMMKPAV51","spaced-comments","Fixture skill with comments and spaces after block keys.","https:\u002F\u002Fgithub.com\u002Fvibbs\u002Fcompany-os\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskills\u002Fspaced-comments\u002FSKILL.md",[],[82,74],"spaced comments",{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":36},"01M6CTH8MHC14KB65ZDHYBJW1N","crlf-comments","Fixture skill with Windows line endings.","https:\u002F\u002Fgithub.com\u002Fvibbs\u002Fcompany-os\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskills\u002Fcrlf-comments\u002FSKILL.md",[],[90,91,92,74],"crlf comments","CRLF","windows",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":36},"01M6CTH6TBKTDP9G8QB1Z2K0TY","claude-fields","Fixture skill using top-level fields Claude Code documents.","https:\u002F\u002Fgithub.com\u002Fvibbs\u002Fcompany-os\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskills\u002Fclaude-fields\u002FSKILL.md",[],[100,101,102,103,104,105,74,106,107,28],"claude fields","explore","documents","src","grep","read","Bash","code",{"skillNo":109,"name":110,"nameZh":6,"description":111,"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":117,"publishedAt":36},"01M6CTH46BGKXH80RWS876Y2CW","workflow-router","Maps an objective to the artifacts, stages and agents it needs. Use when deciding what happens next or which agents to involve.","https:\u002F\u002Fgithub.com\u002Fvibbs\u002Fcompany-os\u002Fblob\u002Fmain\u002Fos\u002Fskills\u002Fworkflow-router\u002FSKILL.md",[114],{"categoryNo":115,"categoryName":116,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[118,119,120,121,122,32,123],"workflow","router","workflow router","next","maps","artifacts",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":130,"publishedAt":36},"01M6CTH27653SRVP2FMEQN3J5B","weekly-review","Summarizes your week: what shipped, AI spend, support themes, security health and next priorities. Use at the end of each week.","https:\u002F\u002Fgithub.com\u002Fvibbs\u002Fcompany-os\u002Fblob\u002Fmain\u002Fos\u002Fskills\u002Fweekly-review\u002FSKILL.md",[],[131,132,133,121,32,134,135,136,137],"weekly review","review","priorities","health","save","support","security"]