By kvnwolf
Architect-and-workers engineering kit: staged work sessions (scope → interview → research → spec → execute → wrap), worker agents (researcher, implementor, reviewer, verifier), and supporting skills.
Implement or fix ONE scoped task end-to-end — write the code into the planned module(s), keep the tree green (build/type/lint), and return a work-log entry. Does not review or verify its own work; separate agents do that.
Investigate and gather technical context without changing anything — locate code and trace how a subsystem works, fetch current library/SDK/CLI/service docs, find reusable modules or skills, and resolve technical unknowns. Returns a tight, evidence-backed findings report; does not write code or decide the approach.
Code-review the current diff for ONE task and return a pass/fail verdict with concrete findings — checks correctness, plan conformance, reuse/simplification, and module structure. Did not write the code; does not implement or verify it.
Prove ONE task actually works against the running app and return a pass/fail verdict with evidence — drive the UI or exercise the seam/endpoint, observe the real result. Did not write or review the code; verifies only.
Quick-capture a follow-up, bug, or tech-debt item to the project tracker (Linear) without breaking your flow. Use when you spot something worth tracking mid-work and want it logged and out of your head, not triaged now.
Initialize a project so the work skills can run in it — interview the user about the project, scaffold the base files (CONTEXT.md, CLAUDE.md, docs/adr/, .gitignore), set the workflow config (issue tracker, dev command), make it runnable via portless, and offer to generate the project's run skill. Use once at the start of a new (greenfield) project, or to set up an existing repo for the work skills.
Wraps up work by running the project's pre-commit checks, syncing documentation, committing, pushing, and opening a pull request. Use when committing code, finishing a task, pushing changes, or creating a PR.
Creates or modifies agent skills, including single-workflow and multi-workflow (orchestrator) skills. Use when the user wants to create, write, author, scaffold, edit, update, fix, or refactor a skill, or migrate a skill from single to multi-workflow.
Recipe for client-side data fetching with TanStack DB — session-guarded server function, query collection derived from the Drizzle schema, consumed via the LiveQuery component. Use when adding data fetching, a new collection, a list or table view, or wiring server data into the UI.
Modifies files
Hook triggers on file write and edit operations
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Kevin Wolf's agentic engineering kit for Claude Code, packaged as a plugin. dobby doesn't make Claude Code smarter — it makes it disciplined: the main thread stays an architect that frames, asks, decides, and reviews but never writes code, while four worker agents do the hands-on work. Every change is implemented, code-reviewed, and verified by separate agents before it counts as done.
/plugin marketplace add kvnwolf/dobby
/plugin install dobby@dobby
Or with vercel-labs/plugins: npx plugins add kvnwolf/dobby.
Then start your first session from any project:
/dobby:scope <what you want to build>
Prerequisites: the ctx7 CLI (the researcher agent fetches current library docs through it), and vp (vite-plus) on PATH if you want the post-edit check hook to do anything.
Two roles, never mixed:
dobby:<name>) — each runs with its own model and effort, tuned to its job:| Agent | Role | Model |
|---|---|---|
researcher | Explore code, fetch current docs (ctx7), resolve unknowns | Opus / medium |
implementor | Write the code for one scoped task | Fable 5 / xhigh |
reviewer | Code-review a task's diff, pass/fail verdict | Opus / high |
verifier | Prove the task works against the running app | Sonnet / high |
The payoff: your context stays clean for thinking, implementation quality is enforced by independent review, and "done" means proven against the running app, not "the code looks right".
A work session moves through six stages. Each stage ends by telling you which command to type next — nothing advances until you type it. Handoffs are typed on purpose: typed entry is what applies each stage's own model and effort (an auto-invoked skill would ride the previous stage's override):
/dobby:scope ground the goal in the codebase, create STATE.md
│
/dobby:interview resolve EVERY ambiguity, one question at a time
│
/dobby:research current docs + unknowns, via researchers (skipped when no external tech)
│
/dobby:spec the build plan, printed in full — you approve it
│
/dobby:execute waves of implement → review → verify (the trifecta)
│
/dobby:wrap human smoke test, docs/ADRs, STATE.md disposed
│
/dobby:commit branch, commit, push, PR
Side paths, available at any point:
/dobby:prototype — when a decision can't be settled with words, interview/research hand off to a throwaway prototype you can play with, then resume./dobby:diagnose — when something breaks during execute (or any time), a disciplined hypothesis-driven debugging loop./dobby:dispatch — the whole architect/worker machinery for a task too small to deserve a session.One concrete feature, carried through every stage: adding CSV export to an admin users table. Follow along to see what each command does, what you'll see, and what it leaves behind.
/dobby:scope add a CSV export button to the admin users table
The architect creates STATE.md at your repo root (the session's shared doc) and dispatches a dobby:researcher to ground the goal: where the users table lives, which conventions the project uses, what the domain glossary and ADRs say. You don't wait on grepping — a worker does it.
You'll see: a short grounded summary ("the table is src/admin/users/, it uses the shared DataTable, exports don't exist anywhere yet"), then the suggestion to type /dobby:interview next (or jump straight to research or spec).
Artifact: STATE.md with a filled ## Exploration section.
The architect now interrogates you — one focused question at a time, each informed by what the researcher found, each with a recommended answer:
Should the export respect the current filters and search, or always dump the full table? (Recommended: respect filters — that's what the visible data implies.)
Expect questions about edge cases you hadn't considered: empty results, the 50k-row tenant, who's allowed to export, date formatting, column selection. This is the kit's core bet: misalignment is the most common failure mode, so the interview doesn't stop until there's zero ambiguity — and it will refuse to end on a vague "anything else?" if open threads remain.
If a question can't be settled verbally ("which of these two layouts feels right?"), the interview sends you to type /dobby:prototype and resumes after you've played with the variants.
npx claudepluginhub kvnwolf/dobby --plugin dobbyFoundational developer tools for any TypeScript project — project scaffolding, git workflow, testing, linting, and type-checking
Backend development tools — Convex database, authentication with Better Auth, and email with Resend
Web development tools — TanStack framework, forms, component testing, and E2E testing
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Memory compression system for Claude Code - persist context across sessions