← ClaudeAtlas

error-triagelisted

Locates the cause of a runtime failure inside this repository. Maps stack frames to real source files, separates first-party code from vendored frames, and surfaces the recent changes to the line that owns the failure. A pasted stack trace is the fastest input but not a requirement — it works from a CI or crash log, or from a failure the user only describes, in which case its first step is establishing what to capture. Use when something has already failed at runtime and the user wants to know why — a pasted exception, a job log, or a fault that appears in one environment and not another. Not for a failure the user describes as intermittent, where the rate has to be measured before anything can be diagnosed.
Contexory/skills · ★ 0 · AI & Automation · score 73
Install: claude install-skill Contexory/skills
# Error triage A stack trace names the frame where the process gave up, which is rarely the frame that caused the failure. This skill finds the second one. ## Procedure Work in order. Do not skip to step 4. ### 1. Map the trace to real files Run the mapper on the trace. It accepts a file path or `-` for stdin, and it works on Node, Python, Go and Java formats: `<skill-dir>` is the directory this SKILL.md was loaded from — the skill installs outside your project, so its script is named by full path, never relatively. ``` python3 <skill-dir>/scripts/trace_map.py - # paste the trace on stdin python3 <skill-dir>/scripts/trace_map.py /tmp/ci.log # or read it from a file ``` It prints every frame in order, marks each as `project` or `vendor`, drops frames whose file does not exist on disk, and labels the first surviving project frame `OWNING`. It then runs `git blame` on that line and `git log` on that file. **If the mapper resolves no project frames at all**, say so and stop the mechanical part — the trace is from a different build of this code, or from a dependency's internals. Ask for the commit the trace came from rather than guessing at frames that do not exist. ### 2. Read the owning frame, and the two frames either side of it Read the actual source. The trace tells you a line number; it does not tell you what the line assumed. What you are looking for is the assumption that no longer holds — a value that can now be null, a shape that changed, an order