[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71SZ80SJ44B32TYW2FZPSCF":3,"skill-same:01M71SZ80SJ44B32TYW2FZPSCF":76},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":39,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":42,"ownerDescription":43,"updatedAt":44,"install":45,"resources":57},"01M71SZ80SJ44B32TYW2FZPSCF","investigate-app",null,"Use when something is broken in production and you need to investigate -- errors, outages, degraded performance, or unexpected behavior.","Claudfather\u002FclauDNA","Claudfather","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F281278891?v=4","01M71SX82K0TBGQ394AB2G1T5Z","01M71SX83CE1S8YC06K9P3P962",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Finvestigate-app\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29],"app","investigate","investigate app","broken","performance","true","errors","use","when","you","behavior","Production","2026-11-10 13:02:02",false,"---\nname: investigate-app\nuser-invocable: true\ndescription: \"Use when something is broken in production and you need to investigate -- errors, outages, degraded performance, or unexpected behavior.\"\n---\n\n# Investigate App\n\n> **Codex:** Read `..\u002F_shared\u002Fcodex-tools.md` before following this skill. Apply its tool, root and dispatch mappings throughout.\n\nProduction debugging workflow: detect platform, gather evidence, root-cause analysis, generate fix plans.\n\n**Persona:** Senior SRE -- methodical, evidence-driven, never guesses. Every finding cites evidence. Every recommendation includes confidence and rationale.\n\n## The Iron Law\n\n**ALWAYS find root cause before attempting fixes.** Random fixes waste time and create new bugs. Symptom fixes are failure.\n\n\u003CHARD-GATE>\nDo NOT propose any fix until evidence gathering (Steps 1-5) is complete.\nViolating the letter of this rule is violating the spirit of debugging.\n\u003C\u002FHARD-GATE>\n\n## Procedure\n\nFollow steps in order. **Enter Plan Mode** (`EnterPlanMode`). All steps through Step 6 are read-only. If user declines, proceed normally -- still read-only by convention.\n\n---\n\n### Step 1: Understand the Problem\n\nAsk the user: (1) What's broken? (2) When did it start? (3) What changed recently? (4) What's the impact? Capture answers as structured context for the investigation.\n\n---\n\n### Step 2: Detect Platform\n\nRun detection checks in parallel, bootstrap missing CLIs, present detection summary. See `platform-detection-reference.md` for detection matrix, bootstrap sequences, and summary format.\n\n---\n\n### Steps 3-4: Gather Evidence & Trace Code\n\nScratch directory: `\u003Cscratch>\u002Fresearch\u002F`, with `\u003Cscratch>` a private directory made by `mktemp -d \"${TMPDIR:-\u002Ftmp}\u002Finvestigate-app.XXXXXX\"`.\n\nLaunch **parallel Explore subagents** per orchestration guide, Section 2 (Explore Agent Disk Pattern). Each writes research to the scratch directory, returns a 2-4 line summary. Do NOT read CLAUDE.md or MEMORY.md in the orchestrator.\n\nFollow `evidence-gathering-checklist.md` in this skill's directory for signals to gather and codebase tracing targets.\n\n---\n\n### Step 5: Root Cause Analysis\n\nPresent findings as a table: `#`, `Category`, `Finding`, `Confidence`, `Evidence`. Confidence: **High** (direct evidence), **Medium** (correlation), **Low** (needs more investigation).\n\n---\n\n### Step 6: Fix Proposals\n\nFor each root cause, propose a fix scored by **Impact**, **Effort**, **Risk** (each H\u002FM\u002FL). Present as a table: `#`, `Fix`, `Impact`, `Effort`, `Risk`.\n\nUse `defense-in-depth.md` to select prevention and verification for the concrete failure; carry that choice and any evidence limits into the fix plan.\n\nAsk the user: **\"Which fixes would you like me to plan? Pick by number, or tell me to adjust.\"** Do NOT proceed until the user selects fixes.\n\n**Exit Plan Mode.** Call `ExitPlanMode` -- doc generation requires the Write tool.\n\n---\n\n### Escalation: 3+ Failed Fixes\n\n**If 3+ fix attempts failed: STOP.** Signs: new coupling, massive refactoring, new symptoms each time. Discuss with user -- wrong architecture, not failed hypothesis.\n\n---\n\n### Step 7: Generate Fix Plans\n\nGenerate implementation plans for approved fixes. Ask user for a session name (e.g., `api-500s`).\n\n**Output** lands in `documentation\u002Fplanning\u002Finvestigations\u002F\u003Csession_name>_\u003CYYYY-MM-DD>\u002F` -- `00_INVESTIGATION.md` (full record) plus numbered fix docs. Plan agents write the family to the session's scratch docs directory and the orchestrator publishes it with `\u002Fclaudna:publish \u003Cscratch-docs-dir> --to docs --dir documentation\u002Fplanning\u002Finvestigations\u002F\u003Csession_name>_\u003CYYYY-MM-DD>\u002F` (family mode; orchestration guide, Section 3). Archive convention: orchestration guide, Section 8.\n\n**Subagent workflow:** Orchestration guide, Section 9. Plan agents read from the scratch directory. Keep fix docs proportional to complexity.\n\n---\n\n### Step 8: Postmortem Summary & Handoff\n\nPresent summary: session, date, problem, platform, root causes, fix list, prevention recommendations, docs path. Direct user to run `\u002Fclaudna:build` on the investigation directory.\n\n**This skill produces plans, not code.** Do NOT build, branch, or create PRs.\n\n---\n\n## Red Flags — STOP\n\nIf you think \"quick fix for now,\" \"just try X,\" \"it's probably X,\" or \"one more attempt\" (after 2+ failures) -- STOP and return to evidence. Systematic is faster than guess-and-check. 3+ failures = architectural problem.\n\n---\n\n## Notes\n\n- **User gates at every major step.** Never auto-proceed between investigation, planning, and implementation.\n- **Evidence over intuition.** Every diagnosis must cite specific log lines, metrics, or code.\n- **Platform-agnostic core.** Platform-specific commands used when available, never required.\n- **Subagents.** Steps 3-4: Explore (disk-write). Step 7: Plan (disk-write). See orchestration guide. Context never flows through the orchestrator.\n- **Never display secrets.** Env var names only. Mask secrets in logs.\n- **Supporting files:** `platform-detection-reference.md`, `evidence-gathering-checklist.md`, `root-cause-tracing.md`, `defense-in-depth.md`.\n- Orchestration guide, Section 10: one PR per doc, testing, plans-not-code.\n","# Investigate App\n\n> **Codex:** Read `..\u002F_shared\u002Fcodex-tools.md` before following this skill. Apply its tool, root and dispatch mappings throughout.\n\nProduction debugging workflow: detect platform, gather evidence, root-cause analysis, generate fix plans.\n\n**Persona:** Senior SRE -- methodical, evidence-driven, never guesses. Every finding cites evidence. Every recommendation includes confidence and rationale.\n\n## The Iron Law\n\n**ALWAYS find root cause before attempting fixes.** Random fixes waste time and create new bugs. Symptom fixes are failure.\n\n\u003CHARD-GATE>\nDo NOT propose any fix until evidence gathering (Steps 1-5) is complete.\nViolating the letter of this rule is violating the spirit of debugging.\n\u003C\u002FHARD-GATE>\n\n## Procedure\n\nFollow steps in order. **Enter Plan Mode** (`EnterPlanMode`). All steps through Step 6 are read-only. If user declines, proceed normally -- still read-only by convention.\n\n---\n\n### Step 1: Understand the Problem\n\nAsk the user: (1) What's broken? (2) When did it start? (3) What changed recently? (4) What's the impact? Capture answers as structured context for the investigation.\n\n---\n\n### Step 2: Detect Platform\n\nRun detection checks in parallel, bootstrap missing CLIs, present detection summary. See `platform-detection-reference.md` for detection matrix, bootstrap sequences, and summary format.\n\n---\n\n### Steps 3-4: Gather Evidence & Trace Code\n\nScratch directory: `\u003Cscratch>\u002Fresearch\u002F`, with `\u003Cscratch>` a private directory made by `mktemp -d \"${TMPDIR:-\u002Ftmp}\u002Finvestigate-app.XXXXXX\"`.\n\nLaunch **parallel Explore subagents** per orchestration guide, Section 2 (Explore Agent Disk Pattern). Each writes research to the scratch directory, returns a 2-4 line summary. Do NOT read CLAUDE.md or MEMORY.md in the orchestrator.\n\nFollow `evidence-gathering-checklist.md` in this skill's directory for signals to gather and codebase tracing targets.\n\n---\n\n### Step 5: Root Cause Analysis\n\nPresent findings as a table: `#`, `Category`, `Finding`, `Confidence`, `Evidence`. Confidence: **High** (direct evidence), **Medium** (correlation), **Low** (needs more investigation).\n\n---\n\n### Step 6: Fix Proposals\n\nFor each root cause, propose a fix scored by **Impact**, **Effort**, **Risk** (each H\u002FM\u002FL). Present as a table: `#`, `Fix`, `Impact`, `Effort`, `Risk`.\n\nUse `defense-in-depth.md` to select prevention and verification for the concrete failure; carry that choice and any evidence limits into the fix plan.\n\nAsk the user: **\"Which fixes would you like me to plan? Pick by number, or tell me to adjust.\"** Do NOT proceed until the user selects fixes.\n\n**Exit Plan Mode.** Call `ExitPlanMode` -- doc generation requires the Write tool.\n\n---\n\n### Escalation: 3+ Failed Fixes\n\n**If 3+ fix attempts failed: STOP.** Signs: new coupling, massive refactoring, new symptoms each time. Discuss with user -- wrong architecture, not failed hypothesis.\n\n---\n\n### Step 7: Generate Fix Plans\n\nGenerate implementation plans for approved fixes. Ask user for a session name (e.g., `api-500s`).\n\n**Output** lands in `documentation\u002Fplanning\u002Finvestigations\u002F\u003Csession_name>_\u003CYYYY-MM-DD>\u002F` -- `00_INVESTIGATION.md` (full record) plus numbered fix docs. Plan agents write the family to the session's scratch docs directory and the orchestrator publishes it with `\u002Fclaudna:publish \u003Cscratch-docs-dir> --to docs --dir documentation\u002Fplanning\u002Finvestigations\u002F\u003Csession_name>_\u003CYYYY-MM-DD>\u002F` (family mode; orchestration guide, Section 3). Archive convention: orchestration guide, Section 8.\n\n**Subagent workflow:** Orchestration guide, Section 9. Plan agents read from the scratch directory. Keep fix docs proportional to complexity.\n\n---\n\n### Step 8: Postmortem Summary & Handoff\n\nPresent summary: session, date, problem, platform, root causes, fix list, prevention recommendations, docs path. Direct user to run `\u002Fclaudna:build` on the investigation directory.\n\n**This skill produces plans, not code.** Do NOT build, branch, or create PRs.\n\n---\n\n## Red Flags — STOP\n\nIf you think \"quick fix for now,\" \"just try X,\" \"it's probably X,\" or \"one more attempt\" (after 2+ failures) -- STOP and return to evidence. Systematic is faster than guess-and-check. 3+ failures = architectural problem.\n\n---\n\n## Notes\n\n- **User gates at every major step.** Never auto-proceed between investigation, planning, and implementation.\n- **Evidence over intuition.** Every diagnosis must cite specific log lines, metrics, or code.\n- **Platform-agnostic core.** Platform-specific commands used when available, never required.\n- **Subagents.** Steps 3-4: Explore (disk-write). Step 7: Plan (disk-write). See orchestration guide. Context never flows through the orchestrator.\n- **Never display secrets.** Env var names only. Mask secrets in logs.\n- **Supporting files:** `platform-detection-reference.md`, `evidence-gathering-checklist.md`, `root-cause-tracing.md`, `defense-in-depth.md`.\n- Orchestration guide, Section 10: one PR per doc, testing, plans-not-code.\n",{"name":5,"description":7,"user-invocable":35},true,"main","fc776f04574726e261087dbb521c1831bf0ea9d5","skills\u002Finvestigate-app",1,"https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA","https:\u002F\u002Fgithub.com\u002FClaudfather","https:\u002F\u002Fcrog.gg","Rise of the machines","2026-11-08 21:32:41",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":35},[47,50,53],{"tool":48,"command":49},"npx","npx skills add Claudfather\u002FclauDNA --skill investigate-app",{"tool":51,"command":52},"bunx","bunx skills add Claudfather\u002FclauDNA --skill investigate-app",{"tool":54,"command":55},"pnpm","pnpm dlx skills add Claudfather\u002FclauDNA --skill investigate-app","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Finvestigate-app\u002FSKILL.md",[58,64,68,72],{"path":59,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":62,"sourceHtmlUrl":63},"defense-in-depth.md","REFERENCE","参考文档",3482,"https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Finvestigate-app\u002Fdefense-in-depth.md",{"path":65,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":66,"sourceHtmlUrl":67},"evidence-gathering-checklist.md",6093,"https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Finvestigate-app\u002Fevidence-gathering-checklist.md",{"path":69,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":70,"sourceHtmlUrl":71},"platform-detection-reference.md",3026,"https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Finvestigate-app\u002Fplatform-detection-reference.md",{"path":73,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":74,"sourceHtmlUrl":75},"root-cause-tracing.md",2487,"https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Finvestigate-app\u002Froot-cause-tracing.md",[77,101,111,135,160,176],{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":30},"01M71T1STJ99BE1C0JYHCQW0XN","example-review","Use when you want to review pull requests with detailed, actionable feedback on code quality, correctness, and maintainability.","https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fvalid-package\u002FSKILL.md",[],[84,85,86,87,88,89,90,91,92,27,26,25,93,94,95,96,97,98,99,100],"review","example","example review","actionable","pull requests","with","code","correctness","Bash","gh","gh pr","diff","view","pr","code quality","feedback","pull",{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":107,"publishedAt":30},"01M71T1RMCD30MAJC954JC7580","bad-skill","Too short","https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Ffailing-package\u002FSKILL.md",[],[108,109,110],"bad","bad skill","short",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":30},"01M71T1NS97NJ2MQ993V7FBES7","worktree","Use when starting feature work that needs isolation from the current workspace, or when running multiple Claude sessions in parallel on different branches — creates and manages git worktrees. For fetching latest main into every existing worktree and branch across your sibling repos, use \u002Fclaudna:sync-branches instead.","https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Fworktree\u002FSKILL.md",[],[113,118,119,120,121,122,123,124,125,126,127,128,26,129,36,130,131,132,133,134],"sync","repos","git","isolation","running","sessions","worktrees","work","across","needs","git worktrees","claude sessions","branches","branch","parallel","for","feature",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":141,"publishedAt":30},"01M71T1HNVG1CZY8P904P6RB7P","weigh-development-paths","Use when at a development junction with multiple viable approaches — architecture choices, refactoring strategies, where to put new code, or which pattern to follow. Triggers on 'which approach', 'how should I', 'Option A vs B', or any point where the next step isn't obvious and the wrong choice creates rework.","https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Fweigh-development-paths\u002FSKILL.md",[],[142,143,144,145,146,147,148,149,150,151,152,153,154,90,26,155,156,157,158,159],"development","weigh development paths","paths","next step","path","refactoring","choice","pattern","at","how","next","strategies","architecture","auto","new","junction","option","which",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":30},"01M71T1ECV1T5E168GH70AY5B3","verify-completion","Use when about to claim work is complete, fixed, or passing -- requires running verification commands and confirming output before making any success claims.","https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Fverify-completion\u002FSKILL.md",[],[167,168,169,170,122,23,171,172,125,173,174,175,26,25],"verify completion","verify","claim","complete","commands","about","verification","claims","output",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":187,"publishedAt":30},"01M71T1BC1HA7XQH0Q1H574FYS","vercel","Use for Vercel operations — deploy to production or preview (or roll back), view, filter, or debug deployment logs, or check project status (deployments, domains, env vars, config). Replaces \u002Fvercel-deploy, \u002Fvercel-logs, \u002Fvercel-status.","https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Fvercel\u002FSKILL.md",[182],{"categoryNo":183,"categoryName":184,"taxonomyType":185,"taxonomyTypeDesc":186},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[178,188,189,190,191,192,193,194,195,25,196,23,197,198,199,200,133,96,201,202],"inspection","check","filter","env","logs","preview","debug deployment","debug","deployments","domains","deployment","env vars","project","project status","back"]