Borrowing it
Nothing to install: this file belongs to AURORA-NEURO/aurora-agent. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/AURORA-NEURO/aurora-agent/main/.agents/skills/prove-a-scanner-fires/SKILL.mdgit clone --depth 1 https://github.com/AURORA-NEURO/aurora-agentWrote 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/aurora-neuro/aurora-agent/prove-a-scanner-fires)<a href="https://agentmods.dev/skills/aurora-neuro/aurora-agent/prove-a-scanner-fires"><img src="https://agentmods.dev/badge/skills/aurora-neuro/aurora-agent/prove-a-scanner-fires/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/aurora-neuro/aurora-agent/prove-a-scanner-fires"><img src="https://agentmods.dev/badge/skills/aurora-neuro/aurora-agent/prove-a-scanner-fires.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.00089 | $0.02074 |
| Opus 5 | $0.00044 | $0.01037 |
| Sonnet 5 | $0.00018 | $0.00415 |
| Haiku 4.5 | $0.00009 | $0.00207 |
Grade A, and why
prove-a-scanner-fires 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 10d 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 — 156 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Prove a scanner fires
Some rules cannot be carried by a type. "No file in this crate cites a module it did not implement" and "no source line names this guarded type" are properties of text, and the only way to enforce them is a test that reads the crate and greps it. This workspace has a dozen such scanners.
crates/oraclex articulated the rule they all live under:
A scanner that detects nothing is worse than no scanner. It reports a clean bill of health forever, including after the rule it checks stops being true — and the passing test is what stops anyone from looking.
A workspace audit found seven scanners across six crates with no proof they fired — bioevalx,
interweave, megafactory, modalities, oraclex and sweep. They all have one now. Two of them
were genuinely broken, and neither would have been found by reading the code.
The four things every scanner needs
1. A planted violation, with negative cases
Name it <thing>_scanner_can_actually_see_one or the_<thing>_scanner_sees_a_planted_violation, and
assert both directions in the same test. crates/oraclex/tests/hygiene.rs:
#[test]
fn the_hardcoded_constant_scanner_can_actually_see_one() {
assert_eq!(
numeric_constants("synthetic.rs", "const MIXTURE_FLOOR: f64 = 0.15;").len(),
1,
"a scanner that detects nothing is worse than no scanner"
);
assert!(numeric_constants("synthetic.rs", "pub const ALL: [Family; 12] = [").is_empty());
}
The negative case is not decoration. [Family; 12] is an array length and says nothing about
biology; a scanner that flags it will be allowlisted into uselessness within a month.
crates/bioevalx/tests/plane_and_zero.rs does the same for imputation — it fires on
cell.score().unwrap_or(0.0) and on a fn score_or_zero, and deliberately does not fire on
label.unwrap_or("unnamed") (a defaulted string is not an imputed score) or on a comment
describing the rule.
2. Planted ids assembled from digits, never written out
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.
- 10d ago First seen · 156 lines · 89 tokens per session scan A 7814c3015bff
prove-a-scanner-fires is a skill published in the GitHub repository AURORA-NEURO/aurora-agent (1 stars, last pushed yesterday), licensed Apache-2.0. It adds 89 tokens to every session and 2,074 once invoked, about $0.0004 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-31.
Other skills, from other repositories
blazemeter-api-reference
Comprehensive reference for BlazeMeter REST APIs, including authentication, identifiers, and API endpoints. Use when working with BlazeMeter APIs for (1) Understanding BlazeMeter REST API structure, (2) Authenticating API requests, (3) Obtaining identifiers (Workspace ID, Project ID, Test ID, etc.), (4) Using Test…
blazemeter-performance-testing
Comprehensive guide for BlazeMeter Performance Testing, including load configuration, reporting, JMeter configuration, Taurus, scenarios, and advanced features. Use when working with Performance tests for (1) Configuring load settings and distribution, (2) Creating and running tests (JMeter, Browser, URL/API…
blazemeter-getting-started
Getting started guides for BlazeMeter, including onboarding, migration guides, continuous testing journey, glossary, and mobile testing. Use when getting started with BlazeMeter for (1) Navigating BlazeMeter University onboarding, (2) Migrating from Runscope or JMeter, (3) Understanding the continuous testing journey…
blazemeter-integrations
Comprehensive guide for BlazeMeter Integrations, including APM tools, CI/CD pipelines, and development tools. Use when working with integrations for (1) Integrating APM tools (AppDynamics, Datadog, New Relic, CloudWatch, DX APM, Dynatrace, Delphix), (2) Integrating CI/CD tools (Jenkins, GitHub Actions, GitLab CI/CD…
blazemeter-api-monitoring
Comprehensive guide for BlazeMeter API Monitoring, including test creation, configuration, scripting, integrations, notifications, and management. Use when working with API Monitoring tests for (1) Creating and configuring API tests, (2) Writing custom scripts (Initial, Pre-request, Post-response), (3) Integrating…
blazemeter-service-virtualization
Comprehensive guide for BlazeMeter Service Virtualization, including virtual services, transactions, templates, and management. Use when working with Service Virtualization for (1) Creating virtual services and transactions, (2) Managing services (clone, export/import, rename/delete), (3) Using templates and…