[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M77JNHMY7Z2RTBJZ4DHTTH7S":3,"skill-same:01M77JNHMY7Z2RTBJZ4DHTTH7S":46},{"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":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":14,"repositoryHtmlUrl":27,"repositoryHomepageUrl":6,"ownerHtmlUrl":28,"ownerBlogUrl":29,"ownerDescription":30,"updatedAt":31,"install":32,"resources":45},"01M77JNHMY7Z2RTBJZ4DHTTH7S","principle-fix-root-causes",null,"デバッグ時に適用する。各症状を根本原因までたどり、そこで修正する。まず再現し、根本原因に達するまで「なぜ」を問い、クラッシュを黙らせる nil チェックのガードに抵抗する。","seiei-sogen\u002Fagent-skills","seiei-sogen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F66318252?v=4","01M77JBBV0RG0YC1XP2EP9GCW9","聖永宗玄 Seiei Sōgen","01M77JBBVNEGW6EPDCJECRQ1G5",0,"MIT","https:\u002F\u002Fgithub.com\u002Fseiei-sogen\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fpstack-skills\u002Fprinciple-fix-root-causes\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: principle-fix-root-causes\ndescription: \"デバッグ時に適用する。各症状を根本原因までたどり、そこで修正する。まず再現し、根本原因に達するまで「なぜ」を問い、クラッシュを黙らせる nil チェックのガードに抵抗する。\"\nuser-invocable: false\n---\n\n# Fix Root Causes\n\nデバッグ時は、症状を修正しない。すべての問題を根本原因までたどり、そこで修正する。\n\n**理由:** 症状の修正は蓄積する。回避策のひとつひとつがシステムを推論しにくくし、本当のバグは残る。根本原因の修正は最初は遅いが、デバッグの総時間を減らす。\n\n**パターン:**\n- まず再現する\n- 根本原因に到達するまで「なぜ」を問う\n- ガードを追加しない（クラッシュを黙らせるために nil チェックを追加するのは症状の修正である）\n- 回避策を正当化するのに段落ほどの長さのコメントが必要なら、コードが間違っている（コメントではなくコードを直す）\n- 事例だけでなくパターンを確認する（同じパターンを grep し、すべての事例を修正する）\n- 行き詰まったら計装する。推測しない（ログを追加し、実際のエラーを読む）\n\n**再起動のバグ: コードより先に状態を疑う**\n\n何かが「再起動後に失敗する」ときは、まず古くなった永続状態を疑う。設定ファイル、キャッシュ、ロックファイル、シリアライズされた状態。状態ファイルを消すと動作が戻るなら、修正として状態のバリデーションを優先する。\n","# Fix Root Causes\n\nデバッグ時は、症状を修正しない。すべての問題を根本原因までたどり、そこで修正する。\n\n**理由:** 症状の修正は蓄積する。回避策のひとつひとつがシステムを推論しにくくし、本当のバグは残る。根本原因の修正は最初は遅いが、デバッグの総時間を減らす。\n\n**パターン:**\n- まず再現する\n- 根本原因に到達するまで「なぜ」を問う\n- ガードを追加しない（クラッシュを黙らせるために nil チェックを追加するのは症状の修正である）\n- 回避策を正当化するのに段落ほどの長さのコメントが必要なら、コードが間違っている（コメントではなくコードを直す）\n- 事例だけでなくパターンを確認する（同じパターンを grep し、すべての事例を修正する）\n- 行き詰まったら計装する。推測しない（ログを追加し、実際のエラーを読む）\n\n**再起動のバグ: コードより先に状態を疑う**\n\n何かが「再起動後に失敗する」ときは、まず古くなった永続状態を疑う。設定ファイル、キャッシュ、ロックファイル、シリアライズされた状態。状態ファイルを消すと動作が戻るなら、修正として状態のバリデーションを優先する。\n",{"name":5,"description":7,"user-invocable":20},"main","167c6691adf7e788205650c1a62c10567e69a75f","skills\u002Fpstack-skills\u002Fprinciple-fix-root-causes","https:\u002F\u002Fgithub.com\u002Fseiei-sogen\u002Fagent-skills","https:\u002F\u002Fgithub.com\u002Fseiei-sogen","https:\u002F\u002Fseiei-sogen.github.io","Software Developer\u002FEngineer.","2026-11-12 12:51:47",{"source":8,"skillName":5,"commands":33,"prompt":43,"zipAvailable":44},[34,37,40],{"tool":35,"command":36},"npx","npx skills add seiei-sogen\u002Fagent-skills --skill principle-fix-root-causes",{"tool":38,"command":39},"bunx","bunx skills add seiei-sogen\u002Fagent-skills --skill principle-fix-root-causes",{"tool":41,"command":42},"pnpm","pnpm dlx skills add seiei-sogen\u002Fagent-skills --skill principle-fix-root-causes","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fseiei-sogen\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fpstack-skills\u002Fprinciple-fix-root-causes\u002FSKILL.md",true,[],[47,54,61,68,75,82],{"skillNo":48,"name":49,"nameZh":6,"description":50,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":51,"categories":52,"keywords":53,"publishedAt":19},"01M77JQCQ91W9AK2G7HCAT8TEW","why","「なぜ X はこの動きなのか」「なぜ Y を選んだのか」、設計の根拠説明、リグレッション、ポストモーテム、データに裏付けられたしきい値に使う。利用可能な MCP を発見し、各証拠カテゴリ（ソース管理、issue トラッカー、長文ドキュメント、リアルタイムチャット、インフラ可観測性、エラートラッキング、プロダクト分析ウェアハウス）を並列で問い合わせ、決定とトレードオフについて引用付きの読み解きを返す。実行時の振る舞いには how を使う。","https:\u002F\u002Fgithub.com\u002Fseiei-sogen\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fpstack-skills\u002Fwhy\u002FSKILL.md",[],[],{"skillNo":55,"name":56,"nameZh":6,"description":57,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":58,"categories":59,"keywords":60,"publishedAt":19},"01M77JQATY44K4PJ5X1ZK7DGAH","what-did-i-get-done","ユーザーが指定した期間に自分が作成したコミットを、簡潔な状況報告に要約する","https:\u002F\u002Fgithub.com\u002Fseiei-sogen\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fpstack-skills\u002Fwhat-did-i-get-done\u002FSKILL.md",[],[],{"skillNo":62,"name":63,"nameZh":6,"description":64,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":65,"categories":66,"keywords":67,"publishedAt":19},"01M77JQ8KDCH24TVAF36J7DKXS","unslop","あらゆる文章から AI の痕跡を削る。常に適用しなければならない。","https:\u002F\u002Fgithub.com\u002Fseiei-sogen\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fpstack-skills\u002Funslop\u002FSKILL.md",[],[],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":19},"01M77JQ79R7RB2GNA5EMK7J7T9","typescript-best-practices","TypeScript のベストプラクティス。.ts または .tsx ファイルを読むか編集するときに使う。","https:\u002F\u002Fgithub.com\u002Fseiei-sogen\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fpstack-skills\u002Ftypescript-best-practices\u002FSKILL.md",[],[],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":19},"01M77JQ5CF7TS7Y91V0TXFJC2P","thermo-nuclear-code-quality-review","抽象化の質、巨大ファイル、スパゲッティ条件分岐の増殖について、極めて厳格な保守性レビューを行う。thermo-nuclear なコード品質レビュー、thermonuclear レビュー、深いコード品質監査、または特に厳しい保守性レビューに使う。","https:\u002F\u002Fgithub.com\u002Fseiei-sogen\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fpstack-skills\u002Fthermo-nuclear-code-quality-review\u002FSKILL.md",[],[],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":19},"01M77JQ1XESSFX1D7TBNQE3CCE","technical-writing","階層化されたテクニカルライティング標準。Diátaxis の構造、Google developer style の文、STE の指示ルール、Global English の構文。\u002Ftechnical-writing、またはドキュメント、RFC、readme、PR の説明、コミットメッセージを書いたりレビューしたりするときに使う。","https:\u002F\u002Fgithub.com\u002Fseiei-sogen\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fpstack-skills\u002Ftechnical-writing\u002FSKILL.md",[],[]]