一键导入
debugging
Helps diagnose and fix runtime errors, crashes, and unexpected behavior.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Helps diagnose and fix runtime errors, crashes, and unexpected behavior.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Diagnoses openclaude provider configuration problems and proposes fixes.
Resolves merge and rebase conflicts by preserving both sides' intent.
Reads a CodeQL or static-analysis finding and produces a targeted fix.
Fixture where a curl-piped-to-bash sits inside a fenced block; scanner must still flag it.
Reviews database schema changes, migrations, and queries.
Implements frontend components following project conventions.
| name | debugging |
| title | Debugging |
| description | Helps diagnose and fix runtime errors, crashes, and unexpected behavior. |
| category | debugging |
| tags | ["debugging","troubleshooting","errors"] |
| trust | official |
| version | 0.1.0 |
| license | MIT |
| author | gnanam |
Find the root cause of a runtime failure and fix it at the right layer. Beat the urge to patch the symptom — a fix that hides the bug is worse than no fix.
refactor-plan for restructuring or a dedicated perf approach.test-writer.git log between known-good and known-bad. Reach for
git bisect when the regression window is wide.console.log,
a debugger breakpoint, a unit test that calls the suspect function
with the suspect input. If the hypothesis is wrong, the test should
tell you cleanly, not just "still broken".In scope: "TypeError: Cannot read property 'id' of undefined at user.ts:42."
→ Open user.ts:42. Trace where the undefined originates by walking
the call chain backward. If getUser() returns undefined on a missing
ID, the bug is getUser() returning undefined instead of throwing or
returning a typed null, not the caller failing to handle it.
In scope: "Sometimes this test fails in CI but never locally."
→ Treat as a flake until proven otherwise. Look for: time-of-day dependence, shared mutable state across tests, race conditions on fixtures, clock-dependent assertions. Run the test in a tight loop locally with the CI's parallelism settings before declaring it "works on my machine".
In scope: "Memory keeps climbing in production."
→ Ask for the metric (RSS? heap?), the rate, and the deploy that preceded it. Look for unbounded caches, listeners that get attached on every request, or array fields that accumulate. A heap snapshot diff at two points usually identifies the leaking type within minutes.
In scope: "Why is the response sometimes empty?"
→ "Sometimes" implies a non-deterministic input. Inventory the sources of non-determinism: time, randomness, ordering of async operations, cache state, retry behavior, partial data from an upstream service. Add a structured log at the boundary where the response is built and re-run until a successful and an empty response sit side by side.
Out of scope: "Make this faster."
→ A performance ask without a functional bug is not a debugging
task. Use refactor-plan or measure first.
Out of scope: "Refactor this module while you're in there."
→ Refactors and bugfixes are separate PRs. A refactor inside a bugfix makes the fix hard to verify and hard to revert.