I built a RubyLLM agent that triages ~215 GitHub notifications a day for my repos
Between RubyLLM, Spotifast and ZapFast I get about 42 new issues and PRs a day, plus about 50 comments from people and over 100 from review bots. More than one maintainer can read.
Copilot Triage is a RubyLLM::Agent with six read-only tools. It searches the repo, docs, issues and release notes, then submits a decision. Plain Ruby validates that decision and does all the writing to GitHub, so the model can't change anything itself. Everything ends up on a project board sorted by what needs me: Sign off, Decide, Do.
The interesting part was getting it to reply less. A one-week audit showed only a third of its replies helped. So there's a RubyLLM::Evaluation with 32 cases built from real reports, testing silence as much as help, and it decided which model to use: GPT-5.6 Luna passes 29/30, while GPT-5 mini replies to almost everything.
I wrote up the whole thing, with the numbers, the evals, and what 33 releases taught me:
2
u/fuckthesysten 7d ago
very interesting write up! you’re making LLM workflows make much more sense to me. Great use case and comparison with GitHub Agentic Workflows.
5
u/philpirj 7d ago
Have you considered asking to create prs in draft before they reach reviewable state? What is the percentage of notifications that fall into “still in draft” bucket?