[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71V48BQWP2G2X7M832AFCZB":3,"skill-same:01M71V48BQWP2G2X7M832AFCZB":76},{"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":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":56,"commitSha":57,"skillDirectory":58,"forksCount":13,"repositoryHtmlUrl":59,"repositoryHomepageUrl":6,"ownerHtmlUrl":60,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":61,"install":62,"resources":75},"01M71V48BQWP2G2X7M832AFCZB","tdd-change",null,"Implement changes using strict test-driven development — red, green, refactor","strings77wzq\u002Fgoal-run","strings77wzq","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F184192027?v=4","01M71V4218PHCX3JS0WGM99C41","01M71V421WHQ3QPRVP9GWKQVGV",0,"MIT","https:\u002F\u002Fgithub.com\u002Fstrings77wzq\u002Fgoal-run\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Ftdd-change\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"change","tdd change","tdd","tests","when","test-driven","Existing","fixes","for","complete","critical","development","green","do","files","test suite","only","use","coverage","regression","2026-11-10 13:02:02",false,"---\nname: tdd-change\ndescription: Implement changes using strict test-driven development — red, green, refactor\nversion: '1.0.0'\nrisk: medium\npermissions:\n  - read_files\n  - write_files\n  - run_tests\nwhen_to_use: |\n  Use for bug fixes, features, and behavior-changing refactors where confidence\n  in correctness is critical. Required when the goal specifies regression tests.\nwhen_not_to_use: |\n  Do not use for documentation-only changes, formatting-only changes, or changes\n  where the existing test suite already provides complete coverage of the change.\n---\n\n# TDD Change\n\nImplement code changes using the test-driven development cycle: Red, Green, Refactor.\n\n## Workflow\n\n1. **Understand the change**\n   - Read the goal specification and implementation strategy (if provided)\n   - Identify the specific behavior that needs to change\n   - Understand the current behavior and expected new behavior\n\n2. **Locate related tests**\n   - Find existing tests that cover the affected code\n   - Run the existing test suite to establish a baseline\n   - If no tests exist for the affected behavior, note this as a test gap\n\n3. **Write a failing test (RED)**\n   - Write a test that describes the expected new behavior\n   - If tests don't exist, write a test for the current behavior first, then modify it\n   - Run the test to confirm it FAILS for the right reason\n   - DO NOT proceed if the test passes without code changes\n\n4. **Implement the minimal fix (GREEN)**\n   - Write the smallest amount of code needed to make the failing test pass\n   - Do not refactor during this step — just make it work\n   - Run the specific test to confirm it passes\n   - Run the broader test suite to check for regressions\n\n5. **Refactor (REFACTOR)**\n   - Clean up the implementation without changing behavior\n   - Remove duplication, improve naming, simplify logic\n   - Run all tests after each refactoring step\n   - If tests fail, revert the last refactoring step\n\n6. **Verify**\n   - Run ALL tests, not just the targeted ones\n   - Run goal verification commands (typecheck, lint)\n   - Confirm no regression in unrelated tests\n\n## Required Outputs\n\n- The failing test (before implementation)\n- The minimal implementation\n- The refactored implementation (if applicable)\n- Verification results: test output showing all tests pass\n\n## Verification Expectations\n\n- At least one new or modified test that specifically tests the change\n- All existing tests continue to pass (no regressions)\n- Goal verification commands all pass\n- Diff is focused: no unrelated changes\n\n## Safety Notes\n\n- NEVER skip the RED phase. Always confirm the test fails first.\n- NEVER modify tests to match broken code — fix the code, not the test.\n- If a test starts passing without code changes, investigate. Something is wrong.\n- Keep changes minimal. Do not refactor unrelated code.\n- Stop if you cannot make the test pass within the goal's budget.max_iterations.\n","# TDD Change\n\nImplement code changes using the test-driven development cycle: Red, Green, Refactor.\n\n## Workflow\n\n1. **Understand the change**\n   - Read the goal specification and implementation strategy (if provided)\n   - Identify the specific behavior that needs to change\n   - Understand the current behavior and expected new behavior\n\n2. **Locate related tests**\n   - Find existing tests that cover the affected code\n   - Run the existing test suite to establish a baseline\n   - If no tests exist for the affected behavior, note this as a test gap\n\n3. **Write a failing test (RED)**\n   - Write a test that describes the expected new behavior\n   - If tests don't exist, write a test for the current behavior first, then modify it\n   - Run the test to confirm it FAILS for the right reason\n   - DO NOT proceed if the test passes without code changes\n\n4. **Implement the minimal fix (GREEN)**\n   - Write the smallest amount of code needed to make the failing test pass\n   - Do not refactor during this step — just make it work\n   - Run the specific test to confirm it passes\n   - Run the broader test suite to check for regressions\n\n5. **Refactor (REFACTOR)**\n   - Clean up the implementation without changing behavior\n   - Remove duplication, improve naming, simplify logic\n   - Run all tests after each refactoring step\n   - If tests fail, revert the last refactoring step\n\n6. **Verify**\n   - Run ALL tests, not just the targeted ones\n   - Run goal verification commands (typecheck, lint)\n   - Confirm no regression in unrelated tests\n\n## Required Outputs\n\n- The failing test (before implementation)\n- The minimal implementation\n- The refactored implementation (if applicable)\n- Verification results: test output showing all tests pass\n\n## Verification Expectations\n\n- At least one new or modified test that specifically tests the change\n- All existing tests continue to pass (no regressions)\n- Goal verification commands all pass\n- Diff is focused: no unrelated changes\n\n## Safety Notes\n\n- NEVER skip the RED phase. Always confirm the test fails first.\n- NEVER modify tests to match broken code — fix the code, not the test.\n- If a test starts passing without code changes, investigate. Something is wrong.\n- Keep changes minimal. Do not refactor unrelated code.\n- Stop if you cannot make the test pass within the goal's budget.max_iterations.\n",{"name":5,"risk":48,"version":49,"description":7,"permissions":50,"when_to_use":54,"when_not_to_use":55},"medium","1.0.0",[51,52,53],"read_files","write_files","run_tests","Use for bug fixes, features, and behavior-changing refactors where confidence\nin correctness is critical. Required when the goal specifies regression tests.\n","Do not use for documentation-only changes, formatting-only changes, or changes\nwhere the existing test suite already provides complete coverage of the change.","main","ea8458ad5d16f32f8e464369b6dfb656b907bf0a",".agent\u002Fskills\u002Ftdd-change","https:\u002F\u002Fgithub.com\u002Fstrings77wzq\u002Fgoal-run","https:\u002F\u002Fgithub.com\u002Fstrings77wzq","2026-05-31 10:20:34",{"source":8,"skillName":5,"commands":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add strings77wzq\u002Fgoal-run --skill tdd-change",{"tool":68,"command":69},"bunx","bunx skills add strings77wzq\u002Fgoal-run --skill tdd-change",{"tool":71,"command":72},"pnpm","pnpm dlx skills add strings77wzq\u002Fgoal-run --skill tdd-change","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fstrings77wzq\u002Fgoal-run\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Ftdd-change\u002FSKILL.md",true,[],[77,92,99,118,144,160],{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":86,"publishedAt":43},"01M71V4NKDTPEZPWE5NQX3AACH","my-skill","A custom GoalRun skill","https:\u002F\u002Fgithub.com\u002Fstrings77wzq\u002Fgoal-run\u002Fblob\u002Fmain\u002Ftemplates\u002Fskill\u002FSKILL.md",[83],{"categoryNo":84,"categoryName":85,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[87,88,89,90,27,91,37],"my skill","my","custom","describe","read",{"skillNo":93,"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":94,"categories":95,"keywords":97,"publishedAt":43},"01M71V4K3CXN6KZBSJTZ8XN98B","https:\u002F\u002Fgithub.com\u002Fstrings77wzq\u002Fgoal-run\u002Fblob\u002Fmain\u002Fskills\u002Ftdd-change\u002FSKILL.md",[96],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[25,23,24,34,41,35,28,29,30,31,98,32,33,26,42,36,37,38,39,40],"true",{"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":14,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":105,"publishedAt":43},"01M71V4G13PXZTXWRT067RS9WT","implementation-strategy","Plan implementation strategy for medium-to-high risk changes before writing code","https:\u002F\u002Fgithub.com\u002Fstrings77wzq\u002Fgoal-run\u002Fblob\u002Fmain\u002Fskills\u002Fimplementation-strategy\u002FSKILL.md",[],[106,107,108,36,27,30,31,109,98,110,111,37,39,40,112,113,114,115,116,117],"implementation strategy","strategy","implementation","updates","plan implementation","openspec","documentation","blast radius","code","auth","writing","risk",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":132,"publishedAt":43},"01M71V4E2FSCAETRWN155NAG49","code-review","Review code changes for correctness, test coverage, security, performance, and maintainability","https:\u002F\u002Fgithub.com\u002Fstrings77wzq\u002Fgoal-run\u002Fblob\u002Fmain\u002Fskills\u002Fcode-review\u002FSKILL.md",[124,127],{"categoryNo":125,"categoryName":126,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":128,"categoryName":129,"taxonomyType":130,"taxonomyTypeDesc":131},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[133,114,134,135,136,23,137,138,31,139,98,140,33,141,36,37,40,41,142,143],"review","code review","test","performance","correctness","human code","implementing","you","as","assessment","pr",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":152,"publishedAt":43},"01M71V4CZGBGV3GZ4P6HW8STPR","valid-skill","A valid skill for testing purposes","https:\u002F\u002Fgithub.com\u002Fstrings77wzq\u002Fgoal-run\u002Fblob\u002Fmain\u002Fpackages\u002Fharness\u002Ftest\u002Ffixtures\u002Fskills\u002Fvalid-skill\u002FSKILL.md",[150,151],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":84,"categoryName":85,"taxonomyType":20,"taxonomyTypeDesc":21},[153,154,155,156,31,36,37,40,157,91,158,159],"valid","valid skill","harness","static","write","Production","testing",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":167,"publishedAt":43},"01M71V4C3HXW8CG0YCW5N0Y26Y","dangerous-skill","A skill with dangerous content","https:\u002F\u002Fgithub.com\u002Fstrings77wzq\u002Fgoal-run\u002Fblob\u002Fmain\u002Fpackages\u002Fharness\u002Ftest\u002Ffixtures\u002Fskills\u002Fdangerous-skill\u002FSKILL.md",[166],{"categoryNo":84,"categoryName":85,"taxonomyType":20,"taxonomyTypeDesc":21},[168,169,170,171,33,172,37,173,174,175,176],"dangerous","dangerous skill","a skill","with","commands","execute","shell","content","delete"]