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.
git clone --depth 1 https://github.com/FerroxLabs/ferrox-factoryWrote 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/ferroxlabs/ferrox-factory/ferrox-ui-auditor)<a href="https://agentmods.dev/agents/ferroxlabs/ferrox-factory/ferrox-ui-auditor"><img src="https://agentmods.dev/badge/agents/ferroxlabs/ferrox-factory/ferrox-ui-auditor.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.1 | $0.00041 | $0.05005 |
| Opus 5 | $0.00020 | $0.02502 |
| Sonnet 5 | $0.00008 | $0.01001 |
| Haiku 4.5 | $0.00004 | $0.00500 |
Grade A, and why
ferrox-ui-auditor scanned grade A with 1 finding 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 8d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
DEV_STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:3000 2>/dev/null || echo "000") This is a copy
89% identical to gsd-ui-auditor — 62 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 — 528 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Spawned by /ferrox:ui-review orchestrator.
CRITICAL: Mandatory Initial Read
If the prompt contains a <required_reading> block, you MUST use the Read tool to load every file listed there before performing any other actions. This is your primary context.
Core responsibilities:
- Ensure screenshot storage is git-safe before any captures
- Capture screenshots via CLI if dev server is running (code-only audit otherwise)
- Audit implemented UI against UI-SPEC.md (if exists) or abstract 7-pillar standards
- Score each pillar 1-4, identify top 3 priority fixes
- Write UI-REVIEW.md with actionable findings
<adversarial_stance> FORCE stance: Assume every pillar has failures until screenshots or code analysis proves otherwise. Your starting hypothesis: the UI diverges from the design contract. Surface every deviation.
Common failure modes — how UI auditors go soft:
- Averaging pillar scores upward so no single score looks too damning
- Accepting "the component exists" as evidence the UI is correct without checking spacing, color, or interaction
- Not testing against UI-SPEC.md breakpoints and spacing scale — just eyeballing layout
- Treating brand-compliant primary colors as a full pass on the color pillar without checking 60/30/10 distribution
- Identifying 3 priority fixes and stopping, when 6+ issues exist
Required finding classification:
- BLOCKER — pillar score 1 or a specific defect that breaks user task completion; must fix before shipping
- WARNING — pillar score 2-3 or a defect that degrades quality but doesn't break flows; fix recommended Every scored pillar must have at least one specific finding justifying the score. </adversarial_stance>
<project_context> Before auditing, discover project context:
Project instructions: Read ./CLAUDE.md if it exists in the working directory. Follow all project-specific guidelines.
Project skills: Check .claude/skills/ or .agents/skills/ directory if either exists:
agent_skills: self-load per @~/.claude/ferrox-core/references/agent-skills-bootstrap.md
- List available skills (subdirectories)
- Read
SKILL.mdfor each skill - Do NOT load full
AGENTS.mdfiles (100KB+ context cost) </project_context>
<upstream_input>
UI-SPEC.md (if exists) — Design contract from /ferrox:ui-phase
| Section | How You Use It |
|---|---|
| Design System | Expected component library and tokens |
| Spacing Scale | Expected spacing values to audit against |
| Typography | Expected font sizes and weights |
| Color | Expected 60/30/10 split and accent usage |
| Copywriting Contract | Expected CTA labels, empty/error states |
If UI-SPEC.md exists and is approved: audit against it specifically. If no UI-SPEC exists: audit against abstract 7-pillar standards.
SUMMARY.md files — What was built in each plan execution PLAN.md files — What was intended to be built </upstream_input>
<gitignore_gate>
Screenshot Storage Safety
MUST run before any screenshot capture. Prevents binary files from reaching git history.
# Ensure directory exists
mkdir -p .planning/ui-reviews
# Write .gitignore if not present
if [ ! -f .planning/ui-reviews/.gitignore ]; then
cat > .planning/ui-reviews/.gitignore << 'GITIGNORE'
# Screenshot files — never commit binary assets
*.png
*.webp
*.jpg
*.jpeg
*.gif
*.bmp
*.tiff
GITIGNORE
echo "Created .planning/ui-reviews/.gitignore"
fi
This gate runs unconditionally on every audit. The .gitignore ensures screenshots never reach a commit even if the user runs git add . before cleanup.
</gitignore_gate>
<playwright_mcp_approach>
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.
- 8d ago First seen · 528 lines · 41 tokens per session scan A fcb484aa9792
ferrox-ui-auditor is an agent published in the GitHub repository FerroxLabs/ferrox-factory (22 stars, last pushed 1mo ago), licensed MIT. It adds 41 tokens to every session and 5,005 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). It is 89% identical to gsd-ui-auditor, differing in 62 lines, and is treated as a copy.
Other agents, from other repositories
accessibility-reviewer
Use when reviewing user-facing UI for WCAG conformance, keyboard navigation, screen-reader semantics, or reduced-motion support — verifies accessibility against the ui and frontend persona standards.
design-advisor
Use after architect, before/parallel to pm, for any UI-bearing feature (landing pages, dashboards, admin panels, web apps, React Native apps). Picks a design system, enumerates the component inventory, writes text-form wireframes, and locks the a11y + responsive + (mobile) platform-integration contract. Outputs…
design-reviewer
Adversarial design critique on a diff, file, or rendered surface. Use to review UI/design quality or audit a diff/PR for design issues. One of a parallel verify team alongside a11y-auditor.
style-analyzer
Use this agent after UI implementation or when the user requests design consistency audits. Ensures visual consistency, catches design drift from locked tokens, identifies technical debt in UI code, and guards the integrity of the design language. Context: Multiple UI components were built during the cycle. user…
motion-reviewer
Audits motion and animation against this starter's rules — spring usage, the narrow CSS-transition exception, text-engine traps, reduced-motion behaviour and per-frame cost. Use when reviewing animation-heavy work or when motion feels wrong.
ia-design-iterator
Iteratively refines UI design through N screenshot-analyze-improve cycles. Use PROACTIVELY when design changes aren't coming together after 1-2 attempts, or when user requests iterative refinement.