Skip to content
meirlabs

drain-studio

The whole bookmark-to-PR loop — triage, drain, human gate

v0.1.0

The full system behind bookmark-triage: two daily agent loops and a human review gate that turn saved X bookmarks into pull requests you approve or kill. A triage agent files Linear tickets each morning; Drain Studio then runs a PM-led agent team per top-priority ticket — fixed 10-agent roster, isolated git worktrees, adversarial review with a 2-round rework cap, cost fuses — and parks each result as a draft PR. The loop never merges, publishes, or sends anything itself. The runnable machinery (Python conductor, fixed-purpose helper CLIs, launchd schedules, Supabase pipeline-state migration, agent briefs, offline test harness) is open source at github.com/meirlabs/drain-studio; this skill is the map.

npx @meir-labs/skill-drain-studio
GitHub

What it does

  • chains the loops: bookmark triage (09:15) files tickets, Drain Studio (09:45) drains the top of the backlog into draft PRs labeled drain, verdict sync closes the loop next morning
  • runs a PM-led agent team per ticket — PM staffs from a fixed roster, worker builds the label's deliverable in an isolated worktree, adversarial reviewers cap rework at 2 rounds, a risk agent writes the human summary
  • confines every remote write to a fixed-purpose helper CLI: push only to drain/* branches on allowlisted repos, PRs always labeled drain, ticket writes pinned to one team — merge/close/delete don't exist in its surface
  • rate-controls your review inbox (refill to 3, min 1/day, nag past 5) and escalates instead of improvising: auth failures, red CI, vague tickets, and second rejections park as needs_you