dev
Skill1 starsChanged 8 days agoMITView on GitHub
Implement an approved Rabbit plan in one repository. Runs as the first turn of a dev session opened by /rabbit:task; implements the plan steps with superpowers or Rabbit's own loop, one commit per step, reviews its own diff, and pushes only when the task session says so.
51 other projects use a version of this.
Adopted by
Most recently taken up by
- DataArt/artisyn-implementation-harnesstheir own version, first seen Nov 15, 2026
- inancgumus/skillstheir own version, first seen Nov 8, 2026
- paulocsb/worldcup-fifa-pooltheir own version, first seen Nov 8, 2026
- fx/skillstheir own version, first seen Nov 8, 2026
- microsoft/Copilot-Managed-Runtimetheir own version, first seen Nov 8, 2026
- Mereithhh/very-happytheir own version, first seen Nov 6, 2026
Used with
Projects with it also use metrics-graphana, control-flow 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.
slopusSkillmetrics-graphana
Query and manage Grafana dashboards and Prometheus metrics for Happy infrastructure. Covers grafanactl CLI usage, direct Prometheus queries through Grafana proxy, and dashboard-as-code workflows. Use when user asks about metrics, dashboards, monitoring, Grafana, Prometheus, or wants to add/modify panels.
Also in 3 projects that use this
slopusSkillcontrol-flow
Analyze and design control flows and data structures. Produces compact ASCII tree diagrams showing triggers, call chains, payload shapes, state mutations, and re-render effects. Use when user asks to diagram, trace, visualize, or design a flow or data structure.
Also in 3 projects that use this
MicrosoftSkillsessions
Core principles and workflow router for changes to the Agents Window under src/vs/sessions.
Also in 3 projects that use this
AnthropicSkilloffice-hours
Set up and run Claude Code office hours, including the calendar event when the champion's own calendar connector allows it. Use when a champion wants a regular time for teammates to bring problems.
Also in 3 projects that use this
nicepkgSkillteam
根据任务快速组建临时 AI Agent 团队协作。自动从 .claude/agents/ 中选择最合适的成员组队。
Also in 3 projects that use this
Microsoft AzureSkilltest
Also in 5 projects that use this
Other versions51 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 51
- slopus/happy★ 25ksame name
- microsoft/playwright-cli★ 15ksame name
- atopile/atopile★ 4ksame name
- cexll/myclaude★ 2.8ksame name
- waynesutton/markdown-site★ 628same name
- Automattic/wordpress-activitypub★ 583same name
- justrach/merjs★ 357same name
- stella/stella★ 274same name
- serithemage/serverless-openclaw★ 196same name
- vanillagreencom/kendex★ 76same name
41 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.
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 1 is distinctive, and 10 are very specific to this project.
0
Common
Most of the 33 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Very specific: line 15
Profile: Read ~/.config/rabbit/profile.md.
- Very specific: line 27
Workflow: If the profile has a Workflow: line, run PY -I "${CLAUDE_PLUGIN_ROOT}/skills/task/scripts/workflow.py" <path> (PY: rules.md).
- Very specific: line 37
Rules: Read ${CLAUDE_PLUGIN_ROOT}/skills/task/references/rules.md and apply it.
- Very specific: line 48
After a compaction or restart, or with any of KEY, REPO, TASK_DIR, worktree, BRANCH, BASE or COORDINATOR missing: find the Dev: line whose …
- Very specific: line 65
Read TASK_DIR/spec.md (the REPO section and every contract it is part of), TASK_DIR/plan.md and the Execute: line in TASK_DIR/jira.md.
- Distinctive: line 71
Run only the tests of the files you change and of their callers, by path.
- Very specific: line 89
Write the test the step names.
- Very specific: line 94
Commit only the files of this step, staged by path (never git add .
- Very specific: line 108
If the code shows that the spec or a contract is wrong or incomplete, stop.
- Very specific: line 115
Run ${CLAUDE_PLUGIN_ROOT}/skills/task/references/review.md with Kind: diff for REPO (base BASE, branch BRANCH), with its Findings rules.
- Very specific: line 130
Follow references/commands.md.
“Common” is measured: kept by at least 6 in 10 of the 33 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
Dev
This session implements one repository's part of an approved plan. Its prompt
names KEY, REPO, WORKTREE, BRANCH, BASE, TASK_DIR and COORDINATOR;
if any is missing, apply Resume, and if it finds no Dev: line, send
error.no-context and stop.
0. Before anything
- Profile. Read
~/.config/rabbit/profile.md. If it is missing or unreadable, or a required value is empty (Basics: Workspace, Repositories folder, Chat language, Document language), sendsetup.needednaming what is missing, run therabbit:setupskill with the Skill tool, and when it finishes continue here. - Language.
LANG= Chat language, or forautothe language of the user's last message (English if none). Every message stays inLANG, even after text in another language. Send fixed messages fromreferences/messages.mdby id, translated; keep Markdown,{{...}}values, paths, keys and commands as they are. Code, comments, commits and pull request text are in English unless the repository says otherwise. - Workflow. If the profile has a
Workflow:line, runPY -I "${CLAUDE_PLUGIN_ROOT}/skills/task/scripts/workflow.py" <path>(PY: rules.md); its JSON isWF; exit 3: senderror.workflow-missingand stop. ApplyWF.stages.Execute(before, in, after) andWF.stages.Push.in; the task session applies the rest (every instruction, in order; fill<KEY>,<SUMMARY>,<REPO>,<BRANCH>,<BASE>,<TASK_DIR>yourself; a placeholder the prompt's answers do not cover getsask.placeholder, and send its answer toCOORDINATORasrabbit: placeholder <name> <value>; an instruction you cannot apply,ask.instruction-failed). - Rules. Read
${CLAUDE_PLUGIN_ROOT}/skills/task/references/rules.mdand apply it. Read the repository'sCLAUDE.mdand.claude/rules/; they win where they disagree. - Questions reach the coordinator. The user usually watches the task
session. Every question or stop this session sends the user (
step.blocked,ask.*) also goes toCOORDINATORasrabbit: blocked <the question>; take the answer from either session. One the user answers here:SendMessagerabbit: answered <the question>.
Resume
After a compaction or restart, or with any of KEY, REPO, TASK_DIR,
worktree, BRANCH, BASE or COORDINATOR missing: find the Dev: line whose
worktree is this folder in <Workspace>/*/*/jira.md (several: the most recently
changed file); that file's folder is TASK_DIR and its name KEY; the line
gives REPO, worktree, BRANCH and BASE, its Coordinator: line
COORDINATOR. Match the subjects of git log --format=%s
origin/<BASE>..HEAD (local <BASE> without a remote) to the plan steps' commit
messages and continue at the first step without its commit. Uncommitted work
before a Done: <REPO> line belongs to that step: finish it. Every step
committed and no Done: <REPO> line: go to §4.
A Done: <REPO> line: implement nothing; uncommitted work belongs to the last
fix: finish it, commit and send rabbit: done <new commits>; else wait for the
coordinator. A pull request opened earlier: gh pr view <BRANCH> --json
url,state,isDraft.
1. Read the plan
Read TASK_DIR/spec.md (the REPO section and every contract it is part of),
TASK_DIR/plan.md and the Execute: line in TASK_DIR/jira.md. Implement only
the REPO tasks. Do not edit spec.md or plan.md. No Execute: line: send
ask.execute and wait.
Code facts come from WORKTREE at HEAD, not from the base branch.
Run only the tests of the files you change and of their callers, by path; never a whole suite unless the plan says so. Before the first one, apply rules.md's Running the app or its tests.
Send start.summary listing the plan tasks you will implement, and start at
once: the plan approval was the go-ahead.
2. Implement (stage Execute)
Apply WF.stages.Execute.before, then implement with WF.stages.Execute.in on
top:
- superpowers: invoke
superpowers:executing-planswith args:Plan: <TASK_DIR>/plan.md. Implement only the <REPO> tasks, one commit per plan step, staged by path; never skip hooks or signing. You are already in the task's worktree <WORKTREE>: create no other worktree or workspace. Do not push, do not open a pull request and do not finish the branch. - native: for each plan step, in order:
- Write the test the step names; run it; it must fail for the reason the step
says. A step with no test (configuration, documentation): say so in
step.done. - Make the change; run the test again; it must pass. Run the other tests the change could break.
- Commit only the files of this step, staged by path (never
git add .or-A), with the step's commit message. Never skip hooks or signing; a hook that rewrites files: stage those same paths again and commit again. - Send
step.donein one line; then the next step.
- Write the test the step names; run it; it must fail for the reason the step
says. A step with no test (configuration, documentation): say so in
A test that will not pass, or a step that cannot be done as written: stop and
send step.blocked with what you ran and what happened. The user may say to go
on without it:
then name it under Unverified: in the rabbit: done report. Then apply
WF.stages.Execute.after.
3. When the plan is wrong
If the code shows that the spec or a contract is wrong or incomplete, stop. Tell
the user and SendMessage to COORDINATOR: rabbit: plan wrong <path:line>
<finding>. Do not change a contract on your own; wait for rabbit: plan
changed.
4. Review your own diff
Run ${CLAUDE_PLUGIN_ROOT}/skills/task/references/review.md with Kind: diff
for REPO (base BASE, branch BRANCH), with its Findings rules; write no
review file. Fix each finding to fix with its test and a commit of its own.
5. Report and wait
Send done with the commit list (git log --oneline origin/<BASE>..HEAD, local
<BASE> without a remote) and the tests you ran, then SendMessage to
COORDINATOR: rabbit: done
<the commit list>, followed by the proven findings as ### R<n> blocks with
their **Status:**, the summary line, any Follow-ups:, Unverified: and
Env: lines. Wait.
6. Messages from the coordinator
Follow references/commands.md. Never push, open a pull request or rewrite
history otherwise. If the user asks for a push here, send push.via-task.
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.

