[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M714T1H0KXMD4CQPBTM9NPKV":3,"skill-same:01M714T1H0KXMD4CQPBTM9NPKV":70},{"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":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":14,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M714T1H0KXMD4CQPBTM9NPKV","test-fixing",null,"Systematically identify and fix all failing tests using smart grouping strategies. Use when explicitly asks to fix tests (\"fix these tests\", \"make tests pass\"), reports test failures (\"tests are failing\", \"test suite is broken\"), or completes implementation and wants tests passing.","sapsapshen\u002Fai-memory-router","sapsapshen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20347959?v=4","01M6XDQEF1DP50DKF37H81J3J5","shenmian","01M6XDQEJPE41Y3DT2763X8ZJN",0,"MIT","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Ftest-fixing\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,36,37,38,39,40,41,42,43],"test","test fixing","make","implementation","suite","2026","strategies","fix tests","reports","unknown","when","make tests","use","grouping","tests","failing","fix","test suite","broken","community","2026-11-10 10:12:30",false,"---\nname: test-fixing\ndescription: \"Systematically identify and fix all failing tests using smart grouping strategies. Use when explicitly asks to fix tests (\\\"fix these tests\\\", \\\"make tests pass\\\"), reports test failures (\\\"tests are failing\\\", \\\"test suite is broken\\\"), or completes implementation and wants tests passing.\"\nrisk: unknown\nsource: community\ndate_added: \"2026-02-27\"\n---\n\n# Test Fixing\n\nSystematically identify and fix all failing tests using smart grouping strategies.\n\n## When to Use\n- Explicitly asks to fix tests (\"fix these tests\", \"make tests pass\")\n- Reports test failures (\"tests are failing\", \"test suite is broken\")\n- Completes implementation and wants tests passing\n- Mentions CI\u002FCD failures due to tests\n\n## Systematic Approach\n\n### 1. Initial Test Run\n\nRun `make test` to identify all failing tests.\n\nAnalyze output for:\n\n- Total number of failures\n- Error types and patterns\n- Affected modules\u002Ffiles\n\n### 2. Smart Error Grouping\n\nGroup similar failures by:\n\n- **Error type**: ImportError, AttributeError, AssertionError, etc.\n- **Module\u002Ffile**: Same file causing multiple test failure\n- **Root cause**: Missing dependencies, API changes, refactoring impacts\n\nPrioritize groups by:\n\n- Number of affected tests (highest impact first)\n- Dependency order (fix infrastructure before functionality)\n\n### 3. Systematic Fixing Process\n\nFor each group (starting with highest impact):\n\n1. **Identify root cause**\n\n   - Read relevant code\n   - Check recent changes with `git diff`\n   - Understand the error pattern\n\n2. **Implement fix**\n\n   - Use Edit tool for code changes\n   - Follow project conventions (see CLAUDE.md)\n   - Make minimal, focused changes\n\n3. **Verify fix**\n\n   - Run subset of tests for this group\n   - Use pytest markers or file patterns:\n     ```bash\n     uv run pytest tests\u002Fpath\u002Fto\u002Ftest_file.py -v\n     uv run pytest -k \"pattern\" -v\n     ```\n   - Ensure group passes before moving on\n\n4. **Move to next group**\n\n### 4. Fix Order Strategy\n\n**Infrastructure first:**\n\n- Import errors\n- Missing dependencies\n- Configuration issues\n\n**Then API changes:**\n\n- Function signature changes\n- Module reorganization\n- Renamed variables\u002Ffunctions\n\n**Finally, logic issues:**\n\n- Assertion failures\n- Business logic bugs\n- Edge case handling\n\n### 5. Final Verification\n\nAfter all groups fixed:\n\n- Run complete test suite: `make test`\n- Verify no regressions\n- Check test coverage remains intact\n\n## Best Practices\n\n- Fix one group at a time\n- Run focused tests after each fix\n- Use `git diff` to understand recent changes\n- Look for patterns in failures\n- Don't move to next group until current passes\n- Keep changes minimal and focused\n\n## Example Workflow\n\nUser: \"The tests are failing after my refactor\"\n\n1. Run `make test` → 15 failures identified\n2. Group errors:\n   - 8 ImportErrors (module renamed)\n   - 5 AttributeErrors (function signature changed)\n   - 2 AssertionErrors (logic bugs)\n3. Fix ImportErrors first → Run subset → Verify\n4. Fix AttributeErrors → Run subset → Verify\n5. Fix AssertionErrors → Run subset → Verify\n6. Run full suite → All pass ✓\n","# Test Fixing\n\nSystematically identify and fix all failing tests using smart grouping strategies.\n\n## When to Use\n- Explicitly asks to fix tests (\"fix these tests\", \"make tests pass\")\n- Reports test failures (\"tests are failing\", \"test suite is broken\")\n- Completes implementation and wants tests passing\n- Mentions CI\u002FCD failures due to tests\n\n## Systematic Approach\n\n### 1. Initial Test Run\n\nRun `make test` to identify all failing tests.\n\nAnalyze output for:\n\n- Total number of failures\n- Error types and patterns\n- Affected modules\u002Ffiles\n\n### 2. Smart Error Grouping\n\nGroup similar failures by:\n\n- **Error type**: ImportError, AttributeError, AssertionError, etc.\n- **Module\u002Ffile**: Same file causing multiple test failure\n- **Root cause**: Missing dependencies, API changes, refactoring impacts\n\nPrioritize groups by:\n\n- Number of affected tests (highest impact first)\n- Dependency order (fix infrastructure before functionality)\n\n### 3. Systematic Fixing Process\n\nFor each group (starting with highest impact):\n\n1. **Identify root cause**\n\n   - Read relevant code\n   - Check recent changes with `git diff`\n   - Understand the error pattern\n\n2. **Implement fix**\n\n   - Use Edit tool for code changes\n   - Follow project conventions (see CLAUDE.md)\n   - Make minimal, focused changes\n\n3. **Verify fix**\n\n   - Run subset of tests for this group\n   - Use pytest markers or file patterns:\n     ```bash\n     uv run pytest tests\u002Fpath\u002Fto\u002Ftest_file.py -v\n     uv run pytest -k \"pattern\" -v\n     ```\n   - Ensure group passes before moving on\n\n4. **Move to next group**\n\n### 4. Fix Order Strategy\n\n**Infrastructure first:**\n\n- Import errors\n- Missing dependencies\n- Configuration issues\n\n**Then API changes:**\n\n- Function signature changes\n- Module reorganization\n- Renamed variables\u002Ffunctions\n\n**Finally, logic issues:**\n\n- Assertion failures\n- Business logic bugs\n- Edge case handling\n\n### 5. Final Verification\n\nAfter all groups fixed:\n\n- Run complete test suite: `make test`\n- Verify no regressions\n- Check test coverage remains intact\n\n## Best Practices\n\n- Fix one group at a time\n- Run focused tests after each fix\n- Use `git diff` to understand recent changes\n- Look for patterns in failures\n- Don't move to next group until current passes\n- Keep changes minimal and focused\n\n## Example Workflow\n\nUser: \"The tests are failing after my refactor\"\n\n1. Run `make test` → 15 failures identified\n2. Group errors:\n   - 8 ImportErrors (module renamed)\n   - 5 AttributeErrors (function signature changed)\n   - 2 AssertionErrors (logic bugs)\n3. Fix ImportErrors first → Run subset → Verify\n4. Fix AttributeErrors → Run subset → Verify\n5. Fix AssertionErrors → Run subset → Verify\n6. Run full suite → All pass ✓\n",{"name":5,"risk":33,"source":43,"date_added":49,"description":7},"2026-02-27","main","7a38d8e7073e61c16eda85681cb32fb68a8657a5","skills-store\u002Fcopilot\u002Ftest-fixing","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router","https:\u002F\u002Fgithub.com\u002Fsapsapshen","2026-04-14 21:12:12",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add sapsapshen\u002Fai-memory-router --skill test-fixing",{"tool":62,"command":63},"bunx","bunx skills add sapsapshen\u002Fai-memory-router --skill test-fixing",{"tool":65,"command":66},"pnpm","pnpm dlx skills add sapsapshen\u002Fai-memory-router --skill test-fixing","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Ftest-fixing\u002FSKILL.md",true,[],[71,95,120,130,143,160],{"skillNo":72,"name":73,"nameZh":6,"description":74,"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":82,"publishedAt":44},"01M71ATQRKG48SH06FQ697T5G9","wechat-search","Search WeChat Official Account articles using OpenClaw's web search and fetch capabilities with compliance-focused design.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fwechat-search-release\u002FSKILL.md",[77],{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[83,84,85,86,87,88,89,90,91,92,93,94],"wechat search","wechat","search","capabilities","openclaw","design","web search","compliance","web","official","fetch","with",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":44},"01M71ATNAVGZB35PFYM2GC5N00","trend-tap","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend tap', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-tap\u002FSKILL.md",[],[102,103,104,105,106,107,85,108,109,110,111,34,112,113,114,115,116,117,118,119],"trend","trend tap","tap","api keys","Bash","time","trending","hacker","aggregator","do","brew","live","data","google","install","read","across","api",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":44},"01M71ATJ9AM5KM15AA8PS302EB","trend-radar","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend pulse', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-radar\u002FSKILL.md",[],[127,128,102,112,113,114,115,106,85,117,129,118,119,34,110,109,108,116,107,105],"trend radar","radar","pulse",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":136,"publishedAt":44},"01M71ATGF095N3EJM9G8SD0BB5","tech-news-daily","每日科技新闻汇——从全球多个 RSS 源抓取最新科技新闻，翻译（英→中）、去重、排版成每日简报。当用户询问科技新闻、科技新鲜事、每日科技、技术动态、Daily Tech News 或类似表达时触发此技能。","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftech-news-daily\u002FSKILL.md",[],[137,138,139,140,141,142],"news","tech","tech news daily","daily","rss","翻译",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":152,"publishedAt":44},"01M71ATFAEAMQ17M70NQNY7SR8","summarize","Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsummarize\u002FSKILL.md",[149],{"categoryNo":150,"categoryName":151,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[145,91,153,154,155,94,112,156,157,158,104,159,116],"Audio","cli","youtube","images","https","files","pdfs",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":44},"01M71ATDNS3R0M4H936PACQAWZ","sonoscli","Control Sonos speakers (discover\u002Fstatus\u002Fplay\u002Fvolume\u002Fgroup).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsonoscli\u002FSKILL.md",[],[162,167,168,169,116,170,157,171,172,173,174,175],"status","play","go","latest","github","discover","control","cmd","volume"]