一键导入
rpiv-loop-plan-feature
通过深入的代码库分析和研究创建全面的功能计划
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
通过深入的代码库分析和研究创建全面的功能计划
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
归档已完成的过程文件
一键启动全自主 agent 团队,自动完成从 PRD 到验证的完整 RPIV 开发流程。brainstorm 完成后使用此命令,无需人工介入。当用户提到"自动开发"、"团队开发"、"全自主"、"biubiubiu"时触发。
通过访谈对话澄清产品需求
对指定目录/模块/skill 进行全量代码审计(不依赖 git diff)。支持逻辑、安全、性能、架构、集成与环境、可迁移性 6 个维度的审查,特别适合审计 skills 是否绑定 Claude Code、Codex、opencode 或特定机器环境。
修复手动/AI 代码审查中发现的问题的流程
在提交前运行的技术代码审查,用于质量和错误检查
| 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 表示执行将在第一次尝试时成功
创建计划后,提供: