自动化与脚本
在需要深度批判或改进最近产出时…
当用户要求对最近的产出(章节、计划、草稿或决策)进行更深层批判或提到某种深度批判方法时,提供一套可选启发式方法菜单并执行,返回改进后的版本。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
在需要深度批判或改进最近产出时,用多种启特定
解决思路
- 激活时先解析自定义配置:运行 `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow`;若脚本不存在,说明 BMad 未安装,提议运行 `bmad` 技能的安装流程(必要时先执行 `npx skills add bmad-code-org/BMAD-METHOD --skill bmad`),然后重跑该命令;若其他失败,直接读取 `{skill-root}/customize.toml` 并使用默认值。
- 在整个会话中持有所有 `{workflow.preferences}` 条目,锁定目标(默认为对话中最近的产出,除非调用方或用户另行指定),并呈现第一个菜单。
- 通过 `scripts/pick_methods.py` 提供方法目录,避免整个目录进入上下文(唯一例外是用户要求列出全部目录时)。调用方式:`uv run {skill-root}/scripts/pick_methods.py --file {workflow.methods_file} <command>`;若 `{workflow.additional_methods}` 非空,每次调用都加上 `--extra '<其条目组成的 JSON 数组>'`(或指向含这些条目的 JSON 文件的路径),使自定义方法在菜单、重洗和列表中同等对待。
- 使用子命令:`categories` 获取类别名与数量(廉价地图);`list --category <cat> [--category <cat>]` 列出所选类别的索引,`--all` 仅在列出全部时转储整个目录;`show <name-or-num> [...]` 按名称或编号显示完整行;`random -n 5 --spread [--exclude <name>]...` 做类别多样化的随机抽取。
- 首个菜单:运行 `categories`,挑选 2–4 个契合目标的类别(发布前选风险类、代码选技术类、利益相关方冲突选协作类、内容平淡选创意类),对它们执行 `list`,手工挑选五个从不同角度攻击目标的方法,并遵守 `{workflow.preferences}`。
- 重洗:运行 `random -n 5 --spread`,排除所有已提供过的方法。
- 呈现菜单并 HALT 让用户选择:五个方法(按名称列出,用户可选一个或多个)、Reshuffle(用五个新选项替换列表)、List all(显示带描述的完整目录)、Proceed(不再进行启发)。当会话中 party mode 激活时,在标题下加上 `_Party mode is active — agents will join in._`。
- 若用户选择方法:依次运行它们(多个则按顺序),然后再次提供菜单。
- 若用户选择 Reshuffle:按上述方式重洗并再次提供菜单。
- 若用户选择 List all:以紧凑表格显示完整目录(`list --all`);按名称或编号选择时按方法选择处理。
- 若用户选择 Proceed:结束。当前增强版本即为该内容的最终版:将其作为调用方原有内容的替代交回,并发出完成信号使其继续。若有任何展示内容从未被接受,返回前确认哪些应保留。
- 任何其他回复都是指示:将其应用到目标并再次提供菜单。
- 运行方法时,以方法的 description 作为其意图、output_pattern 作为灵活的流程指南;根据目标规模调整深度——一段文字做轻量处理,架构决策做完整处理。每次应用都作用于当前增强版本,使改进层层叠加。
- 展示方法揭示的内容及其提议的改动,然后 HALT 让用户选择:Apply(接受提议的改动)、Reject(完全丢弃提议),或给出不同指示。
- 除非用户接受提议,否则绝不改动作品。若用户拒绝,完全丢弃提议。任何其他回复都是要遵循的指示。
- 当方法需要设定角色(圆桌、小组、辩论)时,若 party mode 激活则复用会话中已有的 party 成员;否则按需通过 `uv run {project-root}/_bmad/scripts/roster.py --skill {skill-root} --project-root {project-root}` 解析已安装的 agent(其 `agents` 表以 agent code 为键,每项含 name、title、icon、persona)。若两者都无合适人选,则虚构契合内容的具名观点。
适用边界 · 注意事项
- BMad 未在此环境安装且用户不愿运行安装流程时
- 用户只是想要简单确认或快速产出、不需要深度批判时
- 目标内容尚未产出、没有可批判的最近输出时