By Jonhvmp
An autonomous orchestration harness for Claude Code: brief it like a teammate, it conducts Claude Code in your seat, deciding from your charter with git locked.
Phase 1 of Leopold. A structured debate that captures the mission and your decision-making, then writes the brief (MISSION, CHARTER, GUARDRAILS, PLAN) that the autonomous run executes.
Diagnose the Leopold install: checks skills, hooks and their wiring, gstack, the driver toolchain, and whether an update is available.
Phase 2 of Leopold. Enters autonomous mode and conducts Claude Code through the plan, deciding from the charter instead of asking, with git locked. The Stop hook keeps it going until the plan is done or a stop condition fires.
Show the state of the current Leopold run: active or not, progress through the plan, decisions logged, and the most recent events.
Take the seat back. Cleanly ends the autonomous run at the next turn boundary and writes a final summary. Nothing is interrupted mid-turn.
Executes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
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.
Brief it like a teammate. It conducts Claude Code in your seat.
Leopold is an autonomous orchestration harness for Claude Code. You sit down and debate the work with it the way you already debate with Claude Code: goals, constraints, taste, what "done" means. That conversation becomes a durable brief. Then Leopold takes the seat and drives Claude Code continuously, deciding the way you would, instead of stopping to ask you at every fork.
It is built to keep going: think, research, wait on long tasks, pick the next item, decide, log the decision, repeat, until the plan is done or a stop condition fires. Your git stays locked the whole time.
The name is a tip of the hat to Bugs Bunny. In Long-Haired Hare (1949), Bugs takes the podium disguised as the great conductor Leopold and runs the whole orchestra with a wave of the baton. That is the job: you are the composer, Leopold is the conductor, Claude Code is the orchestra.
Status: alpha. The in-session engine (skills + hooks) works today. The external SDK driver (
packages/driver/) is built and typechecks against the Agent SDK (alpha). See Roadmap.
In current usage, an agent harness is everything wrapped around the model except the model itself: tool execution, memory and state, orchestration, guardrails, and observability. Put simply, Agent = Model + Harness. A good harness is what turns a general LLM into a system that can run long, complex workflows reliably, and it can be the difference between a model that quits after one turn and one that finishes the job.
Claude Code is already a strong harness for a single interactive turn. Leopold adds the layer it is missing for unattended, long-running work:
A normal Claude Code session is a conversation. It pauses at every decision: "approach A or B?", "should I commit?", "do the next item or stop?". That is the right default when a human is watching. It is the wrong default when you want a session to run for an hour while you do something else.
The pauses come from three different places, and each needs a different fix:
Leopold flips levers 2 and 3 while respecting lever 1.
Two phases.
/leopold-brief)A structured debate, not a form. You talk through the mission; Leopold pushes back, asks the sharp questions, and writes four durable artifacts:
MISSION.md — what we are building, why, and the definition of done.CHARTER.md — your decision charter: priorities, taste, hard never / always rules, risk tolerance. This is the part that "becomes you."GUARDRAILS.md — what is autonomous vs gated, stop conditions, budgets, the kill switch.PLAN.md — the backlog the autonomous run will burn down.You can debate, revise, and re-run this until the brief reflects how you actually think. The quality of the autonomous run is capped by the quality of the brief, so this phase matters.
/leopold-run)Leopold enters autonomous mode and conducts Claude Code in a loop:
PLAN.md, pick the next unchecked item./spec before building, /code-review after, /verify to confirm, /investigate when stuck).CHARTER.md. If the call is reversible and the charter is clear, decide, log it to DECISIONS.md, and keep going. Only a genuinely irreversible and ambiguous fork stops the run.A Stop hook is what makes it continuous: when Claude finishes a turn, the hook checks the plan and the stop conditions, and if work remains it re-injects "continue". A PreToolUse hook keeps commit, push, and destructive commands locked even while autonomous.
Every decision Leopold makes on your behalf lands in DECISIONS.md, so you can review what "you" decided while you were away.
npx claudepluginhub jonhvmp/leopold --plugin leopoldPermanent coding companion for Claude Code — survives any update. MCP-based terminal pet with ASCII art, stats, reactions, and personality.
Intelligent prompt optimization: injects the right context at the right moment so Claude lands a better first output. Clarifies vague prompts with research-based questions, plus targeted nudges for approach selection, plan readability, workflow routing, background execution, subagent routing, output readability, user-decision questions, and plan-mode assessment
Semantic search for Claude Code conversations. Remember past discussions, decisions, and patterns.