Specification
Skill ID
paulnsorensen/easy-cheese/cook
Publisher
paulnsorensen
Repository
easy-cheese
Installs
0
Files
12
License
MIT
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

paulnsorensen/easy-cheese/cookInstalls these files
  • SKILL.md
  • phase-contract.yaml
  • references/auto-mode.md
  • references/commands.md
  • references/cook-discipline.md
  • references/evals.md
  • references/fan-pathway.md
  • references/package-report.md
  • references/quality-gates.md
  • references/tdd-loop.md
  • references/writer-views.md
  • scripts/cook.pyz

What this skill tells the agent

/cook

Contract

cook(spec_ref, correction = false) -> handoff(next = press | age | mold).

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.

A red-required gate disposition identifies behavior work. Run the inner RED → GREEN TDD loop against the approved spec before you change production code. A closed not-applicable disposition identifies non-behavior work. Use its implementation and verification path for the requested documentation, refactor, test, or appearance change. N/A does not remove requested work. Use correction = true only for the active Press correction loop. 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.

Inputs

Accept a pasted spec or issue, focused acceptance criteria, or an unambiguous task. Read explicit spec paths verbatim. Resolve a bare slug with SPEC=$(python3 skills/cook/scripts/cook.pyz artifact-path specs <slug>). A Mold handoff pointer, a spec path, and a slug enter through § Mold-to-Cook ingress and preparation. Flags:

  • --auto chains /press → /age → /cure.
  • --hard propagates through /plate.
  • --open-pr lets terminal /plate publish. Auto mode never adds this flag.
  • --resume <slug> resumes a typed fan handoff and its referenced artifacts.
  • --spec <spec-path> names the approved spec for a Mold pointer. A plan whose dependencies cross landing.layers is refused before any coder dispatch.

Optional context payload:

  • handoff_context.wiki_hits carries {page, line, why} entries from the repository wiki corpus. The key is optional, and its default is absent. Reject an entry that omits page, line, or why. 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.md` defines 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

  1. Contract — Confirm behavior, non-goals, scope, gates, and applicability. Print the shape-check block from ../mold/references/shape-check.md inside the Contract, or the line shape check skipped: single-module change per shape-check.md § When to skip. No block, no code. If .cheese/glossary/<slug>.md exists, use its canonical terms.
  2. Implement — Use inner RED → GREEN for behavior changes. Use the requested non-behavior path for closed N/A work; change only the applicable surface.
  3. Validate — Run the relevant quality gates again. Read the complete gate output; for closed N/A, verify the requested non-behavior path.
  4. 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.md for details.
  5. Hand off — Write the package report and slug. Route behavior work through /press → /age → /cure. A closed N/A change has no adversarial contract for Press. Route it directly through /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 ready Full MoldCookHandoff and validated CurdPlan. Run cook(CurdPlan) → reviewer(age) with confirmed diagnosis and CureDiagnosisBinding through the progress-aware fan state machine until clean, stalled, or blocked. Run one global /press → /age → /cure chain only after every curd passes. Incomplete fan work never emits next: press; stalls route to Mold remediation planning. Closed N/A bypasses Press.

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. Each downstream phase links to this reference instead of repeating it.

`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. This slug lets downstream phases resume or chain without rereading the full report. The fan pathway also uses it during wave orchestration. Use this schema:

status: <canonical status field>
next: mold | press | 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 specification pointer. Leave artifact: empty when this run consumed no upstream artifact. Do not point artifact: at this Cook report. /cheese forwards the same pointer to the next phase.

Use the canonical boundary writer when you emit this handoff for the typed fan result. Carry the result schema explicitly:

Use this skill in a project

Open any RiverX project, search the Skills panel for paulnsorensen/easy-cheese/cook, and install it in one click.

Use this skill