work
Skill1 starsChanged 3 months agoMITView on GitHub
Start a piece of work using the spec → generate → review → iterate framework. Forces you to define the spec before invoking any generation, predicts failure modes upfront, and sets up the review checklist for /safe-commit at the end.
42 other projects use a version of this.
Adopted by
Most recently taken up by
- Firzus/agent-skillstheir own version, first seen Nov 8, 2026
- isanchez-aguilar/relayrace-aitheir own version, first seen Nov 8, 2026
- Mharbulous/probanda-devtheir own version, first seen Nov 8, 2026
- Jasenpan1987/multi-codetheir own version, first seen Nov 8, 2026
- withpiper/pipekittheir own version, first seen Nov 8, 2026
- cekrauseee/harnesstheir own version, first seen Nov 1, 2026
Used with
Projects with it also use authoring, done 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.
automagik-devSkillauthoring
Write or revise a Genie skill so it survives the shipped contract — frontmatter, house size, starter card, and runtime-neutral voice.
Also in 3 projects that use this
robzolkosSkilldone
Reset the working directory for the next task by ensuring no uncommitted changes exist, then switching to the main branch and pulling latest.
Also in 3 projects that use this
Google CloudSkillfix
Plan a remediation strategy after a test failure.
Also in 4 projects that use this
AlexPEClubSkillrefine
Always use when the user wants to discuss an exsiting feature or specification. Open an existing feature spec to improve, extend, or fundamentally challenge it. Pass the feature ID as argument (e.g. /refine PROJ-2).
Also in 3 projects that use this
MicrosoftSkillmerge
Merge changes from the topic branch to the merge base branch. Use when the user wants to merge their session's work back to the base branch.
Also in 3 projects that use this
Microsoft AzureSkilltest
Also in 6 projects that use this
Other versions42 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 42
- cwinvestments/memstack★ 425same name
- automagik-dev/genie★ 351same name
- namastexlabs/automagik-genie★ 351same name
- ohad6k/emulo★ 292same name
- first-fluke/fullstack-starter★ 226same name
- OutThisLife/brooklyn-skills★ 207same name
- guardana/guardana★ 203same name
- Towow-ai/Flowness★ 107same name
- assaio/assaio★ 63same name
- HubSpot/agent-cli-skills★ 28same name
32 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 repository17 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- architectureSkill
- code-reviewSkill
- commandsSkill
- conventionsSkill
- debugSkill
- decisionSkill
- explainSkill
- isolateSkill
- issueSkill
- journeysSkill
- onboardSkill
- quick-workSkill
- safe-commitSkill
- safe-pushSkill
- scaffoldSkill
- todoSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
22 rules. 0 are common, 18 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 37 edited versions we read keep these.
18
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
Ask, one at a time, waiting for the user's answer before moving on.
- Very specific: line 38
Write .claude/specs/<kebab-slug-of-task>.md with this structure:
- Distinctive: line 55
Before moving to Phase 2, state your confidence from 0.0 to 1.0 that you understand what to build and why — and show the number to the user:
- Very specific: line 67
Before asking the user anything, check whether /conventions was already run in this project.
- Distinctive: line 75
If one is found:
- Distinctive: line 76
Read it in full.
- Distinctive: line 78
Use those conventions when generating code in Phase 4.
- Distinctive: line 80
If none is found and this looks like an unfamiliar codebase (large existing repo, user mentions they didn't write all of it, or has 50+ …
- Distinctive: line 82
Wait for user's call. Don't force.
- Distinctive: line 84
If it's a fresh / small project where the user is setting conventions on the fly: skip the suggestion, conventions will come from Phase 1 …
- Distinctive: line 94
If a conventions file was auto-loaded in Step 2.0, these constraints often complement (not replace) what's already documented there.
- Distinctive: line 98
Before generating code, output a 3-7 line plan in plain language.
- Distinctive: line 123
Wait for the user to approve the plan: If they revise, update and re-confirm.
- Distinctive: line 131
If you hit something the spec didn't cover, stop and ask — don't make decisions outside the spec on your own.
- Very specific: line 135
After implementation, BEFORE the user invokes /safe-commit, walk through these out loud:
- Distinctive: line 138
Did I respect the negative scope?: No drift into "while I'm here, let me also..."
- Distinctive: line 139
Are the failure modes from Phase 1, Q5 actually handled?: If not, explicitly call them out.
- Distinctive: line 151
Don't skip Phase 1 even if the user is impatient.
- Distinctive: line 152
Don't invent context. If you need to read a file, say so and read it.
- Distinctive: line 153
Don't generate code in Phase 1 or 2.
- Distinctive: line 154
Don't conflate "the user accepted my plan" with "the user has reviewed my code." Plan acceptance ≠ code acceptance.
- Very specific: line 155
Don't include Co-Authored-By: Claude in any artifact unless the user explicitly opts in for that repo.
“Common” is measured: kept by at least 6 in 10 of the 37 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
/work — Framework-guided task
You are Claude. The user just invoked /work to start a new piece of work. Your job is to prevent them from jumping straight to code generation. They follow this framework deliberately. Walk them through it.
Arguments (optional): $ARGUMENTS may contain a brief description of the task. If empty, ask for it.
Phase 1 — Spec (must complete before any code)
Ask, one at a time, waiting for the user's answer before moving on. Don't accept hand-wavy answers; push back kindly until each is concrete.
- What are you building, in one sentence? Reject vague answers. "A login form" is OK. "Better auth" is not — push back: "Better how? Faster, more secure, easier to maintain?"
- Why now? What triggered this work? Is it a bug, a feature request, a refactor target, a vulnerability? The "why" determines scope. A "fix bug X" task should not become "refactor module Y".
- What changes, and what explicitly does NOT change? The negative scope is often the most important constraint. Make the user articulate it.
- Success criteria — how will you know it works? Tests passing? A specific user flow working? A metric moving? If they can't articulate this, the task isn't ready.
- Failure modes — what are the 2-3 most likely ways this could go wrong? This is the senior move that prevents most bugs. Push: "If this code runs at 3am with bad data, what happens? If the underlying service times out, what happens?"
Persist the spec (do not skip)
Save a structured summary of all 5 answers to a file — not to conversation memory, which dies with the session:
mkdir -p .claude/specsWrite .claude/specs/<kebab-slug-of-task>.md with this structure:
# Spec: <task in one sentence (Q1)>
Date: <today>
Status: in-progress
## Why now (Q2)
## Changes / does NOT change (Q3)
## Success criteria (Q4)
## Failure modes (Q5)/safe-commit reads this file in its Phase 4 to verify the commit delivers the spec. When the work is committed, update Status: to done. If the session dies mid-task, a fresh session can resume by reading the newest in-progress spec in .claude/specs/.
Confidence gate (go/no-go)
Before moving to Phase 2, state your confidence from 0.0 to 1.0 that you understand what to build and why — and show the number to the user:
"Confidence: 0.X — <one line on what's still fuzzy, if anything>"
If confidence is below 0.9, do not proceed: ask the specific questions that would raise it. A number forces honesty that "I think I got it" does not. If after two rounds of questions confidence still can't reach 0.9, say so explicitly and let the user decide whether to proceed anyway or reduce scope.
Phase 2 — Context
Once Phase 1 is complete:
Step 2.0 — Auto-load existing conventions (critical)
Before asking the user anything, check whether /conventions was already run in this project. Look for these files in order, use the first one that exists:
test -f .claude/conventions.local.md && echo "found: .claude/conventions.local.md"
test -f .claude/conventions.md && echo "found: .claude/conventions.md"
test -f CONVENTIONS.md && echo "found: CONVENTIONS.md"If one is found:
- Read it in full.
- Tell the user: "I found a conventions report at
<path>. I'll respect those patterns. If anything has changed, run/conventionsagain to refresh. Otherwise, continuing with the spec phase." - Use those conventions when generating code in Phase 4.
If none is found and this looks like an unfamiliar codebase (large existing repo, user mentions they didn't write all of it, or has 50+ source files):
- Suggest: "I don't see a conventions file. For a codebase this size, I recommend running
/conventionsfirst — 60 seconds invested saves 20 minutes of style-drift fixes later. Want to pause/workand run that first?" - Wait for user's call. Don't force.
If it's a fresh / small project where the user is setting conventions on the fly: skip the suggestion, conventions will come from Phase 1 answers and the explicit constraints the user articulates.
Step 2.1 — Ask the user
- What files do I need to read to do this work correctly? The user lists files. You confirm by reading them and asking 1-2 clarifying questions about their structure. If the user says "I don't know", scan the repo briefly and propose a list — but it's THEIR judgment that decides.
What constraints from the codebase or team conventions apply? Examples: "follow the pattern in reference module X", "no new dependencies", "must be backwards compatible", "match the existing test style".
If a conventions file was auto-loaded in Step 2.0, these constraints often complement (not replace) what's already documented there.
Phase 3 — Plan
Before generating code, output a 3-7 line plan in plain language. Format:
Plan:
1. <step>
2. <step>
3. <step>
Estimated change surface: <files X, Y, Z>
What I'm NOT touching: <files A, B, C>
FIRST FUNCTIONAL SLICE:
- What: <the smallest end-to-end user-visible increment>
- When: after step <N> above
- What it lets the user do: <concrete action they can perform>
- What it does NOT include yet: <the features still coming>The "First Functional Slice" is non-negotiable — even for internal work, even for refactors. The reasoning: shipping something visible fast forces you to prove the plumbing works before layering complexity. If the task is under time pressure (interview, demo, tight deadline), this slice must be shippable in 20% of the total available time. If you can't articulate a slice under that budget, the plan is too monolithic and needs decomposition.
Examples of what a "first functional slice" looks like:
- Building a checkout: the slice is a hardcoded "hello" that renders on the checkout route with the layout in place.
- Adding a new endpoint: the slice is a 200 OK response with mocked data at the correct URL shape.
- Migrating an ORM: the slice is one table read + one table write working with the new ORM, gated behind a flag.
- Fixing a bug: the slice is a failing test that reproduces the bug (before the fix), so the fix has a clear success signal.
Wait for the user to approve the plan. If they revise, update and re-confirm.
Phase 4 — Implementation
Now you can generate code, following the plan. After each substantial chunk:
- State what you did in 1 sentence.
- Point out any place where you made a judgment call the user might want to revisit.
- If you hit something the spec didn't cover, stop and ask — don't make decisions outside the spec on your own.
Phase 5 — Self-review
After implementation, BEFORE the user invokes /safe-commit, walk through these out loud:
- Did I solve the actual problem from Phase 1? Re-read the spec file from
.claude/specs/; verify the diff matches. - Did I respect the negative scope? No drift into "while I'm here, let me also..."
- Are the failure modes from Phase 1, Q5 actually handled? If not, explicitly call them out.
- Are there 1-2 obvious tests that would catch regressions? Suggest them; the user adds or skips.
Output: a short "ready for /safe-commit" message that summarizes:
- The original spec (Phase 1, Q1)
- The actual files changed
- Failure modes addressed
- Suggested test coverage
- Any open trade-offs the user should be aware of before committing
What NOT to do
- Don't skip Phase 1 even if the user is impatient. The spec is the value.
- Don't invent context. If you need to read a file, say so and read it.
- Don't generate code in Phase 1 or 2. Resist the temptation.
- Don't conflate "the user accepted my plan" with "the user has reviewed my code." Plan acceptance ≠ code acceptance.
- Don't include
Co-Authored-By: Claudein any artifact unless the user explicitly opts in for that repo.
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.

