A disciplined senior developer, with a second reviewer over its shoulder, for every Claude Code coding session.
FAQ
senior-dev is a Claude Code plugin with 1 hand-picked skill for development work, indexed on Flowy. Install it with the command on its page. It includes conductor. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
> /plugin marketplace add foundry-studio-lab/nzshrimper-senior-dev> /plugin install senior-dev@nzshrimper-senior-dev
Repo: foundry-studio-lab/nzshrimper-senior-dev
A disciplined senior developer, with a second reviewer over its shoulder, for every Claude Code coding session.
senior-dev turns an ordinary coding session into a run with rails: it classifies
the task, insists on the right chain of installed skills, reviews the work with
Claude and a read-only Codex pass, refuses to merge unreviewed or
undocumented changes, and finishes by proving the repo is clean. It orchestrates
skills you already have (superpowers, the codex plugin, the built-in
/code-review and verify); it duplicates none of them.
It fills a gap no other plugin does: routing across your whole installed skill inventory, a cross-model review fired as a named phase gate, a documentation gate that blocks completion the way a red test does, and a zero-leftovers close-out check.
Every run opens the same way: the conductor settles which skills drive the phases and how the task is classified, before a line of code is touched.

1. Every run opens by asking which skills drive it.

The four sources โ your own skills, superpowers, a combination, or a
find-skills search โ resolve which skill fills each fixed phase. Your choice
is saved per-repo in .senior-dev/skills.json, private by default.
2. The gate blocks an unreviewed push, and says exactly why.
Worktree commits need recorded green tests during implement/debug; merge/push/PR needs approved reviews, verification, and a complete docs gate. A blocked action names the exact missing items and hands you two ways forward โ resume and clear the gates, or bypass (logged):

3. Finish proves the repo is clean, with evidence, not assertions.
The hygiene sweep catches real leftovers โ here it finds a stray scratch file, removes it, and confirms a clean tree before archiving the session:

senior-dev:conductor) โ classifies every coding task
(feature / bug-fix / refactor / quick-fix / docs-only / investigation) and
routes it through a mandatory chain of installed skills.find-skills
search. Saved per-repo, private by default. (See below.)/codex:review verdicts per phase, a JSON
verdict contract, a 3-cycle cap, and a post-review write-detection guard.All hooks fail open: a broken hook never blocks normal work. Gates arm only
while a session is active. /senior-dev:bypass <reason> is the logged escape
hatch, and a session genuinely parked on external work can stand the stop gate
down with state-cli waiting --on "<what>".
Claude Code is the richest host: the PreToolUse gate stops a gated action before it even reaches git, the stop gate challenges premature "done", and the SessionStart bootstrap auto-engages the conductor. Other hosts (Cowork, OpenAI Codex) don't fire Claude Code plugin hooks (verified 2026-07) โ but with the universal guard installed, the commit/merge/push gates hold there too, enforced by git itself. Without the guard, non-Claude-Code hosts run the conductor and state tracking in advisory mode only.
Every run opens by asking which skills fill the process phases:
find-skills and pickYour choice is saved per-repo in .senior-dev/skills.json (private by default;
run state-cli skills-config share to commit it for your team). A missing
process skill is never a dead end: the conductor gives you the exact install
command (and offers to run it) for a chain plugin, or find-skills candidates
for a domain skill โ nothing installs without your yes.
The gates don't have to live only in Claude Code. On first run in a repo the
conductor offers to install the universal guard: real git hooks
(pre-commit, pre-push, pre-merge-commit) that run the same gate checks
from a self-contained bundle in .senior-dev/guard/. Existing hooks are
preserved and chained, never clobbered. With the guard installed, an
unreviewed push is blocked in Cowork, in OpenAI Codex, and in a plain
terminal โ same message, same rules. /senior-dev:guard installs, checks, or
removes it; uninstall restores whatever hooks were there before.
One honest gap: gh pr create has no client-side git hook, so PR creation is
enforced only under Claude Code.
From the terminal โ copy, paste, run:
claude plugin marketplace add nzshrimper/nzshrimper-senior-dev
claude plugin install senior-dev@nzshrimper-senior-dev
# restart Claude Code to load hooks
Or without the terminal: in Claude Code, run /plugin, add the marketplace
nzshrimper/nzshrimper-senior-dev, then find senior-dev under Discover and
click Install. Restart Claude Code to load the hooks either way.
Maintainer update flow: edit source, bump both versions in
.claude-plugin/, then claude plugin marketplace update nzshrimper-senior-dev
and claude plugin update senior-dev@nzshrimper-senior-dev, restart.
| Command | Does |
|---|---|
/senior-dev:start [task] | Start or resume an orchestrated session |
/senior-dev:status | Phase/gate/review/bypass report |
/senior-dev:bypass <reason> | One-shot logged gate waiver |
/senior-dev:skills [lane] | Show and customise which skills fill each phase |
/senior-dev:guard [install|status|uninstall] | Manage the universal enforcement git hooks |
/senior-dev:finish | Final Codex pass, sweep, archive, evidence summary |
.senior-dev/state.json in the target repo (auto-excluded via
.git/info/exclude; never touches your .gitignore). Your per-repo skill
source lives in .senior-dev/skills.json, private by default. Closed sessions
are archived to .senior-dev/history/.
Designed to drive: superpowers (process
skills), the OpenAI codex plugin (read-only review lanes), and the built-in
/code-review + verify skills. Missing companions degrade gracefully and are
reported, never silently skipped โ the conductor points you at the exact install
and offers to run it.
node --test tests/*.test.mjs
Foundry Studio is a modern build studio in Christchurch, New Zealand. One builder, direct contact from first call to production handover. Modern stack, plain language, direct contact.
This plugin is free and open. It came out of real client work, and it is a real piece of work to point at. If it saves you a botched merge, that is the point.
What the studio does. Brand identity, design systems, web and app development, product strategy, and AI integration, plus the boring bits no one else will do. Fixed scope and fixed price where the brief is clear. No surprise invoices. Days and weeks rather than quarters.
Give-back. One free website rebuild for a South Island organisation or person doing genuine good, where a better website could genuinely help the cause.
The work is the thing. foundrystudio.app ยท Made with attention. Christchurch, NZ.
MIT License ยท Privacy โ senior-dev collects nothing and runs entirely on your machine.
.claude-plugin/
marketplace.json
plugin.json
.gitignore
CHANGELOG.md
commands/
bypass.md
finish.md
guard.md
skills.md
start.md
status.md
docs/
media/
run-finish-sweep.png
run-gate-block.png
run-skill-source.png
run.gif
superpowers/
plans/
2026-07-03-senior-dev-orchestrator.md
2026-07-04-skill-source-discovery.md
2026-07-08-universal-guard-skill-picker.md
specs/
2026-07-03-senior-dev-orchestrator-design.md
2026-07-04-skill-source-discovery-design.md
2026-07-08-universal-guard-skill-picker-design.md
hooks/
hooks.json
LICENSE
PRIVACY.md
README.md
scripts/
commit-gate.mjs
guard.mjs
lib/
state.mjs
session-start.mjs
state-cli.mjs
stop-gate.mjs
skills/
conductor/
references/
skill-sources.md
SKILL.md
tests/
commit-gate.test.mjs
guard.test.mjs
pass-token.test.mjs
session-start.test.mjs
skills-cli.test.mjs
skills-config.test.mjs
skills-lane-cli.test.mjs
skills-v2.test.mjs
SMOKE.md
state-cli.test.mjs
state.test.mjs
stop-gate.test.mjsยฉ 2026 Flowy ยท Free and open source
Built for Claude Code ยท Not affiliated with Anthropic