All posts
EngineeringWorkflow

Bug triage that never leaves Slack

Every bug reported in a support channel pays a tax before it becomes a tracked issue: copying error text, guessing severity, remembering to link back. Here's how a single ๐Ÿž reaction turns a Slack thread straight into a GitHub issue, kept in sync both ways.

Evelyn Ong5 min read

A customer reports a bug in a support channel, someone screenshots the error and drops it in engineering, and for a moment everyone agrees it's important. Then the thread keeps scrolling. By the afternoon it's below a dozen other messages, and by the next morning whoever meant to open a GitHub issue for it has moved on to something more urgent. The bug doesn't go away. The record of it does.

The tax nobody notices they're paying

The usual fix, open a tracker and file the issue properly, sounds simple until you count what it actually costs. Someone has to copy the error text out of Slack, guess at a severity, write a title that makes sense out of context, find the right repo, and remember to link back to the original thread so anyone reading the issue later has the full story. None of these steps are hard on their own. Together, done a dozen times a week across a small team, they're enough friction that plenty of real bugs never make it past the screenshot stage.

A workflow that fits inside a reaction

Viably's issue tracking starts from the assumption that the thread already has everything needed to file the bug properly, so the person reporting it shouldn't have to retype any of it. React to a message with ๐Ÿž and Viably reads the thread, writes a clear title and a plain English summary of what's actually wrong, and opens a tracked issue with an owner and a due date if one's needed. If the workspace has GitHub connected, the same reaction creates the issue on the repo side too, and updates flow both directions from there, a status change on GitHub shows up back in the original thread instead of living somewhere the reporter will never check again.

Reaction or actionWhat happens
๐Ÿž on a messageOpens a tracked issue with a title and summary pulled from the thread
GitHub connectedThe same issue is created on the repo, kept in sync both ways
Issue closed on GitHubThe original Slack thread gets the update automatically
/issuesLists what's open for the channel or workspace, no tab switching

Keeping the thread as the changelog

The part that tends to surprise people the first time they try this is how much better the history reads afterward. Instead of a GitHub issue with a terse title and no context, and a Slack thread that has nothing pointing back to it, there's one continuous record, the original screenshot, the reaction that filed it, the discussion that followed, and the eventual resolution, all in the place the bug was actually found. Anyone joining the thread six weeks later can read the whole story without asking someone to dig up a link.

The best place to file a bug is the thread the bug was already found in.

Triage without a meeting

None of this replaces judgment, someone still decides what's worth fixing first, but it removes the part of triage that was never really judgment to begin with, the manual bookkeeping between the moment a bug is spotted and the moment it's actually tracked somewhere durable. A small team doesn't need a triage meeting to keep its bug list honest. It needs the gap between noticing and recording to be as close to zero as the reaction that noticed it in the first place.

If bugs in your team currently die in a scrolling thread, add Viably and give ๐Ÿž something to do, or read more about issue tracking and GitHub notifications in the docs.

Bring Viably to your workspace

Turn the everyday reactions your team already sends in Slack into tasks, reminders, and a system of record.