ワンクリックで
rpiv-loop-plan-feature
通过深入的代码库分析和研究创建全面的功能计划
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
通过深入的代码库分析和研究创建全面的功能计划
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
归档已完成的过程文件
一键启动全自主 agent 团队,自动完成从 PRD 到验证的完整 RPIV 开发流程。brainstorm 完成后使用此命令,无需人工介入。当用户提到"自动开发"、"团队开发"、"全自主"、"biubiubiu"时触发。
通过访谈对话澄清产品需求
对指定目录/模块/skill 进行全量代码审计(不依赖 git diff)。支持逻辑、安全、性能、架构、集成与环境、可迁移性 6 个维度的审查,特别适合审计 skills 是否绑定 Claude Code、Codex、opencode 或特定机器环境。
修复手动/AI 代码审查中发现的问题的流程
在提交前运行的技术代码审查,用于质量和错误检查
SOC 職業分類に基づく
| name | rpiv-loop:plan-feature |
| description | 通过深入的代码库分析和研究创建全面的功能计划 |
| argument-hint | <功能描述或 PRD 路径> |
| allowed-tools | Read, Write, Edit, Bash, Glob, Grep, Agent, AskUserQuestion, WebSearch, WebFetch |
| version | 2.17.5 |
<rpiv-loop-root>解析顺序:环境变量RPIV_LOOP_ROOT->CLAUDE_PLUGIN_ROOT-> 当前插件根目录;均不存在时停止并请用户配置RPIV_LOOP_ROOT或CLAUDE_PLUGIN_ROOT。
通过系统的代码库分析、外部研究和战略规划,将功能请求转换为全面的实施计划。
核心原则:在此阶段我们不编写代码。我们的目标是创建一个上下文丰富的实施计划,使 AI 代理能够一次性成功实施。
关键理念:上下文为王。计划必须包含实施所需的所有信息——模式、必读内容、文档、验证命令——以便执行代理在第一次尝试时就能成功。
在开始规划前执行状态管理:
rpiv/requirements/prd-*.mdpending → 更新为 in-progress,更新 updated_atin-progress → 可能是上次会话中断。提示用户但继续执行(Plan 创建完成后仍会将 PRD 标记为 completed)completed → PRD 已完成,正常继续superseded → 警告用户此 PRD 已被取代,询问是否仍要基于它创建 Planplan-{name}-v2.md,而 plan-{name}.md 已存在;或新建的 feature-{name}-complete.md 取代旧 todo todo-{name}-refine.md)。如果存在旧版本且状态不是 superseded / archived,按文件类型分别处理:
superseded。确认后更新旧文件 frontmatter:status: superseded,追加 superseded_by: {新文件路径},更新 updated_at;同时建议在新文件反向加 supersedes: {旧文件路径} 形成双向闭环。superseded(hook 会拒)。使用 AskUserQuestion 询问用户是否将被取代的旧 todo 直接归档:确认后更新旧文件 frontmatter status: archived,追加 superseded_by: {新文件路径} 作为追溯笔记,更新 updated_at。这与 flow_status 对误标 superseded 的 todo 的自动归一化产出一致——就地 status: archived 即逻辑终态;archive 技能只归档 completed/superseded,不会再搬已 archived 的文件,故 archived_at 可不补、物理位置不强制。深入功能分析:
创建用户故事格式或完善用户提供的故事:
作为 <用户类型>
我想要 <行动/目标>
以便 <收益/价值>
使用专门的代理和并行分析:
1. 项目结构分析
2. 模式识别(在有益时使用专门的子代理)
3. 依赖分析
4. 测试模式
5. 集成点
澄清模糊之处:
在有益时使用专门的子代理进行外部研究:
文档收集:
技术趋势:
编译研究参考:
## 相关文档
- [库官方文档](https://example.com/docs#section)
- 特定功能实施指南
- 原因:需要 X 功能
- [框架指南](https://example.com/guide#integration)
- 集成模式部分
- 原因:展示如何连接组件
深入思考:
设计决策:
使用以下结构创建全面的计划:
以下是您为实施代理填写的模板:
# 功能:<功能名称>
以下计划应该是完整的,但在开始实施之前,验证文档和代码库模式以及任务合理性非常重要。
特别注意现有工具、类型和模型的命名。从正确的文件导入等。
## 功能描述
<功能的详细描述、其目的和对用户的价值>
## 用户故事
作为 <用户类型>
我想要 <行动/目标>
以便 <收益/价值>
## 问题陈述
<明确定义此功能要解决的具体问题或机会>
## 解决方案陈述
<描述提议的解决方案方法以及它如何解决问题>
## 功能元数据
**功能类型**:[新功能/增强/重构/错误修复]
**估计复杂度**:[低/中/高]
**主要受影响的系统**:[主要组件/服务列表]
**依赖项**:[所需的外部库或服务]
**隔离开发**:[是/否] — 中大型功能或需要随时切回主分支时选"是",execute 阶段据此决定是否创建 Git Worktree
---
## 上下文参考
### 相关代码库文件 重要:在实施之前必须阅读这些文件!
<列出文件及其行号和相关性>
- `path/to/file.py` (第 15-45 行) - 原因:包含我们将镜像的 X 模式
- `path/to/model.py` (第 100-120 行) - 原因:要遵循的数据库模型结构
- `path/to/test.py` - 原因:测试模式示例
### 要创建的新文件
- `path/to/new_service.py` - X 功能的服务实现
- `path/to/new_model.py` - Y 资源的数据模型
- `tests/path/to/test_new_service.py` - 新服务的单元测试
### 相关文档 在实施之前应该阅读这些!
- [文档链接 1](https://example.com/doc1#section)
- 特定部分:身份验证设置
- 原因:实施安全端点所需
- [文档链接 2](https://example.com/doc2#integration)
- 特定部分:数据库集成
- 原因:展示正确的异步数据库模式
### 要遵循的模式
<从代码库中提取的特定模式 - 包括项目中的实际代码示例>
**命名约定:**(例如)
**错误处理:**(例如)
**日志记录模式:**(例如)
**其他相关模式:**(例如)
---
## 实施计划
### 阶段 1:基础
<描述主要实施之前所需的基础工作>
**任务:**
- 设置基础结构(模式、类型、接口)
- 配置必要的依赖项
- 创建基础工具或辅助函数
### 阶段 2:核心实施
<描述主要的实施工作>
**任务:**
- 实施核心业务逻辑
- 创建服务层组件
- 添加 API 端点或接口
- 实施数据模型
### 阶段 3:集成
<描述功能如何与现有功能集成>
**任务:**
- 连接到现有的路由器/处理器
- 注册新组件
- 更新配置文件
- 如果需要,添加中间件或拦截器
### 阶段 4:测试与验证
<描述测试方法>
**任务:**
- 为每个组件实施单元测试
- 创建功能工作流的集成测试
- 添加边缘情况测试
- 根据验收标准进行验证
---
## 逐步任务
默认按顺序从上到下执行。标记了 `DEPENDS_ON` 的任务,无依赖项之间可并行执行(biubiubiu 模式下由 Leader 据此分配 Dev agent)。每个任务都是原子的且可独立验证。
### 任务格式指南
使用信息密集的关键字以提高清晰度:
- **CREATE**:新文件或组件
- **UPDATE**:修改现有文件
- **ADD**:在现有代码中插入新功能
- **REMOVE**:删除已弃用的代码
- **REFACTOR**:在不改变行为的情况下重构
- **MIRROR**:从代码库的其他地方复制模式
### 任务 N:{ACTION} {target_file}
- **DEPENDS_ON**:[前置任务编号,无依赖则留空] — 用于识别可并行的任务
- **IMPLEMENT**:{具体实施细节}
- **PATTERN**:{对现有模式的引用 - 文件:行号}
- **IMPORTS**:{所需的导入和依赖项}
- **GOTCHA**:{要避免的已知问题或约束}
- **PROPAGATE**(可选,仅当存在强传导依赖时填):{改动本任务 target_file 时必须同步检查/修改的下游文件——典型如配置常量、期望值表、测试断言(如改 `layouts.yaml` 须同步 `EXPECTED_LAYOUT_*` 常量 + 对应 test 断言行)。无强传导依赖则留空}
- **VALIDATE**(必填):`{该任务完成后的独立验证命令}`
<按依赖顺序继续所有任务...>
---
## 测试策略
<根据项目的测试框架和研究期间发现的模式定义测试方法>
### 单元测试
<基于项目标准的范围和需求>
按照现有测试方法使用 fixtures 和断言设计单元测试
### 集成测试
<基于项目标准的范围和需求>
### 边缘情况
<列出此功能必须测试的特定边缘情况>
---
## 验证命令
<根据阶段 2 中发现的项目工具定义验证命令>
执行每个命令以确保零回归和 100% 功能正确性。
### 级别 1:语法和样式
<项目特定的代码检查和格式化命令>
### 级别 2:单元测试
<项目特定的单元测试命令>
### 级别 3:集成测试
<项目特定的集成测试命令>
### 级别 4:手动验证
<功能特定的手动测试步骤 - API 调用、UI 测试等>
### 级别 5:额外验证(可选)
<MCP 服务器或可用的额外 CLI 工具>
---
## 验收标准
<列出必须满足的特定、可衡量的完成标准>
- [ ] 功能实现了所有指定的功能
- [ ] 所有验证命令通过,零错误
- [ ] 单元测试覆盖率满足要求(80%+)
- [ ] 集成测试验证端到端工作流
- [ ] 代码遵循项目约定和模式
- [ ] 现有功能无回归
- [ ] 文档已更新(如果适用)
- [ ] 性能满足要求(如果适用)
- [ ] 已解决安全考虑(如果适用)
---
## 完成检查清单
- [ ] 所有任务按顺序完成
- [ ] 每个任务验证立即通过
- [ ] 所有验证命令成功执行
- [ ] 完整测试套件通过(单元 + 集成)
- [ ] 无代码检查或类型检查错误
- [ ] 手动测试确认功能有效
- [ ] 所有验收标准均满足
- [ ] 代码已审查质量和可维护性
---
## 备注
<额外的上下文、设计决策、权衡>
目的:与 plan 文件同步生成结构化的 Gherkin 风格验收判据(AC),作为 validate 填写证据、delivery-report 门禁校验的唯一真实源。
文件路径:rpiv/validation/<feature>/acceptance.yaml(若目录不存在需一并创建)。
plan 阶段职责(本 SKILL 只写以下字段):
id:全文件唯一,格式 AC-NNN(三位数字),禁止重复given / when / then:严格按 Gherkin 三段式书写verification_method:具体到命令 / 测试文件路径 / 脚本名,禁止"人工检查"这种泛词blocking:true 表示强约束项,交付前必须 passed 或 not_applicable;false 为软性目标notes(可选):额外上下文validate 阶段后续职责(不要在 plan 阶段预填):
evidence:执行 verification_method 后的具体证据(路径:行号 / 日志片段 / 截图文件名)status:passed / failed / not_applicable(初始留空,由 QA 翻状态)delivery-report 阶段职责:只读 acceptance.yaml,禁止修改任何字段。check_acceptance.py 通过 uv run --no-project python <rpiv-loop-root>/tools/check_acceptance.py <feature> 校验后以退出码决定能否出具交付报告。
质量门(plan 阶段自检清单):
acceptance.yaml 条目数 ≥ 3id 唯一且连号verification_method 非空且具体blocking: true 项都配了可执行的 verification_methodgiven/when/then 用祈使句描述系统行为,禁止"用户应该感觉良好"这种无法验证的措辞YAML 示例(最小可用模板,复制后替换内容):
# rpiv/validation/<feature>/acceptance.yaml
# 由 plan-feature 阶段产出骨架;validate 阶段填 evidence/status;delivery-report 只读不改
feature: <feature-name>
prd: prd-<feature-name>
plan: plan-<feature-name>
acceptance_criteria:
- id: AC-001
given: 用户已配置 dod.yaml 且首次进入 rpiv-loop 工作流
when: 执行 /rpiv-loop:prime 命令
then: ensure_project_dod.py 被调用,rpiv/dod.yaml 已存在则静默跳过
verification_method: uv run pytest tests/test_ensure_project_dod.py::test_idempotent_on_second_run
blocking: true
evidence: ""
status: ""
notes: ""
- id: AC-002
given: acceptance.yaml 存在一条 blocking AC 且 status 为空
when: 触发 Write delivery-report-<feature>.md
then: PostToolUse hook 退出码 2,stderr 提示 "DoD gate 未通过"
verification_method: bash tests/integration/test_hook_blocks_unverified.sh
blocking: true
evidence: ""
status: ""
notes: ""
- id: AC-003
given: 8 条 AC 全部 passed 且 evidence 非空
when: 运行 uv run --no-project python <rpiv-loop-root>/tools/check_acceptance.py <feature>
then: 退出码 0,stdout 含 "ALL PASS"
verification_method: uv run --no-project python <rpiv-loop-root>/tools/check_acceptance.py <feature>
blocking: true
evidence: ""
status: ""
notes: ""
产出约束:
acceptance.yaml 与 plan.md 同一会话内产出,缺一不可acceptance.yamlcheck_acceptance.py 构成闭环:plan 写骨架 → validate 翻状态 → delivery-report 校验通过才放行文件名:rpiv/plans/plan-{kebab-case-feature-name}.md
{kebab-case-feature-name} 替换为简短、描述性的功能名称plan-user-authentication.md、plan-search-api.md、plan-database-refactor.md目录:如果不存在,创建 rpiv/plans/
文件必须包含 YAML frontmatter 和内容:
---
description: "功能实施计划: {feature-name}"
status: pending
created_at: {YYYY-MM-DDTHH:MM:SS}
updated_at: {YYYY-MM-DDTHH:MM:SS}
archived_at: null
related_files:
- rpiv/requirements/prd-{feature-name}.md # 如果存在相关 PRD
---
# {计划内容}
Frontmatter 字段说明:
description: 文件描述status: 文件状态,新创建时固定为 pendingcreated_at: 创建时间戳,ISO 8601 格式updated_at: 更新时间戳,创建时与 created_at 相同archived_at: 归档时间戳,创建时固定为 nullrelated_files: 关联文件列表(如果存在相关 PRD 则添加)计划创建完成后:
in-progress 改为 completedupdated_at 时间戳/clear 后执行 /rpiv-loop:execute rpiv/plans/plan-{feature-name}.md 开始实施。"一次性实施:执行代理可以在没有额外研究或澄清的情况下完成功能
验证完整:每个任务至少有一个有效的验证命令
上下文丰富:计划通过"无先验知识测试" - 不熟悉代码库的人可以仅使用计划内容进行实施
信心分数:#/10 表示执行将在第一次尝试时成功
创建计划后,提供: