forge

forge is a command for Claude Code from ForgeyClap/claude-forge. It costs 0 tokens per session (12,858 once invoked), scanned A, original, MIT.

A project-aware system for organizing and carrying out coding tasks with a team of AI agents. It reads project notes, records work events, updates project records, and can optionally request a review.

In plain words
What is it for?
Use it to classify tasks, coordinate agents, run work in a project, start or check a shared dashboard, and update project memory and agent records.
Why use it?
It keeps task execution tied to the correct project folder and makes the work and its results easier to track. It also requires honest reporting instead of claiming work that was not done.

Command for Claude Code

Written for Claude Code: argument-hint in frontmatter. Also seen: reads .claude/ paths; mentions CLAUDE.md; mentions subagents.

Good fit Use it to classify tasks, coordinate agents, run work in a project, start or check a shared dashboard, and update project memory and agent records.

Compare 6 commands from other repositories ↓
Install with agentmods
npx agentmods add commands/forgeyclap/claude-forge/forge
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/ForgeyClap/claude-forge

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for forge

README.md
[![agentmods](https://agentmods.dev/badge/commands/forgeyclap/claude-forge/forge/github.svg)](https://agentmods.dev/commands/forgeyclap/claude-forge/forge)
Your own site
<a href="https://agentmods.dev/commands/forgeyclap/claude-forge/forge"><img src="https://agentmods.dev/badge/commands/forgeyclap/claude-forge/forge/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for forge

Your own site · 80×15
<a href="https://agentmods.dev/commands/forgeyclap/claude-forge/forge"><img src="https://agentmods.dev/badge/commands/forgeyclap/claude-forge/forge.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 12,858 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00000 $0.12858
Opus 5.5 $0.00000 $0.05143
Sonnet 5.5 $0.00000 $0.02572
Haiku 4.5 $0.00000 $0.01286

Measured 1mo ago against content hash 8ad5ae408a7b, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

forge scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Subtle steeringlowPrompt injection

Instructions that bias recommendations or shape behaviour without the user noticing.

- **`config`** / "instellingen" / "settings" / "zet <iets> aan|uit|op N%" / "vraag me niet meer bij elke fase" / "interview mode aan" / "codex review uit" → the owner's settings: every Forge feature is ON by default, and

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

.claude/commands/forge.md · 123 lines

How it starts

The opening of the file, as written. The whole thing — 123 lines — stays where its author put it; the contents beside it link to each section on GitHub.

/forge

Input: $ARGUMENTS. Obey CLAUDE.md (project isolation + honesty + no fake claims). Work only in this project folder.

Sub-commands & natural-language triggers (check $ARGUMENTS first)

Also trigger on plain language: "use Forge system", "gebruik Forge systeem", "start Forge dashboard", "open Forge dashboard", "gebruik forge voor dit project". Settings phrases ("instellingen", "settings", "zet … aan/uit/op N%") go to config below; "hoe vraag ik Forge iets" / "help me ask" goes to help me ask below.

  • dashboard / start Forge dashboard → use the active project folder (the cwd; ask only if it is genuinely ambiguous, never a routine stop-and-confirm), then find the Command Center — the ONE dashboard for every project (owner decision 2026-07-31; it auto-discovers projects, so it does not need to live in THIS folder): first health-check http://127.0.0.1:4100/api/health (or CC_PORT if the owner set one) — already answering means this project is already covered, so start nothing else; otherwise (1) if command-center/gateway/bin.mjs exists in this project, that IS the Command Center home, else (1b) check the installer's shared central copy at ~/.claude/forge/template/command-center/gateway/bin.mjs (v2.9.0) — whichever copy is found: if its dashboard/dist is missing, build it yourself (npm ci inside command-center/dashboard when package-lock.json exists, else npm install, then npm run build) — never print a build command for the user; prefer the supervisor for long sessions (node command-center/gateway/supervisor.mjs — auto-restarts the gateway) or start the gateway directly (node command-center/gateway/bin.mjs, port 4100); (2) neither copy exists — say so in one line naming the installer for this OS (install.ps1/install.sh) and continue. Either way: health-check http://127.0.0.1:4100/api/health and report http://127.0.0.1:4100 as the dashboard URL — never claim it is running unless that check passed; never fake a start. Do NOT try to fall back to the old per-project Control Center — .claude/forge-dashboard/server.cjs was REMOVED in v2.9.0 (not just retired — the file and its UI no longer exist, so there is no start route at all); only log-event.cjs in that directory stays in active service as the per-project run-event writer, completely unchanged. If no Command Center is reachable anywhere, say so honestly in one line (with the expected URL) and continue — Forge starts what it can itself and never hands the user a command to type. The usage guard is not started by this sub-command — BUILD BY DEFAULT starts it when config usage-guard is on (the tool prints its own disclosure on a real start).
  • config / "instellingen" / "settings" / "zet aan|uit|op N%" / "vraag me niet meer bij elke fase" / "interview mode aan" / "codex review uit" → the owner's settings: every Forge feature is ON by default, and this lists or changes any of them in one command. Map the phrase to a key yourself — node .claude/forge-bin/forge-config.cjs parse "<sentence>" names the exact set it would run; when it says "No setting recognised" or exits 3, map it from the schema aliases in .claude/config/orchestration/FORGE_CONFIG_SCHEMA.json or offer its candidates as options ("vraag me niet meer bij elke fase" → set autonomy continue-within-mission + set start-gate off). Then run the CLI yourself — node .claude/forge-bin/forge-config.cjs list|get <key>|set <key> <value>|unset <key>|reset|explain <key> — never edit FORGE_CONFIG.json by hand and never tell the user to run it. Repeat the tool's OK line verbatim; for list, print the tool's own table in the owner's language (--lang nl|en; add --ascii when the output lands in Windows cmd). Add one plain line on what changed and when it takes effect: a usage-guard key reaches the running guard only after a restart, so run node .claude/forge-bin/usage-guard.cjs stop and then start yourself right away (only stop when it was switched off); every other key applies from the next step. reset without --yes exits 3 → ask once ("Alles terug naar de standaard?") and rerun with --yes; a hard gate is locked (exit 3) — say in one line that hard gates cannot be switched off.
  • help me ask / "hoe vraag ik Forge iets" / "hoe moet ik dit vragen" → show .claude/skills/forge-prompt-coach/references/HOW-TO-ASK.md (the Dutch part first, then English) — just that file, never a lecture.
  • start → same as dashboard, then begin a new run (steps 0–1 below).
  • interview → the full intake questionnaire, one question at a time (forge-intake skill §Iteratieve intake). By default /forge <goal> answers the intake itself; this is the opt-in for owners who want to be asked.
  • propose-skill / approve-skill <name> --owner-approval <token> → node .claude/forge-bin/forge-genesis.cjs propose --gap "<x>" --evidence <file> stages a skill proposal under .claude/forge-genesis-staging/; approve (owner token required) promotes it — never automatic. (Advertised by forge-core since v8.1 but had no entry here; wired 2026-09-23 after an external audit, together with the four below.)
  • tournament / secondbrain / codemodel / briefing <run_id> → best-of-N variant scoring, a read-only cross-project portfolio strategist, the incremental repo index, and the overnight-run morning briefing; each ships in forge-bin/ and prints usage on --help. Read .claude/docs/forge-reference/tournament-secondbrain-codemodel-briefing.md first.
  • use / use Forge system / gebruik Forge systeem → load project memory/profile; if Forge isn't installed in this folder, install it yourself exactly like the bare-folder step in BUILD BY DEFAULT (or say in one line that Forge is not installed on this machine when its template is absent too); start the dashboard yourself as in dashboard above (or say in one line that it is not installed here); then continue the task via the flow below.
  • status → node .claude/forge-bin/forge-runinfo.cjs status (or the forge-status.* wrapper): reads .claude/FORGE_MEMORY.md + newest .claude/forge-runs/*/run.json + a short-timeout health-check of the Command Center; summarize project status, latest run, and dashboard reachability.
  • runs → list THIS project's .claude/forge-runs/*/ newest-first.
  • resume <run_id> (WAVE D) → a session/usage limit killed a swarm mid-run; reconcile that run's manifest purely from its logged events and re-dispatch only the still-unfinished work packages, never a fabricated "done". Read .claude/docs/forge-reference/resume.md first (it also covers the required arm-manifest step and the exit codes).
  • open-report → print THIS project's newest .claude/forge-runs/*/final-report.md.
  • learn (WAVE F, opt-in, read-only) → cross-project learning harvest: reads OTHER Forge projects' memory files (never writes to them) and stores real, evidenced, secret-redacted lines into THIS project's reserved global lesson namespace. Explicit discovery only — nothing is scanned unless told to. Read .claude/docs/forge-reference/learn-harvest.md first.
  • remember <text> / "onthoud dat …" (WAVE B / B4) → promote an explicit owner instruction into a real, ACTIVE standing rule: node .claude/forge-bin/forge-standing.cjs remember "<text>" [--scope <scope>] [--trigger always|domain|glob|on-request] [--domain <domain>] [--glob <glob>] [--topic <topic>]. This is the ONLY sanctioned path that writes a new status:"active" rule — it stamps source:"owner /forge remember" (never a fabricated/inferred source) and can never mint a new cannot_override_core rule. Report the written rule id + text back to the owner.
  • snapshot (owner request 2026-07-29, .claude/skills/forge-snapshot/SKILL.md) → manual/phase-boundary context-continuity snapshot: node .claude/forge-bin/forge-snapshot.cjs write --reason phase regenerates .claude/FORGE_SNAPSHOT.md from real sources (memory/task-history/work-packages/decisions/git/latest run events/doctor) — Mission preserved verbatim, every other section re-derived fresh, never a fabricated context percentage. This is also fired automatically by the wired PreCompact (matchers manual+auto) hook and re-injected on the following SessionStart (matcher compact) — see HOOKS_OPT_IN.md section 4 for the live wiring record. node .claude/forge-bin/forge-snapshot.cjs check --max-age-hours <n> reports staleness.

Read the full file on GitHub · 123 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago Changed · -9 lines 8ad5ae408a7b
  2. 1mo ago Changed 06264f6a2bd2
  3. 1mo ago Changed · +6 lines · -68 tokens per session 9bb0c0d6acf9
  4. 1mo ago Changed · +7 lines 2bd393ee13a1
  5. 2mo ago First seen · 119 lines · 68 tokens per session scan A ef4a80ea4122

Subscribe to this mod's changes

forge is a command published in the GitHub repository ForgeyClap/claude-forge (2 stars, last pushed 1mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 12,858 tokens. A static security scan graded it A with 1 finding (subtle steering). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

forge compared with commands from other repositories

forge next to 6 commands from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
forgeForgeyClap/claude-forgeCommand21mo agoMITA0Claude Code
scout-meta-reviewRaven-Scout/ScoutCommand20yesterdayMITA61Claude Code
scout-workRaven-Scout/ScoutCommand20yesterdayMITA47Claude Code
dashboardToRvaLDz/trailheadCommand272d agoMITA20Claude Code
pauseToRvaLDz/trailheadCommand272d agoMITA11Claude Code
auditToRvaLDz/trailheadCommand272d agoMITA28Claude Code
splitToRvaLDz/trailheadCommand272d agoMITA10Claude Code