# I got tired of coding agents editing before “done” was defined — so I built a plan-first harness

> Source: <https://dev.to/vikash_ruhil_a43b452d4a88/i-got-tired-of-coding-agents-editing-before-done-was-defined-so-i-built-a-plan-first-harness-28l3>
> Published: 2026-09-13 08:28:43+00:00

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
```


