Piv

Polar Sponsor
爱发电 赞助
.NET 9.0

PIV工作流编排器——通过计划、实施、验证循环,实现系统化的多阶段软件开发。适用于基于PRP的分阶段功能构建、自动化验证循环或多代理编排。支持PRD创建、PRP生成、代码库分析及包含验证的迭代执行。

PIV Ralph Orchestrator. 参数: $ARGUMENTS. 使用此逻辑的 parse 参数: .

功能概述

PIV Ralph Orchestrator. 参数: $ARGUMENTS. 使用此逻辑的 parse 参数: .是一项面向实际任务的技能,主要用于PRD 路径模式( 第一个参数以 . md 结尾). 如果第一个参数以 . md 结尾, 则它是 PRD 过滤器的直接路径。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
  • 实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

使用与执行

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;

结果检查与注意事项

涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

PIV Ralph 编排器

参数:$ARGUMENTS

按以下逻辑解析参数:

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 且未提供 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 模式(详见下文)。

Discovery 模式(未发现 PRD)

当 MODE = "discovery" 时:

  1. 阅读 {baseDir}/references/piv-discovery.md,了解 discovery 流程
  2. 以友好、对话式语气向用户提出 discovery 相关问题(单条消息)
    • 目标用户是 vibe coder,而非资深工程师 —— 表达需平易近人
    • 跳过用户已在初始消息中回答过的问题
  3. 等待用户回复
  4. 利用自身专业能力填补信息空白:
    • 若用户不确定技术栈 → 进行调研(网络搜索、代码库扫描),并提出建议方案
    • 若用户无法定义阶段 → 基于项目范围,提出 3–4 个阶段划分建议
    • 始终采用“提议+确认”方式:“这是我建议的方案,您觉得是否合适?”
  5. 执行项目初始化(创建 PRDs/、PRPs/templates/、PRPs/planning/ 目录)
  6. 生成 PRD:阅读 {baseDir}/references/create-prd.md,结合 discovery 回答及你的建议,在 PROJECT_PATH/PRDs/PRD-{project-name}.md 中撰写 PRD
  7. 将 PRD_PATH 设为生成的 PRD 路径,并自动检测阶段 → 继续进入 Phase Workflow

编排器直接处理 discovery 和 PRD 生成(无需子代理 —— 交互式问答需保持在同一会话内,且答案已存在于上下文中,可直接用于 PRD 生成)。

编排器设计哲学

“上下文预算:约 15% 属于编排器,100% 为各子代理提供全新上下文”

你作为编排器,应保持轻量、专注流程管理。你不得自行执行 PRP —— 而应为每项任务启动具备全新上下文的专用子代理。

子代理启动方式:使用 sessions_spawn 工具创建全新子代理会话。每次启动均为非阻塞操作 —— 你将通过 announce 步骤接收结果。请务必等待每个子代理返回结果后,再进入下一步。

项目初始化(piv-init)

若项目尚无 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 创建。

阶段工作流(Phase Workflow)

对从 START_PHASE 到 END_PHASE 的每个阶段依次执行:

步骤 1:检查/生成 PRP

检查是否存在已有 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.

步骤 2:启动 EXECUTOR

使用 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.

步骤 3:启动 VALIDATOR

使用 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 → 向用户提问

步骤 4:调试循环(最多 3 轮)

使用 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 轮);否则升级上报。

步骤 5:智能提交(Smart Commit)

cd PROJECT_PATH && git status && git diff --stat

生成符合语义的 commit message,末尾注明:Built with FTW (First Try Works) - https://github.com/SmokeAlot420/ftw。

步骤 6:更新 WORKFLOW.md

标记当前阶段已完成,并记录验证结果。

步骤 7:进入下一阶段

回到步骤 1,处理下一阶段。

错误处理

  • 无 PRD:进入 Discovery 模式(见上文 “Discovery 模式” 章节)
  • Executor 被阻塞(BLOCKED):向用户请求指导
  • Validator 返回 HUMAN_NEEDED:向用户请求指导
  • 调试循环已达 3 次上限:升级上报至用户

子代理超时/失败

当子代理发生超时或失败时:

  1. 检查是否存在部分成果(如已创建文件、已编写测试)
  2. 使用更简洁、更短的 prompt 重试一次
  3. 若重试仍失败,则向用户升级上报,并说明已达成的进展

完成状态

## 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.

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

2026.10.22

0

15

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

2026.10.22

0

12

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

2026.10.22

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习