Maintaining Open Source with Agents: Hand Off Issue Triage and PR Screening
Open source projects rarely die from unwritable code — maintainers drown in issues and PRs. Agents excel at exactly this 'read-heavy, pattern-based judgment' work. A triage pipeline for 2-hour-a-week maintenance.

The most common way open source projects die isn't "unwritable code" — it's maintainers drowning in issues and PRs until they archive the repo in exhaustion. The cruel reality: 80% of maintenance is repetitive judgment — is this a duplicate? Is it reproducible? Does the PR have tests? Is the scope sane? This "read-heavy, pattern-fixed" work is exactly what agents do best.
The issue triage pipeline
Give your repo a triage agent (a GitHub Action on schedule, or triggered on new issues) with a four-step workflow:
Step 1: dedupe and link. Read the new issue's title and body, search existing issues for similars. On a likely duplicate, comment the link and tag duplicate — this cuts ~30% of noise; many "new bugs" are old problems rephrased.
Step 2: completeness check. Compare against your issue template: no version, no repro steps, no error logs → auto-reply requesting info and tag needs-info. Chasing environment details back and forth is maintainers' least favorite chore; let the agent play the "bad cop."
Step 3: severity pre-judgment. Tag by keywords and blast radius: crashes/data loss get critical, doc typos get good-first-issue. These are suggestion-only tags with humans confirming — misjudgment cost is low here since tags are cheap to change.
Step 4: digest report. Daily/weekly, bucket new issues into "needs human / deferrable / auto-handled" and push it to you. You no longer face a list of 50 issues but the 5 that truly need you.
PR screening: the agent as first reviewer
PR screening can be more aggressive, since "request changes" is low-risk. Configure a PR bot to: verify CI is green, check for tests (comment requesting them if absent), flag unreasonable scope (a "typo fix" touching 40 files gets called out), and validate commit message conventions.
For PRs passing screening, the agent generates a "maintainer brief": what changed, why, risk points, test coverage. You open the PR, read the brief, and decide merge-or-not in 3 minutes instead of spending 20 reading the diff yourself.
One iron rule: the agent never presses merge. It can prepare everything, but a human clicks the button. This isn't distrust of AI — it's preserving the responsibility chain of "I reviewed this change" so that when something breaks, you know who's accountable.
From firefighting to 2 hours a week
The practical effect: maintenance shifts from "woken daily by @mentions" firefighting to a fixed "2-hour weekly batch." Monday: read the triage digest, handle 5 real problems, skim agent PR briefs, batch-merge, done. Remaining time goes to code, docs, or nothing at all — open source maintenance should be sustainable, not a burnout fueled by love.
One honest closing note: if you maintain a somewhat-starred repo you're close to abandoning, don't archive it yet. Spend a weekend building this triage first. Many "dead" projects don't lack popularity — they lack a workflow that keeps trivia from drowning the maintainer.
Related articles

Prompts in vibe projects live in code strings, admin text boxes, and docs — changed live, version unknown when things break. This guide shows how to treat prompts like code: a prompts/ layout, YAML frontmatter, semantic versioning, PR reviews, canary rollouts with one-click rollback, plus an evals baseline — and a real war story: one added sentence cost 12 points of classification accuracy.

The faster AI writes code, the more review matters. Four layers: diffs for logic (boundaries, errors, concurrency — plus auth, payments, SQL, encryption, secrets), runtime for behavior (type checks, lint, security scans go green first), AI for first-pass screening (a second model reviews, humans read only flagged parts), humans for the final call (AI never clicks merge). Includes commit norms, PR template, branch protection, rollback plans.

Agents make your site gorgeous on a 27-inch monitor — then users open it on phones: buttons too small to tap, forms that break when the keyboard appears, layouts blown out by horizontal scroll. Mobile isn't a shrunken desktop; it's a different interaction language. This checklist covers touch targets, viewport and zoom, form keyboards, performance budgets, PWA installability, and the mobile-first acceptance phrases that get agents to ship it right.