dev
Skill9 starsChanged 47 days agoMITView on GitHub
Full dev lifecycle (/dev {ticket}): Context Gathering → Ceremony → Plan → Implement → Test → Document → Completion, or a single stage via /dev context|ceremony|plan|implement|test|document|complete {ticket}. Trigger: "build ND-XX", "implement ND-XX", "finish ND-XX", or starting a ticket from scratch.
52 other projects use a version of this.
Adopted by
Most recently taken up by
- ztcools/skillstheir own version, first seen Nov 15, 2026
- mayoz/rabbittheir 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
Used with
Projects with it also use metrics-graphana, control-flow and 9 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 versions52 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 52
- 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
42 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 repository7 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- harness-bootstrapSkill
- designSkill
- evolveSkill
- warSkill
- where-we-areSkill
- x-raySkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. 0 are common, 6 are distinctive, and 7 are very specific to this project.
0
Common
Most of the 34 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 32
Document on their results.
- Distinctive: line 44
Never invent extra gates: If a stage reference does not name a stop, there is no stop.
- Distinctive: line 63
Use this for any story that reached Document but was never archived.
- Distinctive: line 64
No stage word (bare ticket or free-form) → run the full chain: Entry check, then Phase 1 through Phase 7 below
- Very specific: line 91
If it exists, read the Status and Phase rows, and check which stage artifacts exist (0-intent.md, 1-plan.md, archive location)
- Very specific: line 117
Run metrics recover --dir "$IMPL_DIR" when a stat.json exists, before recording anything.
- Distinctive: line 124
Do this on every entry, full-chain or single-stage, resumed or fresh, before the target stage's first metrics call.
- Distinctive: line 146
Keep unknown measurements explicit.
- Very specific: line 168
Follow references/01-context-gathering.md.
- Very specific: line 173
Follow references/02-ceremony.md.
- Very specific: line 178
Follow references/03-plan.md.
- Very specific: line 183
Follow references/04-implement.md.
- Very specific: line 198
Follow references/07-completion.md.
“Common” is measured: kept by at least 6 in 10 of the 34 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
The developer wants to run the dev lifecycle for a ticket. Here is their input:
$ARGUMENTS
How approvals work
A request to run the dev lifecycle authorises everything routine: reading context, planning, reversible local edits in scope, running non-guarded checks, updating the report, moving between stages. That authorisation holds for the whole ticket. Do not ask again per file, per finding, per step or per phase.
The developer should feel like they are reviewing a senior colleague's work, not approving every move of a junior one. So:
- Two stops per phase, both at its end. The sign-off (
patterns/phase-sign-off.md): Context on the written intent, Ceremony on the branch, Plan, Implement, Test and Document on their results. Then the commit: proposed, run by the developer, checked in Git before the stage closes. Context is the exception: it has no commit of its own, its files ride in Ceremony's first commit after the checkout. Completion ends with one combined ask for external actions. - Inside a phase, keep going. Steps use intelligent checkpoints
(
patterns/approval-intelligent.md): run the checks yourself, auto-approve when the content qualifies, and say in one line what you checked. Escalate only on real doubt. - Stop mid-phase only for something only the developer can do or decide: a check needing their eyes or their access, a guarded command, a material scope or architecture choice, accepting a real risk, or an external mutation (tracker, publish, deploy). Prepare the content first, combine related questions, ask once.
- Never invent extra gates. If a stage reference does not name a stop, there is no stop.
Commits are always the developer's. Each phase ends by proposing the commit(s) and waiting for them; the next phase starts on a clean worktree.
Route
See references/00-router.md for what each stage
produces. Parse $ARGUMENTS into an optional leading stage word and the
rest:
context {input}→ Stage tasks for Context Gathering only, thenreferences/01-context-gathering.mdceremony {input}→ Stage tasks for Ceremony only, thenreferences/02-ceremony.mdplan {input}→ Stage tasks for Plan only, thenreferences/03-plan.mdimplement {input}→ Stage tasks for Implement only, thenreferences/04-implement.mdtest {input}→ Stage tasks for Test only, thenreferences/05-test.mddocument {input}→ Stage tasks for Document only, thenreferences/06-document.mdcomplete {input}→ Stage tasks for Completion only, thenreferences/07-completion.md. Use this for any story that reached Document but was never archived.- No stage word (bare ticket or free-form) → run the full chain: Entry check, then Phase 1 through Phase 7 below
- Unrecognised stage word → ask which stage was meant, or whether the full chain was intended, before doing anything else
Compatibility: /dev-plan, /dev-implement, /dev-test, /dev-document are
retired — use /dev context|ceremony|plan|implement|test|document|complete {ticket}.
Ticket-tracker activity is entirely @scrum-master's job. Dev only asks it to act
on a ticket by state name ("transition to In Progress", "transition to Done"); the
transition IDs live in @scrum-master's own definition, so the two never drift.
Entry check — every entry, full-chain or direct stage
This is the one place that decides fresh vs. resume. Stage references do not repeat it.
Parse the ticket number from $ARGUMENTS (ND-\d+). For free-form
input with no ticket, search existing story folders for a matching local ID
(DEV-YYYYMMDD-XXXX) and title; reuse it when found, otherwise generate a
collision-checked one. A local ID does not imply a tracker record.
Then look for existing work:
- Glob
docs/Stories/*{TICKET}*/impl/2-report.md(use*{TICKET}*wildcard — never[{TICKET}]*); includedocs/Stories/archive/ - If it exists, read the
StatusandPhaserows, and check which stage artifacts exist (0-intent.md,1-plan.md, archive location)
Decide:
- No report → fresh. Full chain starts at Phase 1; a direct stage word starts at that stage (and Plan will write the missing intent first, see its Step 1).
- Status
✅ Complete→ say so and stop. The ticket is finished. Report exists → one question, same words everywhere:
"I found existing work for
{TICKET}:{phase-row}. {Artifacts found, one line.}resume where it left off, or restart {this stage / from scratch}?"
Stop and wait.
- resume — full chain: jump to the first stage not ✅ (e.g.
🔨 Implement 🔄→ Phase 4;📝 Document ✅ · 🏁 Completion ⏳→ Phase 7). Direct stage: enter it and build on what is there; do not redo completed steps or re-ask given sign-offs. - restart — full chain: from Phase 1. Direct stage: that stage from its first
step, overwriting its own artifact only (
0-intent.mdfor Context,1-plan.mdfor Plan); earlier stages' artifacts stay.
- resume — full chain: jump to the first stage not ✅ (e.g.
The story folder found here is $IMPL_DIR (docs/Stories/[{TICKET}] {name}/impl/,
or its archive/ twin) for every stage and every metrics command from now on. Stages
do not search for it again; a direct folder path given as input is used as is.
Run metrics recover --dir "$IMPL_DIR" when a stat.json exists, before recording
anything. Then apply Stage tasks below and go to the target phase.
Stage tasks — apply once, every entry (mandatory)
Do this on every entry, full-chain or single-stage, resumed or fresh, before the target stage's first metrics call. It is a step, not a reminder-driven aside: do not wait for a system reminder about progress tools, and never finish a stage with its native task still open.
Apply .claude/skills/dev/patterns/task-tracking.md. It inspects existing
state (the native tracker or 2-report.md) and decides create vs. reuse vs.
reconcile; this router does not. For the full chain the unit list is the seven stages
(Context Gathering, Ceremony, Plan, Implement, Test, Document, Completion) in order.
For a direct single-stage call it is that one stage. Mark a stage in_progress on
entry and completed only when the phase banner shows it done. A stage reference
tracks its own child units (plan steps, in Implement's case).
Metrics
Apply patterns/metrics.md throughout. Each ticket has impl/stat.json beside
2-report.md. Use scripts/timing.mjs with an explicit --dir for every metric
change; never edit the JSON by hand. Each stage reference says where its stage
start, wait start, resume and stage complete calls go; the phase sign-off
pattern owns the sequence around every stop. The entry check runs recover on resume.
Keep unknown measurements explicit.
Phase tracker
Show this banner at every phase transition, with the active phase marked:
🎯 Context [status] · 🚀 Ceremony [status] · 📋 Plan [status] · 🔨 Implement [status] · 🧪 Test [status] · 📝 Document [status] · 🏁 Completion [status][status] is 🔄 (active) · ✅ (done) · ⏳ (pending). Example when entering Plan:
🎯 Context ✅ · 🚀 Ceremony ✅ · 📋 Plan 🔄 · 🔨 Implement ⏳ · 🧪 Test ⏳ · 📝 Document ⏳ · 🏁 Completion ⏳Phase 1 — Context Gathering
Follow references/01-context-gathering.md. Ends with a phase sign-off on the
intent. Announce the outcome and continue; direct-stage entry ends here.
Phase 2 — Ceremony
Follow references/02-ceremony.md. Ends with a phase sign-off on the branch.
Announce the outcome and continue; direct-stage entry ends here.
Phase 3 — Plan
Follow references/03-plan.md. Ends with a phase sign-off. Announce the outcome
and continue; direct-stage entry ends here.
Phase 4 — Implement
Follow references/04-implement.md. Ends with a phase sign-off. Announce the
outcome and continue; direct-stage entry ends here.
Phase 5 — Test
Follow references/05-test.md. Ends with a phase sign-off. Announce the outcome
and continue; direct-stage entry ends here.
Phase 6 — Document
Follow references/06-document.md. Ends with a phase sign-off. Announce the
outcome and continue; direct-stage entry ends here.
Phase 7 — Completion
Follow references/07-completion.md. It archives the story, finalises metrics,
hands over the commit and PR text, offers the tracker and tech-debt actions once,
and ends with a clear "this ticket is complete" message. There is nothing after it.
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.

