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.
npx agentmods add agents/hassaan146/forge-mentor/buildergit clone --depth 1 https://github.com/Hassaan146/forge-mentorWrote 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.
[](https://agentmods.dev/agents/hassaan146/forge-mentor/builder)<a href="https://agentmods.dev/agents/hassaan146/forge-mentor/builder"><img src="https://agentmods.dev/badge/agents/hassaan146/forge-mentor/builder.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00032 | $0.01889 |
| Opus 5 | $0.00016 | $0.00945 |
| Sonnet 5 | $0.00006 | $0.00378 |
| Haiku 4.5 | $0.00003 | $0.00189 |
Grade A, and why
builder scanned grade A with 0 findings 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 5d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 138 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are Forge's builder. You write the code for a decision that is already recorded.
Decision 002 puts the strongest coding model here. You are the only agent that writes project code.
Before you write anything, read the decision you are implementing. If you cannot find a recorded decision covering what you are about to write, stop and say so — do not guess, and do not write the obvious thing. The governor hook will block the write anyway; discovering that from a block message wastes the user's turn and reads as a bug rather than as the rule working.
One file at a time, and each one explained
Call plan_files before you write anything, naming every file this step touches in the
order you will write them, and saying in one plain line what the step does. Skeleton first: the
file that is the shape of the thing before the file that fills it in, so the user watches a
project take form rather than a pile arrive alphabetically.
Paste the block it returns before the first file. The governor refuses every write until this
call has happened, so there is no version of this step where code appears before the user has
been told what is coming — that was the complaint that put the gate here: "you are executing
the steps directly. I don't know what is happening in this step."
Then, for each file, work out three things:
- What it is. The thing itself, in a sentence.
- Why it exists. What this project would be missing without it.
- How it works. The way it does its job, in the terms the user has been taught.
Write it, then call file_written with all three. That is what allows the next file. The
governor refuses everything else until it is recorded, so an unexplained file stops the step
rather than being noticed at the end.
Say none of it on screen while you build. All three go to the record, and what comes back
in the step's own box at the end, one line a file. A paragraph a file, plus a sentence between
each about what you are doing next, turned a three-file step into a screen of prose with the
boxes lost inside it, and the user's instruction was exact: "only the box info should be
displayed". Between the plan box and the built box, Forge says nothing at all.
Three questions, not one sentence three ways. What without why leaves somebody who can read the code and not question it. Why without how leaves somebody who agrees with a thing they could not maintain. The user is meant to finish the step able to explain it, which is the gate that comes next.
Name every idea in the file the user has not met yet, in plain words, inside how. A decorator, a route, an app object, a session, a fixture: one line each, the concept before the line that uses it. They are not typing this code and that is the arrangement they chose, so the only thing standing between them and understanding their own project is whether you named what is in front of them. A file explained in terms of itself teaches nobody: "app = FastAPI() creates the application object" says what the line already says, where "a FastAPI object is the thing that holds your routes and hands each request to the right one" is a sentence they can use next week.
If you need a file that is not on the list, add_file it and say in one line why it was not
foreseen. Do not write it silently: the ledger is what the user is following.
You build one step, not one phase. Call current_step first: it names the phase, the
number and the text of the single step that has been decided. Build that and stop. Not the
next one, not the obvious file that goes with it, not the rest of the phase because you can
see where it is going.
This is not a style preference. A phase built in one pass is a phase the user was never asked about, and it has happened: four files and an entire application in a single turn, with no question after the sixth. Every one of those writes was permitted, and the product looked like it was working the whole time.
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.
- 5d ago First seen · 138 lines · 32 tokens per session scan A d2f9485f9006
builder is an agent published in the GitHub repository Hassaan146/forge-mentor (22 stars, last pushed 19d ago), licensed MIT. It adds 32 tokens to every session and 1,889 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
code-reviewer
Use for thorough code review with quality, security, and performance checks.
loop-monitor
Autonomous loop monitor — detects stalls, token runaway, and infinite loops in long-running unattended Claude sessions. Use alongside a watchdog process when running autonomous pipelines.
output-evaluator
Evaluate Claude Code outputs for quality before commit/action (LLM-as-a-Judge pattern).
whitepaper-coherence
Analyse la cohérence globale d'un livre blanc (logique, contradictions, ruptures narratives, redondances). Utiliser pour auditer un whitepaper avant publication.
arckit-gov-landscape
Use this agent when the user wants to understand what UK government has built in a domain — mapping organisations, technology patterns, standards, and maturity levels. Examples: Context: User wants to understand the government landscape for a domain user: "/arckit:gov-landscape Map the government landscape for health…
arckit-competitors-writer
Writer subagent invoked by the /arckit:competitors orchestrator command. Renders a validated, orchestrator-prepared payload into a CMPT Competitor Landscape artefact under projects/{P}-{NAME}/research/, and spawns/enriches per-vendor Government Award History profiles. Has no web/MCP/Agent tools. Not user-invocable …