cook
Skill19 starsChanged 28 days agoMITView on GitHub
Implement an approved spec or focused task through stale-safe source edits. Use this skill when the user says "implement this", "cook this spec", or "fix this bug". Use it for `/cook .cheese/specs/<slug>.md`. Also use it when the user says "go" with clear acceptance criteria. Run it alone for an unambiguous task. Use `--prototype` when the user says "prototype this", "go prototype it", or "spike this out" and wants to refine the result round by round. A spec helps but is not required. Do not use it for fuzzy planning (`/mold`). Do not use it for no-write discussion (`/culture`) or review-only work (`/age`).
14 other projects use a version of this.
Adopted by
Most recently taken up by
- Lu1sDV/skillsmdtheir own version, first seen Nov 4, 2026
- Leonxlnx/cooktheir own version, first seen Nov 1, 2026
- ndisisnd/cooktheir own version, first seen Oct 23, 2026
- nguyenquocan0101/skillstheir own version, first seen Oct 13, 2026
- pass-with-high-score/ANekotheir own version, first seen Oct 8, 2026
- typv/nest-turbo-startertheir own version, first seen Oct 8, 2026
Used with
Projects with it also use csv-translator, upgrade-app and 3 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.
pass-with-high-scoreSkillcsv-translator
Specialized skill for translating large CSV files. It follows a multi-step process of planning, counting lines, splitting large files into manageable chunks, translating chunks, merging, and finally importing translations into Android resource files. Use when the user needs to translate a CSV file, especially large ones.
Also in 3 projects that use this
pass-with-high-scoreSkillupgrade-app
Automates the process of upgrading the app version. Bumps versionCode and versionName in build.gradle.kts, updates the changelog, verifies the build, commits, pushes, and creates a GitHub release. Use when the user says "upgrade app", "release new version", or "bump version".
Also in 3 projects that use this
apetrovSkillgithub-issue-manager
Manage GitHub issues in the current repo via gh CLI. Use when asked to look up, inspect, design/plan, create, or implement a specific GitHub issue; or to update issue title/body/labels/state with explicit confirmation.
Also in 3 projects that use this
Google CloudSkillfix
Plan a remediation strategy after a test failure.
Also in 3 projects that use this
SentrySkillskill-creator
Create new agent skills following the Agent Skills specification. Use when asked to "create a skill", "add a new skill", "write a skill", "make a skill", "build a skill", or scaffold a new skill with SKILL.md. Guides through requirements, writing, registration, and verification.
Also in 3 projects that use this
Other versions14 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 14
- YunYouJun/cook★ 6.5ksame name
- pass-with-high-score/blockads-android★ 2.7ksame name
- pass-with-high-score/universal-installer★ 1.7ksame name
- pass-with-high-score/ANeko★ 583same name
- rjcorwin/cook★ 370same name
- typv/nest-turbo-starter★ 224same name
- avibebuilder/claude-prime★ 119same name
- DITlieD/ELAI-archive★ 24same name
- PJuniszewski/cook★ 13same name
- Leonxlnx/cook★ 6same name
4 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.
- AGENTS.mdAGENTS.md
- .github/copilot-instructions.mdCopilot instructions
- python-authoringSkill
- skill-authoringSkill
- affinageSkill
- ageSkill
- briesearchSkill
- cheeseSkill
- cultureSkill
- cureSkill
- easy-cheese-setupSkill
- hard-cheeseSkill
- meltSkill
- moldSkill
- pasteurizeSkill
- plateSkill
- pressSkill
- ultracookSkill
- wheypointSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
54 rules. 0 are common, 19 are distinctive, and 35 are very specific to this project.
0
Common
Most of the 12 edited versions we read keep these.
19
Distinctive
This author's own choices. Worth a look.
35
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 30
Use correction = true only for an active Press finding or coverage_gap.
- Distinctive: line 31
Do not weaken an existing test.
- Very specific: line 40
Keep its record.revision_id as <base> (§ Base revision).
- Very specific: line 45
Read explicit spec paths verbatim.
- Very specific: line 66
Read references/auto-mode.md, references/fan-pathway.md, and ../cheese/references/formatting.md for these policies.
- Very specific: line 72
No leverage trigger may fire.
- Very specific: line 80
If .cheese/glossary/<slug>.md exists, use its canonical terms.
- Distinctive: line 84
Read the complete gate output.
- Very specific: line 87
Read references/tdd-loop.md for details.
- Very specific: line 96
Read references/fan-pathway.md for topology and lifecycle.
- Distinctive: line 98
Fast path: Use the single-coder path for one low- or medium-blast-radius curd.
- Very specific: line 101
Run cook(CurdPlan) → reviewer(age) with confirmed diagnosis and CureDiagnosisBinding through the progress-aware fan state machine until …
- Very specific: line 104
No global post-merge Press runs.
- Very specific: line 107
Un-curded: Keep small work in the single-coder path.
- Distinctive: line 109
Keep waves at a maximum of four.
- Very specific: line 111
Use python3 skills/cook/scripts/cook.pyz worktree teardown for cleanup.
- Distinctive: line 124
Run only existing project commands.
- Distinctive: line 125
Run the most relevant tests for the changed area.
- Distinctive: line 127
Do not remove, skip, or weaken unrelated tests to make the change pass.
- Very specific: line 129
Use the baseline for gate failures.
- Very specific: line 137
Use the house style in ../cheese/references/formatting.md.
- Very specific: line 138
Use references/package-report.md to report files, reasons, checks, risks, and the next skill.
- Very specific: line 142
Write a minimum-shape handoff slug at the top of .cheese/cook/<slug>.md.
- Distinctive: line 143
Use the same file for the report.
- Very specific: line 157
Only next: and the additional keyed lines are specific to a phase.
- Very specific: line 161
Leave artifact: empty when this run consumed no upstream artifact.
- Very specific: line 162
Do not point artifact: at this Cook report.
- Distinctive: line 164
Use the canonical boundary writer when you emit this handoff for the typed fan result.
- Distinctive: line 186
Do not infer the handoff from stdout.
- Very specific: line 189
Use age after the Press loop returns green, and after non-behavior work.
- Very specific: line 190
Never publish next: press or next: cook.
- Very specific: line 191
Use mold after a spec failure.
- Very specific: line 192
Use done only at true completion.
- Very specific: line 200
Use the shape in references/quality-gates.md.
- Very specific: line 207
After you write the report and slug, use the shared handoff gate.
- Very specific: line 208
Read its Standard forward-step menu in ../cheese/references/handoff-gate.md.
- Distinctive: line 211
Start each option with the verb.
- Distinctive: line 212
Use these options for behavior and non-behavior work:
- Very specific: line 219
Do not dispatch before selection.
- Very specific: line 220
Run the selected command immediately.
- Very specific: line 221
When the user invokes --auto, skip this gate.
- Very specific: line 226
Read references/auto-mode.md before auto mode.
- Distinctive: line 242
Keep changes scoped to the accepted contract.
- Distinctive: line 243
Prefer existing dependencies and patterns.
- Very specific: line 245
Keep import direction and crust integrity per ../cheese/references/sliced-bread.md.
- Distinctive: line 246
Stop before a new crust export, a cross-slice import of an internal, or a schema or contract change the spec does not name.
- Distinctive: line 247
Do not invent architecture that the spec already rejected.
- Distinctive: line 248
Stop and ask the user when implementation reveals a design decision that the spec does not answer.
- Distinctive: line 249
Stop and show the false premise before you write code if the spec or fast-path request uses one.
- Distinctive: line 250
Do not use an incorrect approach to satisfy the request literally.
- Very specific: line 254
Do not use should, probably, or I think.
- Very specific: line 271
Stop when it contains next: cure or does not contain next.
- Very specific: line 281
Follow references/fan-pathway.md § Direct Mold-to-Cook ingress.
- Very specific: line 282
Run the fresh-agent regression scenarios in references/evals.md when this boundary changes.
“Common” is measured: kept by at least 6 in 10 of the 12 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
/cook
Contract
cook(spec_ref, correction = false) -> handoff(next = age | mold | done).
Cook returns next: mold for a specification failure.
A fan run also returns next: mold for a stalled remediation scope, a curd that does not pass, or partial coverage.
Cook does not require a failing test first and does not load a gate receipt.
For behavior work, Cook owns first acceptance coverage before Press; see references/tdd-loop.md § Inner TDD.
This is a reported obligation, not a gate.
For documentation, refactor, test, or appearance work, change that surface and verify it directly.
Use correction = true only for an active Press finding or coverage_gap; see references/press-loop.md.
Do not weaken an existing test.
Phase entry
Run python3 skills/cook/scripts/cook.pyz wheypoint-resolve --ref <slug>.
authoritative uses the record; its working_context is the first batched tilth_read.
not-found proceeds cold; legacy shows its source and slug, then proceeds.
gated, ambiguous, and error stop and show the payload.
Show advisory stale-commit and grounded-path-missing findings.
Keep its record.revision_id as <base> (§ Base revision).
Inputs
Accept a pasted spec or issue, focused acceptance criteria, or an unambiguous task.
Read explicit spec paths verbatim.
Resolve a bare slug to path from python3 skills/cook/scripts/cook.pyz artifact-path specs <slug>.
A Mold spec path or finalized direct inputs enter through § Mold-to-Cook ingress.
Flags:
--autochains/age → /cureafter the in-Cook Press loop.--prototyperuns a plan → spike → check loop, then stabilizes; readreferences/prototype-mode.md.--hardpropagates through/plate.--open-prlets terminal/platepublish. Auto mode never adds this flag.--resume <slug>resumes a typed fan handoff and its referenced artifacts.--result <path>runs a ready Mold result.--spec <spec-path>names the selected Mold spec. A plan whosedependenciescrosslanding.layersis refused before coder dispatch.
Optional context payload:
handoff_context.wiki_hitscarries{page, line, why}entries from the repository wiki corpus. The key is optional, and its default is absent. Reject an entry that omitspage,line, orwhy. Show every accepted hit in the Contract step so the user can challenge a stale decision; prefer these decisions over an invented approach.../cheese/references/handoff-gate.mddefines the payload.
Read references/auto-mode.md, references/fan-pathway.md, and ../cheese/references/formatting.md for these policies.
Standalone fast-path
/cook bypasses /mold only when the inputs, outputs, scope, and verification are clear.
The task must name a bug or call site in one or two files and have a failing test or an expected-output check.
No leverage trigger may fire; see ../cheese/references/routing-policy.md § Leverage triggers.
Derive a slug, then restate the Contract.
Route the task to /mold if an ambiguity check fails.
Flow
- Contract — Confirm behavior, non-goals, scope, and gates.
Print the shape-check block from
../mold/references/shape-check.mdinside the Contract, or the lineshape check skipped: single-module changepershape-check.md§ When to skip. No block, no code. If.cheese/glossary/<slug>.mdexists, use its canonical terms. - Implement — Write the test first where it fits; no gate requires it. For non-behavior work, change only the applicable surface.
- Validate — Run the relevant quality gates again. Read the complete gate output; for non-behavior work, verify the requested path.
- Taste-test — Use a fresh-context review for multi-file or public-surface diffs.
Otherwise use an inline review, limited to two rounds.
Read
references/tdd-loop.mdfor details. - Press loop — For behavior work, Cook dispatches a fresh-context Press agent; no menu.
Read
references/press-loop.md. Non-behavior work skips this step. - Hand off — Write the package report and slug, then route to
/age → /cure.
Fan pathway
/cook selects one of three shapes from the typed planner result.
Read references/fan-pathway.md for topology and lifecycle.
Fast path. Use the single-coder path for one low- or medium-blast-radius curd.
Curded. Require a bound spec_ref, planner_result_ref, plan_ref, and exact MoldCookCoverage from a ready Mold finalization. The host validates them before execute_bound_plan dispatches any writer.
Run cook(CurdPlan) → reviewer(age) with confirmed diagnosis and CureDiagnosisBinding through the progress-aware fan state machine until clean, stalled, or blocked.
Each curd's Cook loop runs its own Press loop.
The barrier runs Cook's integrated acceptance check on the merged tip.
No global post-merge Press runs.
Incomplete fan work never emits next: press; stalls route to Mold remediation planning.
Un-curded. Keep small work in the single-coder path.
For big work, ask "12 ACs -> 5 curds, 2 waves, up to 25 agent dispatches. Go?" unless --auto.
Keep waves at a maximum of four.
Use python3 skills/cook/scripts/cook.pyz worktree teardown for cleanup.
Propagate --auto through dispatched phases.
Baseline capture
Fan mode records its quality-debt comparison before any curd cooks; bare mode records it on the pre-change tree.
references/quality-gates.md defines exact capture, classification, intentional-RED exclusion, and baseline-artifact rules.
For source changes, follow code-intelligence-routing.md and harness-portability.md.
slash commands are host renderings, not the control model; invoke the equivalent installed capability.
Quality gates
Run only existing project commands. Run the most relevant tests for the changed area. Also run lint, type, and build commands when the project defines them. Do not remove, skip, or weaken unrelated tests to make the change pass.
Use the baseline for gate failures.
references/quality-gates.md defines the policy, the classification terms, and the baseline artifact.
references/writer-views.md generates schemas for writer-view payloads inline.
The normalize and validate CLIs apply these schemas before agent-authored JSON reaches host-owned identifiers.
Output
Use the house style in ../cheese/references/formatting.md.
Use references/package-report.md to report files, reasons, checks, risks, and the next skill.
Handoff slug
Write a minimum-shape handoff slug at the top of .cheese/cook/<slug>.md.
Use the same file for the report; do not create a second file.
Use this schema:
status: <canonical status field>
next: mold | age | done
artifact: <path to the upstream artifact this run consumed, or empty>
taste_test: inline-pass | dispatched-pass | revised | deferred-to-orchestrator
durable_flags: none | <one line per flag: what durable knowledge changed -> target wiki page>
baseline: none | <path to the baseline artifact — shape in references/quality-gates.md § Baseline block shape>
<one-line orientation: what cook changed>The handback contract defines the canonical status: grammar, including ok and halt.
Only next: and the additional keyed lines are specific to a phase.
artifact: names the upstream artifact that this run consumed.
For a Mold route, use the approved spec path.
Leave artifact: empty when this run consumed no upstream artifact.
Do not point artifact: at this Cook report.
Use the canonical boundary writer when you emit this handoff for the typed fan result. Carry the result schema explicitly:
python3 skills/cook/scripts/cook.pyz write-handoff-artifact \
--slug <slug> --status <status> --phase cook --next age [--base <base>] \
--artifact <artifact-path> --orientation "<one-line orientation>" \
--payload-schema https://schemas.easy-cheese.dev/curd-result \
--grounded <path[#start-end]> \
--body-file <path to the package report body>The writer replaces the target file.
Pass --body-file to keep the package report in the same file.
Without that flag, the writer emits the preamble alone and removes the report.
For a replan or a specification failure, use --next mold with the https://schemas.easy-cheese.dev/planner-request payload.
references/fan-pathway.md defines the request kind for each failure class.
These phase and next values route only the legacy handoff file.
The validated CurdPlan and normalized CurdResult remain the live fan state.
In a fan run, read each phase's handoff slug file from disk. Do not infer the handoff from stdout.
Set next: to the next runnable phase.
Use age after the Press loop returns green, and after non-behavior work.
Never publish next: press or next: cook; needs-context is a parent-owned same-phase retry.
Use mold after a spec failure.
Use done only at true completion.
Omit taste_test: when its cost gate does not apply.
Set durable_flags: to none by default.
Record only durable changes to architecture, protocols, conventions, or rationale.
Record the target wiki page for each change.
Set baseline: to the path of Cook's optional comparison artifact.
That artifact holds baseline-identical debt and new or changed failures from the current broad gates.
Use the shape in references/quality-gates.md.
The preamble accepts one physical line for each key, so never inline the mapping.
Handoff
Pipeline: culture → mold → cook (⇄ press) → age → cure → plate
After you write the report and slug, use the shared handoff gate.
Read its Standard forward-step menu in ../cheese/references/handoff-gate.md.
The menu never offers Press.
Behavior work reaches it only after the Press loop returns green.
Start each option with the verb.
Use these options for behavior and non-behavior work:
- Review the change (recommended) —
/age <slug>. - Plate it —
/age <slug> --auto --open-pr: run the remaining review chain, then/plateresolves topology and publishes. - Checkpoint & stop —
/wheypoint. - Stop — dispatch none.
Do not dispatch before selection.
Run the selected command immediately.
When the user invokes --auto, skip this gate.
Take the route to /age directly.
Auto mode
Read references/auto-mode.md before auto mode.
It defines validation, phase chains, early stops, Cure limits, publication ownership, fan isolation, and failure handling.
Show each stopping report and reason; never downgrade the result.
In the linear chain, Cook does not invoke /plate.
In the fan pathway, the Cook orchestrator owns its own terminal /plate dispatch.
Fan progress state, not the legacy phase tables, decides each next action.
No-chain isolation directive
A spawned phase agent does not chain forward by itself; the orchestrator controls the chain.
A terminal Age is publishable only with next: done.
next: cure or a missing next halts the chain.
Rules
- Keep changes scoped to the accepted contract.
- Prefer existing dependencies and patterns.
- Build for the reviewer on the first pass:
references/tdd-loop.md§ Reviewable by construction. - Keep import direction and crust integrity per
../cheese/references/sliced-bread.md. - Stop before a new crust export, a cross-slice import of an internal, or a schema or contract change the spec does not name. Ask the user.
- Do not invent architecture that the spec already rejected.
- Stop and ask the user when implementation reveals a design decision that the spec does not answer.
- Stop and show the false premise before you write code if the spec or fast-path request uses one.
- Do not use an incorrect approach to satisfy the request literally.
- Apply the shared voice kernel in
../age/references/voice.md; start the report with the answer and name loaded assumptions in the contract. - Mark residual risk as
certain | speculating | don't know. - Verification before
status: ok: Identify the gate command, run it during the current turn, and read the complete output before you make the claim. - Do not use
should,probably, orI think. - State what the gate output shows.
Agent resolution
Resolve through agent-resolution.md.
Implementation uses a coder.
Taste-test uses a reviewer.
Harvest and plate stay parent-owned.
| Work | Preferred types | Permissions/isolation | Minimum power | Effort | Fallback |
| Decompose the spec | planner, general | write (manifest only), fresh-context | powerful | high | compatible planner, then general |
| Press loop | coder | write (tests only), fresh-context preferred | default | medium | general, then inline in the Cook session (degraded: true) |
The handoff carries the agent_resolution block.
Publish a terminal Age only when it contains next: done.
Stop when it contains next: cure or does not contain next.
Generated bundle command inventory: references/commands.md.
Mold-to-Cook ingress
A saved Mold spec is not execution authority. Start Cook only when the user requests the selected scope and route.
A standalone task, including --spec alone, may skip finalization.
Spec-hold refusal: refuse a --spec run whose frontmatter has execution_holds or a do-not-implement or do-not-proceed request_directive.
Refuse a non-ready --result file; a ready one passes cook.pyz validate-result before execute_bound_plan.
Follow references/fan-pathway.md § Direct Mold-to-Cook ingress.
Run the fresh-agent regression scenarios in references/evals.md when this boundary changes.
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.

