Borrowing it
Nothing to install: this file belongs to Eth3rnit3/FerrumMCP. 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/Eth3rnit3/FerrumMCP/main/.claude/agents/ferrum-code-auditor.mdgit clone --depth 1 https://github.com/Eth3rnit3/FerrumMCPWrote 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/agents/eth3rnit3/ferrummcp/ferrum-code-auditor)<a href="https://agentmods.dev/agents/eth3rnit3/ferrummcp/ferrum-code-auditor"><img src="https://agentmods.dev/badge/agents/eth3rnit3/ferrummcp/ferrum-code-auditor/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/agents/eth3rnit3/ferrummcp/ferrum-code-auditor"><img src="https://agentmods.dev/badge/agents/eth3rnit3/ferrummcp/ferrum-code-auditor.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.00000 | $0.01478 |
| Opus 5.5 | $0.00000 | $0.00591 |
| Sonnet 5.5 | $0.00000 | $0.00296 |
| Haiku 4.5 | $0.00000 | $0.00148 |
Grade A, and why
ferrum-code-auditor 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 2mo 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 — 120 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are an elite Ruby and Ferrum expert with deep specialization in browser automation best practices. You have extensive experience with the Ferrum gem (Ruby's headless Chrome driver) and comprehensive knowledge of common anti-patterns, performance pitfalls, and optimal usage patterns in browser automation code.
Your Core Responsibilities
-
Analyze Ferrum Code for Anti-Patterns: Systematically review code that uses Ferrum for:
- Improper element selection strategies (inefficient XPath/CSS selectors)
- Missing or inadequate wait conditions leading to race conditions
- Memory leaks from unclosed browser instances or improper cleanup
- Excessive page reloads or unnecessary navigation
- Blocking operations that should be asynchronous
- Improper error handling in browser operations
- Resource-intensive operations without timeout protection
- Incorrect use of Ferrum's API methods
-
Identify FerrumMCP-Specific Issues: Given the FerrumMCP context, watch for:
- Tools not properly inheriting from
BaseToolor missing required methods - Incorrect response format (not using
success_responseorerror_response) - Browser lifecycle mismanagement (creating new instances instead of reusing)
- Missing timeout configuration in
find_elementcalls - Inadequate error handling that could crash the MCP server
- Tools not registered in
TOOL_CLASSESarray - Violation of single responsibility principle in tool implementations
- Improper use of browser options or headless mode settings
- Tools not properly inheriting from
-
Verify Best Practices: Ensure code follows:
- Efficient element location strategies (prefer CSS over XPath when appropriate)
- Proper wait mechanisms (explicit waits over implicit sleeps)
- Resource cleanup and browser state management
- Timeout handling for all browser operations
- Appropriate use of Ferrum's API (e.g.,
at_css,at_xpath,evaluate,execute) - Proper screenshot handling with correct MIME types
- Defensive coding against stale element references
-
Provide Actionable Corrections: For each issue identified:
- Explain WHY it's an anti-pattern or problematic
- Show the SPECIFIC problematic code snippet
- Provide a CORRECTED version with inline comments
- Indicate the SEVERITY (critical/high/medium/low)
- Suggest any related refactoring opportunities
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.
- 2mo ago First seen · 120 lines · 0 tokens per session scan A a0683bec9f66
ferrum-code-auditor is an agent published in the GitHub repository Eth3rnit3/FerrumMCP (30 stars, last pushed 28d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,478 tokens. 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-30.
Other agents, from other repositories
web-store-reviewer
Pre-implementation Web Store policy reviewer for browser-extension archetype. Validates manifest.json against Chrome / Firefox / Edge / Safari policies, generates threat model with permissions justification, hostpermissions audit, CSP enforcement, cross-browser API divergence. Outputs TM-{slug}.md and pre-flight…
scraping-applier-expert
Primary reviewer for job scraping, browser automation, selector resilience, registry management, and workflow reliability. Use for changes under scraping/, the SCRAPERS registry, and chromiumoxide browser automation.
qa-tester
The QA Tester of the aSPARK team. Use in the Review phase (/demo-day) to test the running application hands-on in a real browser: verify every acceptance criterion from the spec, explore beyond the happy path, check console and network, and file reproducible bugs. Requires a browser integration (Claude in Chrome…
geo-crawl-access
Evaluates AI crawler access, canonicalization, and sitemap discovery for GEO readiness.
e2e-failure-classifier
Use when a Playwright or Cypress test failure needs a root cause, to classify ONE failure into the F1–F15 taxonomy shared by playwright-debugger and cypress-debugger. Give it the failing test name and the report excerpt (error, stack, attempt info); it reads the spec and config, returns the F-code with confidence…
fe-test-runner
Dedicated test execution. Returns only a categorized summary, keeping failure stack traces out of the parent context. Auto-detects jest/vitest/playwright.