[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MG86TGGP1B1SWDZX5VWS76":3,"skill-same:01M6MG86TGGP1B1SWDZX5VWS76":66},{"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":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":47,"ownerHtmlUrl":48,"ownerBlogUrl":49,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M6MG86TGGP1B1SWDZX5VWS76","debug",null,"Systematic root-cause isolation for test failures, runtime errors, or unexpected behavior. Narrow hypothesis → verify → fix.","hashgraph-online\u002Fawesome-codex-plugins","hashgraph-online","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F160371962?v=4","01M6CNB6NRJVNNGN14TR01Q6D3","HOL (Hashgraph Online)","01M6JT1HSKKG9V68KQAQGBA7XP",1554,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fepicsagas\u002Fepic-harness\u002Fskills\u002Fdebug\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[5,24,25,26,27,28,29,30,31,32,33,34,35,36],"test","observability","hypothesis","verify","behavior","fix","root-cause","runtime","systematic","isolation","errors","root","for","2026-11-10 10:12:30",false,"---\nname: debug\ndimension: observability\ndescription: \"Systematic root-cause isolation for test failures, runtime errors, or unexpected behavior. Narrow hypothesis → verify → fix.\"\n---\n\n# Debug — Systematic Debugging\n\n## Iron Law\n\nNO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST. Symptom fixes are whack-a-mole debugging.\n\n## Process\n\n### 0. Recall\n- Query the knowledge graph: `epic mem search \"ERROR_MESSAGE_OR_FILE\"` for the error message or file name\n- Check if a `resolution` or `pattern` node exists for this error category\n- If a past resolution exists, apply it directly instead of re-debugging from scratch\n\n**Why**: Past resolutions save 10-30 minutes of re-investigation. The knowledge graph exists so you don't repeat work.\n\n### 1. Observe\n- Read the full error message and stack trace\n- Identify: What was expected? What actually happened?\n- Note the exact file, line, and function\n\n**Why**: Precise observation prevents misdiagnosis. Most debug loops start from skimming the error instead of reading it fully.\n\n### 2. Hypothesize\nForm 2-3 possible causes. Rank by likelihood.\n\n**Why**: Ranked hypotheses prevent random code changes. Even a wrong hypothesis narrows the search space.\n\n### 3. Isolate\n- **Narrow the scope**: Binary search through recent changes\n- **Reproduce minimally**: Smallest input that triggers the error\n- **Check assumptions**: Print\u002Flog intermediate values\n- **Bisect**: `git log --oneline -10` — when did it last work?\n\n**Why**: Isolation proves the cause before you touch any code. Without it, you're guessing.\n\n### 4. Fix\n- Fix the root cause, not the symptom\n- If the fix is a workaround, add a TODO with explanation\n\n**Why**: Root cause fixes are permanent. Symptom patches rot and hide the real bug.\n\n### 5. Verify\n- Run the failing test — must pass now\n- Run the full test suite — no regressions\n- If this was a bug, the regression test stays\n\n**Why**: A passing fix without verification is wishful thinking. The full suite catches side effects.\n\n### 6. Record\n- If the fix involved 3+ debug steps, record a `resolution` node via `epic mem add --title \"...\" --type resolution --body \"...\"`\n- Include: error category, root cause, solution approach\n- This enables future sessions to skip re-debugging the same class of issues\n\n**Why**: Recording turns one-time debugging into institutional knowledge. Future sessions benefit from your effort.\n\n## When to Trigger\n- Any test failure during `\u002Fgo` execution\n- Runtime error in tool output\n- \"Unexpected\" in any output\n\n## Anti-Rationalization\n\n| Excuse | Rebuttal | What to do instead |\n|--------|----------|-------------------|\n| \"Let me just try again\" | Retrying without changing anything is not debugging. | Form a new hypothesis before each attempt. |\n| \"It works on my machine\" | Environment differences are bugs too. | Reproduce in the actual target environment first. |\n| \"I'll just catch the exception\" | That hides the bug, doesn't fix it. | Fix the root cause. Only catch what you can handle meaningfully. |\n| \"It's probably a flaky test\" | Flaky tests hide real bugs. Prove it's flaky before dismissing. | Run it 3x in isolation. If it fails consistently, it's real. |\n| \"I'll add more logging\" | Logging without a hypothesis is fishing. | Hypothesize first, then add targeted logging to confirm\u002Fdeny. |\n| \"It's probably just a typo\" | Assumptions are the enemy of debugging. Reproduce first, then diagnose. | Read the full error, reproduce it, and verify before assuming simplicity. |\n| \"Let me just try changing this one thing\" | Whack-a-mole debugging creates more bugs. Follow the hypothesis → isolate → fix cycle. | Form a hypothesis, isolate the cause, then fix with evidence. |\n| \"The error message tells me everything\" | Error messages describe symptoms, not root causes. Investigate the chain. | Trace the error to its origin. The message is the starting point, not the answer. |\n\n## Evidence Required\n\nBefore claiming the bug is fixed, show ALL of these:\n\n- [ ] Root cause identified: one sentence explaining WHY it broke\n- [ ] Fix applied: diff showing the change\n- [ ] Previously failing test now passes (show output)\n- [ ] Full test suite passes (no regressions)\n- [ ] If bug came from a pattern, regression test added to prevent recurrence\n\n**\"It works now\" without root cause = symptom patch, not a fix.**\n\n## Red Flags\n- Changing random things hoping something works\n- More than 3 retry attempts without forming a new hypothesis\n- Suppressing errors instead of fixing them\n","# Debug — Systematic Debugging\n\n## Iron Law\n\nNO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST. Symptom fixes are whack-a-mole debugging.\n\n## Process\n\n### 0. Recall\n- Query the knowledge graph: `epic mem search \"ERROR_MESSAGE_OR_FILE\"` for the error message or file name\n- Check if a `resolution` or `pattern` node exists for this error category\n- If a past resolution exists, apply it directly instead of re-debugging from scratch\n\n**Why**: Past resolutions save 10-30 minutes of re-investigation. The knowledge graph exists so you don't repeat work.\n\n### 1. Observe\n- Read the full error message and stack trace\n- Identify: What was expected? What actually happened?\n- Note the exact file, line, and function\n\n**Why**: Precise observation prevents misdiagnosis. Most debug loops start from skimming the error instead of reading it fully.\n\n### 2. Hypothesize\nForm 2-3 possible causes. Rank by likelihood.\n\n**Why**: Ranked hypotheses prevent random code changes. Even a wrong hypothesis narrows the search space.\n\n### 3. Isolate\n- **Narrow the scope**: Binary search through recent changes\n- **Reproduce minimally**: Smallest input that triggers the error\n- **Check assumptions**: Print\u002Flog intermediate values\n- **Bisect**: `git log --oneline -10` — when did it last work?\n\n**Why**: Isolation proves the cause before you touch any code. Without it, you're guessing.\n\n### 4. Fix\n- Fix the root cause, not the symptom\n- If the fix is a workaround, add a TODO with explanation\n\n**Why**: Root cause fixes are permanent. Symptom patches rot and hide the real bug.\n\n### 5. Verify\n- Run the failing test — must pass now\n- Run the full test suite — no regressions\n- If this was a bug, the regression test stays\n\n**Why**: A passing fix without verification is wishful thinking. The full suite catches side effects.\n\n### 6. Record\n- If the fix involved 3+ debug steps, record a `resolution` node via `epic mem add --title \"...\" --type resolution --body \"...\"`\n- Include: error category, root cause, solution approach\n- This enables future sessions to skip re-debugging the same class of issues\n\n**Why**: Recording turns one-time debugging into institutional knowledge. Future sessions benefit from your effort.\n\n## When to Trigger\n- Any test failure during `\u002Fgo` execution\n- Runtime error in tool output\n- \"Unexpected\" in any output\n\n## Anti-Rationalization\n\n| Excuse | Rebuttal | What to do instead |\n|--------|----------|-------------------|\n| \"Let me just try again\" | Retrying without changing anything is not debugging. | Form a new hypothesis before each attempt. |\n| \"It works on my machine\" | Environment differences are bugs too. | Reproduce in the actual target environment first. |\n| \"I'll just catch the exception\" | That hides the bug, doesn't fix it. | Fix the root cause. Only catch what you can handle meaningfully. |\n| \"It's probably a flaky test\" | Flaky tests hide real bugs. Prove it's flaky before dismissing. | Run it 3x in isolation. If it fails consistently, it's real. |\n| \"I'll add more logging\" | Logging without a hypothesis is fishing. | Hypothesize first, then add targeted logging to confirm\u002Fdeny. |\n| \"It's probably just a typo\" | Assumptions are the enemy of debugging. Reproduce first, then diagnose. | Read the full error, reproduce it, and verify before assuming simplicity. |\n| \"Let me just try changing this one thing\" | Whack-a-mole debugging creates more bugs. Follow the hypothesis → isolate → fix cycle. | Form a hypothesis, isolate the cause, then fix with evidence. |\n| \"The error message tells me everything\" | Error messages describe symptoms, not root causes. Investigate the chain. | Trace the error to its origin. The message is the starting point, not the answer. |\n\n## Evidence Required\n\nBefore claiming the bug is fixed, show ALL of these:\n\n- [ ] Root cause identified: one sentence explaining WHY it broke\n- [ ] Fix applied: diff showing the change\n- [ ] Previously failing test now passes (show output)\n- [ ] Full test suite passes (no regressions)\n- [ ] If bug came from a pattern, regression test added to prevent recurrence\n\n**\"It works now\" without root cause = symptom patch, not a fix.**\n\n## Red Flags\n- Changing random things hoping something works\n- More than 3 retry attempts without forming a new hypothesis\n- Suppressing errors instead of fixing them\n",{"name":5,"dimension":25,"description":7},"main","2b63f856ce19c2a797929cacabd9e0fc936812fa","plugins\u002Fepicsagas\u002Fepic-harness\u002Fskills\u002Fdebug",468,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins","https:\u002F\u002Fhol.org\u002Fplugins\u002Fbest-codex-plugins","https:\u002F\u002Fgithub.com\u002Fhashgraph-online","https:\u002F\u002Fhol.org","Open-source standards and developer tools for interoperable AI agents: discovery, identity, communication, payments, privacy and security.","2026-11-11 02:22:54",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add hashgraph-online\u002Fawesome-codex-plugins --skill debug",{"tool":58,"command":59},"bunx","bunx skills add hashgraph-online\u002Fawesome-codex-plugins --skill debug",{"tool":61,"command":62},"pnpm","pnpm dlx skills add hashgraph-online\u002Fawesome-codex-plugins --skill debug","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fepicsagas\u002Fepic-harness\u002Fskills\u002Fdebug\u002FSKILL.md",true,[],[67,93,118,152,172,186],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":37},"01M716A6ETNB9B1SQ3GXZC75VR","deja-search","deja-vu memory — search the user's past AI coding sessions with the deja CLI. Holds what they already settled and never wrote into the repo (naming rules, banned or already-tried tools, required checks before merge, preferred values, who owns what). Use before your first edit in a task, before you call a change done or ready to merge, before you recommend a tool, library, design or reviewer, before re-debugging an error that may already be solved, when they say 'didn't we fix this before', 'what did we decide about X' or 'I already have that', and before telling them something on this machine does not exist.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvshulcz\u002Fdeja-vu\u002Fskills\u002Fdeja-search\u002FSKILL.md",[],[74,75,76,77,78,79,80,81,29,82,83,84,85,86,87,88,89,90,91,92],"search","deja search","error","ready","never","memory","re","decide","design","debugging","when","you","done","reviewer","io","change","cli","merge","past",{"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":37},"01M716A3J2W5SENSE9VGMXB375","deja-reflect","End-of-session reflection and memory curation with deja-vu. Review what was decided, what commands broke and what repaired them, and record durable project rules or decisions with deja remember so the next session starts with them.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvshulcz\u002Fdeja-vu\u002Fskills\u002Fdeja-reflect\u002FSKILL.md",[],[100,101,102,103,79,104,105,106,107,108,109,110,111,88,112,113,114,115,116,117],"reflect","deja reflect","brew","remember","project rules","project","session","end","reflection","Rules","decisions","review","with","record","github","next","https","node",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":135,"publishedAt":37},"01M715T3RR4BAYSR57HPPTJ0PF","revid","Make, edit, export and post AI videos with Revid (revid.ai) through the Revid MCP server. Use whenever the user wants a short-form or long-form video made (from an idea, a script, a URL, an article, a PDF, a tweet, a product page, their own clips, or a song), wants to find what is going viral on TikTok, YouTube, Instagram or X before making something, wants to edit or re-export an existing Revid project, generate a standalone AI image or clip, make a series episode, or publish and schedule a finished video to connected social accounts. Covers setup (hosted MCP with OAuth, or an API key), the 36 tools, credits, polling and the rules for publishing. Routes to the more specific revid-* skills when one fits.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Ftmakersas\u002Frevid-skills\u002Fskills\u002Frevid\u002FSKILL.md",[124,129,132],{"categoryNo":125,"categoryName":126,"taxonomyType":127,"taxonomyTypeDesc":128},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":130,"categoryName":131,"taxonomyType":127,"taxonomyTypeDesc":128},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":133,"categoryName":134,"taxonomyType":127,"taxonomyTypeDesc":128},"01JBSEEDCAT000000000000023","Skill与智能体开发",[120,136,137,138,139,140,105,141,80,142,143,144,145,84,146,147,148,149,150,151],"Video","short-form","standalone","PDF","viral","tiktok","short","social","MCP","song","URL","image","mcp server","schedule","api","publish",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":158,"publishedAt":37},"01M71569ZM2X3H5RBFK8PVKMK2","review-study","Review a QuestionPunk survey before launch for wording, answer choices, branching, and missing settings. Use for check my survey or review this draft before publishing.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fquestionpunk\u002Fcodex-plugin\u002Fskills\u002Freview-study\u002FSKILL.md",[],[159,160,111,36,161,162,163,164,165,166,167,168,169,170,171],"study","review study","answer","missing","survey","publishing","use","check","draft","settings","launch","my","branching",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":178,"publishedAt":37},"01M71567GV0C35YQBY0DPGR86B","manage-study","Find QuestionPunk studies, check status, publish an explicitly requested draft, or retrieve its participant link. Use for find my survey, publish this study, or how many people responded.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fquestionpunk\u002Fcodex-plugin\u002Fskills\u002Fmanage-study\u002FSKILL.md",[],[179,159,180,36,163,165,181,166,167,151,182,183,184,185,170],"manage study","manage","people","how","find","link","status",{"skillNo":187,"name":188,"nameZh":6,"description":189,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":190,"categories":191,"keywords":192,"publishedAt":37},"01M71565A8TCA01AZQZRGRYMFZ","create-study","Create a saved QuestionPunk survey draft from a research brief or edit specified questions. Use for requests such as make a customer feedback survey or shorten my onboarding study.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fquestionpunk\u002Fcodex-plugin\u002Fskills\u002Fcreate-study\u002FSKILL.md",[],[193,159,194,195,196,197,36,198,163,199,165,200,201,167,202,203,204,205,206,170],"create study","create","brief","as","feedback","customer feedback","research brief","shorten","saved","research","requests","customer","questions","edit"]