Accept the target from one of the following:
1234567https://app.honeybadger.io/projects/123/faults/456 — extract project and fault IDs from the URLmcp__honeybadger__list_projects and ask the human which project and fault to investigateIf the Honeybadger MCP server is not configured, tell the human to set it up and stop.
Use mcp__honeybadger__get_fault with the project ID and fault ID to retrieve:
If the fault is not found, surface the error and stop.
Run these in parallel:
mcp__honeybadger__list_fault_notices — fetch recent occurrences (last 10–20) to inspect stack traces, environments, and request contextmcp__honeybadger__get_fault_counts — get occurrence counts over time to assess trend (spiking, steady, declining)mcp__honeybadger__list_fault_affected_users — identify how many and which users are impactedIf no project ID is known yet or broader context is helpful:
mcp__honeybadger__get_project — confirm project name, environment, and settingsmcp__honeybadger__get_project_occurrence_counts — check if this fault is part of a broader error spikeBased on the data collected, assign a severity level:
| Level | Criteria |
|---|---|
| P1 – Critical | Affecting many users, spiking in last hour, or blocking core functionality |
| P2 – High | Affecting some users, steady or growing, non-trivial impact |
| P3 – Medium | Low user impact, intermittent, or non-critical path |
| P4 – Low | Rare, no user impact, cosmetic or informational |
Output a structured report in this format:
## Honeybadger Triage: {Error Class} [{fault-id}]
**Project:** {project name}
**Environment:** {env}
**Severity:** {P1/P2/P3/P4} — {one-line justification}
**Status:** {open / resolved / ignored}
**Assignee:** {name or unassigned}
### Error
{error class}: {error message}
### Timeline
- First seen: {date}
- Last seen: {date}
- Total occurrences: {count}
- Trend: {spiking / steady / declining} ({count} in last 24h)
### Affected Users
{count} users affected — {list top users if available}
### Recent Occurrence Context
{key details from latest notice: environment, URL/action, relevant request params, top 3–5 stack frames}
### Root Cause Hypothesis
{1–3 sentences synthesizing what likely caused this based on the stack trace and context}
### Recommended Next Steps
1. {actionable step}
2. {actionable step}
3. {actionable step}
Keep the summary concise. Do not dump raw stack traces — extract the signal.
After the summary, ask the human if they want to:
/create-linear-ticket with the triage summary pre-filled (see below)/comment-linear with the triage summary pre-filled/post-on-slack with the summarymcp__honeybadger__query_insights for custom analytics on this fault/create-linear-ticket from triage dataWhen the human chooses to create a Linear ticket, pass the following context so the skill can draft a well-formed issue without asking redundant questions:
{ErrorClass}: {short error message} — keep it under 80 charsmcp__honeybadger__get_fault){env}