forge-review
Skill1 starsChanged 43 days agoApache-2.0View on GitHub
Evaluate a built prototype against the record using the four-vector review rubric, and file the findings as feedback. Use when the user asks to "review the prototype", "run the rubric", "check this against the brief", or wants to know whether what was built serves what the record says it is for.
11 other projects use a version of this.
Adopted by
Most recently taken up by
- brightstack/forgetheir own version, first seen Nov 8, 2026
- antonailog/forge-skillstheir own version, first seen Oct 25, 2026
- peterzat/OrgSmiththeir own version, first seen Oct 13, 2026
- yike-gunshi/forge-skillstheir own version, first seen Oct 13, 2026
- KhaledAufDB/lakeforgetheir own version, first seen Oct 13, 2026
- BrandedTamarasu-glitch/ForgeFlowtheir own version, first seen Oct 11, 2026
Used with
Projects with it also use forge-ship and Forge.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
redteamlifeSkillforge-ship
Use when the user asks to merge, release, promote, reconcile, or close out work in a repo containing `docs/forge/` or governed by FORGE. Not for per-task commits; those complete inside forge-execute-task.
Also in 5 projects that use this
ikennaokpalaSkillForge
Autonomous quality engineering swarm that forges production-ready code through continuous behavioral verification, exhaustive E2E testing, and self-healing fix loops. Combines DDD+ADR+TDD methodology with BDD/Gherkin specifications, 7 quality gates, defect prediction, chaos testing, and cross-context dependency awareness. Architecture-agnostic - works with monoliths, microservices, modular monoliths, and any bounded-context topology.
Also in 8 projects that use this
Other versions11 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 11
- antonailog/forge-skills★ 13same name
- brightstack/forge★ 13same name
- yike-gunshi/forge-skills★ 13same name
- peterzat/OrgSmith★ 6same name
- tonmoy007/forge-plugins★ 2same name
- BrandedTamarasu-glitch/ForgeFlow★ 1same name
- khaledayeva/star-forge★ 1same name
- redteamlife/forge★ 1same name
- tinyorbit-ai/skills★ 1same name
- tusharpandey13/forge★ 1same name
1 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository6 other files it gives its agents.
- skills/AGENTS.mdAGENTS.md
- forge-ddrSkill
- forge-freezeSkill
- forge-initSkill
- forge-intakeSkill
- forge-triageSkill
The file
We split this skill into the rules it gives an agent
2 rules. 0 are common, 2 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 8 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 41
A finding is feedback, not a score: Never produce a number, a grade, or a pass/fail.
- Distinctive: line 47
Before opening the prototype, read the record for the ground truth each vector needs.
“Common” is measured: kept by at least 6 in 10 of the 8 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
forge-review
Runs the four-vector rubric (DDR-108) over a built prototype against the record, and
files what it finds as source: scan feedback. This skill judges; forge review apply is
the only thing that writes the record.
Advisory, never blocking. Nothing here stops a freeze, and findings land pending —
dispositioning them is the human's act. A scan that dispositioned its own findings would be
a gate, and the gate is Forge Cloud's (DDR-057). This is the free surface of the same
rubric (DDR-112): the whole rubric runs here, on whatever model this session has.
Say plainly what that costs. The findings are only as good as this session's model and the time it spent looking. When you report back, say what you did not check — routes you did not open, scenarios you did not run, vectors you could only answer from the record. A finding you missed is not a finding the record may later claim was checked.
The rubric evaluates against the record, never against pixels alone
That is the whole point of running it here rather than in a linter. Each vector has ground truth in the record, and a finding without ground truth is an opinion:
- Utility & problem fit — does this remove the friction the record names, for the job
the record names, without adding cognitive debt? Ground truth:
design/brief.md,design/stories/,design/questions/, each task'sgenesis:, and each scenario's Purpose and Expected outcome. - Systemic & technical coherence — is it built in the system's own language? Ground
truth:
design/design-system.md,design/components.md,tokens/tokens.json, and the prototype contract (DDR-072). The most deterministic vector: token adherence against the built CSS, rendered components against the inventory, axe-core for WCAG. - Information architecture & hierarchy — can a reviewer scan a screen and find the primary action? Per route, and per scenario step where there are scenarios.
- Business viability — does each step's primary action serve the loop the brief names?
Ground truth: the brief's business framing,
design/roles/(who converts),design/flows/. Judgment, never deterministic.
A finding is feedback, not a score. Never produce a number, a grade, or a pass/fail. The record cannot back that objectivity, and an aggregate moves the judgment the human owns into something nobody can argue with.
Start with the preconditions, because they are findings
Before opening the prototype, read the record for the ground truth each vector needs. What is missing is a vector-1 finding, and it needs no screenshots:
- a brief that names no friction it removes, or no loop it drives — the two sections the
forge-initskill asks for rather than infers, precisely because a repo cannot supply them - a scenario with no Purpose or no Expected outcome, so nothing can say whether working through it succeeded
- tasks with no
genesis:, so what was built cannot be traced to what asked for it
Report these first. A review of a prototype whose record states no job is a review that can only comment on taste, and saying so is more useful than a list of spacing notes.
Steps
- Read the record. Brief, stories, questions, scenarios, design-system, components, roles, flows — whichever exist. Note what is absent; that is step 4's material.
- Walk the prototype. Build it if it is not built, then open the routes the record
names — a scenario's
## Flowsteps are the itinerary when there are scenarios, because they are what a real reviewer will be asked to do. For vector 2, prefer the deterministic checks: compare the built CSS against the tokens, the rendered components against the inventory, and run axe-core where you can. - Judge each vector against its ground truth. For every finding, be able to name the record's own words it is measured against. If you cannot, it is an opinion — either drop it or file it as a vector-1 finding about the record not saying.
- Stage the findings at
.forge/review/findings.json:{ "findings": [ { "vector": "utility", "finding": "The brief names no friction, so nothing here can be judged against a job.", "title": "The brief names no friction it removes" }, { "vector": "coherence", "finding": "The sign-in button hardcodes #4A9EDE rather than using the token.", "route": "/", "selector": "button.primary" }, { "vector": "hierarchy", "finding": "Two controls compete for primary on the review step.", "scenario": "SCENARIO-002", "step": "s2" } ] }vectoris one ofutility | coherence | hierarchy | viabilityand is required.findingis required and becomes the entry's blockquote.titleis optional — one line, derived from the finding when absent.route,selector,scenarioandstepare optional context;stepneeds thescenarioit belongs to, and ascenarioid that the record does not have is refused. - Apply it:
It validates every finding before writing any of them, allocates aforge review applyFEEDBACK-###each, writes them assource: scanwithfeedback_status: pending, and consumes the staged file so a second run cannot file the same review twice. Fix the JSON and rerun on a validation error rather than hand-editing what it wrote. - Run
forge doctorand fix anything it reports. - Tell the user what you found and what you did not look at — counts by vector, the preconditions that were missing, and the honest gaps from the note at the top. Then stop: dispositioning is theirs.
What happens to the findings afterwards
They are feedback like any other, so they flow through the machinery the record already
has: accepted links a TASK-###, declined requires a DDR-### recording why, deferred and
pending wait. Nothing about a scan finding is privileged — a human can decline the whole
batch, and that is a legitimate outcome rather than a failure of the review.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

