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 runtime-validationgit 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/runtime-validation)<a href="https://agentmods.dev/skills/nxtg-ai/forge-plugin/runtime-validation"><img src="https://agentmods.dev/badge/skills/nxtg-ai/forge-plugin/runtime-validation/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/runtime-validation"><img src="https://agentmods.dev/badge/skills/nxtg-ai/forge-plugin/runtime-validation.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, 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 58 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]
- medium MCP Rug Pull · line 173 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.00132 | $0.02292 |
| Opus 5 | $0.00066 | $0.01146 |
| Sonnet 5 | $0.00026 | $0.00458 |
| Haiku 4.5 | $0.00013 | $0.00229 |
Grade A, and why
Runtime Validation 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 6d 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 — 186 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Runtime Validation
Unit tests assert on mocked inputs and isolated functions. Runtime validation asserts on the actual running system — logs, real HTTP responses, and cross-layer data. A suite can be 100% green while the product is broken, because the mocks never hit the code path that fails. This skill is the discipline that closes that gap.
Why this exists (real forge incident, not hypothetical)
hooks/scripts/smoke-test-reminder.sh in this plugin carries the origin verbatim:
On 2026-02-06, an agent spent an entire day writing 2326 mock unit tests while the actual product was broken. A duplicate placeholder route intercepted all real requests. Nobody caught it because nobody started the actual server.
That is the whole thesis: a passing mock suite is not evidence the running system works. The three techniques below are how you get that evidence.
The three techniques
| Technique | What it observes | Catches |
|---|---|---|
| Log monitoring | app logs during a test/server run | validation errors, stack traces, swallowed exceptions the assertion never saw |
| Contract validation | real HTTP responses vs their schema | schema drift, missing/renamed fields, type mismatches between layers |
| Invariant checking | derived data values | math/domain violations (density > 1.0, negative counts, % > 100) |
Runtime validation composes with your existing tests — it does not replace them. Run the unit suite for logic, then observe the running system for everything the mocks hid.
1. Log monitoring during test/server runs
The cheapest, highest-yield technique: watch the app's own logs for error signatures while you exercise it, and fail the run if any appear — even when every assertion passed.
# Tail logs while a test or smoke run executes; fail on known error signatures.
: > logs/app.log # truncate so you only see this run
npx vitest run # or: cargo test / pytest / your smoke script
if grep -Eiq 'validation error|panicked at|Input should be|type=\w+_error|Unhandled' logs/app.log; then
echo "RUNTIME ERRORS in logs despite green suite:" >&2
grep -Ei 'validation error|panicked at|Input should be|type=\w+_error|Unhandled' logs/app.log >&2
exit 1
fi
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.
- 6d ago First seen · 186 lines · 132 tokens per session scan A 6345aae690ee
Runtime Validation is a skill published in the GitHub repository nxtg-ai/forge-plugin (5 stars, last pushed today), licensed MIT. It adds 132 tokens to every session and 2,292 once invoked, about $0.0007 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-09-03.
Other skills, from other repositories
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.
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.
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.
ai-regression-testing
Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code.