SentryFixer: reading a Sentry error against the code and drafting the fix
A Claude Code skill that reads a Sentry issue against the working tree and proposes a fix as a diff and a regression test, touching no file until approved.
What it does today
Reads a Sentry issue against the working tree, produces a root-cause analysis and a fix plan, and touches no file without explicit approval. Anyone using Claude Code who needs to triage a production error can install the skill.
- Started
- July 2026 — Ongoing
Form
Technologies
The gap between error monitoring and the fix always sits in the same place: Sentry tells you what blew up, but working out how that line looks today, whether the code path changed since the error, and what a fix might break is still on you. SentryFixer is the Claude Code skill I wrote to automate that middle step.
Four steps from event to fix plan
Given a Sentry issue, the skill runs through:
- Compressing 50–300 KB of event data into a redacted summary.
- Mapping stack trace frames onto the real source files in the working tree.
- Checking freshness — whether the failing code changed since the error fired.
- Reasoning about the root cause and proposing a concrete fix with tests.
The strict part comes last: no file changes until the plan is approved. No automatic commits, no git operations beyond read-only history. Once approved, the diff is applied, the tests run, and the result is reported as-is.
Narrow dependencies, hard approval gate
The dependency surface is deliberately narrow: Python 3.8+ with the standard
library only, plus curl/bash. There are three ways into Sentry — the API
directly, sentry-cli or the Sentry MCP server — whichever is available. MIT
licensed, repository public.
Two decisions sit at the centre of the design. First, context compression: raw event data never goes to the model as-is; it is reduced to the frames that matter, and personal data is redacted at that step. Second, the approval gate: the skill’s write access stays shut until someone reads the plan and says go.
The limit of the freshness check
The open question on the bench: freshness currently checks whether the file changed. What I actually want is a verdict on how much the diff between the error’s commit and today’s code touches the root cause. That is the next round.