[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EPQFBTXAMV7RHZTBYZSS29":3,"skill-same:01M6EPQFBTXAMV7RHZTBYZSS29":71},{"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":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":47,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":49,"updatedAt":50,"install":51,"resources":64},"01M6EPQFBTXAMV7RHZTBYZSS29","project-testing",null,"Custom test patterns and fixtures for {project}. Covers E2E, integration, and specialized testing requirements.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fconsiliency\u002Fproject-testing\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],"testing","project","project testing","test","dev","integration","e2e","specialized","patterns","requirements","test patterns","fixtures","2026-11-10 10:12:30",false,"---\nname: project-testing\ndescription: \"Custom test patterns and fixtures for {project}. Covers E2E, integration, and specialized testing requirements.\"\ngenerated_by: ai-dev-kit:recommend-skills\n---\n\n\u003C!-- Generated by ai-dev-kit:recommend-skills on {date} -->\n\u003C!-- This skill can be safely deleted if no longer needed -->\n\n# {project} Testing Patterns\n\nCustom testing patterns, fixtures, and strategies for this project.\n\n## Variables\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| COVERAGE_TARGET | 80 | Minimum coverage percentage |\n| E2E_TIMEOUT | 30000 | E2E test timeout in ms |\n| PARALLEL_TESTS | true | Run tests in parallel when possible |\n\n## Instructions\n\n1. Identify test type needed (unit\u002Fintegration\u002Fe2e)\n2. Use appropriate fixtures and patterns\n3. Follow project naming conventions\n4. Ensure proper cleanup\n\n## Red Flags - STOP and Reconsider\n\nIf you're about to:\n- Write a test without proper isolation\n- Skip cleanup in fixtures\n- Hardcode test data instead of using fixtures\n- Write flaky tests (timing-dependent, order-dependent)\n\n**STOP** -> Use proper fixtures -> Ensure isolation -> Then write test\n\n## Test Categories\n\n### Unit Tests\n\nLocation: `tests\u002Funit\u002F`\n\nPatterns:\n- Test single functions\u002Fmethods in isolation\n- Mock external dependencies\n- Fast execution (\u003C 100ms each)\n\n### Integration Tests\n\nLocation: `tests\u002Fintegration\u002F`\n\nPatterns:\n- Test component interactions\n- Use test database\u002Ffixtures\n- May have external dependencies\n\n### E2E Tests\n\nLocation: `tests\u002Fe2e\u002F` or `playwright\u002F`\n\nPatterns:\n- Test full user workflows\n- Use browser automation\n- Longer execution time acceptable\n\n## Fixtures\n\n### Database Fixtures\n\nLocation: `tests\u002Ffixtures\u002F`\n\nUsage:\n```python\n# Python example\nfrom tests.fixtures import sample_user, sample_order\n\ndef test_order_creation(sample_user, sample_order):\n    # Test uses pre-configured fixtures\n    pass\n```\n\n### Mock Services\n\nLocation: `tests\u002Fmocks\u002F`\n\nAvailable mocks:\n- [TODO: List project-specific mocks]\n\n## Naming Conventions\n\n| Test Type | File Pattern | Function Pattern |\n|-----------|-------------|------------------|\n| Unit | `test_*.py` | `test_\u003Cfunction>_\u003Cscenario>` |\n| Integration | `test_*_integration.py` | `test_\u003Ccomponent>_\u003Caction>` |\n| E2E | `*.spec.ts` | `test('\u003Cfeature> - \u003Cscenario>')` |\n\n## Coverage Requirements\n\n| Component | Minimum Coverage |\n|-----------|-----------------|\n| Core logic | 90% |\n| API routes | 80% |\n| Utilities | 70% |\n\n## CI Integration\n\nTests run in CI:\n- On PR: unit + integration\n- On merge: all including E2E\n- Nightly: full regression suite\n\n## Customization\n\nEdit this file to add:\n- New fixture definitions\n- Additional mock services\n- Custom test patterns\n- Coverage exceptions\n","\u003C!-- Generated by ai-dev-kit:recommend-skills on {date} -->\n\u003C!-- This skill can be safely deleted if no longer needed -->\n\n# {project} Testing Patterns\n\nCustom testing patterns, fixtures, and strategies for this project.\n\n## Variables\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| COVERAGE_TARGET | 80 | Minimum coverage percentage |\n| E2E_TIMEOUT | 30000 | E2E test timeout in ms |\n| PARALLEL_TESTS | true | Run tests in parallel when possible |\n\n## Instructions\n\n1. Identify test type needed (unit\u002Fintegration\u002Fe2e)\n2. Use appropriate fixtures and patterns\n3. Follow project naming conventions\n4. Ensure proper cleanup\n\n## Red Flags - STOP and Reconsider\n\nIf you're about to:\n- Write a test without proper isolation\n- Skip cleanup in fixtures\n- Hardcode test data instead of using fixtures\n- Write flaky tests (timing-dependent, order-dependent)\n\n**STOP** -> Use proper fixtures -> Ensure isolation -> Then write test\n\n## Test Categories\n\n### Unit Tests\n\nLocation: `tests\u002Funit\u002F`\n\nPatterns:\n- Test single functions\u002Fmethods in isolation\n- Mock external dependencies\n- Fast execution (\u003C 100ms each)\n\n### Integration Tests\n\nLocation: `tests\u002Fintegration\u002F`\n\nPatterns:\n- Test component interactions\n- Use test database\u002Ffixtures\n- May have external dependencies\n\n### E2E Tests\n\nLocation: `tests\u002Fe2e\u002F` or `playwright\u002F`\n\nPatterns:\n- Test full user workflows\n- Use browser automation\n- Longer execution time acceptable\n\n## Fixtures\n\n### Database Fixtures\n\nLocation: `tests\u002Ffixtures\u002F`\n\nUsage:\n```python\n# Python example\nfrom tests.fixtures import sample_user, sample_order\n\ndef test_order_creation(sample_user, sample_order):\n    # Test uses pre-configured fixtures\n    pass\n```\n\n### Mock Services\n\nLocation: `tests\u002Fmocks\u002F`\n\nAvailable mocks:\n- [TODO: List project-specific mocks]\n\n## Naming Conventions\n\n| Test Type | File Pattern | Function Pattern |\n|-----------|-------------|------------------|\n| Unit | `test_*.py` | `test_\u003Cfunction>_\u003Cscenario>` |\n| Integration | `test_*_integration.py` | `test_\u003Ccomponent>_\u003Caction>` |\n| E2E | `*.spec.ts` | `test('\u003Cfeature> - \u003Cscenario>')` |\n\n## Coverage Requirements\n\n| Component | Minimum Coverage |\n|-----------|-----------------|\n| Core logic | 90% |\n| API routes | 80% |\n| Utilities | 70% |\n\n## CI Integration\n\nTests run in CI:\n- On PR: unit + integration\n- On merge: all including E2E\n- Nightly: full regression suite\n\n## Customization\n\nEdit this file to add:\n- New fixture definitions\n- Additional mock services\n- Custom test patterns\n- Coverage exceptions\n",{"name":5,"description":7,"generated_by":41},"ai-dev-kit:recommend-skills","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fconsiliency\u002Fproject-testing",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 project-testing",{"tool":57,"command":58},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill project-testing",{"tool":60,"command":61},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill project-testing","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fconsiliency\u002Fproject-testing\u002FSKILL.md",true,[65],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"skill-report.json","REFERENCE","参考文档",10092,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fconsiliency\u002Fproject-testing\u002Fskill-report.json",[72,84,94,103,109,116],{"skillNo":73,"name":74,"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":75,"categories":76,"keywords":80,"publishedAt":36},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[77],{"categoryNo":78,"categoryName":79,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[81,82,83],"model","model hierarchy","model hierarchy skill",{"skillNo":85,"name":86,"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":87,"categories":88,"keywords":90,"publishedAt":36},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[89],{"categoryNo":78,"categoryName":79,"taxonomyType":21,"taxonomyTypeDesc":22},[91,92,93],"MCP","zoom","zoom mcp",{"skillNo":95,"name":96,"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":97,"categories":98,"keywords":99,"publishedAt":36},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[100,101,102,92],"sdk","zoom apps sdk","apps",{"skillNo":104,"name":105,"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":106,"categories":107,"keywords":108,"publishedAt":36},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[105],{"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":115,"publishedAt":36},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[114],{"categoryNo":78,"categoryName":79,"taxonomyType":21,"taxonomyTypeDesc":22},[111],{"skillNo":117,"name":118,"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":119,"categories":120,"keywords":121,"publishedAt":36},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[118]]