A suite of five Claude Code plugins, built on three ideas: achieve more with less; say how, not what; take work from development to production in bulk.
rules: house rules as one block in yourCLAUDE.md, kept current by a script, plus the Concise Plain output style.loop: plan, build, review and publish a bundle of tickets as one reviewed pull request per repository, resuming on the same branch when run again.audit: a read-only, adversarial audit of finished pull requests that stops at a report, with an act step for approved items.gate: code-review passes over a pull request, several, or a loop manifest, fixing what each pass finds until a pass finds nothing left to fix.primer: project instructions in the forms Claude Code loads, a shortCLAUDE.md, path-scoped rules, nested instructions and skills, with a hook that checks every commit.
Status: all five plugins are released from main, each with its own version and tag <plugin>--v<version>. The build order is in docs/build-plan.md.
- Claude Code 2.1.296 or later (the version the design was checked on).
- Node 22 or later.
- On Windows, Git for Windows (the primer hooks and the audit scripts run under its
sh). - For the audit's live checks, work-item validation and collision check:
jq(on Windows,winget install jqlang.jq; on macOS,brew install jq, or the/usr/bin/jqthat macOS 15 and later ship). Without it the audit still runs and says what it skipped.
Without a GitHub SSH key on the machine, set CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1 in the environment before starting Claude Code, so the marketplace is cloned over HTTPS. Then, in Claude Code:
/plugin marketplace add vibecodedapps-official/reimagine-engine
/plugin install rules@reimagine-engine
/plugin install loop@reimagine-engine
/plugin install audit@reimagine-engine
/plugin install primer@reimagine-engine
/plugin install gate@reimagine-engine
Each plugin works alone. After installing rules, run /rules (also reachable as /rules:rules) and answer the question it asks; then pick the output style with /output-style rules:Concise Plain.
- Loop: say
reimagine loop #12 and #15orrun the loop on AB#4567, plan only, or type/loop:runfollowed by the same words. There are no flags; the skill prints how it read your request before it does anything. The bare/loopis Claude Code's own interval skill, not this one. - Audit: say
reimagine audit PR 123 and 124 in app, tickets AB#4567 and AB#4580, or pass the manifest a loop run wrote. - Gate: say
reimagine gate PR 73,gate this branchorgate the manifest <path>, or type/gatefollowed by the same words. There are no flags. - primer: put
<!-- primer -->on the first line of a repository'sCLAUDE.md, and the drift hook checks every commit Claude Code makes there against the instruction files. Run/primerin a repository to set up, adopt or check its instruction files; it says which mode it runs in before it writes. - repo-docs is retired and left the catalog with the primer release: uninstall it with
/plugin uninstall repo-docs@reimagine-engine, then run/primerin each repository it kept, and adopt converts the hub and its spokes in one run.
From a shell:
claude plugin marketplace update reimagine-engine
claude plugin update rules@reimagine-engine
claude plugin update loop@reimagine-engine
claude plugin update audit@reimagine-engine
claude plugin update primer@reimagine-engine
claude plugin update gate@reimagine-engine
In a session, /plugin marketplace update reimagine-engine refreshes the catalog and /plugin opens the plugin manager, whose Installed tab updates a plugin; /plugin update is not a session command. An alpha install moves to 0.1.0 the same way; the alpha version sorts below it. Restart the session afterwards. When the house rules changed, a one-line notice at startup says to run /rules.
Run /rules --remove first if you want the block out of your CLAUDE.md; it gives back the file's original bytes.
/plugin uninstall rules@reimagine-engine
/plugin uninstall loop@reimagine-engine
/plugin uninstall audit@reimagine-engine
/plugin uninstall primer@reimagine-engine
/plugin uninstall gate@reimagine-engine
The audit keeps its run registry in the plugin data directory; delete it by hand if you want it gone.
Node 22 or later, no dependencies. npm test runs the suites under tests/; npm run lint runs the repository rules in tools/lint.mjs. CI runs both on ubuntu, macOS and Windows, runs the audit's awk suites again under mawk, and validates every manifest with a pinned Claude Code version.
npm run eval runs the eval cases under tests/evals/ with the host's claude plugin eval, two runs per case with and without the plugin, locally and never in CI; it needs Claude Code with that command, a login, and git 2.31 or later, and its results land in the ignored tests/evals/results/.
The repository keeps its own CLAUDE.md as a primer hub, and .claude/settings.json declares this catalog and enables primer for sessions here, so the drift hook checks every commit. A session in a trusted folder fetches the catalog and the plugin; run claude plugin install primer@reimagine-engine --scope project once in the repository so every session, headless ones included, loads it. To leave it off on your machine, set "primer@reimagine-engine": false under enabledPlugins in .claude/settings.local.json.
Design documents, in reading order: docs/requirements.md, docs/architecture.md, docs/build-plan.md, docs/decisions.md, docs/acceptance.md.
Releases are per plugin, in this order: node tools/release.mjs <plugin> <version>, then a heading ## <plugin> <version> - <date> in CHANGELOG.md, then npm run eval with its scores recorded in docs/acceptance.md, then claude plugin tag --push plugins/<plugin>, which creates <plugin>--v<version>. Lint requires the heading only once the tag exists.
Apache-2.0. See LICENSE.