Back to the catalog

loom

Opinionated process layer: design-before-code, autonomous execution, verify-before-done.

Open source Open in the app JSON README (API)

About

Opinionated process layer: design-before-code, autonomous execution, verify-before-done.

Details

Kind
Plugins
Topic
No topic detected
Publisher
mountain-dr3w
Origin
gemini
Category
ferramentas
Last push
2026-05-31T14:46:01Z
Repository state
ativo
Language
Shell
License
MIT
Added
2026-08-30 14:13:39
Updated
2026-08-30 14:13:39
Origin id
mountain-dr3w/loom

README

# Loom

> Drew's opinionated Claude Code process layer — **design before code · autonomous execution · verify before done** — layered on [superpowers](https://github.com/obra/superpowers).

A loom weaves threads into fabric. This one weaves agents, skills, gates, and guardrails into a process. It's a thin layer **on top of** superpowers: it keeps superpowers' battle-tested disciplines and adds three gates tuned to how Drew actually works (plan-then-build-without-approval, walk-away autonomy, evidence-based "done").

## The three gates

1. **Plan on disk** before any implementation. Design before code — but the gate is "a plan exists," not "a human approved it."
2. **Verify before done.** No "it works" without fresh command output as evidence.
3. **Autonomous by default.** Plan → implement via subagents → verify → small commits. Pause only for destructive, irreversible, or outward-facing actions.

Tests are written **only when asked** — Loom does not enforce TDD.

## What's inside

| Component | What it does |
|---|---|
| `skills/using-loom` | The **constitution**, injected every session by the SessionStart hook (matcher `startup\|clear\|compact` → survives compaction). Encodes the three gates and the no-approval override of superpowers. |
| `skills/loom-autopilot` | `/loom:loom-autopilot` — a walk-away/unattended run harness. Arms the verification gate, strips `AskUserQuestion`, works a plan to completion, logs like an OVERNIGHT_LOG. |
| `hooks/session-start` | Injects `using-loom`. |
| `hooks/lint-changed.sh` | PostToolUse(Edit\|Write): prettier + eslint `--fix` on the changed file; surfaces unfixable lint errors back to Claude. Graceful no-op when no linter. |
| `hooks/verify-gate.sh` | Stop hook: blocks turn-end until typecheck/build passes — **only** during unattended runs (`LOOM_UNATTENDED=1` or a `.loom/unattended` marker). Bounded retries. |
| `setup/statusline.sh` | Context% (1M-aware) + cost + branch statusline. |

## Design philosophy (the layer model)

Each concern lives where it's best enforced:

- **CLAUDE.md** — always-on judgment rules only (kept lean).
- **`.claude/rules/`** — path-scoped house style (loads only when matching files open).
- **Hooks** — deterministic enforcement (formatting, lint, the verification gate). A CLAUDE.md line is a request; a hook is enforcement.
- **Skills** — on-demand workflows + the bootstrap constitution. Kept tiny (the skill-listing budget is ~5× smaller than it looks on a 1M-context model).
- **Subagents** — context isolation + adversarial review.
- **This plugin** — the versioned container that ships the hooks + skills as one auto-updating unit.

## Portable across agents

Loom's process is **not Claude-Code-only**. The constitution lives in [`AGENTS.md`](AGENTS.md) — the open, tool-agnostic standard most modern agents read natively:

| Agent | How it gets Loom |
|---|---|
| **Claude Code** | Full integration: plugin + SessionStart hook injects `AGENTS.md`; format/lint + verification hooks; `using-loom` + `loom-autopilot` skills. |
| **Codex** | Reads `AGENTS.md`; install as a plugin via `.codex-plugin/plugin.json` for the skills. |
| **Cursor** | Reads `AGENTS.md`; `.cursor-plugin/plugin.json` for the skills. |
| **Gemini CLI** | `gemini-extension.json` + `GEMINI.md` (→ symlink to `AGENTS.md`). |
| **opencode / Amp / others** | Read `AGENTS.md`. |

Only the **deterministic hook enforcement** (auto-format/lint, the verification gate) is Claude-Code-specific; the **gates themselves are universal** — other agents follow them as tier-1 instructions. `AGENTS.md` is the single source, so the rules never drift between tools.

## Install

See [`install.md`](install.md). TL;DR:

```bash
/plugin marketplace add Mountain-Dr3w/loom
/plugin install loom@loom
```

…then add the sandbox + deny-floor + statusline block from `install.md` to `~/.claude/settings.json`.

## License

MIT

More