forge
Skill7 starsChanged 9 days agoMITView on GitHub
Dispatch implementation and independent diff review to user-selected models through local agent CLIs. Use for /forge or explicit requests to delegate coding or review; explanation-only questions do not authorize dispatch.
78 other projects use a version of this.
Adopted by
Most recently taken up by
- venhdev/skillstheir own version, first seen Nov 8, 2026
- faizanio/FORGEtheir own version, first seen Nov 8, 2026
- jeanchristoph/claude_forgetheir own version, first seen Nov 6, 2026
- pche-broken-artist/forge-of-thoughttheir own version, first seen Nov 6, 2026
- rmkr/skillstheir own version, first seen Nov 5, 2026
- flopperj/dotfiles-coretheir own version, first seen Nov 4, 2026
Used with
Projects with it also use forge-ship, forge-review and 10 more.
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 6 projects that use this
tonmoy007Skillforge-review
Run a multi-dimensional parallel code review over the current change.
Also in 8 projects that use this
weselbenSkillforge-docs
Load before code changes, before writing docs or an ADR, when a user question exposes a missing how-to, and when closing a chunk of work; also loaded by forge after each squash-merge and by deep-research after a report.
Also in 3 projects that use this
DailenGSkillforge-design
Design, UX, and polish discipline for the forge lifecycle. Covers the design tier, the design brief in docs/DESIGN.md, UX requirements and their verification methods, the per-slice design pass, the UX defect register, and the release polish pass. Load whenever work touches a user-facing surface (GUI, terminal, library API, or operated service), whenever a UX observation needs disposing of, and whenever a release is in reach.
Also in 3 projects that use this
DshamirSkillforge-plan
Takes analysis.json + budget cap → derives the full phase sequence, hyperparameters, instance type, cost estimate, and acceptance thresholds. Emits plan.md (the single human gate document) and plan.json (the machine-readable spec that dispatch-v2 consumes). Refuses to plan if estimated cost exceeds budget×1.2.
Also in 4 projects that use this
tonmoy007Skillforge-build
Run Stage 6 of the Forge pipeline — implementation. Use when the user says
Also in 3 projects that use this
Other versions78 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 78
- cwinvestments/memstack★ 425same name
- ansari-project/codev★ 298same name
- cluesmith/codev★ 298same name
- swyxio/skills★ 194same name
- simota/agent-skills★ 96same name
- alp82/forge★ 36same name
- TT-Wang/forge★ 34same name
- emiliosheinz/agent-skills★ 20same name
- MetalLegBob/solana-vibes-kit★ 19same name
- kecoma1/MQL5-SKILLS★ 17same name
68 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.
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 1 is distinctive, and 5 are very specific to this project.
0
Common
Most of the 67 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 10
Run an implementer (dwarf) followed by an independent QA review of its actual changes.
- Very specific: line 38
Ask “Use Fractal for this run?
- Very specific: line 43
Ask “Open forge-ui to watch this run?
- Very specific: line 88
When you report a run, read <plan>/control.log and mention any human change made mid-run (a threshold, a budget, a model pin, a drain, stop …
- Very specific: line 112
When there are any, act on the user's --file-issues choice with one filer:
- Very specific: line 139
Use solo runs for one implementation.
“Common” is measured: kept by at least 6 in 10 of the 67 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
Run an implementer (dwarf) followed by an independent QA review of its actual changes. Use the scripts for dispatch and capture; do not reconstruct harness commands. For explanation requests, explain the workflow without spending model quota.
Choices and boundaries
- A dwarf model must be chosen by the user. Ask when it is missing; never invent one.
--profile NAMEthe user selected, or a default they set (forge config profile use), counts as that choice: do not ask role by role on top of it. When neither a flag nor a profile names models, offer one profile and wait: the user's default if one is set, else the built-inbalanced(recommended routing). Ask role by role only if they decline. The runner applies a configured default when neither flag is passed and the run has no frozen copy, and it does not selectbalancedby itself. Pass--profile balancedwhen they accept it and it is not already the default; pass--no-profilewhen they decline, so a configured default does not fill the rest. A profile that names no dwarf pool still needs--dwarf. - QA defaults to
opuswhen no profile names a reviewer; effort defaults tomediumfor dwarf,highfor QA andxhighfor the planner. - Specs are
alias[:effort[:harness]], e.g.sol:xhigh:openclaude. Resolve using registry.tsv; report any effort clamp. Literal model IDs require a harness. - Bypass flags apply only when explicitly requested for that role (
--yolo-dwarf,--yolo-qa). Bash access can mutate files despite disabled editing tools. --fast ROLESis opt-in. Offer it only when the user asks for speed.ROLESis a comma list ofdwarf,qa,plannerandreview, orall, ornone. It is billed at a higher rate. Claude's fast mode needs extra usage enabled; without it the run stays at standard speed, exits 0, and forge prints a note. Codex can do the same when the tier is unsupported. Other harnesses (openclaude, opencode, antigravity, grok) refuse and exit 3. A solo run accepts onlydwarf,qaornone. Read the fast service tier. A note is not a failed run.- Ask “Use Fractal for this run? [y/N]” once before an interactive run, unless
the user supplied
--fractal,--no-fractal, or--fractal-auto-decompose. Pass the answer explicitly to the runner. Unattended runs default off. Installation never activates Fractal. Resume and explicit retry retain the recorded choice. Read Fractal when selected; Fractal completion never substitutes for Forge QA acceptance. - Ask “Open forge-ui to watch this run? [y/N]” once at the start of every new
interactive run, unless the user supplied
--uior--no-ui. Pass the answer toplanorforge-solo.shand relay theforge-ui:URL they print. Never ask on resume or retry; unattended runs leave it off. A UI failure never changes the run. Read forge-ui. - A finished solo run,
planorrunmay end with one stderr line,forge X is available (you have Y): <command>(checked at most once a day; the command isforge update, or npm's for an npm installation). Relay it once; run the update only when the user asks (that command, then restart the harness session).FORGE_UPDATE_CHECK=offsilences it. --fractal-auto-decomposeenables automatic split-or-atomic decisions before each eligible node implements. Include the effective planner and bounds in the approval preview; child decisions need no additional user approval inside those bounds. Forward--fractal-planner <spec>to the runner. When omitted, forward a selected top-level--planneras--fractal-planner; otherwise each task's initial root model plans all its descendants. Ordinary--fractalkeeps worker-requested decomposition.- One implementer per tree. Solo edits remain uncommitted. Decomposed runs may commit
and merge on Forge task and integration branches. Updating the user's branch requires
separate authorization and
integrate --approved. Never push automatically. - The QA threshold defaults to
P2: a CONFIRMED finding at P2 or worse blocks, so a PASS that lists one becomes FAIL, and milder CONFIRMED findings are recorded as known issues.--qa-thresholdchanges it (see the verdict rule). - Show the decomposed task/model table and wait for approval before dispatch. Relay the
table's
profile:line: the profile, and the flags that override it. Solo prints the same line. When the table says the plan runs sequentially, offer--collapse-chains(or one task) before approval.forge-parallel.sh autoalready passes--collapse-chainsunless--no-collapse, so that line appears when collapse did not run. Retry only when requested; preserve failed task branches and worktrees.run --retry-failed N,--infra-retries M,plan --shadow-qa(a second review of a sampled share of attempts, never read, to measure reviewer agreement) andplan --reviewer-session(continue the reviewer's session across rounds),plan --implementer-session(a retry continues the implementer's session) andrun --sweep Pn(once every task merged, fix the tolerated findings at Pn or worse in a few extra tasks, one per file;--sweep-aheadinstead hands a task the open findings in its files) are opt-in: offer them, never add them unprompted. So is--fail-first(solo orplan): the change's new tests also run without its non-test changes, and the reviewer is asked to report any that still pass as P2; it needs.forge/verify-subsetand never changes a result by itself. So isplan --pre-review-tests: before each review forge runs only the tests the attempt affects (.forge/verify-subset), and a red attempt goes back to its implementer unreviewed.planexplores by default (--explore 0.2: now and then a row left to forge gets its neighbouring tier's model from the user's pools, odds recorded forforge dataset routing); say so with the table and pass--explore 0when the user declines. Retries follow a policy: after three failed attempts on one model the next goes a tier up in the user's pools, or the task stops asNEEDS_DECISION(--escalate-after N,0= off); an explicitretry --dwarfoverrides it.acceptoverrides a reviewer: run it, with--reasonand--approved, only when the user explicitly says so; never self-accept. - When you report a run, read
<plan>/control.logand mention any human change made mid-run (a threshold, a budget, a model pin, a drain, stop or queued retry;forge control show <plan>lists them). Never set a control, pin,drain|stop|retryor delete a run withforge control/forge runs rmunless the user asks. Exit130/INTERRUPTED: the run was signalled or stopped; relay theretrylines it printed. - A
waiting for your answer:block is statusNEEDS_INPUT: relay each question verbatim and pass it withretry <plan> <id> --answer "<reply>". Never answer for the user; nothing else resumes it. - A task at
NEEDS_DECISIONwaits for the user. Presenttasks/<id>/decision.md's reasons and choices. Runretry --decide,retry --dwarforaccept(with--reasonand--approved) only on the user's explicit word, never to keep a run going. Nothing else resumes it. The split choice replaces the row intasks.tsvand is a laterrun(when reviews don't converge); do that only when the user asks. - Exit
8/ statusINFRAis an infrastructure stop (capacity,rate_limit,usage_limit,budget,auth,network,provider_down,emptyorcancelled; an old run may sayquota), not a task failure, and no attempt was spent. Report each "needs you" item with its hint, and re-run only when told. Offer a multi-task plan's whole-run review (review, orintegrate --final-review <qa-spec>) only when asked: it spends QA quota. Leftover findings become issues. A run can finish with review findings nobody will act on:
- CONFIRMED findings the threshold tolerated, from a PASS or a FAIL (
tasks/<id>/known_issues.md); - PLAUSIBLE findings in a passed task's
qa.last; - whatever a whole-run review left open.
When there are any, act on the user's
--file-issueschoice with one filer:- gh-proman, only when it is installed and set up for the repository:
gh-proman -C <repo> config showexits 0. It also puts the issues on the team's board with a priority. Rungh-proman findings --from <plan or run dir> --include-plausible --json, then follow the gh-proman skill's review-findings steps. - forge's own filer otherwise (gh-proman missing, or not configured for this repo; never configure it yourself):
python3 <skill_dir>/scripts/forge-issues.py <plan or run dir> --include-plausible --json, plaingh issue create. Pass--langmatching the repo's existing issues, and--label bugwhen the repo has that label. Ifghis missing, unauthenticated or the repo has no GitHub remote, list the findings in the report and say why none were filed.
The choice:
ask(the default): show the dry-run summary (count by severity, titles, anything already filed) and ask once: "File these N findings as GitHub issues? [all / CONFIRMED only / none]". Then re-run with--apply, adding--include-plausibleonly for "all".auto: file them without asking (--apply, PLAUSIBLE included as "to verify" issues) and report what was created and skipped.off: never offer.
With the
findingsgate on (forge decide gate findings on), forge's filer addspreselectandreasonto each finding in the dry-run JSON, and--applyturns a reworded duplicate of an open issue into a comment on it (comments,commented).askshows the pre-selected findings and the reason for each one left out, and files the ones the user keeps with--only <fps> --max-issues <count>.autofiles only the pre-selected ones the same way.--file-issuesis an instruction to you: never forward it to a runner. Skip INFRA, interrupted and still-failing runs. Both filers mark each issue with the same finding fingerprint and skip a finding either one already filed, so offering again after a retry only brings up new ones. A draft flagged as a possible duplicate is skipped on--apply: show it, and file it (--confirm-new) only if the user says it is different.- CONFIRMED findings the threshold tolerated, from a PASS or a FAIL (
- Decision models (Jev, Clef) are optional, off until a gate is opted in with
forge decide, fail-open, and never change a task's tier, select a model, or substitute for QA acceptance or repository verification (--jev-actis still accepted and changes nothing). Read Decision models when selected.
Common workflow
- Inspect the repository and existing work, unless this is a decomposed
--plannerrun: the planner reads the repository, so do not explore it yourself. State the goal, selected models and any bypass flags. Keep complete requirements inprompt.md; short titles are insufficient for QA. - Preflight every selected role before the first model call, including an optional planner:
bash <skill_dir>/scripts/forge-dispatch.sh doctor --spec <spec> --role <role>. This checks resolution, executable and advertised flags without model quota. Authentication, quota and live model availability remain unverified; a live probe must be explicitly requested. - Use solo runs for one implementation. For
--decompose-level low|medium|high, read decomposition. With--planner, do not assemble the table: callautoas below. Otherwise prepare the task table, obtain approval, then useforge-parallel.sh plan/run. Write the user's request verbatim torequest.mdin the run or plan dir, and pass--decompose-leveltoplanwith the level you actually split at, even when the user named none. Keep each task small and end itsprompt.mdwith an## Acceptance criteriasection of checks the reviewer can verify;plannames tasks over 7K characters or 9 files, where first attempts mostly fail review. Pass the recorded Fractal choice and requested limits to the execution runner; tier pools go to solo directly or decomposedplan. Fractal does not replace planner dispatch.--timeoutapplies to decomposed runs too (kept in the plan). For a decomposed--plannerrun, callforge-parallel.sh autoonce, as one blocking command, instead of writing the planner prompt and assembling the plan by hand. Omit--approvedon an interactive run, show the table, and wait;--approvedis only for the user's explicit pre-approval. Where the harness limits foreground commands, startautoin the background and wait for its completion notice. Do not poll and do not read its logs meanwhile. Auto preflights the planner and, on one plan send-back, re-dispatches once. After the run (theruncommandautoprinted, orauto --approved), read<plan>/results.tsvand each failed task'sqa.last, and report. When you calledplanyourself and it exits 4, the prompt or coverage gate sent work back: read<plan>/plan.sendback.md, rewrite each listed task'sprompt.md, and extend or add tasks for each uncovered requirement (with--planner, re-dispatch it with that file appended), then runplanagain, once. Forge never sends the same task or requirement back twice. - Runners default to summary output. Read each
dwarf.lastandqa.lastonce; retrieve raw logs only when needed. Report findings faithfully, and identify verification limits. Source or review mutations invalidate acceptance. Missing verdicts are UNKNOWN. An absent repository verification command means UNVERIFIED, even when QA passes.
For a Fractal run, report its managed run ID with the Forge result. Use
<skill_dir>/forge fractal runs --repo <repo> --json and tree RUN_ID --json to discover
run/task/node IDs; use status, logs or open for inspection. Run-level resume
recovers the recorded pipeline; scoped controls affect only the selected execution scope.
Preserve failed work and state the distinction between execution completion, QA acceptance
and verification. Read the Fractal reference before retrying, changing limits or exporting
a portable report.
Ripwire context is automatic when compatible; --no-ripwire or FORGE_RIPWIRE=off
disables it. Pass opt-out to every role, including a separately dispatched planner.
Runners offer installation once before agents; dispatch never prompts. See
Ripwire for installation, limits and fallback behavior.
Conditional references
- Planning: read for
--planner(includingforge-parallel.sh auto) or an agreed approach. - Solo: command, snapshots, artifacts, exit codes and native-review limits.
- Decomposition: task schema, routing and profiles,
auto, plan shape, waves, retries and integration. - Harnesses: invocation troubleshooting, the fast service tier, or adding a harness.
- Fractal: opt-in nested execution, installation, limits, recovery, managed run commands, read-only dashboard and portable reports.
- Memory:
.forge/learning and spend records;--no-memorydisables them. Memory is written to the user's repository but excluded from implementation diffs. - forge-ui: the opt-in local run viewer;
forge ui open|status|stop,FORGE_UI=off, one shared server, privacy. - Dataset: every run's inputs and outcomes, kept outside the repo
for training decision models;
forge dataset status|import|export|outcomes,FORGE_DATASET=off. - Decision models: optional TypeSafe Jev or Cloudflare Clef
judgments (drift, forward dependency, prompt adequacy, memory curation, verify discovery);
off until a gate is opted in with
forge decide; the criteria a site must meet, and what was tried and removed.
The common invocation is /forge "<goal>" --dwarf <spec> [--qa <spec>]. Advanced flags and
commands live with their mode reference. Use offline tests and evaluation cases
when maintaining this skill.
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.

