review-forge
GitHubReview Forge 用于编排多模型代码审查工作流。它通过生成、综合审查结果,创建检查清单驱动的修复范围,执行测试与独立验证,并隔离管理审查产物,实现保守且聚焦的代码改进闭环。
Trigger Scenarios
Install
npx skills add vikingmute/review-forge --skill review-forge -g -y
SKILL.md
Frontmatter
{
"name": "review-forge",
"description": "Use when orchestrating a code review workflow across multiple LLMs or agents, synthesizing review findings, producing checklist-driven fix scopes, applying selected fixes, running regression tests, independently verifying fixes, updating review status, or keeping code review process artifacts isolated under code_review\/."
}
Review Forge
Review Forge runs a conservative, feature-scoped code review workflow:
- Inspect the target diff and project context.
- Create one review file per model or agent inside the current feature folder.
- Synthesize multiple model review files into a human-controlled checklist.
- Fix only checked and confirmed items.
- Run focused and regression tests after every fix batch.
- Verify fixes independently when possible.
- Update machine-readable status and localized report labels.
- Keep all workflow artifacts isolated from product code.
Commands
review: create one model-specific review file. Do not modify product code.synthesize: merge model review files from one feature folder into one summary checklist. Do not modify product code.fix: read checked summary items, confirm the selected scope, implement only those items, run tests, and update status.verify: verify fixed items with an independent perspective, rerun or inspect tests, and update verification status.
Legacy mode aliases are supported:
review-onlymeansreviewunless the user asks to merge existing review files, then it meanssynthesize.review-and-fixmeansfix.review-verifymeansverify.
If the user does not specify a command, infer the safest command from the request. When ambiguous, default to review.
Inputs
Resolve or ask for these inputs before doing work:
target: branch, commit range, pull request, or current working tree.base: comparison branch or ref. If omitted, infer it using the default diff rules below.artifact_root: defaultcode_review/.feature: feature name used as the artifact subfolder. If omitted, infer from branch name, PR title, changed package, or a short sanitized summary of the diff.feature_dir: defaultcode_review/<feature>/.command:review,synthesize,fix, orverify.model: model or agent name for a review file, such ascodex,opencode,cursor,claude, orgemini.report_language: defaultauto, meaning follow the user's prompt language. Explicit values such asen,zh-CN, orjaare allowed.auto_fix_allowed: defaultfalseunless the user explicitly asks to fix.perspective: optional review focus, such as correctness, security, maintainability, tests, or UX.test_command: optional override for validation.
Default Diff Rules
When the user does not specify a target or base, infer the review scope in this order:
- If the working tree or index has uncommitted changes, review the uncommitted diff.
- Inspect both unstaged and staged changes.
- Treat this as
target: working tree. - No base branch is required unless additional context is needed.
- If there are no uncommitted changes, review the current
HEADagainstmain.- Prefer a merge-base comparison such as
main...HEADwhen supported. - If
maindoes not exist, trymaster...HEAD.
- Prefer a merge-base comparison such as
- If neither
mainnormasterexists, inspect branch tracking metadata or PR metadata when available. - Ask the user for
baseonly when no reasonable comparison ref can be inferred.
Explicit user-provided PRs, branches, commit ranges, or base refs always override these defaults.
Required Initial Inspection
Before producing artifacts or modifying code, inspect:
- repo status and uncommitted changes;
- target diff against the chosen base;
- existing
code_review/feature folders and review artifacts; .gitignoreforcode_review/;- package, build, and test configuration;
- project-specific instructions for tests, lint, typecheck, or CI.
Never revert unrelated user changes. If code_review/ is not ignored, recommend adding it to .gitignore, but do not edit .gitignore unless the user asks.
Artifact Layout
Group every workflow by feature:
code_review/<feature>/
<model>.md
<model>-<perspective>.md
summary.md
fix-plan.md
verify.md
status.md
Rules:
- One model review pass should produce exactly one review file.
- Name review files with the model or agent name first, for example
codex.md,opencode.md,cursor.md,claude.md. - If the same model runs multiple perspectives, append a short perspective suffix, for example
codex-security.md. - Do not include timestamps by default. Use stable names so the folder is easy to scan.
- Use timestamps only when preserving multiple historical runs is explicitly requested.
Command output boundaries:
review: create or overwrite exactly one model review file, such ascodex.md. Do not createsummary.md,fix-plan.md,verify.md, orstatus.md.synthesize: read model review files and create or overwritesummary.md. Do not createstatus.md.fix: read checked items fromsummary.md, create or updatefix-plan.md, and create or updatestatus.mdafter code changes and tests.verify: create or updateverify.mdand updatestatus.mdwith verification evidence.
Legacy timestamped names such as STATUS_20260529.md, REVIEW_SUMMARY_20260529.md, or CODE_REVIEW_codex_20260529.md should not be created unless the user explicitly asks to preserve dated historical runs.
Use the templates in assets/templates/ unless the repository already has a stronger local convention.
Review Collection
In review command, create a single file for the current model or agent. If the user does not provide model, infer it from the host when obvious; otherwise use a clear name such as codex.
For multi-model workflows, each model should run review separately and write into the same feature_dir. Use distinct perspectives when helpful:
- correctness and edge cases;
- security and data safety;
- tests and regression risk;
- maintainability and architecture;
- product or UX behavior when relevant.
Each finding must include severity, evidence, affected files, risk, and a concrete suggested fix. Avoid vague style preferences unless they affect maintainability or user-facing behavior.
Synthesize Command
In synthesize command, read review files from one feature_dir and produce summary.md:
- select all model review files in the folder by default;
- exclude
summary.md,fix-plan.md,verify.md, andstatus.md; - merge duplicate findings;
- preserve meaningful disagreement;
- record reviewer agreement count;
- include suggested tests;
- use checkboxes for human fix approval.
Checkbox semantics are stable:
- unchecked: not approved for fixing;
- checked: approved for fixing.
Do not fix unchecked issues opportunistically.
Fix Rules
In fix command:
- Read
summary.mdfrom the selectedfeature_dir. - Select only checked items whose status allows fixing.
- Confirm the fix scope unless the user already explicitly approved it.
- Create or update
fix-plan.md. - Modify only the files needed for selected items.
- Run tests.
- Update
status.mdand, when appropriate, the summary status fields.
If a checked item reveals a larger issue, stop and ask before expanding scope.
Test Rules
Tests are mandatory after fixes unless impossible.
Run validation in this order:
- The narrowest relevant test for the touched behavior, when discoverable.
- Typecheck, lint, or build checks relevant to the touched files.
- The broader project regression command when discoverable and reasonably scoped.
If tests cannot be run, record:
- status enum
test_blocked; - the command that should have run;
- the blocking reason;
- residual risk.
If tests fail, do not claim the item is fixed or verified. Mark affected items verification_failed or partially_fixed, record the failing command, and summarize the failure.
Verification Rules
In verify command:
- verify from a perspective independent of the fixer when possible;
- check whether each selected issue was actually addressed;
- rerun or inspect test evidence;
- look for regressions caused by the fix;
- update status only when evidence supports it.
Verification requires either passing test evidence or a clear test_blocked explanation.
Language Policy
Write skill instructions, template field names, and machine-readable status enums in English.
Generated prose reports should use report_language:
auto: follow the user's prompt language;- explicit language values: write prose in that language;
- keep status enums in English even inside localized reports.
Status display labels may be localized.
Status Enums
Use these exact machine-readable status values:
openapproved_for_fixfixedpartially_fixedwont_fixrisk_acceptedverifiedverification_failedtest_blocked
Each status entry should include both:
status: one enum above;status_label: localized human-readable label, for exampleFixed ✅or已修复 ✅.
Completion Criteria
A Review Forge workflow is complete only when:
- review artifacts are under
feature_dir; - checked items are the only fixed items;
- test evidence or
test_blockedrationale is recorded after fixes; - verification status does not overclaim;
- process artifacts remain isolated from product code.
Version History
- 743b229 Current 2026-07-05 20:10


