Mechanism: PR-Sized Vibes
One-sentence definition
PR-sized vibes means sizing each agent session so its output fits a reviewable pull request — diff a human can read in one sitting — by combining scope fence, vertical slice, and split & conquer.
The problem
One agent session produces a 4,000-line diff across forty files. CI might pass. Nobody will review it. It merges with a shrug or sits forever. Large vibes optimize for agent completion, not team throughput.
Your future self is also the reviewer — unreadable diffs hide bugs and scope violations.
Symptoms:
- PR description says “various fixes”
- Review skipped because “AI did it”
- Single commit mixing feature, refactor, format
- Cannot bisect regressions
How it works
Target one PR per session (or per slice):
Session goal
│
▼
Diff budget (files · lines · time to review)
│
▼
Agent work + verify
│
▼
PR / merge unit ≤ budgetHeuristics (tune per team):
- ~200–400 lines changed or ≤5–10 files for routine work
- One vertical slice or one numbered slice from split plan
- PR title = goal one-liner
Over budget → stop, handoff, next PR.
When to use it
- Team repos with code review culture
- Solo devs who want audit trails
- Before merge after any multi-file agent run
- Checkpoint prep — if you cannot review diff, split
When not to use it
- Mechanical codegen with generated files excluded from human review — still separate PR, note generator
- Line limits as excuse to hide unrelated drive-by edits — budget is not a license to skip constraints
Failure modes
Line counting only — 300 lines of obfuscated one-liners. Fix: Reviewability, not just size.
Micro-PR spam — 20 PRs for one feature without plan. Fix: Split & conquer with ordered slices.
One mega-PR “because CI green” — Fix: Split by slice; use rollback on excess.
PR size creep mid-session — Fix: Scope fence; new PR for new goal.
Minimal example
Context: Verbose health — three slices, three PRs.
- PR1: Response shape + tests (3 files)
- PR2: Bootstrap uptime source (2 files)
- PR3: README query param (1 file)
Each PR: goal in description, verify command, under file budget.
Done when: Each merged PR was reviewable in under 15 minutes.
Tool instances (optional deep-dive)
Portable idea above; this section is tool-specific. Date: June 2026.
Cursor
- Before accept-all:
git diff --statagainst budget in rules. - Agent: “Stop when diff exceeds N files; summarize for next PR.”
- One branch per PR; branch-per-experiment for alternatives.
Other tools
GitHub PR size bots, danger.js — automate warnings on huge agent PRs.
Related mechanisms
- Scope fence — one job per PR
- Vertical slice — PR content shape
- Split & conquer — sequence of PRs
Try it yourself
Exercise: Set a diff budget for your next agent task (max files + max lines). Stop the session when hit; open PR or handoff.
Done when: You stopped or split before exceeding budget — not after.

