error-triagelisted
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