develop
Skill1 starsChanged 36 days agoMITView on GitHub
Orchestrates any non-trivial development or analysis task end-to-end — discovery, alignment, blueprint, registration, implementation and delivery. Routes to a branch (feature/bugfix/refactor/deprecation/analysis) and reuses specialized skills (grilling, domain-modeling, tdd, diagnose, deprecation, security-hardening, api-design, observability, to-tickets, create-pr). Use when starting a feature, bugfix, refactor, or codebase analysis/audit, or when the user says "let's build this", "let's implement", "analyze X", or invokes /develop.
28 other projects use a version of this.
Adopted by
Most recently taken up by
- killerseven7777777/matt-skills-relaytheir own version, first seen Nov 8, 2026
- lalulali/vespyrtheir own version, first seen Nov 6, 2026
- chippingway/chipping-orchestratortheir own version, first seen Nov 5, 2026
- Blakeem/aipromptguide-workflowstheir own version, first seen Nov 4, 2026
- javiarmesto/ALDC-AL-Development-Collectiontheir own version, first seen Nov 2, 2026
- ok-oldking/ok-scripttheir own version, first seen Nov 1, 2026
Used with
Projects with it also use scope, sync 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.
YuriNachosSkillscope
Configure claude-scope status line widgets for Claude Code. Use when user wants to customize widgets, change theme, reorder elements, or modify display style.
Also in 6 projects that use this
MicrosoftSkillsync
Sync the current session branch with its upstream branch, or publish the current session branch to a remote. Use when the user asks to sync a branch, pull latest changes, rebase onto upstream, push current branch, publish branch, or set upstream.
Also in 6 projects that use this
nicolasestremSkilldocument
Create focused documentation for specific components or features
Also in 5 projects that use this
kt057Skillcheck
lint, typecheck, test を一括実行して結果をサマリーする
Also in 5 projects that use this
Harut8Skillarchitect
Also in 9 projects that use this
AnthropicSkilldebug
Structured debugging session — reproduce, isolate, diagnose, and fix. Trigger with an error message or stack trace, "this works in staging but not prod", "something broke after the deploy", or when behavior diverges from expected and the cause isn't obvious.
Also in 9 projects that use this
Other versions28 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 28
- jsmastery-pro/skills★ 1.4ksame name
- perber/leafwiki★ 1.2ksame name
- ok-oldking/ok-script★ 831same name
- quantumaikr/quant.cpp★ 403same name
- javiarmesto/ALDC-AL-Development-Collection★ 115same name
- chippingway/chipping-orchestrator★ 18same name
- alexiolan/craft-skills★ 17same name
- axiomantic/spellbook★ 11same name
- lalulali/vespyr★ 11same name
- flurdy/agent-skills★ 9same name
18 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 repository19 other files it gives its agents.
- api-designSkill
- create-prSkill
- deprecationSkill
- diagnoseSkill
- disk-cleanupSkill
- domain-modelingSkill
- grillingSkill
- grill-meSkill
- grill-with-docsSkill
- handoffSkill
- observabilitySkill
- prototypeSkill
- receiving-code-reviewSkill
- security-hardeningSkill
- setupSkill
- tddSkill
- to-specSkill
- to-ticketsSkill
- write-a-skillSkill
The file
We split this skill into the rules it gives an agent
12 rules. 0 are common, 7 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 23 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 13
Never hardcode repo-specific rules (test patterns, CI commands, architecture) here.
- Distinctive: line 35
One primary branch per task: If work of a different nature appears mid-flight, it is a scope signal → see Checkpoints.
- Distinctive: line 46
When grepping, cover every source extension in play — a mixed codebase hides callers in files a single-extension sweep misses.
- Distinctive: line 50
Premises — verify before aligning: Read the ticket itself before any related memory or recent-session context.
- Very specific: line 78
Use the model-invocable cores (/grilling, /domain-modeling), not grill-me/grill-with-docs — those are user-only entry points …
- Very specific: line 84
Mark the hard decisions: When the grilling closes, flag the decisions that meet all three criteria in domain-modeling's DECISIONS-FORMAT.md …
- Very specific: line 105
Don't ask again for any of these — only a Checkpoint stops the flow.
- Distinctive: line 120
Adopt, don't duplicate: if the request already points to a task, use it.
- Distinctive: line 122
Create the branch by hand, before any commit, following that convention.
- Very specific: line 124
Keep the blueprint in the scratchpad, linked from the tracker task — never scattered .md in the repo tree.
- Distinctive: line 154
Tightening the bar is silent; loosening it is loud: Add any repo-specific cheap checks (e.g.
- Distinctive: line 177
If there is none of that, the closing is a single line with the URL plus "no deviations from the blueprint".
“Common” is measured: kept by at least 6 in 10 of the 23 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
develop
A thin router that gives every piece of work the same backbone — align before coding — while delegating the middle to the right specialized skill.
Governing principle (read first)
This skill owns the PROCESS. Each repo owns its CONVENTIONS in .context/.
Never hardcode repo-specific rules (test patterns, CI commands, architecture) here.
At every step that needs conventions, read the repo's .context/ (testing.md,
architecture*.md, good_practices.md, styling.md, and CLAUDE.md/AGENTS.md). If a needed
convention file is missing, say so and ask — never invent it.
This framework is opinionated: it assumes DDD + hexagonal architecture + strict TDD. See PHILOSOPHY.md. Framework- and project-specific detail (naming, layering, DI wiring) lives in the repo's
.context/architecture.md, not here.
Step 0 — Detect the branch (infer + confirm)
Infer the work type from the request and the impact analysis, then confirm in one line before proceeding ("I'll treat this as a bugfix, ok?").
| Branch | When | Execution core | Exit gate |
| feature | new code / endpoint / use case | TDD loop (tdd) — RED first | tests + build + visual (if UI) → PR |
| bugfix | something broken / regression | diagnose → RED regression test | regression test green → PR |
| refactor | behavior-preserving change | existing tests as the contract | tests still green → PR |
| deprecation | remove / rename / migrate away from code, fields, endpoints, flags | deprecation (consumer search, expand/contract) | consumers proven at 0, or the expand/contract step declared → PR |
| analysis | audit / investigation, no code | discovery + adversarial verification | verified findings report → no PR |
One primary branch per task. If work of a different nature appears mid-flight, it is a scope signal → see Checkpoints. Don't mix it in (separate branch/PR).
See branches/<branch>.md for each execution core. Read it when you enter that branch.
The flow (phases A–E)
A · Discovery — always, depth scales
Map what the work touches before anchoring. Use Plan/Explore subagents. Scale by
signals: one Explore for a small bugfix; several in parallel (by subsystem) for wide impact.
When grepping, cover every source extension in play — a mixed codebase hides callers in files a
single-extension sweep misses.
Output: files, utilities, patterns, cross-cutting concerns affected.
Premises — verify before aligning. Read the ticket itself before any related memory or recent-session context. Then list the premises the work rests on, each with the source that settles it, and mark it verified (with evidence) or assumed:
| Premise kind | Source that settles it |
| who emits / consumes an event, who calls an endpoint | grep emitters and callers (all extensions) |
| what exists in prod (endpoint, env var, infra) | deployment config / infra repo / observability |
| whether code is live | callers + production traffic (logs, metrics) |
| what the UI or data allows (sortable, default order…) | the component config / the real query |
| what CI runs | the actual CI definition (don't assume the provider) |
A premise that comes from memory or from earlier work, not from the ticket or the code, counts as assumed. The grilling starts from the assumed ones.
B · Alignment — grill almost always
Suggest a grilling to fix scope, needs and the decision tree, for anything but trivial-mechanical work. Infer + confirm in one line (like Step 0), then invoke the core skills — not the user-only wrappers:
- Does this work touch the domain? — i.e. does it introduce or redefine a business noun
(order, customer, invoice, subscription…)? → confirm ("This touches the domain, I'll grill
with domain modeling to sharpen the glossary, ok?"), then run
/grilling+/domain-modelingso the glossary in.context/glossary.mdgets fed in-flight. - Purely technical / mechanical (internal endpoint, cache, wiring, no new concept named)?
→ confirm, then run
/grillingalone (no docs).
Use the model-invocable cores (/grilling, /domain-modeling), not grill-me/grill-with-docs
— those are user-only entry points (disable-model-invocation) and are invisible to the router.
.context/glossary.md is kept alive only through this step — the alignment grilling is the
sole mechanism that maintains it. For risky decisions (state machines, data models), suggest a
throwaway scratchpad prototype first (/prototype, if installed). Grilling: confirm in one line → on your "yes", run.
Mark the hard decisions. When the grilling closes, flag the decisions that meet all three
criteria in domain-modeling's DECISIONS-FORMAT.md —
hard to reverse, surprising without context, the result of a real trade-off. Nothing is written
yet: they carry their reasoning into the blueprint and the tracker task, and /domain-modeling
(when running) records the durable ones as decision records. Settle any new seam under test
(see C) here too — it is a design decision, not a blueprint detail.
C · Blueprint — the single human approval gate
Produce the plan via plan mode (BLUEPRINT.md): context, decisions (hard ones
flagged, with their reasoning), numbered steps, file table, seams under test, compatibility,
verification. Declare the impacts here (yes/no each) so the later checkpoints and skills are
predictable: visual, data, security, API contract, observability. Each yes among the
last three means its skill (security-hardening, api-design, observability) runs before
the blueprint is final — its decisions go into Decisions and its Verification checklist into
the hardening's Standards input. If signals warrant (many slices, dependency ordering), suggest
/to-tickets for vertical tracer-bullet slices. This is the only mandatory human
approval; D–E then run autonomously except for the Checkpoints below.
Approving the blueprint is the durable authorization for the whole task: writing tests and
code, RED→GREEN without pausing, atomic commits, push, and opening the PR with /create-pr.
Don't ask again for any of these — only a Checkpoint stops the flow. This overrides any
"show me / wait for" RED rule in a repo's local agent instructions and the confirmation steps
of /tdd's planning section.
Seams under test are the public interfaces through which each behavior will be observed — an endpoint, a use case, a rendered page. Prefer existing seams and the highest level that reaches the behavior. The ideal number of new seams is zero: inventing one here means the design was not closed in B — go back rather than patch it into the plan.
D · Registration — after approval only
- Read the registration convention: the repo's
.context/work-registration.mdif it has one (tracker, list/labels, task prefix, branch naming); otherwise the issue tracker indocs/agents/issue-tracker.md(GitHub by default — run/setuponce per repo if it isn't configured). Never invent a list, prefix or naming scheme — ask once if neither exists. - Adopt, don't duplicate: if the request already points to a task, use it; otherwise create one. Its description carries the reasoning of the hard decisions from B.
- Create the branch by hand, before any commit, following that convention. Commits must never land on the main branch.
- Keep the blueprint in the scratchpad, linked from the tracker task — never scattered
.mdin the repo tree.
E · Implementation loop
- Build = run the branch's execution core (
branches/<branch>.md). For feature/bugfix this is the TDD loop, RED-first — non-skippable, not "build then test". Every test goes through a seam named in the blueprint; behavior that reaches none is not a license to test internals → Checkpoint 3. Print the RED summary (tests, failure reason) and continue to GREEN in the same turn — the RED gate enforces order, not approval. Hardening — two axes in parallel + mechanical. Freeze the diff (
git diff <base>...HEAD) and launch two fresh subagents in parallel (general-purpose, never a fork), each prompt starting with REVIEWER.md pasted in, then its own input and a capped report (~400 words):- Standards — input: the diff + the repo's
.context/+ SMELL-BASELINE.md pasted into the prompt, not linked (a smell named without its definition finds different things on each run). Real tests through the named seams? Value objects over primitives? Ports/adapters respected? Defensive smells? Documented repo conventions outrank the heuristic smells. - Spec — input: the diff + the approved blueprint + the tracker task. Does the diff implement what was actually asked for? Missing requirements, scope creep, or requirements implemented wrong.
Report the results under
## Standardsand## Specwithout re-ranking across axes — kept apart, a clean Standards pass can't hide a Spec failure (clean code that builds the wrong thing still fails).- Mechanical — run scripts/guard-bar.sh
<base>: it lists added suppressions (@ts-ignore,eslint-disable,biome-ignore, coverage ignores), skipped or focused tests, loose assertions, stubs, deleted tests/assertions and quality-bar changes in config. Classify every hit: unjustified → fix; justified → keep and say why in the closing. Tightening the bar is silent; loosening it is loud. Add any repo-specific cheap checks (e.g. raw literals in tests) per conventions.
Fix what review finds before the gate.
- Standards — input: the diff + the repo's
- Verification gate — discover the repo's CI commands (package.json / CI /
.context), don't hardcode. Run in order, stop at first failure. Ask once if undiscoverable. Preflight (only on a fresh worktree or after switching branch): rebuild the workspace's internal dependencies (stale builds from another branch fail the gate falsely), check the container runtime when the gate needs it, and warn if free disk is low. A preflight failure is reported as environment, not as a failure of the change. - Deliver with
/create-prwithout asking — the blueprint authorized it (the branch already exists): short PR (what/why + tracker link), full detail in the task. Closing — report by exception. The approved blueprint is already shared context: don't repeat it. Print only:
- PR: the URL, on one line.
- Deviations: what changed with respect to the blueprint — unplanned work that got in, decisions taken along the way and why.
- Risks and findings discovered during implementation (including the out-of-scope work noted at Checkpoint 2, which did not make it into the PR).
- Pending: what was left out and why (including a data notice parked at Checkpoint 4 and the out-of-scope notes from Checkpoint 2). Offer to create them as tracker tasks in one line; create them only on your yes.
If there is none of that, the closing is a single line with the URL plus "no deviations from the blueprint". Don't print: a ticket/branch/PR table, a list of changed files, or a verification checklist — the gate already ran, and its detail is mentioned only if it failed or something was skipped (that one is mandatory to report).
Checkpoints (hard stops, by trigger — not by phase)
D–E run autonomously except when a trigger fires:
- Visual impact declared → confirm in the browser before
/create-pr(green typecheck/lint ≠ correct render). - Out-of-scope work appears → stop & ask if it blocks the main work; otherwise note it and continue, report at the end (never fold it into this PR).
- Genuine design gap → stop & ask. This includes behavior that reaches no seam named in the blueprint: a missing seam is a design finding, not permission to test internals.
- Data impact — the diff changes the shape of persisted data (which paths count — schemas,
models, migrations — is the repo's
.context/call; decide from the diff paths, not from memory) → draft a notice for the downstream data consumers the repo documents: collections or tables and fields as they appear in storage, what is added / renamed / retyped / deleted, and whether existing records are backfilled or left as-is. You approve the draft before it goes out. If the repo names no consumers or channel, ask once; if there is nowhere to send it yet, park it and list it under Pending in the closing. - RED for the wrong reason (compile/import error, passes on first run) that you can't fix in the test itself → stop & ask.
- Gate fails and the fix is outside the blueprint's scope → stop & ask.
Nothing else stops the flow: printing the RED, committing, pushing and opening the PR are not checkpoints.
Delegation
Two kinds. Cores (grilling, domain-modeling) are model-invocable — the router confirms
in one line, then invokes them directly (they are not the user-only grill-me/grill-with-docs
wrappers). Entry-points (the rest) are direct user skills: the router suggests them; on
your explicit "yes" it runs the full skill (never a diluted inline version, never silently).
| Skill | Phase | Default |
grilling (core) | B | almost always — the alignment interview |
domain-modeling (core) | B | added to grilling when work touches the domain (introduces/redefines a business noun) |
prototype | B | suggested for risky decisions (state machines, data models) |
to-tickets | C | by signals (size, slices, deps) |
tdd | E (feature/bugfix) | non-skippable |
diagnose | E (bugfix) | always for bugs |
deprecation | E (deprecation) | always for the deprecation branch |
security-hardening | B–C | when the blueprint declares security impact |
api-design | B–C | when the blueprint declares API contract impact |
observability | B–C | when the blueprint declares observability impact |
create-pr | E (delivery) | always (non-analysis) |
When NOT to use
- Trivial edits (a typo, a one-line config change) — just do them.
- Pure questions about the code — answer them; use the
analysisbranch only when a verified report is the deliverable. - Inside a subagent — the router runs in the main conversation, where the human gate lives.
Common Rationalizations
| Rationalization | Reality |
| "The blueprint already covers this, I'll skip the checkpoint" | Checkpoints fire on triggers the blueprint could not foresee; the blueprint authorizes the plan, not surprises. |
| "It's small, no need to align" | Small tasks with an unstated assumption produce the biggest rewrites. Infer + confirm takes one line. |
| "I'll write the code and then the test" | Plan approval does not exempt TDD. RED first, always. |
| "Let me ask again before pushing" | The approved blueprint authorized commits, push and PR. Re-asking is noise; only a Checkpoint stops the flow. |
| "Hardening can be a fork, it's faster" | A fork inherits the author's context and reviews with the author's blind spots. Fresh general-purpose subagents only. |
Red Flags
- A commit exists before the blueprint was approved, or on the main branch.
- A test reaches no seam named in the blueprint.
- The hardening ran on a moving diff (code changed while reviewers were reading).
- The closing repeats the blueprint, lists files, or hides a skipped/failed gate.
- Out-of-scope changes folded into the PR instead of noted.
Verification
- Blueprint approved, branch created by hand, no commits on main
- Ticket premises listed and marked verified/assumed before the grilling
- RED observed for each behavior before its GREEN
- Both hardening axes (+ mechanical) reported; findings fixed or justified
- Gate commands discovered and run; output green (or failure reported)
- Every checkpoint that fired was resolved; parked items listed under Pending
Where things live (two homes)
- Process → this skills framework. One source of truth for how we work.
- Conventions →
<repo>/.context/(per repo). What's specific to each repo. - Ephemeral (blueprint, analysis report) → scratchpad, linked from the tracker. Never
scattered
.mdin the repo tree.
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.

