sentry-triage
Diagnose Sentry issues without copy-pasting stack traces. Uses the Composio CLI to pull issue details, events, breadcrumbs, and suspect commits, then maps the frames to local source so the agent can propose a fix directly.
How do I install this agent skill?
npx skills add https://github.com/composio-community/awesome-codex-skills --skill sentry-triageIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill facilitates Sentry issue triage using the Composio CLI. It includes standard installation procedures from the vendor's domain and uses dynamic execution for workflow automation. While it ingests external data from Sentry, creating an indirect prompt injection surface, these behaviors are aligned with the skill's primary purpose.
- Snykwarn
Risk: MEDIUM · 2 issues
- Socketwarn
1 alert: gptAnomaly
What does this agent skill do?
Sentry Triage
Pull Sentry issues, events, and suspect commits straight into the agent via the Composio CLI. Skip the copy-paste-stack-trace dance.
When to Use
- New Sentry alert and you want the agent to investigate, not just quote the subject line.
- Diagnosing a regression: find the releases, suspect commit, and affected files.
- Building a "top 10 unresolved issues" digest with reproduction hints.
Prereqs
curl -fsSL https://composio.dev/install | bash
composio login
composio link sentry # auth token with event:read + project:read
Discover Tools
composio search "get sentry issue" --toolkits sentry
composio search "list events for issue" --toolkits sentry
composio tools list sentry
Common slugs (verify with --get-schema):
SENTRY_GET_AN_ISSUESENTRY_LIST_AN_ISSUES_EVENTSSENTRY_RETRIEVE_AN_EVENT_FOR_A_PROJECTSENTRY_LIST_A_PROJECTS_ISSUESSENTRY_UPDATE_AN_ISSUE
Diagnose a Single Issue
- Fetch the issue (by short ID like
PROJ-1F4or numeric ID):composio execute SENTRY_GET_AN_ISSUE -d '{"issue_id":"PROJ-1F4"}' - Grab the latest event with full stack + breadcrumbs:
composio execute SENTRY_LIST_AN_ISSUES_EVENTS \ -d '{"issue_id":"PROJ-1F4","full":true,"limit":1}' - Map each frame to local source. For each
filename+linenoin the stack, the agent opens the file and reads ±20 lines. No manual copy-paste. - Check suspect commits (Sentry attaches these when release tracking is set up) — open them with
git show <sha>locally. - Propose a fix with a diff, run tests, and — once green — mark the issue resolved:
composio execute SENTRY_UPDATE_AN_ISSUE \ -d '{"issue_id":"PROJ-1F4","status":"resolved","statusDetails":{"inNextRelease":true}}'
Triage a Batch
composio execute SENTRY_LIST_A_PROJECTS_ISSUES -d '{
"organization_slug":"acme",
"project_slug":"api",
"query":"is:unresolved age:-24h",
"sort":"freq",
"limit":20
}'
Pipe into jq for a ranked summary:
composio execute SENTRY_LIST_A_PROJECTS_ISSUES -d '{"organization_slug":"acme","project_slug":"api","query":"is:unresolved"}' \
| jq -r '.[] | "\(.count)\t\(.shortId)\t\(.title)"' | sort -rn | head
Workflow File
scripts/sentry-diag.ts, run with composio run --file scripts/sentry-diag.ts -- --id PROJ-1F4:
const id = process.argv[process.argv.indexOf("--id") + 1];
const issue = await execute("SENTRY_GET_AN_ISSUE", { issue_id: id });
const [event] = await execute("SENTRY_LIST_AN_ISSUES_EVENTS", {
issue_id: id, full: true, limit: 1
});
const frames = (event?.entries ?? [])
.filter(e => e.type === "exception")
.flatMap(e => e.data.values.flatMap(v => v.stacktrace?.frames ?? []))
.filter(f => f.inApp)
.map(f => ({ file: f.filename, line: f.lineno, fn: f.function }));
console.log(JSON.stringify({ title: issue.title, culprit: issue.culprit, frames }, null, 2));
The agent then reads each file at line ± 20 and drafts a patch.
Route to Linear / Slack
Chain tools to open a ticket for the top unresolved issue:
composio run '
const [top] = await execute("SENTRY_LIST_A_PROJECTS_ISSUES", {
organization_slug: "acme", project_slug: "api",
query: "is:unresolved", sort: "freq", limit: 1
});
await execute("LINEAR_CREATE_ISSUE", {
teamId: "TEAM_ID",
title: `[Sentry] ${top.title}`,
description: `Short ID: ${top.shortId}\nPermalink: ${top.permalink}\nCount: ${top.count}`
});
'
Troubleshooting
404 on issue_id→ use the short ID (PROJ-1F4), not the URL slug.- Empty events → the issue was resolved/archived; query with
query:"is:resolved"or bumplimit. - Missing suspect commit → release tracking isn't configured in Sentry; set up
sentry-cli releasesin CI. - No
inAppframes → source maps not uploaded; stack will only show vendor code.
Full CLI reference: docs.composio.dev/docs/cli
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/composio-community/awesome-codex-skills/sentry-triage">View sentry-triage on skillZs</a>