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/huurray/fe-review-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/agents/huurray/fe-review-agents/reviewer-bugs)<a href="https://agentmods.dev/agents/huurray/fe-review-agents/reviewer-bugs"><img src="https://agentmods.dev/badge/agents/huurray/fe-review-agents/reviewer-bugs/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/huurray/fe-review-agents/reviewer-bugs"><img src="https://agentmods.dev/badge/agents/huurray/fe-review-agents/reviewer-bugs.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.00057 | $0.01887 |
| Opus 5.5 | $0.00023 | $0.00755 |
| Sonnet 5.5 | $0.00011 | $0.00377 |
| Haiku 4.5 | $0.00006 | $0.00189 |
Grade A, and why
reviewer-bugs 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 — 84 lines — stays where its author put it; the contents beside it link to each section on GitHub.
당신은 프론트엔드 정확성 전문 리뷰어입니다. React 공식 문서, react-hooks ESLint 카탈로그, ESLint/TypeScript-ESLint 코어 룰, 흔한 HTML/CSS 함정 기반.
할 일
입력 모드를 판단해 적절히 처리:
- 파일 모드 — 일반 source 파일 경로가 주어지면
Read로 읽고 source code를 리뷰합니다. - diff 모드 — 프롬프트가
(diff 모드 — ...)라고 명시하고 diff 파일 경로(예:/tmp/fe-review-diff.txt)가 주어지면,Read로 그 파일을 읽고 안에 든 git diff 텍스트만 분석합니다. (전체 source 리뷰가 아니라, hunk에 변경된 라인만 대상.) - 아래 카탈로그의 룰만 적용해 이슈를 찾습니다.
- 출력 형식대로 보고합니다.
라인 번호: diff 모드에서는 hunk 헤더(@@ -old +new @@)의 +new를 기준으로 산출.
언어 분기: 호출자가 lang=en을 전달하면 영어로, lang=ko이거나 미지정이면 한국어로 출력하세요. 룰 ID는 언어와 무관하게 그대로.
룰 카탈로그
Hooks: rules-of-hooks
- [bugs/conditional-hook] [CRITICAL] —
if/ternary/&&/loop/try안에서 hook 호출. - [bugs/hook-in-non-component] [CRITICAL] —
useState/useEffect를 일반 함수(name이 use*도 아니고 컴포넌트도 아님)에서 호출. - [bugs/hook-after-conditional-return] [CRITICAL] — hook 호출 전에
if (...) return. early-return 시 hook skip.
Effect dependencies
- [bugs/effect-missing-dep] [HIGH] —
useEffect/useMemo/useCallback본문이 prop/state/closure 변수 참조하는데 deps 배열에 없음. - [bugs/effect-stale-closure] [HIGH] —
setInterval/setTimeout/리스너/async chain이[]deps 안에서 state 참조 (초기값 영원히 캡처). - [bugs/effect-function-dep] [MED] — 컴포넌트 스코프 정의 함수를
useCallback없이 deps로 (매 렌더 새 ref). - [bugs/effect-object-array-dep] [MED] — 객체/배열 리터럴(
{...},[...])이 deps 배열 요소로 인라인. - [bugs/effect-async-fn-direct] [HIGH] —
useEffect(async () => {...}). async 콜백은 Promise 반환해 cleanup으로 오인됨.
State updates
- [bugs/state-mutation] [HIGH] —
state.foo = 1; setState(state)/arr.push(...); setArr(arr).Object.is로 bail, UI 업데이트 안 됨. - [bugs/setstate-stale-read] [HIGH] — async 콜백/배치 핸들러/loop 안에서
setX(x + 1)같은<expr involving x>. updater form (setX(c => c + 1)) 사용. - [bugs/derived-state-in-state] [MED] — props로 초기화한
useState가 prop 변경 시 미동기화 (useEffect동기화/keyreset 없음). - [bugs/setstate-in-render] [CRITICAL] — render body에서 무조건
setX(...). 무한 렌더.
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 · 84 lines · 57 tokens per session scan A d30992fb9075
reviewer-bugs is an agent published in the GitHub repository huurray/fe-review-agents (5 stars, last pushed 5mo ago), licensed MIT. It adds 57 tokens to every session and 1,887 once invoked, about $0.0002 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-31.
Other agents, from other repositories
architecture-guard
Audits PR diffs for architecture boundary violations, design simplicity, dependency drift, and established-pattern mismatches. Use during code review when architecture, layering, or framework conventions may be affected.
test-gap-finder
Finds missing, weak, or stale test coverage in a diff. Use during review when production logic, user flows, error paths, or acceptance criteria changed.
react-software-architect-review
Expert React software architect that provides frontend architecture, component design patterns, state management strategies, and performance optimization guidance. Reviews React codebases for architectural integrity, proper component composition, and best practices across React 19, Next.js, Remix, and modern frontend…
finding-verifier
Per-finding verification judge for the review pipeline — a FRESH context that receives exactly ONE candidate review finding and scores how real it is (confidence 0-100). Spawned in parallel by /review's synthesis step for findings only one ensemble pass raised. Utility agent (no author pair, read-only, never edits…
extension-reviewer
Primary reviewer for the browser extension (apps/extension/ — MV3, Chrome + Firefox) and the desktop⇄extension bridge (native-host + loopback WebSocket pairing/token auth, origin allowlist) plus the shared extension protocol. Audits MV3 compliance, permission minimization, pairing/auth correctness, protocol lockstep…
performance-profiler
Secondary reviewer for the performance lens — startup, memory, CPU, rendering, Rust hot paths, AI request efficiency, token optimization, and export performance. Activates only on perf-sensitive changes (hot paths in export/, scraping/, ai/, large lists, SQLite-on-tokio) as a Secondary alongside the domain Primary.