By mjn298
Lean, Linear-native design→plan→work→learn workflow with a per-project compounding knowledge base.
Deeply design and architect a feature, then write the locked spec as a Linear parent issue's description. Input is a free-text feature description or an existing Linear issue id.
Curate durable lessons from the current session's work into the knowledge base. Runs standalone or as the tail of /drawbar-work.
Decompose a locked design (a Linear parent issue) into good, testable, ordered story sub-issues using the Locked/Discretion template.
One-time drawbar setup for the current project — link the kb CLI, initialize the knowledge base, optionally import legacy knowledge, and verify Linear access.
Implement a Linear story (a leaf issue, or the next Todo story under a parent) test-first — the Opus lead delegates coding to a Sonnet agent, verifies completion, then runs a code+security review/fix loop with inline knowledge capture. Opens a PR and leaves the story In Progress for review.
Reviews the diff for one implemented story against its acceptance criteria and for code quality. Returns categorized findings; does not write to Linear.
Adversarially reviews a proposed feature design before it is locked — architecture soundness, simplicity/YAGNI, security, and conflicts with logged MUST-CHECK knowledge. Returns categorized findings; does not write to Linear.
Adversarially reviews one story's diff for security issues only — committed secrets, broken authz, injection, data exposure. Independent of the code-reviewer; returns categorized findings and does not write to Linear.
Implements one drawbar story test-first on Sonnet, in strict red→green increments, and returns a structured report. Does not open PRs, move Linear status, or run reviews — the lead session owns all of that.
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.
A lean, Linear-native design → plan → work → learn workflow for Claude Code, with a per-project compounding knowledge base.
Enjoy a mix of AI generated readme, and my interjections in the text below.
I just got a clonewheel and am digging it, a lot. Other than that, no reason. I'm following the grand tradition of software projects with inscrutable names.
drawbar is for people who love the Beads way of working — atomic, traceable issues and knowledge that compounds across sessions instead of evaporating — but who:
Todo → In Progress → Done. Issues aren't stored locally. I know this makes things slower and probably wastes tokens, but this works better for my and my team.This is really just an old-school issue tracking workflow with some glue. It is not novel but it has been working well for me.
The knowledge base is the heart of it: every lesson, decision, and "MUST-CHECK" you capture is recalled on the next design/plan/work, so the system gets sharper the more you use it.
If you want maximum agent autonomy, drawbar will feel too hands-on. If you want an agent that drafts and proposes while you stay the decision-maker — and a memory that actually accumulates — that's the point.
drawbar needs two things set up before it works:
drawbar-kb knowledge CLI (and the tests). Install: curl -fsSL https://bun.sh/install | bash.mcp__…Linear… tools must be available in your session). Without it, the design/plan/work commands can still run locally but won't write to Linear.Plus Claude Code itself (the plugin host).
Add the marketplace and install the plugin:
claude plugin marketplace add mjn298/drawbar
claude plugin install drawbar@drawbar
Then run /reload-plugins (or restart) so the /drawbar-* commands load.
Run /drawbar-setup once in a project. It links the drawbar-kb CLI onto your PATH (via bun link from the installed plugin) and initializes <project>/.drawbar/memory/.
If drawbar-kb still isn't found afterward, add Bun's global bin to PATH:
export PATH="$(bun pm bin -g):$PATH"
Hacking on drawbar itself? Skip the marketplace and load the repo directly — see Development.
/drawbar-setup [legacy knowledge.jsonl] # once per machine + per project
/drawbar-design <feature | issue-id> # spec → Linear parent issue
/drawbar-plan <issue-id> # ordered story sub-issues
/drawbar-work <issue-id> # implement next story, TDD
/drawbar-learn [issue-id] # curate lessons into the KB
issue-id is a Linear issue identifier (e.g. ABC-123) — your team's own prefix.
The [legacy knowledge.jsonl] argument to /drawbar-setup is only for migrating an existing lavra knowledge base into drawbar. If you weren't using lavra before — most people — skip it and start with a fresh, empty knowledge base.
Knowledge lives in <project>/.drawbar/memory/ (the JSONL is committed; the SQLite index is gitignored). Query it directly anytime:
drawbar-kb recall "dynamodb tenancy" --dir "$PWD/.drawbar/memory" --json
drawbar-kb stats --dir "$PWD/.drawbar/memory"
Working on drawbar itself? The kb tool has tests:
bun test
Loading your edits — two modes:
Iterating fast → run the live source directly. Launch Claude Code with --plugin-dir so it loads your working copy and bypasses the plugin cache entirely:
claude --plugin-dir /path/to/drawbar
Edits to commands/agents/skills take effect on /reload-plugins — no version bump, no reinstall. It shadows any installed copy for that session only.
Releasing a change through the marketplace → bump the version. The plugin cache is keyed by plugin.json version, so editing files in place at the same version silently won't propagate — /reload-plugins keeps serving the stale cached copy. To ship a real change:
TypeScript/JavaScript language server backed by the native TypeScript 7 server (typescript@rc, invoked as `tsc --lsp`)
Living application graph tools — scan codebases, query routes/entities/pages, explore graph relationships, check Gherkin coverage, and scaffold new scanners
Shared workflows: ticket refinement (/refine-tickets) and full engineering team orchestration (/eng-team)
npx claudepluginhub mjn298/drawbar --plugin drawbarHarness-native ECC operator layer - 67 agents, 278 skills, 94 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
v9.54.1 — Reliability wave: tangle contextual review correction loop with hard round ceiling, progress-supervised review rounds (per-agent stall watch, descendant-tree kills), council diversity and agy pin fixes, marketplace generator source-of-truth fix, provider troubleshooting runbook and cost-expectations docs. Run /octo:setup.
Tools to maintain and improve CLAUDE.md files - audit quality, capture session learnings, and keep project memory current.
The Claude Code knowledge system — 380+ skills, 182+ agents, 100+ commands, 40 hooks, 32 rules, and workflows.
Comprehensive feature development workflow with specialized agents for codebase exploration, architecture design, and quality review
Comprehensive C4 architecture documentation workflow with bottom-up code analysis, component synthesis, container mapping, and context diagram generation