mcpField
C
cheese

cheese

github.com/paulnsorensenAgent 工作流19660 次安装6 天前更新
代码仓库

关于 cheese

cheese 是工作流路由器,可处理功能想法、缺陷、代码审查、研究和拉取请求等任务。它识别意图并分派给相应技能,必要时先澄清或请求确认;自身不编辑文件、运行测试或创建拉取请求。

主要功能

  1. 01识别多种请求意图
  2. 02将工作分派给专用技能
  3. 03澄清不确定的意图
  4. 04分派前可选确认
  5. 05根据交接记录恢复工作流

适用场景

  1. 01将功能请求路由到规格或实现
  2. 02将缺陷报告交由诊断流程
  3. 03把研究问题交给研究工作流
  4. 04恢复进行中的工作流

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/paulnsorensen/easy-cheese --skill cheese

安装后在 Claude Code 中输入/cheese确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
agent-resolution.md
ask-user-question-sources.md
ask-user-question.md
classification.md
code-intelligence-routing.md
coherence-check.md
continue-resume.md
diagram-templates.md
diagrams.md
escalation.md
formatting.md
handback-contract.md
handoff-gate.md
harness-portability.md
optional-plugins.md
routing-policy.md
routing-receipt.md
schema-intertwine.md
sliced-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。

流程

  1. 阅读完整的用户消息,而不只是 $ARGUMENTS。 将用户的其他所有文字都视为指令列表。 遵循当前有效的指令,而不是与之冲突的默认设置或交接协议。 交接文件会恢复状态。 用户当前的消息优先于它。 例外:当前指令绝不会免除恢复完整性门槛。 存在歧义、谱系未解决、完整性检查发现问题,或出现 status: gated: 时,都必须停止分派。 当前指令只会影响对干净旧版结果进行的知情信任门槛判断。 这些门槛由 references/continue-resume.md 管理。
  2. 先思考(不输出)。 按照 skills/culture/SKILL.md 在内部分析问题——重新表述请求、列出候选目标,并指出起决定作用的信号。输出的分类将决定步骤 2。
  3. 分类——将 $ARGUMENTS 与 references/classification.md 中的意图模式匹配。选择置信度最高的模式;若置信度低于门槛,则转到 clarify(由步骤 4 中的第 3 级升级处理)。
  4. 清晰度检查(仅限 cook 意图)。 对 cook 意图运行 Cook 的快速路径检查。 将 mold 意图分派到 /mold 的用户模式。 直接的 plate 意图跳过此检查。
  5. 必要时升级处理。 第 1 级分派所选目标。 当 /cook --auto 需要规格说明时,使用 /mold 的 Agent 模式。 第 2 级在内部调用 /culture 或 /briesearch,然后重新进行清晰度检查。 第 3 级会阻塞流程,提出一个经主机路由的针对性问题。 重新分类回答。 参见 ## 升级处理。
  6. 存在 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。
  7. 宣布——按照 ## 输出 中的格式打印简短区块(意图 / 原因 / 目标;存在 wiki 命中项时也一并列出)。引用推动路由决策的信号。
  8. 自检——运行 references/coherence-check.md 中的一致性问题。若任一项未通过,则降级到 clarify(第 3 级)或 research。
  9. 分派。 若未指定 --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。

输出

始终按顺序输出:

  1. 检测到的意图 — 一行,例如:Intent: cook (clear single-file fix)。

  2. 原因 — 一行,引用信号(reason: spec path .cheese/specs/foo.md)。

  3. 目标 — 所选技能,例如:Target: /cook .cheese/specs/foo.md。

  4. Wiki 命中项 — 为每个 handoff_context.wiki_hits 条目输出一行。 使用 wiki: <page>:<line> — <why>。 将这些行放在回执之前。 这样用户可以识别过时的 wiki 信息。 hallouminate 不存在时省略这些行。

  5. 路由回执 — 调度前输出的最后一行,必须是:

    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 — 终止路由回执、探测预算和快速路径。

评论

支持 Markdown