Sentry issue
Custom configuration for Claude Code that turns it into a disciplined engineering partner with structured workflows, strict guardrails, and domain-specific expertise.
npx -y skills add domengabrovsek/claude --skill sentry-issueAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 14 stars14 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Fetch and digest Sentry issue data (issue summary, tags, stack trace, breadcrumbs, latest event) by short ID, numeric issue ID, or sentry.io URL. Org-agnostic - works for any Sentry org the local token can access. Use when the user mentions a Sentry issue or short ID (e.g. MY-PROJECT-4X2), pastes a sentry.io issue URL, or asks to investigate/debug a Sentry error.
SKILL.md
3.6 KB, as published. Nobody here has run it
Sentry Issue Investigation
Pull everything needed to debug a Sentry issue, starting from just a short ID.
Quick start
~/.claude/skills/sentry-issue/scripts/sentry-issue.sh MY-PROJECT-4X2
Accepts a short ID (PROJECT-ABC), a numeric issue ID, or a full issue URL
(https://<org>.sentry.io/issues/123456/). Prints a compact digest:
issue summary, tags, exception chain with in-app stack frames, request info,
last 10 breadcrumbs. Full JSON payloads are saved to
/tmp/sentry-issue-<id>.json and /tmp/sentry-event-<id>.json for follow-up
jq queries.
How auth and org resolution work
- Token:
SENTRY_AUTH_TOKENenv ->./.sentryclirc-> repo-root.sentryclirc->~/.sentryclirc. The token is never printed. - Org:
--org <slug>flag ->SENTRY_ORGenv ->.sentryclircorgkey -> auto-discovery viaGET /api/0/organizations/. With a single accessible org it is used directly; with multiple orgs, short IDs are probed against each, while numeric IDs require--org. - Server:
SENTRY_URLenv or.sentryclircurlkey for self-hosted; defaults tohttps://sentry.io(which proxies org-scoped routes to the correct region, including EU orgs).
Required token scopes: org:read, project:read, event:read.
Investigation workflow
-
Run the script with the identifier the user gave.
-
Read the digest: in-app frames (
[app]prefix) point at the failing code; tags likefunctionName,transaction,url,environmentlocate the runtime context. -
Open the implicated source files in the matching repo and trace the failure path. The Sentry project slug usually maps to a repo - check the slug against the repos you have locally.
-
For deeper context, query the saved JSON, e.g.:
jq '.entries[] | select(.type=="exception") | .data.values[0].stacktrace.frames[] | select(.inApp) | {filename, lineNo, context}' /tmp/sentry-event-<id>.json jq '{stats: .stats, firstRelease: .firstRelease.version, lastRelease: .lastRelease.version}' /tmp/sentry-issue-<id>.json jq '.contexts' /tmp/sentry-event-<id>.json -
For a structured root-cause investigation, continue with the
/debugworkflow using the gathered evidence.
Going deeper
See REFERENCE.md for the full endpoint map and payload
anatomy: other events (oldest, by ID, walking previousEventID/nextEventID),
tag value distributions, attachments, issue search, source-context jq recipes,
and what is NOT available (frame-local variables, session replay). Use it
whenever the latest-event digest is not enough evidence.
- For ad-hoc API calls beyond the script, resolve the token the same way the
script does (inside command substitution) so it never appears in output
(review-time: secret handling depends on how the command is composed - not pattern-matchable by a hook)
Troubleshooting
- HTTP 403: wrong org slug or token lacks scopes - run
sentry-cli infoto inspect scopes (never print the token itself). - HTTP 404 on short ID: short ID belongs to a different org - pass
--org, or the issue was deleted. sentry-cli organizations listJSON parse error: known CLI 3.5.0 bug; the script's API-based discovery avoids it.