I got tired of coding agents editing before “done” was defined — so I built a plan-first harness A developer built Loomwright, a Claude Code plugin that enforces a plan-first workflow for coding agents, requiring a reviewed pull request instead of letting agents edit files before 'done' is defined. The plugin, published under marketplace id 'atelier', ships with 14 agent roles, 21 slash commands, 41 skills, and 24 quality hooks, and only enables auto-merge behind a trusted gate. The developer is soliciting feedback on common failure modes such as missing plans, merge conflicts, and untrusted auto-merge. Chat-coding is fast until it isn’t. You ask for a feature. The agent jumps into files. You get a pile of edits and a shrug. Two sessions collide on the same paths. Auto-merge is either terrifying or so babysat that you never leave the keyboard. I wanted the other shape: messy goal in → reviewed pull request out You only show up when it actually needs you. Loomwright is a Claude Code plugin not a Cursor-native plugin . Marketplace id atelier , plugin id loomwright . --auto-merge only behind a trusted gate Then in a git repo: /setup /autonomous "the next thing your users can feel" Done when: /setup prints a module-status table everything optional . /autonomous asks a few discovery questions, saves a brief under .supervisor/jobs/pending/ , does the work in worktrees, and ends with an AUTONOMOUS RUN summary and an open PR — it never merges on its own. Site: https://vikashruhilgit.github.io/loomwright-site/ https://vikashruhilgit.github.io/loomwright-site/ GitHub: https://github.com/vikashruhilgit/loomwright https://github.com/vikashruhilgit/loomwright Curious how others are handling: If you’ve hit the same wall, I’d love the failure mode that burns you most: no plan, merge conflicts, or untrusted auto-merge. Today that ships as roughly: 14 agent roles, 21 slash commands, 41 skills, 24 quality hooks. claude plugin marketplace add vikashruhilgit/loomwright claude plugin install loomwright@atelierclaude plugin list loomwright@atelier, Status: ✔ enabled