agentleFS
paulnsorensenpaulnsorensen/easy-cheese/skills/cheese/SKILL.md

cheese

Skill19 starsChanged 28 days agoMITView on GitHub

Route an idea, path, pull request, issue, failure, question, or bare `/cheese` to the correct workflow skill. Use this skill for `/cheese`, routing requests, help requests, or opening messages without a named workflow skill.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

32 rules. About 0 are common, 8 are distinctive, and 24 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈8

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 24

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If $ARGUMENTS is missing, ask one clarifying question through the host routing guide.

    line 34
  2. Very specific:

    Read the full user message, not just $ARGUMENTS: Treat all other user prose as a directive list.

    line 39
  3. Distinctive:

    Follow live directives instead of conflicting defaults or the handoff protocol.

    line 40
  4. Very specific:

    Clarity check (cook intents only): Run Cook's fast-path check for a cook intent.

    line 49
  5. Very specific:

    Use the probe shape in skills/mold/references/grounding.md.

    line 65
  6. Very specific:

    Add the best hits to handoff_context.wiki_hits as [{page, line, why}].

    line 66
  7. Very specific:

    When no wiki corpus exists, use references/optional-plugins.md.

    line 68
  8. Distinctive:

    Wait for the user's selection before dispatch.

    line 74
  9. Very specific:

    Use only the host's read, search, and dispatch capabilities.

    line 78
  10. Very specific:

    Prefer bundled or repository helpers.

    line 82
  11. Very specific:

    Do not use ${CLAUDE_SKILL_DIR} in invocation paths.

    line 83
  12. Very specific:

    Only a cook intent runs Cook's fast-path check and the three escalation tiers.

    line 92
  13. Distinctive:

    Every other intent bypasses this escalation.

    line 97
  14. Very specific:

    Before each mold dispatch, scan .cheese/.out-of-scope/*.md for a matching rejection record.

    line 102
  15. Very specific:

    Never suppress or re-propose a rejected direction silently.

    line 106
  16. Very specific:

    Use /cheese --continue <slug-or-note-path> to resume manually from a fresh context.

    line 111
  17. Very specific:

    Use it after conversation compaction, a stopped /cook fan pathway, or a manual resume request.

    line 112
  18. Very specific:

    Never select a note by modification time, session, or slug recency.

    line 116
  19. Very specific:

    Never commit or publish to Git to make a resume work.

    line 117
  20. Very specific:

    Read references/continue-resume.md before dispatch.

    line 119
  21. Very specific:

    Ask exactly one question through the host routing guide in references/handoff-gate.md.

    line 142
  22. Very specific:

    When the input is a path or a slug, call the selected source-code backend directly.

    line 152
  23. Very specific:

    If the router needs more probes, escalate to /culture or /briesearch in internal mode.

    line 163
  24. Distinctive:

    Always emit, in order:

    line 168
  25. Distinctive:

    Put these lines before the receipt.

    line 175
  26. Very specific:

    Never add --open-pr to a dispatch that the user did not authorize.

    line 196
  27. Distinctive:

    Default targets per intent:

    line 201
  28. Very specific:

    Use /mold first when scope is borderline.

    line 209
  29. Very specific:

    Use bare /affinage when the input names no pull request.

    line 217
  30. Distinctive:

    Run the captured dispatch packet immediately after a non-stop choice.

    line 226
  31. Distinctive:

    Never paraphrase or summarise downstream skill output — that is the downstream skill's job.

    line 230
  32. Very specific:

    Treat each recorded baseline: block as settled state.

    line 235

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

/cheese

Inputs

Accept anything the user supplies as $ARGUMENTS:

  • A natural-language feature description, idea, or question.
  • A spec path (.cheese/specs/<slug>.md) or pasted spec content.
  • A bug report, stack trace, failing test output, or reproduction steps.
  • A file path, glob, or directory.
  • A PR or issue reference (PR#142, #87, GitHub URL).
  • A research question about an external library, API, or pattern.
  • An empty or near-empty prompt — treat as "what's next?" and clarify.

Optional flags:

  • --safe — gate dispatch behind a confirmation prompt.
  • --open-pr — propagate through the implementation chain to /cure. /cure consumes this flag and sends the publication intent to terminal /plate. /plate accepts no --open-pr flag of its own. A new PR follows /plate's explicit choice and review shape policy.
  • --continue <slug-or-note-path> — resume an in-flight pipeline from a handoff slug or note.
  • --hard — propagate to /plate, which runs the final artifact-writing gate before /hard-cheese and publication.
  • --reground — use with --continue only. Adversarially re-check the handoff claims before phase dispatch.

If $ARGUMENTS is missing, ask one clarifying question through the host routing guide. Use references/handoff-gate.md.

Flow

  1. Read the full user message, not just $ARGUMENTS. Treat all other user prose as a directive list. Follow live directives instead of conflicting defaults or the handoff protocol. The handoff file restores state. The user's live message overrides it. Exception: a live directive never waives a resume integrity gate. Ambiguity, unresolved lineage, an integrity finding, and status: gated: still stop dispatch. A live directive answers only the informed trust gate for a clean legacy result. references/continue-resume.md owns these gates.
  2. Think first (silent). Model the problem internally per skills/culture/SKILL.md — restate the ask, list candidate targets, name the deciding signal. Output is the classification that drives step 2.
  3. Classify — match $ARGUMENTS against the intent shapes in references/classification.md. Pick the highest-confidence shape; below the threshold, route to clarify (handled by the tier-3 escalation in step 4).
  4. Clarity check (cook intents only). Run Cook's fast-path check for a cook intent. Dispatch a mold intent to /mold's user mode instead. Direct plate intents bypass this check.
  5. Escalate when needed. Tier 1 dispatches the chosen target. It uses /mold's agent mode when /cook --auto needs a specification. Tier 2 invokes /culture or /briesearch internally, then repeats the clarity check. Tier 3 blocks on a single targeted host-routed question. Classify the answer again. See ## Escalation.
  6. Ground the wiki when hallouminate is present and the route is escalated. Derive a query from the input. Skip this step on the fast path. A fast route grounds nothing and spends no probe. Make at most one grounding call against the wiki corpus. Resolve the corpus through the corpus listing tool first. Resolve both tool names through references/optional-plugins.md. That reference matches the capability, because each host prefixes the names differently. Use the probe shape in skills/mold/references/grounding.md. Add the best hits to handoff_context.wiki_hits as [{page, line, why}]. See references/handoff-gate.md section Context payloads. When no wiki corpus exists, use references/optional-plugins.md.
  7. Announce — print a short block (Intent / Reason / Target, plus wiki hits when present) per the format in ## Output. Cite the signal that drove the routing decision.
  8. Self-check — run the coherence questions in references/coherence-check.md. If any fails, downgrade to clarify (tier 3) or research.
  9. Dispatch. Without --safe, run the chosen skill and its context packet after the announcement. With --safe, issue a handoff gate from references/handoff-gate.md. Pre-select the recommended target, include an alternative, and put Stop last. Wait for the user's selection before dispatch.

/cheese is a router, not a worker. It never edits files, runs tests, or opens pull requests. Use only the host's read, search, and dispatch capabilities. Tier 1 can invoke /mold's agent mode, and that write stays inside /mold's scope.

See references/harness-portability.md for helper resolution, agent dispatch, GitHub operations, and handoff transitions. Prefer bundled or repository helpers. Do not use ${CLAUDE_SKILL_DIR} in invocation paths. The handoff blocks below are the portable contract; slash commands are host renderings, not the control model.

Intent shapes

The full classification table — including all intent shapes, signals, disambiguation rules, and edge cases — lives in references/classification.md.

Escalation

Only a cook intent runs Cook's fast-path check and the three escalation tiers. Dispatch a mold intent to /mold's user mode. --safe gates only the final dispatch. references/escalation.md owns the tier rules and the specification discovery check.

Every other intent bypasses this escalation. Its target skill owns its own escalation.

Rejected-directions check

Before each mold dispatch, scan .cheese/.out-of-scope/*.md for a matching rejection record. Compare the incoming request with the record's ## Direction line. On a match, surface the rejected direction and its rationale in one line. Then ask the user whether to proceed or take a different angle. Never suppress or re-propose a rejected direction silently. Skip this check silently when the directory is absent or the intent is not mold.

--continue

Use /cheese --continue <slug-or-note-path> to resume manually from a fresh context. Use it after conversation compaction, a stopped /cook fan pathway, or a manual resume request. Resolve the argument through /wheypoint resolve --ref <absolute-path | work-id | slug>. Dispatch only the validated authoritative current revision. The runtime provides the deterministic legacy-note fallback. Never select a note by modification time, session, or slug recency. Never commit or publish to Git to make a resume work. Ambiguity, unresolved lineage, integrity failures, and status: gated: stop automatic dispatch. Read references/continue-resume.md before dispatch. For a next: list, parse the required order: through the same reference.

--continue does not propagate --auto. Dispatch /<next> <slug> in its default interactive mode, even without --safe. The user can append --auto explicitly, as in /cheese --continue <slug> --auto. The durable pipeline is culture -> mold -> cook -> press -> age -> cure -> plate. An approved Mold handoff routes to /cook. It routes to /cook --auto only when the user makes auto explicit. A Full or planned handoff reruns /mold finalize first. It carries its durable specification pointer in the typed spec_ref field. Continuation forwards spec_ref unchanged. It also forwards artifact: unchanged, which always names the prior consumed report. Continuation preserves the validated optional mode: value. It preserves the in-scope --hard, --open-pr, and --safe flags. --auto remains opt-in and is never inferred. Press findings reach Cook as a correction handoff (next: cook).

Confidence and the clarify gate

Confidence is low | medium | high. Route directly at medium or better. Below that, route to tier 3 (clarify):

  • Ask exactly one question through the host routing guide in references/handoff-gate.md.
  • Offer the two most-likely targets as alternatives plus Stop.
  • Re-enter /cheese with the answer.

At medium or above, dispatch directly. For a cook intent, the Cook fast-path clarity check adds a second layer. See ## Escalation.

Preferred tools and fallbacks

When the input is a path or a slug, call the selected source-code backend directly. references/code-intelligence-routing.md selects that read or search backend.

NeedPreferFallback
PR / issue contextghthe URL or numbers the user provided
Confirming the routing target with the user, under --safe or clarify onlya host-routed structured question per references/handoff-gate.mda numbered list with explicit dispatch commands

One evidence probe is one file read, one search call, one gh call, or the wiki-grounding probe in ## Flow. The router spends at most three probes. The fast path spends zero probes. If the router needs more probes, escalate to /culture or /briesearch in internal mode. See references/routing-receipt.md for the budget, fast path, and receipt fields.

Output

Always emit, in order:

  1. Detected intent — one line, e.g. Intent: cook (clear single-file fix).
  2. Reason — one line citing the signal (reason: spec path .cheese/specs/foo.md).
  3. Target — the chosen skill, e.g. Target: /cook .cheese/specs/foo.md.
  4. Wiki hits — Emit one line for each handoff_context.wiki_hits entry. Use wiki: <page>:<line> — <why>. Put these lines before the receipt. This order lets the user identify stale wiki information. Omit these lines when hallouminate is absent.
  5. Routing receipt — The last line before dispatch, always emitted, is:

    route: intent=<intent> target=<skill> path=<fast|escalated> probes=<n>

    This line is the terminal routing boundary. Never put a duration or a timestamp in it. The host timestamps the line. See references/routing-receipt.md for all fields and rules.

Then dispatch in the same turn. Under --safe, use the handoff gate. For clarify, replace the dispatch with the single clarifying question. The receipt still prints, with target=clarify and the actual probe count.

Handoff

Without --safe, propagate --auto only along documented autonomous chains. For --continue, forward it only when the handoff contains it or the user appends it. Forward --open-pr only when the user supplied it. Never add --open-pr to a dispatch that the user did not authorize. Forward --hard on every route that accepts it, including the retired /ultracook redirect. Under --safe, dispatch waits for the user's gate selection. The auto variant stays the pre-selected recommended target.

Default targets per intent:

  • clarify — single targeted question; no skills run until the answer arrives.
  • research — /briesearch (recommended). No auto variant.
  • rubber-duck — /culture (recommended). Only reached when the user opted out of writes or asked to think through a problem. No auto variant.
  • mold — /mold (recommended). Safe-mode alternative: /briesearch first when external evidence is missing.
  • cook — default: /cook --auto <slug-or-path>. Safe-mode alternatives are /cook <slug-or-path> and /mold first. Use /mold first when scope is borderline. A large or decomposable specification starts cook's fan pathway automatically.
  • prototype — /cook --prototype <idea> (recommended). No auto variant.
  • ultracook (retired) — /ultracook <slug-or-path> resolves to /cook <slug-or-path>, carrying forward --open-pr/--resume/--auto/--hard.
  • plate — /plate handles commits, ordinary pull requests, and pull request stacks. /plate decides the topology of a new pull request without asking. See topology.md.
  • debug — default: /pasteurize --auto <input>. Safe-mode alternatives: /pasteurize <input> (no auto), /culture only when the user wants no-write diagnosis or asks to think through the problem before fixing it.
  • affinage — /affinage <pr> (recommended). Use bare /affinage when the input names no pull request. Send --auto only with an explicit --stake <floor> value. Safe-mode alternative: /age <pr> when the user wants a fresh review instead.
  • age — /age <ref> (recommended). Safe-mode alternative: /age --scope <path> when the user named a path glob.
  • age-then-cure — /age <slug> (recommended). Safe-mode alternative: /cure <slug> when a fresh report already exists.

Pre-select only the highest-confidence target. Without --safe, show the target as a decision and dispatch it directly. With --safe, wait for the user's selection. Run the captured dispatch packet immediately after a non-stop choice.

Rules

  • Never paraphrase or summarise downstream skill output — that is the downstream skill's job.
  • A declined question gate is an answer. Do not re-raise it; state the open item as one line and wait for freeform input.

Baseline-aware routing

Treat each recorded baseline: block as settled state. Do not re-ask about identical failures.

See ../cook/references/quality-gates.md.

References

  • references/classification.md — intent shapes, signals, disambiguation rules.
  • references/coherence-check.md — pre-dispatch self-checks that downgrade misroutes.
  • references/handoff-gate.md — cross-harness post-selection dispatch contract (shared across workflow skills).
  • references/handback-contract.md — the one preamble, status vocabulary, and dispatch/handback boundary inventory every phase speaks.
  • references/escalation.md — full escalation-tier mechanics and the spec-discovery check.
  • references/continue-resume.md — the --continue resume flow and the --reground re-check.
  • references/routing-receipt.md — the terminal routing receipt, the probe budget, and the fast path.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.