Workflow

GitHub Issue Triage Workflow

Every new issue labeled, prioritized, deduped, and routed to the right owner within 15 minutes of submission.

Your open-source repo gets 47 new issues this week. 12 are duplicates. 8 are 'doesn't work on my machine' with no repro. 6 are actually feature requests mislabeled as bugs. 3 are security-relevant and buried. By the time you read them Friday, 9 people are frustrated and the real bug report is page 3 of the inbox.

Free to startNo credit card requiredUpdated Apr 2026
Tycoon solution

AI CTO triages every new GitHub issue within 15 minutes of submission. Categorizes (bug / feature / question / docs / security), labels appropriately, checks for duplicates (semantic search across past issues), requests a repro if missing, assigns to the right maintainer, and posts a first-response that makes the reporter feel heard. You wake up to a triaged backlog.

How it runs

  1. 1
    Classify on submission

    GitHub webhook fires within seconds of a new issue. AI CTO reads title + body and classifies: bug, feature request, question, docs issue, security report (the latter two escalated immediately). Applies labels from your repo's label taxonomy.

  2. 2
    Check for duplicates

    Semantic search against past 12 months of issues (open + closed). Finds 'stale issue from 2024 about the same thing' even if the wording differs. Posts a comment linking duplicates, asks if reporter's issue is truly different. ~15-25% of inbound gets deduped.

  3. 3
    Request repro if missing

    For bug reports without steps to reproduce, AI CTO posts a comment asking for: exact version, OS, reproduction steps, expected vs actual, screenshots or logs. Auto-closes after 14 days of no response (with friendly reminder at day 7). Stops 'it's broken' drive-by reports from clogging the queue.

  4. 4
    Assess severity and priority

    Bugs get severity (P0: outage, P1: broken for many, P2: broken for some, P3: minor). Feature requests get priority via a rubric (strategic fit + effort + customer demand). Security issues get P0 + privileged routing (issue gets converted to GitHub Security Advisory). Labels applied automatically.

  5. 5
    Assign to owner

    Based on file paths touched (CODEOWNERS) or issue category, AI CTO assigns to the right maintainer. If maintainer is on PTO or overloaded (>5 open issues), routes to backup. Auto-pings assignee in Slack with context summary.

  6. 6
    First response within 15 minutes

    Every new issue gets a first response: acknowledging receipt, summarizing what's been done (labeled, triaged, duplicate check result), and what happens next (reviewed by @owner within 48 hours). Reporters feel heard even if it's 2am PST when they filed.

  7. 7
    Weekly backlog health report

    Every Monday, AI CTO posts a repo health summary: issues opened / closed / net change last week, oldest untriaged issue, P0/P1 count, stale issues aging past threshold, top 3 requested features. Maintainers know where to focus without scrolling.

Who runs it

hire/ai-ctohire/ai-customer-support

What you get

  • Issues triaged within 15 minutes, 24/7
  • Duplicate rate drops 60-80% via semantic deduplication
  • No-repro drive-bys auto-closed with friendly follow-up
  • Security issues escalated immediately to correct channel
  • Every reporter gets a first response, not a void
  • Maintainers wake up to a prioritized backlog, not a chaotic inbox
  • Repo health tracked weekly — no 'oh, we have 800 open issues?' surprise

Frequently asked questions

Our open-source project has 12,000 open issues. Can this help dig out of that hole?

Yes, via a backlog cleanup phase. AI CTO runs a one-time pass on the existing backlog: identifies true duplicates (typically 15-25% of old issues), stale issues with no activity in >12 months (auto-closes with a 'please reopen if still relevant' comment), and issues that are actually resolved (feature shipped, bug fixed but issue never closed). Typical cleanup on a 12K-issue repo: 3-4K issues auto-closed, 1-2K auto-merged to dupes, leaving 6-8K that truly need triage. Takes 1-2 weeks of AI running in low-priority mode; then ongoing triage keeps it clean.

We're a private repo, not open-source. Does this still apply?

Yes, adapted. Private repos usually have lower volume (internal bug reports, stakeholder feature requests) but the triage problems are similar: classification, deduplication, routing. For internal: AI CTO triages against your internal priorities + roadmap, assigns to engineers on the owning team, and routes stakeholder feature requests to product managers for review. First-response SLAs are different (24-48 hours instead of 15 minutes), but the workflow shape is the same.

What about spam / low-quality issues from random GitHub accounts?

Spam filtering is the easy part: AI CTO flags issues from accounts with no profile, no repos, first-time contribution to your project, and body patterns that match known spam templates (crypto promotions, SEO link building). Flagged issues get auto-closed with a spam label. False positives are rare (<1%) because the signals are strong. For the borderline cases (real but low-quality, e.g., 'please add feature X' with no context), the 'request repro' workflow applies — if they don't engage, it closes naturally.

Can it distinguish a security-relevant bug from a regular bug?

Yes, and this is where automation matters most. AI CTO looks for security signals: mentions of auth, session, token, XSS, CSRF, SQL injection, unauthorized access, data leakage, credential exposure. Suspected security issues get: (1) immediate private conversion to GitHub Security Advisory, (2) original issue closed with a redirect note, (3) urgent Slack ping to security-on-call. False positive rate is low because most security reports use recognizable language. The rare false positive is better than a public security bug sitting in the open queue.

How does it handle feature requests — does it auto-close low-priority ones?

No auto-closing for feature requests (that frustrates users fast). Instead, AI CTO routes low-priority requests to a 'future consideration' label and posts a friendly comment: 'Thanks for this idea. We're not prioritizing it right now but would love community upvotes to gauge interest.' Upvotes get tracked automatically. Requests with >25 upvotes escalate to the active backlog. Low-engagement requests age out naturally without you needing to say no. Community feels heard; backlog stays actionable.

Related resources

Run your one-person company.

Hire your AI team in 30 seconds. Start for free.

Free to start · No credit card required · Set up in 30 seconds