PIV工作流编排器——通过计划、实施、验证循环,实现系统化的多阶段软件开发。适用于基于PRP的分阶段功能构建、自动化验证循环或多代理编排。支持PRD创建、PRP生成、代码库分析及包含验证的迭代执行。
PIV Ralph Orchestrator. 参数: $ARGUMENTS. 使用此逻辑的 parse 参数: .是一项面向实际任务的技能,主要用于PRD 路径模式( 第一个参数以 . md 结尾). 如果第一个参数以 . md 结尾, 则它是 PRD 过滤器的直接路径。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
按以下逻辑解析参数:
.md 结尾)若首个参数以 .md 结尾,则其为 PRD 文件的直接路径:
PRD_PATH — PRD 文件的直接路径PROJECT_PATH — 从 PRDs/ 文件夹向上推导得出START_PHASE — 第二个参数(默认值:1)END_PHASE — 第三个参数(默认值:从 PRD 中自动检测)若首个参数不以 .md 结尾:
PROJECT_PATH — 项目绝对路径(默认值:当前工作目录)START_PHASE — 第二个参数(默认值:1)END_PHASE — 第三个参数(默认值:4)PRD_PATH — 从 PROJECT_PATH/PRDs/ 文件夹中自动发现If $ARGUMENTS[0] ends with ".md": PRD_PATH = $ARGUMENTS[0] PROJECT_PATH = dirname(dirname(PRD_PATH)) START_PHASE = $ARGUMENTS[1] or 1 END_PHASE = $ARGUMENTS[2] or auto-detect from PRD PRD_NAME = basename without extension Else: PROJECT_PATH = $ARGUMENTS[0] or current working directory START_PHASE = $ARGUMENTS[1] or 1 END_PHASE = $ARGUMENTS[2] or 4 PRD_PATH = auto-discover from PROJECT_PATH/PRDs/ PRD_NAME = discovered PRD basename
完成参数解析后:
PRD_PATH → MODE = "execute"(常规流程)PRD_PATH → MODE = "discovery"关键提示:每个角色在执行前,必须先阅读其对应指令文件。
| 角色 | 指令文件 |
|---|---|
| Discovery(无 PRD 场景) | 阅读 {baseDir}/references/piv-discovery.md |
| PRD 创建 | 阅读 {baseDir}/references/create-prd.md |
| PRP 生成 | 阅读 {baseDir}/references/generate-prp.md |
| 代码库分析 | 阅读 {baseDir}/references/codebase-analysis.md |
| Executor | 阅读 {baseDir}/references/piv-executor.md + {baseDir}/references/execute-prp.md |
| Validator | 阅读 {baseDir}/references/piv-validator.md |
| Debugger | 阅读 {baseDir}/references/piv-debugger.md |
前提条件:进入阶段工作流(Phase Workflow)前,必须已存在一份 PRD。若不存在 PRD,编排器将进入 Discovery 模式(详见下文)。
当 MODE = "discovery" 时:
PRDs/、PRPs/templates/、PRPs/planning/ 目录)PROJECT_PATH/PRDs/PRD-{project-name}.md 中撰写 PRDPRD_PATH 设为生成的 PRD 路径,并自动检测阶段 → 继续进入 Phase Workflow编排器直接处理 discovery 和 PRD 生成(无需子代理 —— 交互式问答需保持在同一会话内,且答案已存在于上下文中,可直接用于 PRD 生成)。
“上下文预算:约 15% 属于编排器,100% 为各子代理提供全新上下文”
你作为编排器,应保持轻量、专注流程管理。你不得自行执行 PRP —— 而应为每项任务启动具备全新上下文的专用子代理。
子代理启动方式:使用 sessions_spawn 工具创建全新子代理会话。每次启动均为非阻塞操作 —— 你将通过 announce 步骤接收结果。请务必等待每个子代理返回结果后,再进入下一步。
若项目尚无 PIV 目录结构,请创建:
mkdir -p PROJECT_PATH/PRDs PROJECT_PATH/PRPs/templates PROJECT_PATH/PRPs/planning
若 {baseDir}/assets/prp_base.md 尚未复制至 PROJECT_PATH/PRPs/templates/prp_base.md,则执行复制。
若 PROJECT_PATH/WORKFLOW.md 尚不存在,则从 {baseDir}/assets/workflow-template.md 创建。
对从 START_PHASE 到 END_PHASE 的每个阶段依次执行:
检查是否存在已有 PRP:
ls -la PROJECT_PATH/PRPs/ 2>/dev/null | grep -i "phase.*N|pN|p-N"
若无 PRP 存在,则使用 sessions_spawn 启动一个全新子代理,按顺序完成代码库分析与 PRP 生成:
RESEARCH & PRP GENERATION MISSION - Phase {N}
==============================================
Project root: {PROJECT_PATH}
PRD Path: {PRD_PATH}
## Phase {N} Scope (from PRD)
{paste phase scope}
## Step 1: Codebase Analysis
Read {baseDir}/references/codebase-analysis.md for the process.
Save to: {PROJECT_PATH}/PRPs/planning/{PRD_NAME}-phase-{N}-analysis.md
## Step 2: Generate PRP (analysis context still loaded)
Read {baseDir}/references/generate-prp.md for the process.
Use template: PRPs/templates/prp_base.md
Output to: {PROJECT_PATH}/PRPs/PRP-{PRD_NAME}-phase-{N}.md
Do BOTH steps yourself. DO NOT spawn sub-agents.
使用 sessions_spawn 启动一个全新子代理:
EXECUTOR MISSION - Phase {N}
============================
Read {baseDir}/references/piv-executor.md for your role definition.
Read {baseDir}/references/execute-prp.md for the execution process.
PRP Path: {PRP_PATH}
Project: {PROJECT_PATH}
Follow: Load PRP → Plan Thoroughly → Execute → Validate → Verify
Output EXECUTION SUMMARY with Status, Files, Tests, Issues.
使用 sessions_spawn 启动一个全新子代理:
VALIDATOR MISSION - Phase {N}
=============================
Read {baseDir}/references/piv-validator.md for your validation process.
PRP Path: {PRP_PATH}
Project: {PROJECT_PATH}
Executor Summary: {SUMMARY}
Verify ALL requirements independently.
Output VERIFICATION REPORT with Grade, Checks, Gaps.
结果处理: PASS → 提交 | GAPS_FOUND → 启动 debugger | HUMAN_NEEDED → 向用户提问
使用 sessions_spawn 启动一个全新子代理:
DEBUGGER MISSION - Phase {N} - Iteration {I}
============================================
Read {baseDir}/references/piv-debugger.md for your debugging methodology.
Project: {PROJECT_PATH}
PRP Path: {PRP_PATH}
Gaps: {GAPS}
Errors: {ERRORS}
Fix root causes, not symptoms. Run tests after each fix.
Output FIX REPORT with Status, Fixes Applied, Test Results.
Debugger 执行完毕后:重新验证 → 若 PASS 则提交;若仍存在 GAP,则继续循环(最多 3 轮);否则升级上报。
cd PROJECT_PATH && git status && git diff --stat
生成符合语义的 commit message,末尾注明:Built with FTW (First Try Works) - https://github.com/SmokeAlot420/ftw。
标记当前阶段已完成,并记录验证结果。
回到步骤 1,处理下一阶段。
当子代理发生超时或失败时:
## PIV RALPH COMPLETE Phases Completed: START to END Total Commits: N Validation Cycles: M ### Phase Summary: - Phase 1: [feature] - validated in N cycles ... All phases successfully implemented and validated.
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.5万人学习