help
Skill1 starsChanged 39 days agoMITView on GitHub
Guides users through keel setup, the lead, and picking the skill, playbook, principle, agent, or hook for a task. Use for /keel:help, or when the user asks how to install, set up, or use keel, or which keel skill fits. Not for requests to do work, even ones that name keel.
- Deletes or force-pushes
- Commits and pushes
76 other projects use a version of this.
Adopted by
Most recently taken up by
- iskron-ai/skillstheir own version, first seen Nov 8, 2026
- nearmap/shipyardtheir own version, first seen Nov 8, 2026
- Jasenpan1987/multi-codetheir own version, first seen Nov 8, 2026
- codewhale-hq/codewhale-plugin-marketplacetheir own version, first seen Nov 8, 2026
- onetapstudiogames/1f3d9-citylifetheir own version, first seen Nov 8, 2026
- Memolok/Claude-plugintheir own version, first seen Nov 6, 2026
Used with
Projects with it also use create-stories, story-done and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
lilangMaxSkillcreate-stories
Break a single epic into implementable story files. Reads the epic, its GDD, governing ADRs, and control manifest. Each story embeds its GDD requirement TR-ID, ADR guidance, acceptance criteria, story type, and test evidence path. Run after /create-epics for each epic.
Also in 9 projects that use this
lilangMaxSkillstory-done
End-of-story completion review. Reads the story file, verifies each acceptance criterion against the implementation, checks for GDD/ADR deviations, prompts code review, updates story status to Complete, and surfaces the next ready story from the sprint.
Also in 9 projects that use this
- +10 more from lilangMax
Other versions76 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 76
- Donchitos/Claude-Code-Game-Studios★ 27ksame name
- parcadei/Continuous-Claude★ 3.9ksame name
- parcadei/Continuous-Claude-v2★ 3.9ksame name
- parcadei/Continuous-Claude-v3★ 3.9ksame name
- agenticnotetaking/arscontexta★ 3.5ksame name
- indranilbanerjee/digital-marketing-pro★ 934same name
- waynesutton/markdown-site★ 628same name
- bitwize-music-studio/claude-ai-music-skills★ 589same name
- andrew-shwetzer/career-ops-plugin★ 501same name
- andrew-shwetzer/career-ops-plugin-do-not-fork-currently-updating-v2-★ 500same name
66 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository56 other files it gives its agents.
- architectSkill
- arenaSkill
- automate-meSkill
- benchmark-checklistSkill
- blast-radiusSkill
- broSkill
- correctSkill
- create-formal-verification-skillSkill
- create-verification-skillSkill
- figure-it-outSkill
- howSkill
- interrogateSkill
- in-your-own-wordsSkill
- ketchupSkill
- ketchup-videoSkill
- leadSkill
- maintain-formal-verification-skillSkill
- maintain-verification-skillSkill
- no-commentsSkill
- principle-attack-the-premiseSkill
- principle-boundary-disciplineSkill
- principle-build-the-leverSkill
- principle-encode-lessons-in-structureSkill
- principle-exhaust-the-design-spaceSkill
- principle-experience-firstSkill
- principle-explain-the-numberSkill
- principle-fix-root-causesSkill
- principle-foundational-thinkingSkill
- principle-guard-the-context-windowSkill
- principle-laziness-protocolSkill
- principle-make-operations-idempotentSkill
- principle-migrate-callers-then-delete-legacy-apisSkill
- principle-minimize-reader-loadSkill
- principle-model-the-domainSkill
- principle-never-block-on-the-humanSkill
- principle-outcome-oriented-executionSkill
- principle-prove-it-worksSkill
- principle-redesign-from-first-principlesSkill
- principle-separate-before-serializing-shared-stateSkill
- principle-sequence-verifiable-unitsSkill
- principle-subtract-before-you-addSkill
- principle-test-behavior-not-implementationSkill
- principle-type-system-disciplineSkill
- qmdSkill
- recallSkill
- reflectSkill
- setupSkill
- sharpenSkill
- show-me-your-workSkill
- swarmSkill
- tddSkill
- teachSkill
- technical-writingSkill
- typescript-best-practicesSkill
- unslopSkill
- whySkill
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 2 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 57 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
Start a task with the lead
- Distinctive: line 23
Check the state that changes the answer, and mention it only when it does:
- Very specific: line 31
Run /keel:setup. It checks for the Codex CLI, maps a model alias to each role, and writes keel-models.md in the active Claude config …
- Very specific: line 32
Start a real task with a goal and a check that can pass or fail.
- Very specific: line 90
If a skill directory next to this one is missing from the table, read its frontmatter and route by its description.
“Common” is measured: kept by at least 6 in 10 of the 57 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
keel help
Answer the user's question about keel, hand them a prompt they can send, and link the file the answer came from. For a help question, don't start the work. The user asked how, and a keel run spends real tokens, so let them send the prompt.
A message that asks for work, such as "use keel to fix this bug", is not a help question. Read lead and do the work under it.
This file maps questions to the skills and guide pages that hold the answers. Those files own the details. Read the file you route to before you quote it, and trust it when it disagrees with this map. The links here point into the installed plugin, which the user may not be able to open, so give the user the file's public copy: https://github.com/tristanphvn/keel/blob/main/ followed by its path.
Find out what they need
Infer the need from the message and the conversation. A named situation, such as "which skill reviews a PR?", goes straight to its section. If the need is still unclear, ask one AskUserQuestion with these four options, then answer only the section they pick. Its built-in Other choice covers Make keel my own.
- Get set up
- Start a task with the lead
- Pick a skill for a situation
- Fix a run that went wrong
Check the state that changes the answer, and mention it only when it does:
- No
${CLAUDE_CONFIG_DIR:-$HOME/.claude}/keel-models.mdmeans/keel:setuphasn't run for this profile, so every role uses its default model. - No
verify-*skill or other app harness in the project means agents have no scripted way to drive the app. Mention/keel:create-verification-skillwhen the question is about proving a change works.
Get set up
- Install with
claude plugin marketplace add tristanphvn/keel, thenclaude plugin install keel@keel. To try keel for one session, clone the repository and runclaude --plugin-dir ./keel. - Run
/keel:setup. It checks for the Codex CLI, maps a model alias to each role, and writeskeel-models.mdin the active Claude config directory. keel skills read it on their next spawn, in this session and new ones. - Start a real task with a goal and a check that can pass or fail. The main session loads the lead on its own, or the user types
/keel:lead.
keel needs git, the GitHub CLI gh signed in, python3 for the hooks, bun for the playbook scripts, and node for the plan checker. Only lead and help load from the user's words, and typescript-best-practices loads when the agent touches a .ts or .tsx file. The other skills load when the user types them or when the lead reads them for a step. The README and guide page 1 have the details. Offer to word their first prompt with them.
If cost is the worry, say where the tokens go and how to spend fewer. keel spends extra tokens on subagents and review panels. Rerun /keel:setup and pick cheaper models, such as sonnet or haiku, for the roles that matter least. A role set to inherit runs on the session's model. A shorter panel list runs fewer subagents, one for each entry. Once the lead is loaded, small asks run directly without the loop, so they cost no subagents.
keel also installs in Codex, with codex plugin marketplace add tristanphvn/keel and codex plugin add keel@keel. There the user invokes $keel:lead, which reads the same playbooks through its Codex adapter. This help skill and the other /keel:<name> commands are Claude Code only. The README's Codex section covers the sandbox approvals.
Start a task with the lead
The lead matches the task to a playbook, copies the playbook's steps into the todo list, and runs the other skills as the steps need them. A step it skips stays in the list as skip: <reason>. A good prompt states the goal and how to tell it's done. It doesn't list skills, because a hand-written sequence tends to drop or reorder steps the playbook would keep. Guide page 2 has examples.
The lead stays on across turns. The hooks/lead-reminder.sh hook re-injects one line on every prompt, and hooks/lead-gate.py denies every tool except Skill, ToolSearch and AskUserQuestion until the session loads the lead. Set KEEL_LEAD_GATE=off to turn the gate off. Once loaded, the lead runs small asks directly, without the loop. To opt out of the lead entirely, set KEEL_LEAD_GATE=off and KEEL_REMINDER=off. Mid-chat, "new task" makes the lead match a fresh playbook.
The lead delegates code-writing to keel:ponytail builders and reviews with keel:critic, a read-only reviewer with one lens per spawn. To get the same builder from a subagent of your own, spawn it with subagent_type: "keel:ponytail".
Subagents live only as long as their session. Before closing the terminal on running work, type /bg. Start unattended work with claude --bg "<brief>".
Pick a skill
The default answer is the lead, which runs most of the others when its steps need them. Name a skill directly when the user wants more or less of something than the playbook gives. Read the skill before you recommend it, and give one example prompt.
| The user wants to | Skill |
| Do any non-trivial task with rigor | /keel:lead |
| Know how code works now, or where new code should live | /keel:how |
| Know why code is shaped this way, or where a number came from | /keel:why |
| Understand a change or subsystem, explained plainly | /keel:teach |
| Catch up on their own recent work on a topic | /keel:recall |
| Catch up on what changed in this chat since their last message, and what waits on them | /keel:ketchup |
| Watch that catch-up as a short silent video instead of reading it | /keel:ketchup-video |
| Know what a small diff could break outside itself | /keel:blast-radius |
| Settle types and module shape before code that crosses a function boundary | /keel:architect |
| Get several attempts at one brief, merged into the best one | /keel:arena |
| Run parallel checks over slices, or race workers, as subagents | /keel:swarm |
| Have several models review a diff and try to break it | /keel:interrogate |
| Fix a bug test-first when a cheap local test exists | /keel:tdd |
Apply TypeScript rules to .ts or .tsx work | /keel:typescript-best-practices |
| Strip comments before review, using a reviewer that didn't write them | /keel:no-comments |
| Clean AI tells out of prose | /keel:unslop |
| Write docs, an RFC, a README, a PR description, or a commit message to a standard | /keel:technical-writing |
| Hear the last reply again in plain words | /keel:bro |
| Have the agent play back their goal and the problem before it starts | /keel:in-your-own-words |
| Make a prompt deeper, not bigger, before sending it | /keel:sharpen |
| Give agents a scripted way to drive the app and prove behavior | /keel:create-verification-skill |
| Bring a verification skill and its feature map back in line with the app | /keel:maintain-verification-skill |
| Prove a property tests can't reach, such as a race, retry, state machine, or parser | /keel:create-formal-verification-skill |
| Bring formal verification back in line after the code it covers changed | /keel:maintain-formal-verification-skill |
| Vet a performance number before reporting or acting on it | /keel:benchmark-checklist |
| Run a large or cross-cutting change, or one to review after stepping away | /keel:figure-it-out |
| Keep a decision log during a run, and review it afterward | /keel:show-me-your-work |
| Pick a model for each role | /keel:setup |
| Search their notes, vaults, or auto-memory from every project with one local qmd index | /keel:qmd |
| Turn their own working habits into a personal mode skill | /keel:automate-me |
| Turn what a finished task taught into skill edits | /keel:reflect |
| Stop agents from repeating the same mistakes in this repo | /keel:correct |
| Find their way around keel | /keel:help |
If a skill directory next to this one is missing from the table, read its frontmatter and route by its description. The principle-* directories are covered under principles below.
Close calls:
/keel:howexplains what the code does./keel:whyexplains the reasons./keel:teachruns one or both and explains the result plainly./keel:arenagives every worker the same brief and merges the best parts./keel:swarmsplits work into slices or a race and returns one report./keel:architectimplements right after it settles the design. Add "with checkpoint" to review the design before it writes code./keel:interrogatereviews the diff./keel:blast-radiuslooks for breakage outside the diff and proves the one fact that makes the change safe./keel:ketchupcatches up on this chat since the last message./keel:recallrebuilds context across recent chats. Resuming one specific chat or branch is the Session pickup playbook./keel:ketchup-videois the same catch-up shown as a video, with the calls waiting on them as text under it./keel:figure-it-outdesigns one rigorous run. The Orchestrate playbook runs a program that spans days and many PRs. The Autonomous run playbook drives one task to a finish condition./keel:correctmines history for repeated mistakes and fixes each at the highest level that works.
Not in keel:
/simplify,/loop,/bg, and plan mode are Claude Code built-ins. The lead runs/simplifybefore each commit.- Browser and desktop driving comes from the
anthropic-skillsbrowser and computer-use skills when available, else Playwright through Bash.anthropic-skills:skill-creatorwrites skills when available. - keel has no
/keel:orchestrateskill. Orchestrate is a lead playbook. If the slash menu shows/orchestrate, another plugin provides it.
Playbooks and principles
Playbooks are step lists inside the lead, not skills, so they have no slash command. Describing the task picks one, and these phrases name one directly:
- "babysit this pr" or "check on pr 123" runs Babysit. It drives the PR to merge-ready and stops there. It doesn't merge unless the user asks to merge, land, or ship.
- "land the stack" runs Shipping.
- "take over this branch" runs Session pickup.
- "pause safely" runs Pause safely.
- "full autopilot on this queue" runs Autopilot-full. "stack them, don't ship" runs Autopilot-stack.
- "run the eval playbook" runs Eval.
The Playbooks section of lead lists every playbook and when it applies. Guide page 6 covers opening, babysitting, and landing a PR.
keel has no planning skill. Claude Code's plan mode works alongside it. For work that spans phases or stacked PRs, asking the lead for a plan runs the Multi-phase plan playbook, which writes the plan and doesn't implement it. For a design question, the Prototype playbook or /keel:architect settles it in code first.
Principles are one-rule skills that the lead reads and cites in its replies. The user rarely invokes one. They steer with the names instead, as in "apply prove it works. show me the real output." Typing /keel:principle-<name> still loads one on demand. Guide page 8 lists them.
Fix a run that went wrong
| Symptom | Fix |
| The lead stopped applying after a few turns | Check that KEEL_REMINDER and KEEL_LEAD_GATE are not off, or type /keel:lead at the start of each task. |
| Every tool call is denied with "keel lead gate" | The session has not loaded the lead yet. Load keel:lead (or type /keel:lead), or set KEEL_LEAD_GATE=off to turn the gate off. |
| A question got treated as the next step of the last task | Say "new task", or say the turn doesn't need the loop. |
| A new model choice had no effect | Check that /keel:setup wrote keel-models.md under ${CLAUDE_CONFIG_DIR:-$HOME/.claude} for the profile in use. Subagents already running keep their model. |
| Runs cost more than expected | See the cost paragraph under Get set up. |
| A skill didn't load on its own | Only lead and help load from the user's words, and typescript-best-practices loads on .ts and .tsx files. The others load when the user types them or when the lead reads them, and it doesn't run every skill. |
| Parallel agents overwrote each other | Give each agent its own worktree with isolation: "worktree", or a separate claude --worktree session. |
| Subagents stopped mid-task | Closing the terminal stops them. Type /bg first next time. To recover, follow the Session pickup playbook against their worktrees. |
| The git guard blocked a command | It blocks force-pushes, reset --hard, clean -f, and whole-tree discards on purpose. An owner publishes its own rebased branch with git push --force-with-lease=<branch>:<sha> origin <branch>, pinned to the SHA it last pushed. See hooks/git-guard.py. |
| An overnight run moved but finished nothing | /loop needs a check that can pass or fail, not a duration. See guide page 7. |
| The reply claims success from a green build | Ask for the real command, flow, stored value, or profile. That's the prove-it-works principle. |
Guide page 10 has more pitfalls and the recipes worth copying.
Make keel my own
/keel:automate-medrafts a personal mode skill from the user's own history, to use alongside the lead./keel:reflectafter a session turns its lessons into skill edits the user approves./keel:lead write a skill for <workflow>runs the authoring playbook. The eval playbook tests a skill change blind.- Fix a misbehaving skill in its own PR, not inside the feature work where it went wrong.
Guide page 9 covers each of these.
Reply
Lead with the answer. Give at most one example prompt in a code block, then the link to that file. Keep it short unless the user asked for the whole map.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

