mold
Installation
SKILL.md
/mold
Ceremony scales to the job. The Bounds pass picks one of three tiers from references/tiers.md: Quick writes a one-confirm mini-spec, Light runs only the dialogue modes the open forks need, and Full runs the whole Flow below. /cheese's tier-1 escalation enters mini-spec mode with no confirm; see ## Agent-invoked mini-spec mode.
Flow
- Bounds pass — open the
Goal / Decided / Asking / [AGENT-DECIDED]ledger with the goal pinned as one sentence; only an explicit user fork changes it. Split it intoG-nclauses (references/handshake.md§ Goal coverage). Map every input's goals and non-goals as one[AGENT-DECIDED]line; ask the user only when the goal is genuinely unknown or a leverage trigger fires. Run the shape check, then announce the tier with its reason (references/tiers.md). Quick exits here: one fast confirm, then## Agent-invoked mini-spec mode. Upgrade the tier whenever the evidence changes; never downgrade silently. - Route — choose the secondary mode from
references/modes.md, announce it, and correct false premises first. - Dialogue — consequential forks are the user's to pick. A fork is consequential per the leverage line in
../age/references/voice.md. Every other fork is[AGENT-DECIDED]. Supply options, trade-offs, and evidence before you ask. Ground each critical claim through code, the Validate Cycle, or a Prototype Cycle. Resolve every contradiction. Render the decision map after three consecutive fork questions, or on request. - Sketch — For work across modules or with a new public interface, run
references/shape-check.md. Bind identity and role nouns to code referents. Record the Placement block; no bodies. - Plan for approval — run the fresh-context fork-coherence taste test with
python3 skills/mold/scripts/mold.pyz taste-testand persist its digest-bound pass; a failure reopens only named forks, and the third failed verdict stops. Light with one expected curd stops here: no planner; finalize the bounded spec withpython3 skills/mold/scripts/mold.pyz finalizeand retain its canonicalHandoffPointer. Otherwise dispatch a typedPlannerRequest, validate itsPlannerResultWriterView(one retry, then stop before the handshake), normalize on the host, and persist only the typedPlannerResultandCurdPlan. Present the plan's semantic curds and waves at the handshake. Seereferences/curdle.md§ "Pre-approval typed planner dispatch". - Two-key handshake — Before extraction, the user and agent must agree to the draft spec and displayed typed plan. The user provides an explicit verb. The agent performs a coherence self-check. Neither key changes nor disappears. See
references/handshake.md. - Curdle — Resolve the durable spec path with
SPEC=$(python3 skills/mold/scripts/mold.pyz artifact-path specs <slug>). Phase one writes the local artifact and write-ahead prepared state before any external call. It writes the approved spec at"$SPEC". It also writes the host-validatedPlannerResultandCurdPlan. It also writes local issue drafts and the session's non-obvious decisions as durable ADRs. Phase two publishes approved follow-ups. Retain the prepared recovery state when an external capability is unavailable or publication fails. Phase two reconciles their state and references into the durable spec before any handoff. The resolved spec path is internal; Cook receives only the finalizer's canonicalHandoffPointer. - Finalize and hand off — after reconciliation, run
python3 skills/mold/scripts/mold.pyz curd-count, then finalize through## Handoff. Full and Light both hand that pointer to Cook. Dispatch only the user's non-stop selection.
Portability: rules. Slash commands are host renderings, not the control model.