forge-build
Skill1 starsChanged 3 months agoMITView on GitHub
Builds the next phase of a locked forge plan (wiki/plan.md) on its own branch and within the phase boundary, then hands off to forge-review. Use when asked to "build the next phase", "build phase N" or "implement phase N", or as the build step of the forge loop.
4 other projects use a version of this.
Adopted by
Most recently taken up by
- brightstack/forgetheir own version, first seen Nov 8, 2026
- KhaledAufDB/lakeforgetheir own version, first seen Oct 13, 2026
- redteamlife/forgetheir own version, first seen Jul 26, 2026
- tonmoy007/forge-pluginstheir own version, first seen Jun 9, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- brightstack/forge★ 13same name
- tonmoy007/forge-plugins★ 2same name
- redteamlife/forge★ 1same name
- KhaledAufDB/lakeforge★ 0same name
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 repository20 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- forge-debugSkill
- forge-design-exploreSkill
- forge-design-systemSkill
- forge-discoverySkill
- forge-docsSkill
- forge-dxSkill
- forge-hardenSkill
- forge-initSkill
- forge-planSkill
- forge-polishSkill
- forge-principlesSkill
- forge-retroSkill
- forge-reviewSkill
- forge-scopeSkill
- forge-shipSkill
- forgeSkill
- forge-wikiSkill
- lizardSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. 0 are common, 6 are distinctive, and 9 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 15
Read forge-principles and wiki/learnings.md — past review lessons are rules you build by *now*, so review doesn't have to catch them again.
- Very specific: line 18
Read the phase in wiki/plan.md: its goal, verifiable gate, work bullets, branch, its Design: marker, and the ADRs it depends on …
- Very specific: line 21
If the phase touches UI and DESIGN.md exists, read it — it is the design source of truth.
- Very specific: line 33
Create or switch to the phase branch off the base branch (base recorded in wiki/plan.md header):
- Very specific: line 40
Use the phase's Branch: line as written.
- Distinctive: line 42
Never build on the base branch.
- Distinctive: line 59
Match the codebase: Read neighboring code first.
- Very specific: line 64
Keep functions small and performant: reach for the straightforward algorithm before the clever one, and never an accidental quadratic …
- Very specific: line 69
Strict by construction: Write to the project's strictest setting from the start (typed, no escape hatches, no any/equivalent — see …
- Distinctive: line 71
Tests as you go, sized to the risk: Write the phase's tests with the code, not after.
- Distinctive: line 85
Keep the phase's verifiable gate in mind as the target the whole time — build so it will pass for the right reasons, not so it merely …
- Distinctive: line 90
When the phase's work is complete and committed on its branch:
- Very specific: line 92
Run the phase's verifiable gate yourself once and show the result.
- Very specific: line 102
If an ADR or the plan turns out wrong mid-build, end blocked with notes naming the ADR and why, rather than building around it.
- Distinctive: line 109
No scope creep — the plan sets ambition.
“Common” is measured: kept by at least 6 in 10 of the 4 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-build
Builds one phase of wiki/plan.md. Staff-engineer mode: the best version of this
phase, not the fastest, not beyond its boundary. With a project, its plan,
build-log and improvements are in wiki/projects/<slug>/
(../forge/references/projects.md); learnings, ADRs and architecture stay at wiki/.
Before building
- Read
forge-principlesandwiki/learnings.md— past review lessons are rules you build by now, so review doesn't have to catch them again. - Read the phase in
wiki/plan.md: its goal, verifiable gate, work bullets, branch, its Design: marker, and the ADRs it depends on (wiki/decisions/). Readwiki/architecture.mdfor the intended shape. - If the phase touches UI and
DESIGN.mdexists, read it — it is the design source of truth. Every surface uses its tokens (type, color, spacing scale, radius, motion); an off-system value (raw hex, px off the scale, a font not in the system) is a defect of the same class as a type error, not a style preference. The phase's locked design ADR binds the same way. If the phase'sDesign:marker is an unlockedexplore, stop — the design cycle owns it; route toforge-design-explorebefore building. - Identify the phase: first phase with no
wiki/build-log.mdentry. If already on that phase's branch with work in progress, continue it; don't restart.
Branch
Create or switch to the phase branch off the base branch (base recorded in
wiki/plan.md header):
git switch -c phase/<n>-<slug> # or: git switch phase/<n>-<slug> if it existsUse the phase's **Branch:** line as written; a project's is phase/<slug>-<n>-<name>.
Never build on the base branch. Commit freely on the phase branch — small, coherent commits as the work progresses (this is encouraged, not optional).
Build, staff-engineer grade
Build the phase's work to a standard you'd defend in review:
- Hit the goal exactly. Everything the phase's goal/work specifies; nothing from
later phases. If you discover work that belongs to a later phase, note it in
wiki/improvements.mdand leave it — do not pull it forward. - Delete what this phase supersedes. Code, config, and tests the phase's work
replaces get removed in the same phase — the old path, the branch that can no
longer be reached, the shim whose last caller just went away. That is finishing
the work, not scope creep; leaving both paths alive is the phase's own mess, and
the next builder inherits it as "legacy". If a removal is genuinely unsafe, name
the consumer that needs it and record an ADR — never default to keeping it "for
compatibility" without one (
../forge-principles/references/simplicity.md). - Match the codebase. Read neighboring code first; follow its patterns, naming, and idioms. New code should read like the surrounding code.
- Default-deny before adding. A new dependency, config surface, wrapper,
abstraction, or service boundary needs the phase's work to demand it — otherwise
prefer the existing path, and inline over abstract until a second caller exists.
Keep functions small and performant: reach for the straightforward algorithm
before the clever one, and never an accidental quadratic (
../forge-principles/references/simplicity.md). - Honor the ADRs. Build along the recorded decisions. If a decision turns out wrong while building, stop, write/update the ADR with what you learned, and raise it — don't silently diverge.
- Strict by construction. Write to the project's strictest setting from the
start (typed, no escape hatches, no
any/equivalent — see../forge-review/references/strictness.md). Don't leave it for review to fix. - Tests as you go, sized to the risk. Write the phase's tests with the code, not
after. The target is coverage — every behavior the phase adds is caught by
something that goes red if it regresses — not one test per behavior. Prefer the
fewest tests that would actually catch it: one crossing the real seam over five
mirroring the implementation, a real object over a mock, a fixture no bigger than
its assertion. Tests are parts you pay for on every future change
(
../forge-principles/references/simplicity.md), so match the depth to the risk the phase carries. While building, run only the tests your change affects — fast feedback per iteration; the full suite still gates the hand-off inforge-review, so this scopes the inner loop only. - Handle the edges. Empty/nil/error/timeout/concurrent paths the phase implies.
- Capture the why. Any non-trivial decision made while building → ADR; any
surprising failure →
wiki/notes/. Tell the user in the same turn.
Keep the phase's verifiable gate in mind as the target the whole time — build so it will pass for the right reasons, not so it merely passes.
Hand off
When the phase's work is complete and committed on its branch:
- Run the phase's verifiable gate yourself once and show the result. If red, fix it
(root-cause via
forge-debugif non-trivial) before handing off — don't pass a broken phase to review. - Hand to
forge-reviewfor the full security / tests / strict-types / optional-Codex / auto-fix pass. Do not runforge-shipfrom here — review gates shipping. - Report: phase built, branch, commits, gate status, handing to review.
Result
If an ADR or the plan turns out wrong mid-build, end blocked with notes naming the ADR and why, rather than building around it. End with the FORGE_RESULT line from ../forge/references/headless.md.
Rules
- One phase only. Never start the next phase from here.
- Stay on the phase branch; never commit to base.
- Build to the strict standard now; review enforces, it shouldn't have to author.
- No scope creep — the plan sets ambition; later phases own later work. Removing what this phase superseded is not creep; it's the phase finishing its own work.
- Capture decisions/incidents to the wiki as they happen, and say so.
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.

