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 fusengine/agents --skill react-effects-auditgit clone --depth 1 https://github.com/fusengine/agentsWrote 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/fusengine/agents/react-effects-audit)<a href="https://agentmods.dev/skills/fusengine/agents/react-effects-audit"><img src="https://agentmods.dev/badge/skills/fusengine/agents/react-effects-audit/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/fusengine/agents/react-effects-audit"><img src="https://agentmods.dev/badge/skills/fusengine/agents/react-effects-audit.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00036 | $0.01246 |
| Opus 5.5 | $0.00014 | $0.00498 |
| Sonnet 5.5 | $0.00007 | $0.00249 |
| Haiku 4.5 | $0.00004 | $0.00125 |
Grade A, and why
react-effects-audit 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 1mo 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 — 123 lines — stays where its author put it; the contents beside it link to each section on GitHub.
When the target is a Next.js or React project, it cross-references the matching SOLID skill (solid-nextjs or solid-react) to also catch architecture-level violations like data-fetching Effects that should be Server Components or TanStack Query instead. It never auto-fixes without showing the finding first.
Target: $ARGUMENTS
React Effects Audit
Overview
Scan React codebases to detect unnecessary useEffect usage based on official React documentation ("You Might Not Need an Effect"). Reports anti-patterns with severity, location, and recommended fixes.
Agent Workflow (MANDATORY)
PHASE 1: Scan target files (Glob *.tsx, *.jsx, *.ts, *.js)
PHASE 2: Detect anti-patterns (Grep detection rules)
PHASE 3: Analyze context (Read flagged files)
PHASE 4: Generate report with fixes
Anti-Pattern Summary
| # | Anti-Pattern | Severity | Detection |
|---|---|---|---|
| 1 | Derived state in Effect | WARNING | useEffect + setState from other state/props |
| 2 | Expensive calculation in Effect | WARNING | useEffect + setState with filter/map/reduce |
| 3 | State reset via Effect | WARNING | useEffect resets state when prop changes |
| 4 | Event logic in Effect | CRITICAL | User interaction logic inside useEffect |
| 5 | Parent notification via Effect | WARNING | useEffect calls parent onChange/onUpdate |
| 6 | Effect chains | CRITICAL | Multiple useEffect triggering each other |
| 7 | Missing cleanup in fetch | CRITICAL | useEffect fetch without cleanup/AbortController |
| 8 | Manual store subscription | WARNING | addEventListener/subscribe in useEffect |
| 9 | App init in Effect | INFO | One-time init logic in useEffect(fn, []) |
What ships with it
5 files 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.
- 1mo ago First seen · 123 lines · 36 tokens per session scan A cffffaa9daba
react-effects-audit is a skill published in the GitHub repository fusengine/agents (33 stars, last pushed 8d ago), licensed MIT. It adds 36 tokens to every session and 1,246 once invoked, about $0.0001 per session on Opus 5.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-30.
Other skills, from other repositories
radin-review
Review a commit, PR, directory or range for the simplest native solution, maintainability and documented repo rubrics, triage findings with the user. Use for /radin-review, "review and log to backlog".
reviewing-code
Reviews code. Use when reviewing code implementations, assessing code quality, running a security review, checking spec or design system compliance, or conducting an end-of-build whole-project review against PRD success criteria.
assessing-quality
Conducts quality reviews of non-code artefacts. Use when reviewing or critiquing Skills, agents, workflows, documentation, or written materials, assessing quality against standards, or providing structured feedback.
code
Review code through the lens of a senior engineer.
boundaries
Analyze Phoenix context boundaries and module coupling via mix xref. Use when checking cross-context calls, validating dependencies, before splitting modules, or reviewing architecture.
triage
Triage review findings interactively — approve, skip, or prioritize each issue. Use after /phx:review to filter findings before fixing.