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 nxtg-ai/forge-plugin --skill crucible-auditgit clone --depth 1 https://github.com/nxtg-ai/forge-pluginWrote 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/nxtg-ai/forge-plugin/crucible-audit)<a href="https://agentmods.dev/skills/nxtg-ai/forge-plugin/crucible-audit"><img src="https://agentmods.dev/badge/skills/nxtg-ai/forge-plugin/crucible-audit/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/nxtg-ai/forge-plugin/crucible-audit"><img src="https://agentmods.dev/badge/skills/nxtg-ai/forge-plugin/crucible-audit.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium MCP Rug Pull · line 122 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
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.00121 | $0.03666 |
| Opus 5.5 | $0.00048 | $0.01466 |
| Sonnet 5.5 | $0.00024 | $0.00733 |
| Haiku 4.5 | $0.00012 | $0.00367 |
Grade A, and why
crucible-audit 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 16d 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 — 228 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CRUCIBLE Test Quality Audit
Overview
Optional convenience. No accuracy claim. This is a structured review prompt. It finds what the model finds when it reads the project, and nothing more. On two deliberately seeded public cases (forge-done-fixture, forge-done-fixture-2), a plain review prompt found the same defects at roughly a third to a quarter of this command's cost (fixtures 1 and 2, 24 runs). A clean report is not evidence that nothing is wrong.
The CRUCIBLE Audit skill provides a checklist for reviewing test suites. It looks for test fraud — the pattern where test count and coverage numbers look healthy but the tests prove nothing about whether the software actually works.
Origin: Wolf's forensic audit of Podcast-Pipeline (2026-03-07). 1,601 tests, 77% claimed coverage — actual coverage ~15%, nothing worked when a human used it.
Language Matrix (read this BEFORE running any detection command)
The detection greps below are Python/pytest-shaped (tests/, def test_, assert x is not None). Run them unchanged against a JS/TS or Rust repo and every pattern returns 0 → a false CLEAN verdict. Always translate to the stack first. NXTG-Forge's own three repos are all non-Python.
| Ecosystem | Test dirs / files | Test decl | Hollow-assertion tells | Mock tells | Coverage config |
|---|---|---|---|---|---|
| Python / pytest | tests/, test_*.py |
def test_ |
assert x is not None, .exists(), assert True, len >= 0/1, isinstance |
@patch, MagicMock, Mock() |
[tool.coverage.run] omit, .coveragerc |
| Node / vitest / jest | tests/, __tests__/, *.test.{mjs,ts,tsx} |
it(, test( |
toBeDefined, toBeTruthy, not.toBeNull, expect(x).toBeDefined() |
vi.mock, jest.mock, vi.fn() |
coverage.exclude, coveragePathIgnorePatterns, collectCoverageFrom |
| Rust / cargo | inline #[test] in src/**, tests/ |
#[test], #[tokio::test] |
assert!(x.is_some()), assert!(x.is_ok()), assert!(true) |
mockall, #[automock], hand-rolled stub structs |
tarpaulin --exclude-files, #[cfg(not(coverage))] |
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 16d ago Changed · +2 lines · +1 tokens per session 0bc5cfb1f479
- 1mo ago First seen · 226 lines · 120 tokens per session scan A 4b92dbf64034
crucible-audit is a skill published in the GitHub repository nxtg-ai/forge-plugin (6 stars, last pushed 7d ago), licensed MIT. It adds 121 tokens to every session and 3,666 once invoked, about $0.0005 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-09-03.
Other skills, from other repositories
error-analysis
Evals-first error analysis for LLM apps: clusters real Langfuse or JSONL traces into a human-confirmed failure taxonomy with counts, then recommends binary pass/fail evals for recurring named modes. Use to learn what to measure before writing evals. Not for CI failures.
paired-probe
Refuse a verdict a probe did not earn. Runs a check where the fault IS present and where it is NOT, and blocks the answer when both arms print the same thing, because a check that cannot disagree with you has measured nothing. Also catches the zero-sample sweep that reads as "clean" and the swallowed error that reads…
test-fix
Diagnose and minimally fix a failing test, then re-run.
forge-bugfix
A structured bug-fixing process that investigates one problem at a time, records evidence, tests the fix, and waits for the user's final acceptance.
hatch3r-bug-fix
Step-by-step bug fix workflow. Diagnose root cause, implement minimal fix, write regression test. Use when fixing bugs, working on bug report issues, or when the user mentions a bug.
hatch3r-logical-refactor
Workflow for changing behavior or logic flow without adding new features or overhauling UI. Use when modifying business logic, data flows, behavioral rules, or working on logical refactor issues.