用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/nathanvale/claude-code-config --skill pr-review-loop命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Creating or changing tests, fixtures, mocks, snapshots, test helpers, or test harnesses; require a pre-write Test Design Brief.
Browser tasks through Warm Chrome; no Chrome for Testing.
Explicit whole-suite test architecture review, visual candidates, or proof-boundary improvements.
正在显示 SKILL.md
| name | pr-review-loop |
| description | Launch a multi-lens PR review workflow for blocking issues. |
Generate a workflow script that runs N review lenses concurrently over a package diff, adversarially verifies every finding, and loops until dry — then launches it.
Classify from args and stop at the first matching row. Do NOT launch a workflow before the user confirms.
| Signal | Route |
|---|---|
| No args, empty args, or unrecognized args | STOP — show pre-launch DX menu (see below); do not launch |
| Lens names or lens customisation request (e.g. "new reviewers", "use X instead of Y") | STOP — show pre-launch DX menu with proposed lenses listed; wait for user confirmation before launching |
mode: fast or "fast" in args | Skip menu — launch with defaults immediately |
| Package name or path supplied | Launch with pkg override |
baseRef / branch name supplied | Launch with baseRef override |
resume / run ID supplied | Resume paused run via resumeFromRunId |
Findings at 0 blocking, 0 major | Hand off to /bitbucket |
REQUIRED when no args are supplied. Show this block verbatim — state defaults, then present numbered choices and wait for user input. Do not proceed until the user replies.
Ready to launch PR review.
Defaults:
- Package:
packages/portal-ui- Diff base:
origin/develop- Lenses: correctness · design-system · pr-readiness · storybook
- Max rounds: 3 · Max findings/lens: 3
1 to start now.packages/my-pkg).origin/main).Wait for the user to reply before taking any action.
references/workflow-template.jsskills/skill-author/references/skill-io-shape-examples.md#skill-io-example/tmp/pr-review-loop/<runId>/findings.json (written by the generated workflow)All have defaults — pass only what you want to override.
| Parameter | Default | Description |
|---|---|---|
repo | current working dir | Absolute repo root |
pkg | packages/portal-ui | Package path relative to repo root |
baseRef | origin/develop | Git ref to diff against |
lenses | 4 built-in (storybook, correctness, design-system, pr-readiness) | Array of lens configs (see below) |
maxRounds | 3 | Max review rounds before stopping |
maxFindingsPerLens | 3 | Cap per lens per round |
runId | caller must supply | Timestamp string e.g. "2026-06-18T2010" — Date.now() is banned in workflow scripts |
{
key: "correctness", // id prefix e.g. COR
label: "Correctness",
prompt: "You are a Correctness reviewer..." // full reviewer prompt
}
Pass lenses: null to use the 4 built-in lenses from the template unchanged.
references/workflow-template.js — the canonical script source./tmp/pr-review-loop-<runId>.js).Workflow({ script: <generated>, args: { runId } })./workflows).The template assigns models by phase to match agent capability to task difficulty:
| Phase | Model | Why |
|---|---|---|
| Scout (diff, exports, changed-files) | haiku | Shell commands + paste output |
| Review (lens prompts) | sonnet | Structured code review with judgement |
| Verify/refute | inherited (Opus) | Hardest — must read code and reason about false positives |
| Snapshot writers | haiku | mkdir -p && cat > |
| Synthesize | sonnet | Counting + narrative |
| Write-final | haiku | mkdir -p && cat > |
When generating scripts, preserve these tiers from the template. Custom lenses inherit model: "sonnet" from the review loop unless explicitly overridden.
export const meta must be a pure literal — no variables, spreads, or calls.Date.now(), Math.random(), or argless new Date() — caller passes runId.import must not precede export const meta./tmp/pr-review-loop/<runId>/findings.json via a low-effort agent shell call.Workflow({ scriptPath, resumeFromRunId }) — cached agents replay instantly.process global unavailable in workflow scripts — use args instead.import banned at top level — all imports are dynamic inside agent prompts or unavailable; the template uses no ES imports.Workflow({ scriptPath, resumeFromRunId }).TaskStop before resuming or relaunching.runId? Stamp the current time manually (e.g. "2026-06-18T2100") — do not use Date.now().{ key, label, prompt } objects.resumeFromRunId — completed agents return cached results instantly.0 blocking, 0 major? Hand off to /bitbucket to create the PR.