关于 cheese
cheese 是工作流路由器,可处理功能想法、缺陷、代码审查、研究和拉取请求等任务。它识别意图并分派给相应技能,必要时先澄清或请求确认;自身不编辑文件、运行测试或创建拉取请求。
主要功能
- 01识别多种请求意图
- 02将工作分派给专用技能
- 03澄清不确定的意图
- 04分派前可选确认
- 05根据交接记录恢复工作流
适用场景
- 01将功能请求路由到规格或实现
- 02将缺陷报告交由诊断流程
- 03把研究问题交给研究工作流
- 04恢复进行中的工作流
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ paulnsorensen/ easy-cheese --skill cheese安装后在 Claude Code 中输入/cheese确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/agent-resolution.mdask-user-question-sources.mdask-user-question.mdclassification.mdcode-intelligence-routing.mdcoherence-check.mdcontinue-resume.mddiagram-templates.mddiagrams.mdescalation.mdformatting.mdhandback-contract.mdhandoff-gate.mdharness-portability.mdoptional-plugins.mdrouting-policy.mdrouting-receipt.mdschema-intertwine.mdsliced-bread.md详细介绍
/cheese
输入
接受用户通过 $ARGUMENTS 提供的任何内容:
- 自然语言功能描述、想法或问题。
- 规范文件路径(
.cheese/specs/<slug>.md)或粘贴的规范内容。 - Bug 报告、堆栈跟踪、失败的测试输出或复现步骤。
- 文件路径、glob 或目录。
- PR 或 issue 引用(
PR#142、#87、GitHub URL)。 - 关于外部库、API 或模式的研究问题。
- 空白或几乎空白的提示词——将其视为“接下来做什么?”,并进行澄清。
可选标志:
--safe— 在分派前通过确认提示进行把关。--open-pr— 通过实现链传递到/cure。/cure会使用此标志,并将发布意图发送到终端/plate。/plate本身不接受--open-pr标志。 新 PR 遵循/plate的明确选择和审查形式政策。--continue <slug-or-note-path>— 根据交接 slug 或备注恢复正在进行的流水线。--hard— 传递到/plate,由其在/hard-cheese和发布前执行最终产物写入关卡。--reground— 仅与--continue一起使用。在分派阶段前以对抗方式重新检查交接声明。
如果缺少 $ARGUMENTS,请通过主机路由指南提出一个澄清问题。
使用 references/handoff-gate.md。
流程
- 阅读完整的用户消息,而不只是
$ARGUMENTS。 将用户的其他所有文字都视为指令列表。 遵循当前有效的指令,而不是与之冲突的默认设置或交接协议。 交接文件会恢复状态。 用户当前的消息优先于它。 例外:当前指令绝不会免除恢复完整性门槛。 存在歧义、谱系未解决、完整性检查发现问题,或出现status: gated:时,都必须停止分派。 当前指令只会影响对干净旧版结果进行的知情信任门槛判断。 这些门槛由references/continue-resume.md管理。 - 先思考(不输出)。 按照
skills/culture/SKILL.md在内部分析问题——重新表述请求、列出候选目标,并指出起决定作用的信号。输出的分类将决定步骤 2。 - 分类——将
$ARGUMENTS与references/classification.md中的意图模式匹配。选择置信度最高的模式;若置信度低于门槛,则转到clarify(由步骤 4 中的第 3 级升级处理)。 - 清晰度检查(仅限
cook意图)。 对cook意图运行 Cook 的快速路径检查。 将mold意图分派到/mold的用户模式。 直接的plate意图跳过此检查。 - 必要时升级处理。 第 1 级分派所选目标。
当
/cook --auto需要规格说明时,使用/mold的 Agent 模式。 第 2 级在内部调用/culture或/briesearch,然后重新进行清晰度检查。 第 3 级会阻塞流程,提出一个经主机路由的针对性问题。 重新分类回答。 参见## 升级处理。 - 存在 hallouminate 且路由已升级时,为 wiki 查询提供依据。 根据输入推导查询。
快速路径上跳过此步骤。
快速路由不查询任何依据,也不消耗探查机会。
最多对 wiki 语料库进行一次依据查询。
先通过语料库列表工具确认语料库。
通过
references/optional-plugins.md确认两个工具的名称。 该参考文件会匹配相应能力,因为各主机为工具名称添加的前缀各不相同。 使用skills/mold/references/grounding.md中的探查格式。 将最佳命中项按[{page, line, why}]格式添加到handoff_context.wiki_hits。 参见references/handoff-gate.md的 Context payloads 一节。 如果不存在 wiki 语料库,请使用references/optional-plugins.md。 - 宣布——按照
## 输出中的格式打印简短区块(意图 / 原因 / 目标;存在 wiki 命中项时也一并列出)。引用推动路由决策的信号。 - 自检——运行
references/coherence-check.md中的一致性问题。若任一项未通过,则降级到clarify(第 3 级)或research。 - 分派。 若未指定
--safe,则在宣布后运行所选技能及其上下文包。 若指定了--safe,则根据references/handoff-gate.md发出交接门槛。 预先选定推荐目标,并附上一个备选项,且将Stop放在最后。 等待用户选择后再分派。
/cheese 是路由器,不是执行器。
它绝不编辑文件、运行测试或创建拉取请求。
只能使用主机提供的读取、搜索和分派能力。
第 1 级可以调用 /mold 的 Agent 模式,但其写入操作必须限定在 /mold 的范围内。
有关辅助工具解析、Agent 分派、GitHub 操作和交接转换,请参见 references/harness-portability.md。
优先使用捆绑的辅助工具或仓库内的辅助工具。
调用路径中不得使用 ${CLAUDE_SKILL_DIR}。
以下交接区块构成可移植约定;斜杠命令只是主机层面的呈现方式,并非控制模型。
意图模式
完整的分类表——包括所有意图模式、信号、消歧规则和边缘情况——位于 references/classification.md。
升级
只有 cook 意图会运行 Cook 的快速通道检查和三个升级层级。
将 mold 意图分派到 /mold 的用户模式。
--safe 只限制最终分派。
references/escalation.md 负责升级层级规则和规格发现检查。
所有其他意图都会绕过此升级流程。 其目标技能负责自己的升级流程。
已拒绝方向检查
每次分派 mold 前,扫描 .cheese/.out-of-scope/*.md,查找匹配的拒绝记录。
将传入请求与记录中的 ## Direction 行进行比较。
匹配时,用一行说明被拒绝的方向及其理由。
然后询问用户是要继续,还是选择不同的角度。
绝不默默压下或重新提出已拒绝的方向。
当目录不存在或意图不是 mold 时,静默跳过此检查。
--continue
使用 /cheese --continue <slug-or-note-path>,从全新上下文手动继续。
在对话压缩、/cook 扇出路径停止后,或收到手动继续请求时使用。
通过 /wheypoint resolve --ref <absolute-path | work-id | slug> 解析参数。
只分派经过验证的权威当前修订版。
运行时会提供确定性的旧版笔记回退机制。
绝不根据修改时间、会话或 slug 新旧来选择笔记。
绝不通过向 Git 提交或发布内容来实现继续操作。
存在歧义、谱系未解析、完整性失败或 status: gated: 时,停止自动分派。
分派前阅读 references/continue-resume.md。
对于 next: 列表,通过同一参考资料解析必需的 order:。
--continue 不会传递 --auto。
以默认交互模式分派 /<next> <slug>,即使没有 --safe 也是如此。
用户可以明确追加 --auto,例如 /cheese --continue <slug> --auto。
持久化工作流为 culture -> mold -> cook -> press -> age -> cure -> plate。
经批准的 Mold 交接会路由到 /cook。
只有用户明确指定自动模式时,才会路由到 /cook --auto。
Full 或计划中的交接会重新运行 /mold finalize。
它会在类型化的 spec_ref 字段中携带其持久化规格指针。
继续时会原样转发 spec_ref。
也会原样转发 artifact:,它始终指向此前已消费的报告。
继续操作会保留经过验证的可选 mode: 值。
会保留适用范围内的 --hard、--open-pr 和 --safe 标志。
--auto 仍为可选项,绝不推断启用。
Press 的发现会以修正交接(next: cook)传递给 Cook。
置信度与澄清关卡
置信度为 low | medium | high。达到 medium 或更高时直接路由。
低于此级别时,路由到第 3 层(clarify):
- 通过
references/handoff-gate.md中的宿主路由指南,只提出一个问题。 - 提供两个最可能的目标作为选项,并附上
Stop。 - 根据回答重新进入
/cheese。
达到 medium 或更高时,直接分派。
对于 cook 意图,Cook 的快速通道清晰度检查会增加第二层检查。
参见 ## Escalation。
首选工具和备用方案
当输入是路径或 slug 时,直接调用选定的源代码后端。
references/code-intelligence-routing.md 用于选择读取或搜索后端。
| 需求 | 首选 | 备用方案 |
|---|---|---|
| PR / issue 上下文 | gh | 用户提供的 URL 或编号 |
仅在 --safe 或 clarify 模式下向用户确认路由目标 | 根据主机路由的结构化问题,参见 references/handoff-gate.md | 带有明确调度命令的编号列表 |
一次证据探查是指读取一个文件、进行一次搜索调用、进行一次 gh 调用,或执行 ## Flow 中的 wiki 依据探查。
路由器最多进行三次探查。
快速路径进行零次探查。
如果路由器需要进行更多探查,请在内部模式下升级至 /culture 或 /briesearch。
预算、快速路径和回执字段请参见 references/routing-receipt.md。
输出
始终按顺序输出:
-
检测到的意图 — 一行,例如:
Intent: cook (clear single-file fix)。 -
原因 — 一行,引用信号(
reason: spec path .cheese/specs/foo.md)。 -
目标 — 所选技能,例如:
Target: /cook .cheese/specs/foo.md。 -
Wiki 命中项 — 为每个
handoff_context.wiki_hits条目输出一行。 使用wiki: <page>:<line> — <why>。 将这些行放在回执之前。 这样用户可以识别过时的 wiki 信息。 hallouminate 不存在时省略这些行。 -
路由回执 — 调度前输出的最后一行,必须是:
route: intent=<intent> target=<skill> path=<fast|escalated> probes=<n>此行是路由的最终边界。绝不要在其中放入时长或时间戳。时间戳由主机添加。所有字段和规则请参见
references/routing-receipt.md。
然后在同一轮中调度。
在 --safe 模式下,使用交接门控。
对于 clarify,用唯一的澄清问题替代调度。
仍需输出回执,并设置 target=clarify 和实际探查次数。
交接
未指定 --safe 时,仅沿已记录的自主链路传递 --auto。
对于 --continue,只有交接内容包含该参数或用户追加了该参数时才转发。
只有用户提供了 --open-pr 时才转发。
切勿在用户未授权的派发中添加 --open-pr。
在每条接受 --hard 的路由上都转发该参数,包括已停用的 /ultracook 重定向。
指定 --safe 时,派发会等待用户选择关卡。
自动变体仍是预先选定的推荐目标。
各意图的默认目标:
- 澄清 — 提出一个有针对性的问题;收到回答前不运行任何技能。
- 研究 —
/briesearch(推荐)。无自动变体。 - 橡皮鸭 —
/culture(推荐)。只有用户选择不进行写入,或要求梳理问题时才使用。无自动变体。 - 构思 —
/mold(推荐)。安全模式替代方案:缺少外部证据时先运行/briesearch。 - 编写 — 默认:
/cook --auto <slug-or-path>。 安全模式替代方案:/cook <slug-or-path>和/mold first。 范围界定不明确时,使用/mold first。 大型或可拆分的规范会自动启动 cook 的 fan 路径。 - 原型 —
/cook --prototype <idea>(推荐)。无自动变体。 - ultracook(已停用) —
/ultracook <slug-or-path>会解析为/cook <slug-or-path>,并转发--open-pr/--resume/--auto/--hard。 - 提交 —
/plate负责提交、常规拉取请求和拉取请求栈。/plate会自行决定新拉取请求的拓扑结构,无需询问。参见topology.md。 - 调试 — 默认:
/pasteurize --auto <input>。安全模式替代方案:/pasteurize <input>(无自动模式);只有用户希望进行不写入的诊断,或要求在修复前梳理问题时,才使用/culture。 - 熟成评审 —
/affinage <pr>(推荐)。 输入未提及拉取请求时,使用不带参数的/affinage。 只有显式指定--stake <floor>值时才发送--auto。 用户希望重新评审时,安全模式替代方案为/age <pr>。 - 评审 —
/age <ref>(推荐)。用户指定路径 glob 时,安全模式替代方案为/age --scope <path>。 - 评审后修复 —
/age <slug>(推荐)。已有新报告时,安全模式替代方案为/cure <slug>。
只预先选择置信度最高的目标。
未指定 --safe 时,将目标作为决策展示并直接派发。
指定 --safe 时,等待用户选择。
用户做出非停止选项后,立即运行已捕获的派发数据包。
规则
- 切勿转述或总结下游技能的输出——这是下游技能的职责。
- 用户拒绝的问题关卡就是答案。不要再次提出;将待处理事项单独写成一行,然后等待用户自由输入。
基于基线的路由
将每个已记录的 baseline: 块视为已确定状态。不要重新询问相同的失败情况。
参见 ../cook/references/quality-gates.md。
参考资料
references/classification.md— 意图类型、信号、消歧规则。references/coherence-check.md— 派发前的自检,用于纠正错误路由。references/handoff-gate.md— 跨框架的选择后派发约定(由各工作流技能共用)。references/handback-contract.md— 每个阶段都会遵循的统一前言、状态用语,以及派发/交还边界清单。references/escalation.md— 完整的升级层级机制和规范发现检查。references/continue-resume.md—--continue恢复流程和--reground重新检查。references/routing-receipt.md— 终止路由回执、探测预算和快速路径。