AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Bug Triage

skill-sananthanarayan-skilldrop-bug-triage · by sananthanarayan

Turn a vague bug report (Slack message, support ticket, "it's broken on mobile sometimes") into an actionable ticket — searchable symptom title, numbered repro steps from a clean state, expected vs actual, severity separated from priority, evidence tagged reported-vs-verified, and labeled hypotheses instead of root-cause guesses. Use when the user wants to triage a bug, write up a bug report, tur…

No reviews yet
0 installs
36 views
0.0% view→install

Install

$ agentstack add skill-sananthanarayan-skilldrop-bug-triage

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-sananthanarayan-skilldrop-bug-triage)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Bug Triage? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

bug-triage

Converts the bug report someone sent into the ticket an engineer can start — without a round of "can you clarify?" first. The discipline: separate what was reported from what's verified, separate severity from priority, and label every guess as a guess. Triage shapes the work; fixing it is feature-implement-loop (or a human) downstream.

How to respond

  1. Ingest the raw report — Slack thread, support ticket, user email, a teammate's "X is broken". Mine it for the six ticket fields before asking anything. Then ask at most 3 questions, ranked by diagnostic value — the answers that most shrink the search space (exact error text, when it last worked, does it reproduce on a second account/device). Everything unconfirmed proceeds with a tag, not a guess.
  1. One bug per ticket. A report with three symptoms becomes three tickets (or one ticket + a "split out" note naming the others). Multi-symptom tickets close half-fixed.
  1. Write the title as symptom + condition, searchable."Checkout button stays disabled after removing an expired coupon (Safari 17, guest cart)" — ❌ "Checkout broken", ❌ "Coupon bug". Six months from now someone greps tickets for "disabled checkout" — that's who the title is for.
  1. Tag every claim [reported] or [verified]. What the reporter says happened vs what was confirmed by logs, a screenshot, or your own reproduction. Triage that presents [reported] as fact sends an engineer chasing a description instead of a behavior.
  1. Number the repro steps from a clean state — fresh session, named test account, stated starting URL — each step an observable action, ending in the failure. If reproduction is unknown, the ticket says "No repro yet" and lists the exact diagnostics to collect (error text verbatim, console/server log window with timestamp, HAR capture, screen recording) — never invented steps that "probably" trigger it.
  1. Split expected vs actual into two concrete lines. ✅ Expected: "order total recalculates to pre-coupon price" / Actual: "total keeps the discount, button stays disabled" — ❌ "it doesn't work right". Attach the verbatim error message if one exists; paraphrased errors are unsearchable.
  1. Call severity and priority separately with one line of reasoning each, using the matrix in [templates/bug-ticket.md](templates/bug-ticket.md):
  • Severity = worst plausible user impact: S1 data loss / security / payment broken · S2 core flow broken, no workaround · S3 degraded, workaround exists · S4 cosmetic
  • Priority = business urgency: P1 drop everything · P2 this sprint · P3 backlog

A cosmetic bug on the pricing page during launch week is S4/P1 — the separation is the point. State the blast radius guess: who's affected (all users / Safari only / one tenant) and tag it.

  1. Offer hypotheses as hypotheses. Up to 3, each with a 5-minute check that would confirm or kill it. ✅ "H1: expired-coupon validation leaves cart state locked — check: apply/remove a valid coupon, see if button recovers". Never present the leading hypothesis as the cause; that anchors the investigation on a guess.
  1. Finish with duplicate-search hints — 2–3 search strings for the tracker (error code, symptom phrasing, component name) so the ticket isn't the third copy.

Useful references in this skill

  • [templates/bug-ticket.md](templates/bug-ticket.md) — the ticket skeleton with the severity/priority matrix and the no-repro diagnostics list

Quality bar

  • An engineer can start without contacting the reporter. Either the repro stands alone or the no-repro diagnostics list says exactly what to collect.
  • Title findable by symptom search. If the words a future reporter would type don't appear in it, retitle.
  • Zero untagged claims. Every factual statement is [reported], [verified], or [assumption] — a triager's authority comes from the tags.
  • Severity and priority each have a stated reason, and they were judged independently — one line each, no shared justification.
  • Hypotheses ≤ 3, each with a concrete check. A hypothesis without a check is a vibe.
  • The verbatim error text is present when any error was shown — quoted exactly, not paraphrased.

When to use this skill

  • ✅ A Slack/support complaint needs to become a ticket an engineer can pick up
  • ✅ "Can you write this up properly?" for a vaguely described bug
  • ✅ Triaging an inbound bug queue into severity/priority order
  • ✅ A flaky, "sometimes" bug that needs a diagnostics plan instead of guesswork

When NOT to use this skill

  • ❌ Actually fixing the bug — hand the ticket to feature-implement-loop or a human
  • ❌ A production incident in progress — mitigate first; this is queue work, not response work
  • ❌ The post-incident analysis — that's postmortem-generator
  • ❌ A feature request wearing a bug costume ("bug: there's no dark mode") — route to user-story-splitter

Anti-patterns to avoid

  • Root-cause cosplay. "It's probably the cache" stated as fact in the ticket body — now the investigation starts at the guess instead of the evidence.
  • Repro steps that skip state. "1. Go to checkout 2. See bug" — which account, which cart, which browser? Steps that don't start clean don't reproduce.
  • Severity inflated to get attention (everything S1) or priority used as severity (P1 because a VP reported it — that's priority, write it as priority).
  • The interrogation. Ten questions back to the reporter before writing anything; three ranked ones, then proceed with tags.
  • Paraphrased error messages. "Some kind of permissions error" when the dialog said ERR_TENANT_SCOPE_403 — the exact string is the most diagnostic fact available.
  • The kitchen-sink ticket. Three symptoms, two feature requests, and a screenshot dump under one title. Split it.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.