预工程技能(PRE Engineering Skill)
v1.0.0PRE 工程 — 初始化一个 PRE(计划-审查-执行)多智能体协作项目。触发条件:用户想要初始化一个多智能体协作项目,提到 PRE 系统、PRE 工程,想要设置协作智能体,想要初始化智能体协作项目文档,询问如何让多个 AI 角色在项目中协作,提到计划-审查-执行,想要使用协作日志来驱动多智能体工作,想要创建规划者/执行者/审查者指南文档,想要启动 PRE 协作工作流程,或者表达了多智能体协作意图而没有明确提到 PRE。
运行时依赖
安装命令
点击复制技能文档
PRE 工程指南指导用户描述项目需求,交互式地完善它们,确认并输出项目文档,然后提供启动说明。
概述 PRE 系统通过三个代理角色 — Planner、Executor 和 Reviewer — 运作,使用协作日志作为唯一的协调媒介,项目目标文档作为驱动核心,项目代码作为决策基础,实现代理之间的自治协作和持续运作。这个技能为用户的项目设置了 PRE 协作框架:通过交互式 Q&A 收集项目需求,确认后生成 5 个协作文档,并提供启动三个代理的说明。PRE 不是一个独立的项目 —— 它是一个为现有项目添加多代理协作能力的框架。
交互式需求收集 使用 2 个步骤与用户交互,尽量减少确认请求。在收集过程中,主动帮助完善需求 —— 删除重复项,规范化描述,填充缺失的技术约束,自动推断信息。
步骤 1:一次性收集所有需求 单个 AskUserQuestion 收集所有:项目概述、功能、技术约束、特殊说明。自动扫描项目目录以推断可用信息,减少手动输入。 { "questions": [{ "header": "项目需求", "multiSelect": false, "options": [ {"label": "手动输入", "description": "直接提供所有项目信息(概述、功能、约束、说明)"}, {"label": "从现有文档推断", "description": "自动扫描项目目录(README、package.json 等)并推断信息"} ], "question": "请提供项目信息。你可以分别描述:\n1. 项目名称和概述(1-2 句)\n2. 功能(每行一个)\n3. 技术约束(技术栈、架构、质量要求)—— 或说 '无约束'\n4. 特殊说明(第三方集成、合规等)—— 或说 '无'\n\n示例:\n项目:电子商务后端\n概述:构建支持产品管理、订单处理和用户认证的后端\n功能:用户注册/登录、产品列表、订单管理、支付集成\n约束:Python + FastAPI、PostgreSQL、RESTful API、≥80% 单元测试覆盖率\n说明:支付集成第三方 API,需要 PCI 合规" }] }
信息推断规则: 自动扫描 README.md、设计文档、package.json、requirements.txt 等以提取概述和技术栈 如果项目目录有结构化的需求(例如 SPEC.md),直接提取功能列表 将推断结果呈现给用户以确认或修改 收集后,完善需求:删除重复项,规范化描述,补充缺失的维度(用户管理、错误处理等)。
步骤 2:确认草稿并生成文档 将收集的信息合成项目目标文档草稿,并呈现给用户以进行最终确认。确认后,生成所有 5 个核心文档。 { "questions": [{ "header": "确认和生成", "multiSelect": false, "options": [ {"label": "确认,生成所有文档", "description": "满意项目目标文档 —— 开始生成所有 5 个项目文档"}, {"label": "需要修订", "description": "不满意某些内容 —— 调整它"} ], "question": "这是从您的描述生成的项目目标文档草稿:\n\n{项目目标草稿内容}\n\n您是否满意?" }] } 如果用户选择 "需要修订",询问需要调整什么,修改草稿,并重新呈现直到确认。确认后,以以下格式写入项目目录中的 .pre/project-goals.md: # 项目目标
概述 {用户提供的项目概述}
功能需求
- {用户提供的功能需求,每行一个}
技术约束
- {用户提供的技术约束,每行一个}
- {如果用户选择 '无特殊约束',写入:Planner 和 Executor 可以根据项目性质选择合适的技术栈和架构}
说明
- {用户提供的特殊说明,每行一个}
- {如果用户选择 '无说明',写入:目前没有特殊要求}
重要:项目目标文档不包括 "当前状态" 或 "优先级" 字段。项目状态由协作日志管理;优先级由 Planner 确定。代理只能读取此文档 —— 不能修改它。
协作日志初始条目 确认后,写入项目目录中的 .pre/collaboration-log.md,创建初始条目以驱动 Planner 开始第一个规划周期: # 协作日志
[{当前日期时间}] 人类 —— 项目启动
- 初始化项目,Planner 请开始第一个规划周期
- 状态:PLN_