Skills¶
Leopold ships a family of Claude Code skills, installed to ~/.claude/skills/. They
are authored in the gstack-compatible format (frontmatter + markdown body). The core
skills are documented below.
flowchart LR
B["/leopold-brief<br/><small>Phase 1</small>"] --> R["/leopold-run<br/><small>Phase 2 · loop</small>"]
B --> W["/leopold-workflow<br/><small>Phase 2 · workflow</small>"]
R --> S["/leopold-status<br/><small>watch</small>"]
R --> X["/leopold-stop<br/><small>take back</small>"]
R --> L["/leopold-learn<br/><small>charter learns</small>"]
W --> L
T["/leopold-triage<br/><small>backlog → plan</small>"] --> B
/leopold-brief¶
Phase 1. A structured debate that captures the mission and your decision-making,
then writes the brief (MISSION, CHARTER, GUARDRAILS, PLAN) to .leopold/.
- Use it to start a mission, or to revise an existing brief.
- Output the four artifacts plus an empty
DECISIONS.md.
/leopold-run¶
Phase 2. Activates the run (writes state.json with active:true) and begins
the turn loop. The Stop hook carries it forward; the guard hook locks git.
- Preflight aborts if the brief is missing — run
/leopold-brieffirst. - Behavior adopts spawned-session mode so gstack skills auto-decide.
/leopold-workflow¶
Phase 2, the workflow way. Compiles the same brief into a dynamic workflow — a JavaScript harness Claude Code's runtime executes in the background — and runs it. The plan lives in code instead of one context window, so a long run doesn't drift into agentic laziness, self-preferential bias, or goal drift; each item gets an independent adversarial review.
- Compiles
PLAN.mdinto dependency-ordered waves and risk-classifies each item (effort +critical+sensitive) with the driver's keyword rules, then launches the canonical script (reference/leopold-run.workflow.js) via theWorkflowtool. - Preflight needs Dynamic workflows enabled (
/config) and an existing brief. - Git stays locked for free — a workflow can't commit; it stages, you commit.
- Resumable and visible in
/workflows; saving the compiled script to.claude/workflows/leopold-run.jsmakes the brief a re-runnable harness. - When to reach for it vs
/leopold-run: large or parallelizable plans → workflow; short or interactive plans → the loop.
/leopold-learn¶
The self-improving charter. Mines the decision log (DECISIONS.md + archived runs),
this project's session transcripts, and git history with three miners over disjoint
sources; clusters the recurring signals (a pattern surfacing in more than one
independent source is the strongest); puts a kill-biased skeptic on every candidate;
and distills the survivors into .leopold/CHARTER-amendments.md.
- Hard boundary: it never edits
CHARTER.mditself — the charter is the user's identity. The human reviews the proposal and applies what sounds like them. - Cadence: after each substantial run, or whenever you notice yourself repeating the same correction. Each pass compounds: a sharper charter means fewer escalations and fewer wrong-direction decisions next run.
- Requires Dynamic workflows enabled.
/leopold-triage¶
Backlog triage as a workflow, with the quarantine pattern: the agents that read untrusted item content (issue bodies) have no repo access and only emit structured classifications; the agents that touch the repo (fix planners) see only those structured fields. A prompt injection in an issue can distort at most its own item's classification.
- Input: GitHub issues (
gh issue list), a file/directory of reports, or pasted content; dedupes against open PRs andPLAN.md. - Output: a severity-ranked actionable list, duplicate groups, already-tracked
items, and (in
fixmode) grounded fix plans for quick wins — which can becomePLAN.mditems for a/leopold-workflowrun. - Continuous: pair with
/loop(e.g. every 6h) for a standing queue.
/leopold-status¶
Read-only dashboard: active or not, plan progress, decisions logged, recent events. Never mutates anything.
/leopold-stop¶
Clean shutdown. Flips the run inactive so the Stop hook allows the session to
halt at the next turn boundary. The blunt alternative is touch .leopold/STOP.
Frontmatter shape
Each skill declares name, version, description, allowed-tools, and
triggers, so Claude Code can route to it by intent.