with one click
rpiv-loop-validate
根据项目结构自动选择 lint、测试、构建及可选服务检查,并输出摘要
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
根据项目结构自动选择 lint、测试、构建及可选服务检查,并输出摘要
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
归档已完成的过程文件
一键启动全自主 agent 团队,自动完成从 PRD 到验证的完整 RPIV 开发流程。brainstorm 完成后使用此命令,无需人工介入。当用户提到"自动开发"、"团队开发"、"全自主"、"biubiubiu"时触发。
通过访谈对话澄清产品需求
对指定目录/模块/skill 进行全量代码审计(不依赖 git diff)。支持逻辑、安全、性能、架构、集成与环境、可迁移性 6 个维度的审查,特别适合审计 skills 是否绑定 Claude Code、Codex、opencode 或特定机器环境。
修复手动/AI 代码审查中发现的问题的流程
在提交前运行的技术代码审查,用于质量和错误检查
| name | rpiv-loop:validate |
| description | 根据项目结构自动选择 lint、测试、构建及可选服务检查,并输出摘要 |
| allowed-tools | Read, Bash, Edit, Grep, Glob |
| version | 2.17.5 |
<rpiv-loop-root>解析顺序:环境变量RPIV_LOOP_ROOT->CLAUDE_PLUGIN_ROOT-> 当前插件根目录;均不存在时停止并请用户配置RPIV_LOOP_ROOT或CLAUDE_PLUGIN_ROOT。
按项目类型执行验证并报告。优先采用项目自定义的验证方式,否则根据检测到的技术栈自动选择 lint、测试、构建及可选的服务健康检查。
先依次检查,若存在则按该方式执行,并直接进入文末「摘要报告」;否则继续「按类型检测与执行」。
./scripts/validate.sh、./scripts/validate(或 Windows 下 .cmd、.ps1)make validate(若存在 Makefile 且包含 validate 目标)npm run validate、pnpm validate、uv run validate(或 pyproject 的 [project.scripts] 中的 validate)项目/.claude/commands/validation/validate.md 或 docs/validate-commands.md(若存在,按其中步骤执行)pytest -m "not slow"、ruff check .),则按该序列执行若优先级 0 均未命中,先检测项目结构,再按类型执行。
通过 ls、test -f、git ls-files 等查找:
pyproject.toml、requirements.txt、setup.py → 视为含 Pythonpackage.json(根目录或 frontend/、packages/*)→ 视为含 Node/前端go.mod、Cargo.toml → 视为 Go、Rustbackend/、frontend/、src/、packages/ → 用于确定工作目录backend/ 则 backend/,否则 src/(若存在),否则项目根uv.lock 或 pyproject.toml 中 [tool.uv] 等),优先 uv run <cmd>;否则 python -m 或 pip 安装后直接命令Lint(按存在性选择其一,均无则跳过并注明):
[tool.ruff]、ruff.toml 或项目常用 ruff → uv run ruff check . 或 ruff check .[tool.flake8] 或 .flake8 → flake8 . 或 flake8 <常用目录>pylint <目标模块或目录>Test:
pytest 或 [tool.pytest] → 按上方「运行方式」选择 uv run pytest -v 或 pytest -v(若 CLAUDE/README 有约定如 -m "not slow" 则加上);若无 pytest 有 unittest → 按上方「运行方式」选择 uv run python -m unittest discover 或 python -m unittest discover;均无则跳过并注明Coverage:
[tool.coverage] 或项目惯用 --cov,运行 pytest --cov=<包名> --cov-report=term-missing;否则可选跳过frontend/、packages/frontend 或 根(若仅有一个 package.json)pnpm-lock.yaml 用 pnpm,否则 npmLint:若 package.json 的 scripts 中有 lint → npm run lint 或 pnpm lint;否则跳过并注明
Test:若 scripts 中有 test → npm test 或 pnpm test;否则跳过
Build:若 scripts 中有 build → npm run build 或 pnpm build;否则跳过
package.json 仅为 monorepo 根、无实质代码,不重复跑根目录的 lint/test在工作目录(含 go.mod 的目录或根)执行:
go build ./...
go test ./...
在工作目录(含 Cargo.toml 的目录或根)执行:
cargo build
# 或 cargo check
cargo test
若未识别到 Python/Node/Go/Rust 的常见结构,注明:「未自动识别到常见技术栈,请参考 README、CLAUDE.md 或 CI(如 .github/workflows)中的验证步骤」。可仅输出报告,整体标为「未执行自动验证」。
uvicorn xxx:app --port 8765、npm run dev)以及健康或文档 URL(如 /health、/docs、http://localhost:8765/...)taskkill /F /IM <进程名> 或按端口查进程后结束lsof -ti:<端口> | xargs kill -9 或 pkill -f <可识别子串>输入契约:rpiv/validation/<feature>/acceptance.yaml(由 plan-feature 阶段产出骨架,已含 id / given / when / then / verification_method / blocking)。
本阶段职责:对 acceptance.yaml 中的每一条 AC,执行其 verification_method 并逐条填写 evidence 与 status。
Read 工具载入全部 AC 条目verification_method:
uv run pytest ...)→ 运行并捕获输出bash tests/integration/*.sh)→ 运行并记录退出码status:
passed:执行成功且证据充分failed:执行失败或证据与 then 断言不符not_applicable:环境不支持(此时 notes 必须说明理由)evidence(禁止模糊文本):
tests/test_xxx.py::test_name 或 tests/test_xxx.py:123logs/validate-<date>.log 的行号片段docs/screenshots/<feature>-ac-NNN.pngevidence: "已测"、evidence: "OK"、evidence: "通过" — 这类一律视为 failed本阶段只能动 evidence / status / notes 三个字段。以下字段是 plan 阶段产出的契约,validate 阶段禁止改动:
id — 唯一标识given / when / then — Gherkin 三段verification_method — 验证手段blocking — 强/软约束标记如发现 plan 阶段的 AC 本身有问题(措辞模糊、验证方法不可执行),回退到 plan-feature 阶段修订,不要在 validate 阶段绕过。
本阶段结束前必须运行:
uv run --no-project python <rpiv-loop-root>/tools/check_acceptance.py <feature>
0 → 所有 blocking AC 均 passed 或 not_applicable(且 evidence/notes 非空)→ 可进入 delivery-report1 → 有 blocking AC 未过,按输出清单补齐2 → 文件缺失或 YAML 格式错误,修文件后重跑所有验证(及可选的服务检查)完成后,提供包含以下内容的摘要报告:
使用清晰标题和状态符号(如 ✓/✗ 或 通过/失败)格式化。
cd 与命令均在上述「工作目录」下执行;多组件时分别 cd 到 backend 与 frontend。test -f、ls、cat package.json | grep scripts 等可脚本化方式判断,避免主观假定。