[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71E98GDG90WREF7RP3YTMQ4":3,"skill-same:01M71E98GDG90WREF7RP3YTMQ4":62},{"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":18,"publishedAt":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":42,"repositoryHtmlUrl":43,"repositoryHomepageUrl":6,"ownerHtmlUrl":44,"ownerBlogUrl":45,"ownerDescription":46,"updatedAt":47,"install":48,"resources":61},"01M71E98GDG90WREF7RP3YTMQ4","systematic-debugging",null,"Structured debugging workflow. Use when encountering bugs, test failures, or unexpected behaviour. Reproduce, isolate, hypothesise, verify, fix, regression test.","oaknational\u002Foak-python-starter","oaknational","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F63889701?v=4","01M71E8KA6A3R1XEZH7NVDPNYK","Oak National Academy","01M71E8KAY58HENMJWSX4DCBP2",0,"MIT","https:\u002F\u002Fgithub.com\u002Foaknational\u002Foak-python-starter\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fsystematic-debugging\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],"systematic debugging","debugging","systematic","workflow","test","verify","regression","reproduce","fix","use","regression test","structured","passive","bugs","when","2026-11-10 10:12:30",false,"---\nname: systematic-debugging\nclassification: passive\ndescription: >-\n  Structured debugging workflow. Use when encountering bugs, test failures,\n  or unexpected behaviour. Reproduce, isolate, hypothesise, verify, fix,\n  regression test.\n---\n\n# Systematic Debugging\n\nA structured approach to diagnosing and fixing defects. Follow these steps in order — do not skip to a fix before understanding the cause.\n\n## Workflow\n\n### 1. Reproduce\n\n- Confirm the failure with a concrete, repeatable case\n- If a test fails, run it in isolation to rule out ordering effects\n- Capture the exact error message, stack trace, or unexpected output\n\n### 2. Isolate\n\n- Narrow the scope: which module, function, or layer is responsible?\n- Use binary search: comment out or bypass sections to locate the boundary\n- Check recent changes (`git diff`, `git log`) for likely introduction points\n\n### 3. Hypothesise\n\n- Form a specific, falsifiable hypothesis: \"X fails because Y returns Z when it should return W\"\n- Avoid vague hypotheses like \"something is wrong with the config\"\n- Write the hypothesis down (napkin, comment, or PR note)\n\n### 4. Verify\n\n- Write a test that confirms the hypothesis (red phase of TDD)\n- If the test passes when it should fail, the hypothesis is wrong — return to step 3\n- Do not proceed to a fix until the test demonstrates the defect\n\n### 5. Fix\n\n- Make the minimal change that makes the failing test pass\n- Avoid fixing adjacent issues in the same change — one fix per defect\n\n### 6. Regression test\n\n- Run the full test suite, not just the new test\n- Confirm no existing tests broke\n- If the fix is in a shared module, check downstream consumers\n\n## References\n\n- `.agent\u002Fdirectives\u002Fprinciples.md` — TDD discipline, fail-fast principles\n- `.agent\u002Fdirectives\u002Ftesting-strategy.md` — test pyramid, isolation requirements\n","# Systematic Debugging\n\nA structured approach to diagnosing and fixing defects. Follow these steps in order — do not skip to a fix before understanding the cause.\n\n## Workflow\n\n### 1. Reproduce\n\n- Confirm the failure with a concrete, repeatable case\n- If a test fails, run it in isolation to rule out ordering effects\n- Capture the exact error message, stack trace, or unexpected output\n\n### 2. Isolate\n\n- Narrow the scope: which module, function, or layer is responsible?\n- Use binary search: comment out or bypass sections to locate the boundary\n- Check recent changes (`git diff`, `git log`) for likely introduction points\n\n### 3. Hypothesise\n\n- Form a specific, falsifiable hypothesis: \"X fails because Y returns Z when it should return W\"\n- Avoid vague hypotheses like \"something is wrong with the config\"\n- Write the hypothesis down (napkin, comment, or PR note)\n\n### 4. Verify\n\n- Write a test that confirms the hypothesis (red phase of TDD)\n- If the test passes when it should fail, the hypothesis is wrong — return to step 3\n- Do not proceed to a fix until the test demonstrates the defect\n\n### 5. Fix\n\n- Make the minimal change that makes the failing test pass\n- Avoid fixing adjacent issues in the same change — one fix per defect\n\n### 6. Regression test\n\n- Run the full test suite, not just the new test\n- Confirm no existing tests broke\n- If the fix is in a shared module, check downstream consumers\n\n## References\n\n- `.agent\u002Fdirectives\u002Fprinciples.md` — TDD discipline, fail-fast principles\n- `.agent\u002Fdirectives\u002Ftesting-strategy.md` — test pyramid, isolation requirements\n",{"name":5,"description":7,"classification":31},"main","11113a35c0c5be3f9a3b55397693c6de248e5ed4",".agent\u002Fskills\u002Fsystematic-debugging",4,"https:\u002F\u002Fgithub.com\u002Foaknational\u002Foak-python-starter","https:\u002F\u002Fgithub.com\u002Foaknational","https:\u002F\u002Fwww.thenational.academy\u002F","Creating an openly licensed, fully resourced and AI-enabled curriculum for teachers and pupils as a not for profit and independent Arm's Length Body of UK Gov","2026-11-02 22:46:33",{"source":8,"skillName":5,"commands":49,"prompt":59,"zipAvailable":60},[50,53,56],{"tool":51,"command":52},"npx","npx skills add oaknational\u002Foak-python-starter --skill systematic-debugging",{"tool":54,"command":55},"bunx","bunx skills add oaknational\u002Foak-python-starter --skill systematic-debugging",{"tool":57,"command":58},"pnpm","pnpm dlx skills add oaknational\u002Foak-python-starter --skill systematic-debugging","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Foaknational\u002Foak-python-starter\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fsystematic-debugging\u002FSKILL.md",true,[],[63,79,84,100,116,147],{"skillNo":64,"name":65,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":69,"publishedAt":34},"01M71ED66Y22QDHFYWJ169WBKZ","tsdoc","Write code-adjacent API documentation and the matching durable doc updates.","https:\u002F\u002Fgithub.com\u002Foaknational\u002Foak-python-starter\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ftsdoc\u002FSKILL.md",[],[65,70,71,72,73,74,75,76,77,78],"write","api","matching","doc updates","code","updates","api documentation","doc","documentation",{"skillNo":80,"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":81,"categories":82,"keywords":83,"publishedAt":34},"01M71ED419RDDAJWP8DQ14B1N8","https:\u002F\u002Fgithub.com\u002Foaknational\u002Foak-python-starter\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fsystematic-debugging\u002FSKILL.md",[],[20,21,19,30,23,29,22,33,26,28,27,25,32,24],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"publishedAt":34},"01M71ED2EK492PVYBJVVQXRM2G","start-right-thorough","Thorough grounding — full directive read, metacognition, and execution outline.","https:\u002F\u002Fgithub.com\u002Foaknational\u002Foak-python-starter\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fstart-right-thorough\u002FSKILL.md",[],[91,92,93,94,95,96,97,98,99],"start","start right thorough","directive","metacognition","grounding","read","full","outline","execution",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":34},"01M71ED16X1DFMVSWG984P871Y","start-right-quick","Quick grounding at session start — read directives, memory, and check practice box.","https:\u002F\u002Fgithub.com\u002Foaknational\u002Foak-python-starter\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fstart-right-quick\u002FSKILL.md",[],[107,108,91,96,109,95,110,111,112,113,114,115],"start right quick","quick","check","directives","at","memory","session start","box","session",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":132,"publishedAt":34},"01M71ECZMS30EF11X7Z781GWHR","receiving-code-review","How to process code review feedback effectively. Understand before acting, verify suggestions technically, ask for clarification when needed. Complements the reviewer sub-agents.","https:\u002F\u002Fgithub.com\u002Foaknational\u002Foak-python-starter\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Freceiving-code-review\u002FSKILL.md",[122,127],{"categoryNo":123,"categoryName":124,"taxonomyType":125,"taxonomyTypeDesc":126},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",{"categoryNo":128,"categoryName":129,"taxonomyType":130,"taxonomyTypeDesc":131},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[133,134,74,135,136,137,138,33,139,140,141,142,143,144,24,145,146],"review","receiving code review","code review","review feedback","reviewer","ask","understand","how to","process","for","how","process code review","code review feedback","feedback",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":153,"publishedAt":34},"01M71ECWYY53597KW7PN8QXDWM","napkin","Maintain a per-repo napkin file at .agent\u002Fmemory\u002Fnapkin.md that tracks mistakes, corrections, and what works. Always active, every session, unconditionally. Read distilled.md and napkin.md before doing anything. Write to the napkin continuously as you work. Log your own mistakes, not just user corrections.","https:\u002F\u002Fgithub.com\u002Foaknational\u002Foak-python-starter\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fnapkin\u002FSKILL.md",[],[149,111,154,155,156,157,70,158,96,115,159,160,161,162,112,163,164,165,166],"user","file","you","maintain","distilled","log","repo","just","active","tracks","mistakes","work","as"]