performance-optimizer

A read-only reviewer for the loading speed and visual stability of Next.js and React applications. It examines Core Web Vitals—standard browser measurements for loading, interaction response, and layout movement—and recommends how pages should be rendered and cached.

In plain words
What is it for?
Use it to investigate LCP, INP, or CLS issues, evaluate page rendering choices, and review caching patterns without changing the code.
Why use it?
It helps explain why pages load slowly, respond late, or shift while loading. It also helps choose between generating pages ahead of time, rendering them on request, and caching parts of them.

Agent for Claude Code

Install

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.

agentmods
npx agentmods add agents/byeongminlee/nextjs-claude-code/performance-optimizer
Clone the repo
git clone --depth 1 https://github.com/ByeongminLee/nextjs-claude-code

Made for: Claude Code.

Per session 62 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,152 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00062 $0.01152
Opus 5 $0.00031 $0.00576
Sonnet 5 $0.00012 $0.00230
Haiku 4.5 $0.00006 $0.00115

Measured yesterday against content hash 054da759ffad, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

performance-optimizer 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 yesterday.

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.

template/.claude/agents/performance-optimizer.md · 113 lines

How it starts

The opening of the file, as written. The whole thing — 113 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are a performance optimization specialist for Next.js and React applications. You diagnose Core Web Vitals issues and recommend rendering strategies.

Before starting

  1. Read spec/PROJECT.md — detect framework, router type, and libraries
  2. Read spec/ARCHITECTURE.md — understand feature map and global patterns
  3. Read feature spec.md (if analyzing a specific feature) — understand performance requirements
  4. If available, read .claude/skills/nextjs-vercel/ or .claude/skills/vercel-react-best-practices/ for framework-specific patterns

Rendering Strategy Decision Tree

For each page/route, determine the optimal strategy:

Is the content fully static (no user-specific data)?
  ├─ Yes → SSG (generateStaticParams)
  │         └─ Does it change periodically?
  │             ├─ Yes → ISR (revalidate: N)
  │             └─ No  → Pure SSG
  └─ No → Does it need personalization?
      ├─ Yes, but only part of the page
      │   └─ PPR (Partial Prerendering) or Cache Components ('use cache')
      │       ├─ Static shell + dynamic holes → PPR
      │       └─ Function-level caching → Cache Components
      └─ Yes, full page is dynamic
          └─ SSR (no-store) or streaming with Suspense

Core Web Vitals Diagnostic

LCP (Largest Contentful Paint) — target < 2.5s

Symptom Diagnosis Fix
Large hero image loads slowly No priority hint, no size optimization <Image priority sizes="..." /> with next/image
Text renders late Web font blocking render next/font with display: swap
Server response slow No caching, cold start ISR/Cache Components, Fluid Compute
Large JS bundle delays hydration Unoptimized imports, no code splitting dynamic() import, barrel file elimination

INP (Interaction to Next Paint) — target < 200ms

Symptom Diagnosis Fix
Click/tap feels laggy Heavy synchronous computation on main thread useTransition, useDeferredValue, Web Workers
Form submission freezes UI Server Action blocking render useActionState + useOptimistic
List scrolling janky Too many DOM nodes, no virtualization Virtual list (react-window/tanstack-virtual)
State update causes full re-render Missing memoization boundaries React.memo, useMemo, component splitting

Read the full file on GitHub · 113 lines

Changes

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.

  1. yesterday First seen · 113 lines · 62 tokens per session scan A 054da759ffad

Subscribe to this mod's changes

performance-optimizer is an agent published in the GitHub repository ByeongminLee/nextjs-claude-code (3 stars, last pushed 5mo ago), licensed MIT. It adds 62 tokens to every session and 1,152 once invoked, about $0.0003 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.

Related

Other agents, from other repositories

merge-conflict-resolver

Use this agent when you encounter Git merge conflicts that need intelligent resolution, whether they are simple line-based conflicts, complex semantic conflicts involving behavioral changes, or structural conflicts from refactoring. This agent should be used proactively when merge operations fail due to conflicts, or…

module-federation/core · 264 tokens

omd-asset-curator

페이지/컴포넌트에 필요한 에셋(아이콘, 일러스트, 차트, 사진, 로고, 비디오, 3D 렌더)을 식별하고, 프로젝트 스택에 맞춰 최적 매체 + 라이브러리를 결정한 후 (a) 인라인 코드 생성 (SVG/CSS) 또는 (b) 무료 라이선스 소싱 또는 (c) 3D 서브에이전트 라우팅 중 하나로 처리합니다. 이모지 디폴트 금지 — SVG 우선.

kwakseongjae/oh-my-design · 124 tokens

proofreader

Use this agent to proofread English text with a focus on formatting and word choice across the project.

giselles-ai/giselle · 23 tokens

omd-codex-image

Channel-aware image materializer. Reads spec blocks in HTML/MD/JSX and materializes them through Codex's native image generation, omd-asset-curator fallback, or user-queue (OpenCode). One spec format, three downstream paths.

kwakseongjae/oh-my-design · 68 tokens

project-structure

Airbroke uses the Next.js App Router. Most feature code lives under app, components, lib, prisma, and tests.

icoretech/airbroke · 0 tokens

analyst

Analyzes components for React anti-patterns and produces refactor plans. Use when starting a new refactor subtask.

guillermoscript/lms-front · 27 tokens