mold

Installation
SKILL.md

/mold

Two modes, by analogy to /culture:

  1. User-invoked full ceremony (default). The user typed /mold (or /cheese routed an explicit fuzzy-design ask straight here). Runs the full Explore/Ground/Shape/Sketch/Grill/Diagnose dialogue and the two-key handshake before any spec is written; the Flow below describes it.
  2. Agent-invoked mini-spec mode. /cheese calls into /mold at tier 1 of its escalation (skills/cheese/SKILL.md § Escalation) when the cook fast-path checks all pass and a spec must materialise before /cook --auto runs. No dialogue, no handshake. See ## Agent-invoked mini-spec mode below.

Flow

  1. Bounds pass — before routing, run one Explore-style bounds round for every input shape: map the problem's edges to candidate goals and non-goals, asking the user rather than assuming. Open the per-round decision ledger (Decided / Asking / [AGENT-DECIDED]; see ## Rules). Tier it — a clear input gets a single fast confirm, not a full A/B/C/D menu — but never skip it. When the dialogue reveals full-spec-sized work, warn to upgrade tier (harness-detected: claude /model opus + /effort; codex/OMP equivalent; generic fallback) before continuing.
  2. Route — pick the secondary mode from the input shape (see references/modes.md) and announce it in one line. If the user's framing rests on a false premise or a loaded assumption, name it before routing.
  3. Dialogue — build shared understanding: every consequential fork is the user's to pick, surfaced as a choice, never settled for them. Contribute full depth (options, edge cases, evidence) to inform each question, never to replace asking it. Ground every critical claim via the selected source-code search/read backend, a Validate Cycle (references/validate-cycle.md), or — for an ungrillable design unknown — a Prototype Cycle (references/prototype-cycle.md); both are sub-agent-spawnable mid-dialogue, in parallel, context-bounded (soft backstop of 10). Track and resolve contradictions across turns before continuing. After 3 consecutive fork questions, or on "what forks are left?", render the decision map (## Rules § Decision map).
  4. Sketch — for any feature touching >1 module or a new public interface, run the shape check (references/shape-check.md) on the touched symbols, then lock seams in pseudocode signatures before talking spec content. While the code is open, bind every identity/ownership-role noun to a code referent per references/handshake.md § Entity-referent binding — a search hit of a different referent is an alias, not a pass.
  5. Decompose for approval — once the draft spec and any pre-Curdle follow-up disposition are complete, dispatch the fresh-context curd-block decomposer on the draft text and validate its result before requesting approval. Retry an invalid result once; if it is still invalid, stop before the handshake rather than approving a block that cannot be persisted. Present the validated curd block as N curds / M waves at the handshake. See references/curdle.md § "Pre-approval decomposer dispatch".
  6. Two-key handshake — both the user (explicit verb) and the agent (coherence self-check) must agree to the draft spec and displayed curd plan before extraction. Neither key changes or disappears. See references/handshake.md.
  7. Curdle — resolve the durable spec path with SPEC=$(python3 shared/scripts/artifact_path.py specs <slug>) (bundle-only host fallback: python3 skills/mold/scripts/mold.pyz artifact-path specs <slug>). The resolver anchors specs at the per-project durable corpus (../cheese/references/formatting.md § Corpus location); never hardcode a repo-local spec path. Phase one writes every local artifact and write-ahead prepared state before any external call: the approved spec at "$SPEC", the same approved curd block as ## Curds, any local issue drafts, and the session's non-obvious decisions as durable ADRs. Phase two then publishes approved follow-ups, retains prepared recovery state when an external capability is unavailable or publication fails, and reconciles their state and references into the durable spec. Never re-dispatch or mutate the approved curd block during Curdle. Format, slug, publication, reconciliation, corpus-resolution, and curd-block persistence rules: references/curdle.md and references/adr.md.
  8. Count and hand off — only after phase-two publication attempts and reconciliation finish, run python3 skills/mold/scripts/mold.pyz curd-count "$SPEC" --blast-radius <low|medium|high> for the recommended downstream skill (procedure in references/curd-count.md), then prompt via ## Handoff. Never dispatch before the user selects; after a non-stop selection, run the selected skill immediately.
Installs
199
GitHub Stars
12
First Seen
May 27, 2026
mold — paulnsorensen/easy-cheese