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 skills add chrisgagne/grounded-forge --skill factorygit clone --depth 1 https://github.com/chrisgagne/grounded-forgeWrote 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/skills/chrisgagne/grounded-forge/factory)<a href="https://agentmods.dev/skills/chrisgagne/grounded-forge/factory"><img src="https://agentmods.dev/badge/skills/chrisgagne/grounded-forge/factory/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.
<a href="https://agentmods.dev/skills/chrisgagne/grounded-forge/factory"><img src="https://agentmods.dev/badge/skills/chrisgagne/grounded-forge/factory.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00088 | $0.00793 |
| Opus 5.5 | $0.00035 | $0.00317 |
| Sonnet 5.5 | $0.00018 | $0.00159 |
| Haiku 4.5 | $0.00009 | $0.00079 |
Grade A, and why
factory 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 8d 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 — 26 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Running a change through the factory
The factory is a command-line harness. Its gates are code: exit codes, hashes and structured findings decide pass or block, and every stage writes to an append-only ledger in the target repo at .factory/changes/{id}/. Your job here is to drive the CLI, explain what it found, and hand the decision to the person accountable for the change.
The CLI is factory (install once with uv tool install --editable <factory repo>; the factory repo is two folders above this skill's base directory). If it isn't on PATH, run uv run --project <factory repo> factory ....
Steps
- Check the target repo opts in. It needs
.factory/config.yamlwith at leastcommands.testandtest_globs. If it's missing, show the user the example in the factory's README and stop; don't guess their commands. - Get the story. A markdown file saying what the change should do. If the user described it in chat, write it to a file outside
.factory/and show it to them before running. - Run it.
factory run STORY.md --repo PATH. It runs spec → triage → tests → build → triage → gate → review → warrant and stops at the first block. Builds and reviews can take many minutes; run it in the background and check on it rather than waiting in silence. The factory sandboxes its own legs and commands, and sandboxes can't nest: run the CLI outside your own Bash sandbox, or it refuses to run builder code and says so in the ledger. - If it blocks, read
.factory/changes/{id}/decisions-needed.mdand tell the user, plainly: what blocked, the evidence (ledger event ids, log paths), and the options it lists. Resume withfactory run --change ID --repo PATHonce they've chosen.factory status --change ID --repo PATHshows where each stage stands. - When it finishes, present
.factory/changes/{id}/warranty.md: the status line, what was demonstrated, what is only asserted, gates passed/failed/skipped, review findings and their resolution, ratchet counts, whether the theory doc changed, and residual risks. Keep the pack's own split: never present a line from "Asserted, not evidence" as fact.
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.
- 8d ago First seen · 26 lines · 88 tokens per session scan A 005d1b5fb93c
factory is a skill published in the GitHub repository chrisgagne/grounded-forge (8 stars, last pushed yesterday), licensed MIT. It adds 88 tokens to every session and 793 once invoked, about $0.0004 per session on Opus 5.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-10-22.
Other skills, from other repositories
review-prs
Review a GitHub pull request in the googleapis/mcp-toolbox repo against the team's reviewer checklist: PR title/description conventions, linked issue, logic errors and unhandled edge cases, breaking changes, test coverage, docs updates, security (input handling), and new dependencies. Use whenever a maintainer asks…
mem0-test-integration
Verify a Mem0 integration produced by /mem0-integrate. Runs in the same workspace on the same branch (loose coupling) — installs dependencies, runs the repo's native test suite, then exercises a real end-to-end smoke flow against the user's API key. Produces a scorecard. TRIGGER when: user has just run /mem0-integrate…
mem0-integrate
Integrate Mem0 into an existing repository using a goal-driven, TDD pipeline. Detects the repo's language automatically and asks the user to pick between Mem0 Platform (managed) and Mem0 Open Source (self-hosted). Writes failing tests before any implementation. Produces a local feature branch plus .mem0-integration/…
dev-browser
Browser automation with persistent page state. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website"…
discount-review
Inspect the discount policy fixture with a repeatable review checklist and helper script.
code-review
Reviews code for bugs, security issues, and best practices.