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 skills/outlinedriven/odin-claude-plugin/behavior-validatornpx skills add OutlineDriven/odin-claude-plugin --skill behavior-validatorgit clone --depth 1 https://github.com/OutlineDriven/odin-claude-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/outlinedriven/odin-claude-plugin/behavior-validator)<a href="https://agentmods.dev/skills/outlinedriven/odin-claude-plugin/behavior-validator"><img src="https://agentmods.dev/badge/skills/outlinedriven/odin-claude-plugin/behavior-validator.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.00059 | $0.01007 |
| Opus 5 | $0.00030 | $0.00504 |
| Sonnet 5 | $0.00012 | $0.00201 |
| Haiku 4.5 | $0.00006 | $0.00101 |
Grade A, and why
behavior-validator 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 yesterday.
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.
This is a copy
100% identical to behavior-validator — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 45 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Behavior validator
Contract
| Field | Bound contract |
|---|---|
| Trigger | User needs a code-review-agnostic skill to validate a web app, CLI, API, or generated artifact against a source-blind behavior contract, or as a black-box companion to a code-aware review |
| Authority | Read-only. No file, VCS, credential, paid, published, deployed, or remote mutation. Reads only the runtime output of the target; never reads source code, repository state, or build internals |
| Side effect | Produces a structured behavior validation report. No mutation of the target, source, or workspace beyond emitting the report |
| Done | Every contract clause has an observable result; the report correctly reflects real-time behavior and no implementation evidence contaminated the validation |
Inputs
- A behavior contract: a list of clauses, each with an identifier, a stimulus, and an expected observable outcome. Must be supplied.
- A target descriptor: how to reach the subject — a URL, a CLI invocation, an API endpoint, or an artifact path. Must be supplied.
- Optional: authentication material (tokens, headers), environment variables, seed data, or a run budget.
- Source code, repository state, and build internals are never inputs and must not be read.
Procedure
- Parse the contract into clauses. Reject any clause whose expected outcome references source structure (file names, function names, internal types, line numbers) — mark it out-of-scope, because source-blind validation cannot observe implementation structure. Done when: all clauses are parsed and source-referencing clauses are marked out-of-scope.
- Establish source-blind isolation for the whole run: do not read, list, grep, or otherwise inspect source files, repository state, or build internals. Operate only against the target's runtime surface. Done when: source-blind isolation is established and maintained.
- For each in-scope clause, construct a probe from its stimulus: an HTTP request, a CLI invocation, an API call, or an artifact inspection limited to observable output. Done when: every in-scope clause has a constructed probe.
- Apply anti-cheat probes per clause: re-run the stimulus with perturbed and edge inputs (empty, oversized, malformed, reordered, boundary values) to distinguish genuine behavior from hardcoded or coincidental outputs. Record whether the outcome is stable across the perturbations. Done when: every clause has its anti-cheat stability flag recorded.
- Execute each probe against the live target and capture only the observable result (status code, headers, stdout/stderr, exit code, rendered output). Redact secrets and personally identifying information from every captured evidence excerpt. Done when: every probe is executed with redacted evidence captured.
- Classify each clause: pass (observed outcome matches the expected outcome), fail (observable mismatch), blocked (target unreachable or probe could not execute), out-of-scope (clause not observable from the runtime surface). Done when: every clause has its classification assigned.
- Assemble the report mapping each probe category to its clause result, attaching the redacted evidence excerpt and the anti-cheat stability flag. Done when: the report maps every clause to its result with evidence and stability flag.
- Stop. Do not widen scope, patch the target, read source to explain a result, or infer an expected outcome the contract did not state. Done when: the report is emitted and no scope widening, patching, or source reading occurred.
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.
- yesterday First seen · 45 lines · 59 tokens per session scan A 7306aac17161
behavior-validator is a skill published in the GitHub repository OutlineDriven/odin-claude-plugin (35 stars, last pushed today), licensed Apache-2.0. It adds 59 tokens to every session and 1,007 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to behavior-validator, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
qa
Browser-based QA verification. Launches a real browser, navigates the app, clicks buttons, fills forms, and tests user flows. Works as a standalone skill or as a phase end condition in campaigns. Requires Playwright (optional dependency, graceful skip if not installed).
live-preview
Mid-build visual verification loop. Takes screenshots of components during construction, not just after. Catches visual regressions and invisible features before they compound. Requires Playwright or similar screenshot tool.
visual-diff
Visual Regression Testing — screenshot comparison before and after changes. Use when user wants to check for visual regressions, compare UI changes, or verify CSS/layout changes didn't break anything.
install-and-verify-package
Stand up the partner's EXISTING released managed package in a throwaway scratch/trial org and audit the deployed artifact — exactly what the Salesforce reviewer does when they install your package. Pre-install contamination check, headless permission-chain verification (the install-time UEC grant drop), Connect API…
demo-review
Quality-checks a rendered demo video before it ships — extracts frames, grades each section against its successCriteria, and finds spinners, empty states, clipped text, exposed secrets, audio/video desync, and pacing problems. Use after a draft render, before a final render, or when asked whether a demo video is good…
java-clean-arch
Reviews or implements Clean Architecture / Hexagonal Architecture (Ports & Adapters) and DDD tactical patterns for Java projects. Use when user asks to "apply clean architecture", "implement hexagonal architecture", "add ports and adapters", "apply DDD", "refactor to clean arch", "review architecture", or "add value…