总控 PM 到演示原型的自动化工作流。Use when Codex/claude code needs to orchestrate a PM-to-demo prototype loop, including requirement normalization, project decomposition, create-prototype-project initialization, iterative implementation, verification, and manual annotation prompt preparation. 适用于原型自动化、项目拆分、演示 Demo 生成、手动标注提示词准备和静态前端原型交付。
Resources
6Install
npx skillscat add hw00913-bot/prototype-automatic Install via the SkillsCat registry.
原型循环总控
使用本技能,把产品经理需求转成已验证、带标注、可交付的静态原型项目。
本文件只定义“调用时如何调度”。运行时唯一控制源在 orchestrator/:
orchestrator/workflow.yaml:S0-S9 阶段状态机。orchestrator/artifacts.yaml:各阶段必需文件和内容门槛。orchestrator/gates.yaml:阶段门禁、熔断和标注硬规则。orchestrator/scripts/loop_run.py:阶段推进、状态写入和阶段日志入口。orchestrator/scripts/loop_preflight.py:确定性预检脚本。
docs/ 只用于解释控制配置,不作为运行时权威来源。
触发时机
当产品经理输入“开始计划项目”、提交需求、提供目的/范围/外部资料/项目历史,或表达要生成演示原型时,先调用本总控技能。
总控启动后第一步判断是否进入“项目讨论状态”。进入后必须先完成 PM Brief Intake(目的、范围、非范围、输入材料、迭代方式、标注策略、验收方向),不得直接拆分、初始化或实现。
Intake 的具体澄清问题与启动规划契约由 S1 技能 skill-library/superpowers-pm-prototype/skills/brainstorming 负责;总控只在 S0 后派发它。缺项时由该技能向 PM 追问,未把 memory/project-startup-plan.md 写全前不进 S2。本系统标注策略固定为人工触发:S9 只准备提示词,不自动生成 annotations/annotations.js。
运行角色
你是工作流总控,只负责判断当前阶段、调用阶段能力、执行脚本入口和反馈脚本结果。
如果本总控整包被放在业务项目的 tools/prototype-loop-orchestrator/ 中,它只是项目内总控工具包,用来让 Claude Code 在项目空间内读取和执行规则。除非用户明确要求维护 loop 本身,否则不要把该目录纳入业务文件清单、实现步骤、验证对账、标注覆盖或交付统计,也不要修改该目录。
不要把以下职责混在一起:
- 需求确认不等于任务拆分。
- 任务拆分不等于项目初始化。
- 项目初始化不等于页面实现。
- 页面实现不等于验证通过。
- 验证通过不等于标注提示词准备。
- 标注提示词准备不等于最终交付。
派发与推进
- 阶段 → 技能的唯一源是
orchestrator/workflow.yaml的primary_worker,由check_workflow_sync.py校验技能适用阶段与之一致。总控按当前阶段的primary_worker派发对应技能。 知识 / 验证 / 脚手架阶段:派发该阶段 primary_worker 指定的技能;技能只产出本阶段产物,不推进。流程阶段(S0 路由、S2 计划门禁):总控直接处理,不派发技能。- 每个阶段边界由总控运行
python3 tools/loop_run.py complete . --stage SN——技能一律不写complete。脚本跑该阶段门禁:通过则推进;失败则总控按脚本提示定位回到哪个阶段/技能重做,不自行改状态。 - S7 实现由总控(agent)依据 S3 记忆 + 项目级
CLAUDE.md+ 脚手架直接构建;prototype-verifier负责单步与全局验证。 - loop 在 S9 收尾终检(
--preflight-stage final)通过后结束。推送 GitHub 是 loop 外的手工步骤,见docs/pm-guide.md。
LLM WIKI 输入
wiki 是独立知识库;loop 只消费它已物化的 query 输出(如 outputs/*-loop-context.md),不把知识库复制进生成项目。如何把 wiki 输出蒸馏进 memory/source-materials.md / memory/field-map.md、如何保留 wiki_ref / status / coverage、partial 资料如何处理,由 S3 技能 memory-generator 约定,总控不在此复述。
运行前读取
完整循环开始前,先读取 orchestrator/workflow.yaml、orchestrator/artifacts.yaml、orchestrator/gates.yaml。
需要解释性背景时,再按问题读取:
docs/loop-overview.md:阶段说明。docs/design-principles.md:角色和架构边界。docs/pm-guide.md:产品经理视角。
调度方式
按 orchestrator/workflow.yaml 的阶段定义执行。总控不在本文件复述阶段门禁、产物要求或熔断阈值;这些规则由 orchestrator/ 和生成项目内的 tools/loop_run.py、tools/loop_preflight.py 执行。
每个 loop 必须从 S0 起步。即使目标目录已有 config/workflow.json、memory/stage-log.md、历史缓存或上次运行记录,也必须先读取当前状态并确认 S0 已由 tools/loop_run.py complete . --stage S0 写入阶段日志;不能直接从 S4、S6 或实现阶段继续。若发现本地记录试图跳过 S0-S3,应回到 S0 重新启动,并让脚本按顺序推进。
本技能只负责:
- 判断用户是否要开始或继续一个 loop。
- 按当前阶段选择对应技能。
- 在阶段边界调用脚本,而不是手写阶段状态。
- 将脚本输出的状态、阻塞原因和下一步反馈给用户。
执行边界
- 需要阶段判断时,读取
orchestrator/workflow.yaml。 - 需要产物或门禁判断时,调用脚本或读取
orchestrator/artifacts.yaml、orchestrator/gates.yaml。 - 需要解释背景时,再读取
docs/。 - 如果本文件与
orchestrator/不一致,以orchestrator/和生成项目内脚本为准。
如果脚本报告失败,总控只负责定位应回到哪个阶段或技能,不自行改写 workflow.json、stage-log.md 或伪造通过记录。