mold

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

/mold

/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.
类比
/culture
,该技能有两种模式:
  1. 用户触发的完整流程(默认模式)。用户输入了
    /mold
    (或
    /cheese
    将明确的模糊设计请求直接转发至此)。在撰写任何规范前,会完整执行探索/锚定/塑形/草图/推敲/诊断的对话流程,以及双密钥确认环节;下方的“流程”部分将详细描述。
  2. Agent触发的迷你规范模式。当
    /cook --auto
    执行前必须生成规范,且所有快速路径检查均通过时,
    /cheese
    会在其升级流程的第1层(见
    skills/cheese/SKILL.md
    § 升级)调用
    /mold
    。此模式无对话、无确认环节。详见下方的
    ## Agent触发的迷你规范模式

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.
Portability reference:
../cheese/references/harness-portability.md
. It covers helper resolution, sub-agent dispatch, GitHub operations, and handoff transitions; prefer the bundled or repo-local helper first, and treat
${CLAUDE_SKILL_DIR}
as optional host-provided fallback. The handoff blocks below are the portable contract; slash commands are host renderings, not the control model.
  1. 边界确认 —— 在转发前,针对所有输入类型执行一轮探索式边界确认:将问题的边界映射为候选目标和非目标,需询问用户而非自行假设。开启每轮的决策记录(
    已确定 / 待询问 / [AGENT已确定]
    ;见
    ## 规则
    )。根据输入情况分层处理——清晰的输入只需快速确认,无需提供A/B/C/D选项菜单——但绝不能跳过此步骤。当对话显示需要生成完整规范的工作量时,需提醒用户升级层级(系统检测:Claude
    /model opus
    +
    /effort
    ;Codex/OMP等效工具;通用备选方案)后再继续。
  2. 转发 —— 根据输入类型选择次要模式(见
    references/modes.md
    ),并以一行文字告知用户。如果用户的表述基于错误前提或带有诱导性假设,需在转发前指出。
  3. 对话 —— 建立共识:每个关键分支都由用户选择,需以选项形式呈现,绝不能替用户决定。为每个问题提供充分的信息(选项、边缘情况、证据)以辅助决策,而非直接给出答案。通过选定的源代码搜索/读取后端、验证循环(
    references/validate-cycle.md
    )或——针对无法推敲的未知设计——原型循环(
    references/prototype-cycle.md
    )来锚定所有关键主张;这两种循环均可在对话中并行生成子Agent,且受上下文限制(软上限为10)。在继续对话前,需跟踪并解决各轮对话中的矛盾点。在连续3次分支问题后,或用户询问“还剩哪些分支?”时,需生成决策图谱(
    ## 规则
    § 决策图谱)。
  4. 草图绘制 —— 对于涉及多个模块或新公共接口的功能,需对涉及的符号执行塑形检查(
    references/shape-check.md
    ),然后在讨论规范内容前,用伪代码签名锁定接口边界。在打开代码时,需按照
    references/handshake.md
    § 实体-引用绑定规则,将每个身份/所有权角色名词绑定到代码引用——搜索到的不同引用视为别名,而非有效绑定。
  5. 分解以获取批准 —— 一旦草稿规范和任何预固化后续处理完成,需在请求批准前,对草稿文本调用新上下文的固化块分解器并验证结果。无效结果可重试一次;若仍无效,需在确认环节前停止,而非批准无法持久化的块。在确认环节展示已验证的固化块,格式为
    N个固化单元 / M个阶段
    。详见
    references/curdle.md
    § “预批准分解器调用”。
  6. 双密钥确认 —— 用户(明确指令)和Agent(一致性自检)必须同时同意草稿规范和显示的固化计划,才能提取成果。两者缺一不可。详见
    references/handshake.md
  7. 固化 —— 通过
    SPEC=$(python3 shared/scripts/artifact_path.py specs <slug>)
    (仅捆绑主机的备选方案:
    python3 skills/mold/scripts/mold.pyz artifact-path specs <slug>
    )确定持久化规范的路径。解析器将规范锚定在每个项目的持久化语料库中(
    ../cheese/references/formatting.md
    § 语料库位置);绝不能硬编码本地仓库的规范路径。第一阶段:在进行任何外部调用前,写入所有本地工件和预写入的准备状态:获批规范存储在
    "$SPEC"
    ,获批的固化块存储为
    ## 固化单元
    ,任何本地问题草稿,以及会话中非显而易见的决策作为持久化ADR。第二阶段:发布获批的后续内容,当外部功能不可用或发布失败时保留准备好的恢复状态,并将其状态和引用协调到持久化规范中。固化过程中绝不能重新调用或修改获批的固化块。格式、别名、发布、协调、语料库解析和固化块持久化规则:见
    references/curdle.md
    references/adr.md
  8. 统计与移交 —— 仅在第二阶段发布尝试和协调完成后,运行
    python3 skills/mold/scripts/mold.pyz curd-count "$SPEC" --blast-radius <low|medium|high>
    以推荐下游技能(流程见
    references/curd-count.md
    ),然后通过
    ## 移交
    提示用户。绝不能在用户选择前自动分发;用户选择非停止选项后,立即运行选定的技能。
可移植性参考:
../cheese/references/harness-portability.md
。它涵盖了助手解析、子Agent调用、GitHub操作和移交过渡;优先使用捆绑或本地仓库的助手,并将
${CLAUDE_SKILL_DIR}
视为可选的主机提供的备选方案。 下方的移交块是可移植契约;斜杠命令是主机渲染内容,而非控制模型。

Follow-up candidates

后续候选项

Every non-goal and explicit dialogue deferral enters the session's follow-up candidate set, logged as
[FOLLOW-UP?]
. When candidates exist, the pre-Curdle disposition batch must complete before the two-key handshake can pass; omit it when none exist. Ledger notation, dialogue-state semantics, and Curdle-ordering detail:
references/handshake.md
§ Follow-up disposition.
所有非目标和明确推迟的对话内容都会进入会话的后续候选集,记录为
[FOLLOW-UP?]
。当存在候选项时,必须完成预固化处理,双密钥确认才能通过;若无候选项则可省略。记录符号、对话状态语义和固化顺序细节:见
references/handshake.md
§ 后续处理。

Modes

模式

ModeUse whenGoal
ExploreThe idea is vagueIdentify the real problem and pain point
GroundA file, bug, or existing doc is namedVerify facts against evidence
ShapeThe goal is known but approach is openCompare viable options (Do Nothing always included)
SketchInterfaces or module boundaries matterLock responsibilities and seams
GrillA favoured approach needs stress-testingSteelman each item, then put every design-changing call to the user as a fork
DiagnoseA symptom, failure, or trace is suppliedBuild a Loop → reproduce → hypothesize → confirm root cause
Full mode definitions, exit criteria, and user knobs:
references/modes.md
. Trigger and trace evals, including the Grill user-fork checks:
references/evals.md
.
模式使用场景目标
Explore想法模糊不清时识别真实问题与痛点
Ground提及了文件、Bug或现有文档时根据证据验证事实
Shape目标明确但实现方案未定比较可行的选项(始终包含“不做任何修改”选项)
Sketch接口或模块边界至关重要时锁定职责与边界
Grill偏好的方案需要压力测试时强化每个细节,然后将所有影响设计的决策交由用户选择
Diagnose提供了症状、故障或追踪信息时构建循环 → 复现 → 假设 → 确认根本原因
完整的模式定义、退出标准和用户可调参数:见
references/modes.md
。触发和追踪评估,包括Grill模式的用户分支检查:见
references/evals.md

Agent-invoked mini-spec mode

Agent触发的迷你规范模式

/cheese
's tier-1 escalation calls into
/mold
to produce a spec without a user-facing dialogue, once the cook fast-path checks have already passed at the call site. The mode skips the Flow above entirely: derive a slug, write the mini-spec, and return the resolved spec path so
/cheese
can dispatch
/cook --auto <spec-path>
.
The two-key handshake does not fire in this mode; the agent-introduced-scope check still runs implicitly — every distinguishing noun in the mini-spec must come from the user's input or the tier-2
/culture
/
/briesearch
synthesis, never a silent agent addition.
Full procedure, the mini-spec schema, and the
## Provenance
rules:
references/mini-spec-mode.md
.
当调用方的
/cook
快速路径检查已通过时,
/cheese
的第1层升级会调用
/mold
,无需面向用户的对话即可生成规范。此模式完全跳过上述流程:生成别名,撰写迷你规范,返回解析后的规范路径,以便
/cheese
调用
/cook --auto <spec-path>
此模式不触发双密钥确认;但仍会隐式执行Agent引入范围检查——迷你规范中的每个独特名词必须来自用户输入或第2层
/culture
/
/briesearch
的合成结果,绝不能由Agent静默添加。
完整流程、迷你规范 schema 和
## 来源
规则:见
references/mini-spec-mode.md

Preferred tools and fallbacks

首选工具与备选方案

Call source-code search, read, and edit backends directly according to
code-intelligence-routing.md
. Shape checks use semantic caller search plus dependency context; procedure:
references/shape-check.md
.
Beyond source-code routing there are mold-specific tools:
NeedPreferFallback
External validation
/briesearch
with Context7/Tavily
user-provided docs, repo docs, or note as unverified
Wiki grounding (Ground entry + decision points; scope per
references/grounding.md
§ When to probe)
mcp__hallouminate__list_corpora
+
mcp__hallouminate__ground
on
repo:<repo>:wiki
skip; proceed with code evidence only; cap at
speculating
when design rationale is central
Optional tools accelerate the work but never block the dialogue. When evidence is unavailable, mark the claim
[?]
until settled.
根据
code-intelligence-routing.md
直接调用源代码搜索、读取和编辑后端。塑形检查使用语义调用者搜索加依赖上下文;流程见
references/shape-check.md
除源代码路由外,还有
/mold
专用工具:
需求首选工具备选方案
外部验证带Context7/Tavily的
/briesearch
用户提供的文档、仓库文档,或标记为未验证
Wiki锚定(锚定环节+决策点;范围见
references/grounding.md
§ 何时探查)
mcp__hallouminate__list_corpora
+ 针对
repo:<repo>:wiki
mcp__hallouminate__ground
跳过;仅依据代码证据继续;当设计理由为核心内容时,上限标记为
推测
可选工具可加速工作,但绝不能阻塞对话。当证据不可用时,将主张标记为
[?]
直至解决。

Sub-agent context gate

子Agent上下文限制

/mold
keeps the dialogue, contradictions, approval state, and the two-key handshake in the parent context — those never delegate. Offloading heavy work to a read-only sub-agent is the default:
explorer
for code reads and shape checks,
researcher
for deep
/briesearch
. Spawn one whenever the work would flood the conversation with raw evidence or graph output. Triggers, digest constraints, and the inline fallback:
references/context-budget.md
.
/mold
将对话、矛盾点、批准状态和双密钥确认保留在父上下文中——这些内容绝不委托给子Agent。将繁重工作卸载到只读子Agent是默认操作
explorer
用于代码读取和塑形检查,
researcher
用于深度
/briesearch
。每当工作会使对话充斥原始证据或图形输出时,就生成一个子Agent。触发条件、摘要约束和内联备选方案:见
references/context-budget.md

Gate graph

限制图谱

Mold's gate state machine is one machine-readable model, rendered via
python3 skills/mold/scripts/mold.pyz gate-graph --render dot|svg|png|mermaid
.
dot
/
mermaid
need no binary;
svg
/
png
use Graphviz
dot
when present and degrade to mermaid. A test keeps its gate nodes in lockstep with the
handshake.md
coherence checklist, so a gate cannot be dropped from prose. Details:
references/gate-graph.md
.
Mold的限制状态机是一个机器可读模型,可通过
python3 skills/mold/scripts/mold.pyz gate-graph --render dot|svg|png|mermaid
渲染。
dot
/
mermaid
无需二进制文件;
svg
/
png
在有Graphviz
dot
时使用,否则降级为mermaid。测试会使其限制节点与
handshake.md
的一致性检查清单保持同步,因此限制条件不会从文本中遗漏。细节见
references/gate-graph.md

Approval gate

批准限制

Curdle requires the two-key handshake: an explicit user verb (e.g.
curdle
,
ship it
) plus the agent's coherence self-check, with the validated curd block's
N curds / M waves
presented alongside the final approval request (Flow step 5). Checklist, mandatory gates, and override semantics:
references/handshake.md
.
Before the handshake fires, also run the agent-introduced-scope check — flag any noun in Approach / Decisions / Interface sketches the user did not type, and require explicit per-term approval before extraction. Full procedure and the single-chokepoint guarantee in
references/handshake.md
§ Agent-introduced scope.
If any gate is unmet or the curd block remains invalid after one retry, propose the smallest next question, evidence check, or decomposer correction. Write artifacts only after both keys pass.
固化需要双密钥确认:用户明确指令(如
curdle
ship it
)加上Agent的一致性自检,同时在最终批准请求中展示已验证固化块的
N个固化单元 / M个阶段
(流程步骤5)。检查清单、强制限制和覆盖语义:见
references/handshake.md
在确认环节触发前,还需执行Agent引入范围检查——标记出方案/决策/接口草图中用户未提及的任何名词,并要求在提取前获得明确的逐项批准。完整流程和单点阻塞保证见
references/handshake.md
§ Agent引入范围。
若任何限制未满足,或固化块在一次重试后仍无效,需提出最小化的下一个问题、证据检查或分解器修正。仅在双密钥均通过后才写入工件。

--hard

--hard

/mold --hard
propagates
--hard
to
/cook
at handoff (any cook-flavoured option carries it forward). Mold runs no gate itself — the metacognitive vibecheck fires later, at
/cure
's share-for-review boundary. See
skills/hard-cheese/SKILL.md
and
../hard-cheese/references/composition.md
.
/mold --hard
会在移交时将
--hard
传递给
/cook
(任何
cook
类选项都会向前传递)。Mold自身不运行限制检查——元认知检查会在后续的
/cure
共享评审边界触发。见
skills/hard-cheese/SKILL.md
../hard-cheese/references/composition.md

Handoff

移交

Pipeline: culture → [mold] → cook → press → age → cure → plate
After Curdle's phase two finishes, run the curd-count script (procedure and
--blast-radius
rules in
references/curd-count.md
), then render the branch menu below and prompt via the shared handoff gate. Never pre-select an autonomous option.
Read the JSON digest.
/cook
is the uniform (recommended) option; the digest's
mode
field (
parallel
,
linear
, or
null
) is orientation-only — it explains why a branch recommends the autonomous chain and is never rendered as a skill name. Ask via the shared handoff gate (
../cheese/references/handoff-gate.md
), leading each option with the verb and the skill command (spec path plus any in-scope
--hard
) as backing detail.
The three blast-radius branches — decomposable, non-decomposable high-blast-radius, and non-decomposable low/medium — each render a fixed menu keyed off the digest's
decomposable
,
candidate_curds
,
verdict
, and
mode
fields. Menu wording, the recommended/manual/stop options per branch, and
mode
's role in choosing the branch:
references/handoff-menus.md
.
流水线: culture → [mold] → cook → press → age → cure → plate
固化第二阶段完成后,运行固化单元统计脚本(流程和
--blast-radius
规则见
references/curd-count.md
),然后渲染下方的分支菜单,并通过共享移交限制提示用户。绝不能预先选择自主选项。
读取JSON摘要。
/cook
是统一的*(推荐)*选项;摘要中的
mode
字段(
parallel
linear
null
)仅用于说明——它解释了为何某个分支推荐自主链,绝不会作为技能名称显示。通过共享移交限制(
../cheese/references/handoff-gate.md
)询问用户,每个选项前需加上动词和技能命令(规范路径加任何范围内的
--hard
)作为支持细节。
三种影响范围分支——可分解、高影响范围不可分解、低/中等影响范围不可分解——各自根据摘要的
decomposable
candidate_curds
verdict
mode
字段渲染固定菜单。菜单措辞、各分支的推荐/手动/停止选项,以及
mode
在分支选择中的作用:见
references/handoff-menus.md

Rules

规则

  • Dialogue first; artifacts are the by-product.
  • Tiered lettered options. Consequential forks (scope, approach, non-goals, interface/seam, trade-offs) go to the user as
    A/B/C/D
    choices via the question transport at
    ../cheese/references/ask-user-question.md
    — never resolved silently. Minor mechanical calls are logged
    [AGENT-DECIDED]
    inline with a one-line vetoable alternative (ADR-003). A fork is valid only after its depth was contributed in-dialogue first. Visible-prose gate (hard): every structured question MUST be preceded, same visible turn, by prose naming the fork, weighing options, and citing evidence — never in a thinking block, never straight from the user's message to the picker. One open picker: never emit a second structured question before the first is answered.
  • Per-round decision ledger. Each dialogue round prints
    Decided / Asking / [AGENT-DECIDED]
    . At curdle the ledger persists to the ADR(s) (
    references/adr.md
    ) plus a one-line minor decision-log on the spec; no separate ledger file (ADR-004).
  • Decision map. After 3 consecutive fork questions, or on "what forks are left?", render a compact map from the ledger: Done forks (from
    Decided
    ), remaining-before-curdle forks split into required (
    references/handshake.md
    § Mandatory gates) vs optional, and a one-line curdle-readiness verdict (ready, or blocked naming the unmet gate). It renders existing state — not a new artifact, file, or script.
  • Do not implement code.
  • Do not write production files before the approval gate.
  • Do not silently settle uncertain claims.
  • Apply the shared voice kernel (lives at
    ../age/references/voice.md
    ): correct false premises, flag confidence as
    certain | speculating | don't know
    on each critical claim, steelman before dismissing, and put the design-shaping decisions to the user — depth informs each question, it never replaces asking it.
  • 对话优先;工件是副产品。
  • 分层字母选项。关键分支(范围、方案、非目标、接口/边界、权衡)需通过
    ../cheese/references/ask-user-question.md
    的提问机制以
    A/B/C/D
    选项形式呈现给用户——绝不能静默解决。次要机械决策需内联记录为
    [AGENT已确定]
    ,并提供一行可否决的替代方案(ADR-003)。分支仅在对话中充分讨论后才有效。**可见文本限制(强制):**每个结构化问题必须在同一可见轮次中,先以文本说明分支、权衡选项并引用证据——绝不能在思考块中,也不能直接从用户消息跳到选项选择器。**单个待处理选择器:**在第一个问题得到答复前,绝不能发出第二个结构化问题。
  • 每轮决策记录。每轮对话需打印
    已确定 / 待询问 / [AGENT已确定]
    。固化时,记录会持久化到ADR(
    references/adr.md
    )以及规范中的一行次要决策日志;无需单独的记录文件(ADR-004)。
  • 决策图谱。连续3次分支问题后,或用户询问“还剩哪些分支?”时,需从记录中生成紧凑图谱:已完成的分支(来自
    已确定
    )、固化前剩余的分支分为必填(
    references/handshake.md
    § 强制限制)与可选,以及一行固化就绪 verdict(就绪,或指出未满足的限制)。它仅渲染现有状态——不生成新工件、文件或脚本。
  • 不得实现代码。
  • 不得在批准限制通过前写入生产文件。
  • 不得静默解决不确定的主张。
  • 应用共享语音内核(位于
    ../age/references/voice.md
    ):纠正错误前提,将每个关键主张的置信度标记为
    确定 | 推测 | 未知
    ,在否定前先强化对方观点,并将设计决策交由用户——充分的信息用于辅助提问,而非替代提问。

Agent resolution

Agent解析

Resolve delegates through
../cheese/references/agent-resolution.md
.
WorkPreferred typesPermissions/isolationMinimum powerEffortFallback
Explore the codebaseexplorerread-only, fresh-contextdefaultmediumcompatible explorer, then general
Research external constraintsresearcherread-only, fresh-contextdefaultmediumcompatible researcher, then general
Decompose for approvalplanner, generalread-only, fresh-contextpowerfulhighcompatible planner, then general
The canonical mold spec or mini-spec carries the shared
agent_resolution
block.
通过
../cheese/references/agent-resolution.md
解析委托任务。
工作内容首选类型权限/隔离最低权限工作量备选方案
探索代码库explorer只读、新上下文默认中等兼容的explorer,通用Agent
研究外部约束researcher只读、新上下文默认中等兼容的researcher,通用Agent
分解以获取批准planner, general只读、新上下文高权限兼容的planner,通用Agent
标准的mold规范或迷你规范包含共享的
agent_resolution
块。