Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
composiohq avatar

Sentry Triage

  • 322 installs
  • 15.6k repo stars
  • Updated July 26, 2026
  • composiohq/awesome-codex-skills

Investigate Sentry error spikes, cluster duplicates, and draft fixes or owner handoffs when production exceptions need fast, structured response.

About

Sentry-triage skill connects production error monitoring to actionable engineering work. It ingests Sentry issues, groups related failures, summarizes stack traces and affected releases, ranks severity, and outputs clear next steps so on-call and dev teams resolve regressions faster with less manual dashboard digging.

  • Clusters similar Sentry events and fingerprints
  • Extracts stack trace and release context
  • Estimates user impact and severity
  • Suggests likely root cause and next debug steps
  • Drafts incident or fix handoff notes

Sentry Triage by the numbers

  • 322 all-time installs (skills.sh)
  • Ranked #126 of 596 Debugging skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/composiohq/awesome-codex-skills --skill sentry-triage

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs322
repo stars15.6k
Last updatedJuly 26, 2026
Repositorycomposiohq/awesome-codex-skills

What it does

Investigate Sentry error spikes, cluster duplicates, and draft fixes or owner handoffs when production exceptions need fast, structured response.

Files

SKILL.mdMarkdownGitHub ↗

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_ISSUE
  • SENTRY_LIST_AN_ISSUES_EVENTS
  • SENTRY_RETRIEVE_AN_EVENT_FOR_A_PROJECT
  • SENTRY_LIST_A_PROJECTS_ISSUES
  • SENTRY_UPDATE_AN_ISSUE

Diagnose a Single Issue

1. Fetch the issue (by short ID like PROJ-1F4 or numeric ID):

   composio execute SENTRY_GET_AN_ISSUE -d '{"issue_id":"PROJ-1F4"}'

2. Grab the latest event with full stack + breadcrumbs:

   composio execute SENTRY_LIST_AN_ISSUES_EVENTS \
     -d '{"issue_id":"PROJ-1F4","full":true,"limit":1}'

3. Map each frame to local source. For each filename + lineno in the stack, the agent opens the file and reads ±20 lines. No manual copy-paste. 4. Check suspect commits (Sentry attaches these when release tracking is set up) — open them with git show <sha> locally. 5. 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 bump limit.
  • Missing suspect commit → release tracking isn't configured in Sentry; set up sentry-cli releases in CI.
  • No `inApp` frames → source maps not uploaded; stack will only show vendor code.

Full CLI reference: docs.composio.dev/docs/cli

Related skills

Debuggingmonitoringsupport

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.