investigate-sentry-issue
This Claude Code skill investigates and triages Sentry error issues by parsing issue IDs or URLs, retrieving detailed error metadata and stacktraces via the Sentry API, analyzing exception details and breadcrumbs to identify root causes, and optionally resolving or muting issues. Use it when you need to understand error context, determine affected users, and prepare incident response or triage decisions.
git clone --depth 1 https://github.com/desplega-ai/agent-swarm /tmp/investigate-sentry-issue && cp -r /tmp/investigate-sentry-issue/plugin/pi-skills/investigate-sentry-issue ~/.claude/skills/investigate-sentry-issueSKILL.md
# Investigate Sentry Issue
Investigate a Sentry issue to understand the error, gather context, and prepare for fixing or triaging.
## Prerequisites
`SENTRY_AUTH_TOKEN` and `SENTRY_ORG` must be set. Verify with `sentry-cli info`.
## Arguments
- `sentry-issue-url-or-id`: A Sentry issue URL or just the issue ID (e.g., `123456`)
## Workflow
### 1. Parse the Input
If given a URL (`https://sentry.io/organizations/{org}/issues/{issue_id}/`), extract the issue ID.
### 2. Get Issue Overview
```bash
sentry-cli issues list --id <issue-id>
```
### 3. Get Detailed Info via REST API
Use `https://sentry.io/api/0/organizations/${SENTRY_ORG}/issues/<issue-id>/` for metadata (first/last seen, event count, user impact, status).
### 4. Get Full Stacktrace
Use the recommended event endpoint: `.../issues/<issue-id>/events/recommended/`
Key jq paths for the response:
- `.entries[] | select(.type == "exception")` — exception with stacktrace
- `.entries[] | select(.type == "exception") | .data.values[].stacktrace.frames` — stack frames
- `.entries[] | select(.type == "breadcrumbs")` — actions leading to the error
- `.tags` — environment, browser, OS info
- `.context` — custom context data
### 5. Analyze and Report
1. Identify the failing file and line number
2. Understand the error type and message
3. Review breadcrumbs for the sequence of events
4. Check tags for environment-specific issues
### 6. Take Action (if appropriate)
```bash
sentry-cli issues resolve <issue-id> # Resolve
sentry-cli issues mute <issue-id> # Mute
sentry-cli issues unresolve <issue-id> # Unresolve
```
## Search Query Syntax
Use these filters with `sentry-cli issues list --query`:
| Filter | Example | Description |
|--------|---------|-------------|
| `is:` | `is:unresolved` | Issue status |
| `lastSeen:` | `lastSeen:-2d` | Seen within time range |
| `message:` | `message:undefined` | Match error message |
| `issue.category:` | `issue.category:error` | Error category |
## Tips
- Always get the recommended event first — it's curated for debugging
- Check breadcrumbs to understand user actions before the error
- If investigating from a Slack alert, the issue URL is in the alert messageCode search agent for exploring any codebase. Use for finding code by intent, locating implementations, understanding how something works, or discovering related code. Prefer over Grep/Glob/Read for any semantic or exploratory question.
Guide for running local E2E tests with API server, Docker lead/worker containers, task creation, log verification, UI dashboard, and cleanup
Close a GitHub or GitLab issue with a summary comment
Create a pull request (GitHub) or merge request (GitLab) from the current branch
Implement a GitHub issue or GitLab issue and create a PR/MR
Respond to a GitHub issue/PR or GitLab issue/MR
Review a task that has been offered to you and decide whether to accept or reject it
Review a pull request (GitHub) or merge request (GitLab) and provide detailed feedback