Agent skill

React Component Performance

by diegosouzapw in diegosouzapw/awesome-omni-skills

React Component Performance workflow skill. An agent skill from diegosouzapw/awesome-omni-skills.

MITAuto-check passedFrontend & Design

Install React Component Performance

skills CLI
$ npx skills add diegosouzapw/awesome-omni-skills --skill react-component-performance -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install diegosouzapw/awesome-omni-skills react-component-performance --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/diegosouzapw/awesome-omni-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills_omni/react-component-performance .claude/skills/react-component-performance && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
react-component-performance
GitHub stars
159
Token cost
~3.3k tokens
SKILL.md length
1,507 words
Files
20 (incl. scripts, references, assets)
Skills in repo
39
Repo updated
First seen
Licence
MIT

At a glance

React Component Performance workflow skill. An agent skill from diegosouzapw/awesome-omni-skills.

  • Works in 7 steps: Confirm the symptom → Profile before changing code → Classify the bottleneck → …
  • The user needs diagnose slow React components and suggest targeted performance fixes
  • SKILL.md covers Overview, When to Use This Skill, Operating Table and Workflow, plus 6 more sections
  • The operator should preserve the upstream workflow

What it does

React Component Performance is an agent skill from diegosouzapw/awesome-omni-skills. React Component Performance workflow skill. Use this skill when the user needs diagnose slow React components and suggest targeted performance fixes, and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 23 other files, including scripts, reference files and assets (for example `ATTRIBUTION.md`, `OMNI_ENHANCED.json` and `ORIGIN.md`).

It sits in Frontend & Design, covering React components. It works with React. The repository describes itself as: Public repository of AI coding skills, curated improved best-practice skills, and runtime surfaces for CLI, API, MCP, and A2A. The licence is MIT.

When your agent uses it

  • The user needs diagnose slow React components and suggest targeted performance fixes
  • The operator should preserve the upstream workflow
  • Copied support files
  • Provenance before merging

Example prompts

  • “/react-component-performance”

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Confirm the symptom
  2. Profile before changing code
  3. Classify the bottleneck
  4. Choose the smallest high-value fix
  5. Apply one change at a time
  6. Re-profile and compare
  7. Document tradeoffs and boundaries

What it can do on your machine

Read from SKILL.md and the folder at commit c3af004. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/, which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • react.dev
    • web.dev
    • developer.chrome.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

React Component Performance loads about 3.3k tokens when it runs, and up to ~5.9k if it reads all its reference files. Until then it costs about 75 tokens; SKILL.md has 1,507 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~75
When it runs · the whole SKILL.md, loaded when a task matches
~3.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from diegosouzapw/awesome-omni-skills at commit c3af004, republished under its MIT licence (© diegosouzapw). 1,507 words, ~3,280 tokens.

Download SKILL.mdSave it as .claude/skills/react-component-performance/SKILL.md (or your agent's skills folder). This skill also uses 19 other files; get the full folder from GitHub.
name
react-component-performance
description
React Component Performance workflow skill. Use this skill when the user needs diagnose slow React components and suggest targeted performance fixes, and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.
version
0.0.1
category
frontend
tags
react-component-performance, diagnose, slow, react, components, performance, profiler, omni-enhanced
complexity
advanced
risk
safe
tools
codex-cli, claude-code, cursor, gemini-cli, opencode
source
omni-team
author
Omni Skills Team
date_added
2026-04-15
date_updated
2026-04-19

React Component Performance

Overview

This skill preserves the intent of the upstream community workflow while making it more operational for real React performance investigations.

Use it to diagnose a slow React component or interaction, identify the dominant cause, and propose the smallest targeted fix that can be validated with measurement. The default posture is profile first, change one thing at a time, and re-measure.

Prefer structural fixes before blanket memoization:

  • keep transient state local
  • remove unnecessary Effects
  • keep rendering pure
  • simplify props passed into expensive children
  • reduce DOM and list size when volume is the real bottleneck

Keep provenance visible if you are using this as part of an imported or reviewed upstream workflow.

When to Use This Skill

Use this skill when:

  • a React component, interaction, or screen feels slow and the user wants targeted fixes
  • you need to diagnose excessive re-renders, expensive renders, typing lag, or list/scroll lag
  • the right answer depends on distinguishing React render work from browser layout/paint/network work
  • you need a profiler-driven workflow instead of generic advice like “add memo everywhere”
  • you must preserve the upstream workflow and provenance while improving the operator guidance

Do not use this skill as the primary workflow when:

  • the issue is mainly server latency, API throughput, or network waterfalls
  • the slowdown is clearly outside React, such as CSS/layout thrash, large paints, or long-running non-React scripts; in that case, escalate to browser performance tooling after confirming React is not the main bottleneck
  • the request is about bundle size, code splitting, or asset delivery rather than component render behavior

Operating Table

SituationStart hereWhy it matters
A component re-renders too oftenReact DevTools ProfilerShows which components re-rendered, how often, and why guessing is unsafe
A component render is individually expensiveReact DevTools Profiler Ranked chartHelps target the highest self-time or total-time work first
Typing feels laggy while results updateCheck urgent vs non-urgent updatesMay need structural reduction first, then startTransition or useDeferredValue
memo did not helpInspect prop identity and parent behaviorA single always-new object or function can defeat memoization
Repeated commits follow one interactionAudit Effects and derived stateUnnecessary Effects commonly trigger extra renders and update loops
Large list or table is slowCheck row count, keys, and virtualizationWindowing often beats micro-optimizing every row
Rows remount or lose stateInspect keys and tree shapeUnstable keys create remounts, state resets, and extra work
React does not appear dominantBrowser Performance panelUse when layout, paint, scripting, or network dominates instead of React rendering
You need quick decision supportreferences/domain-notes.mdContains symptom-to-fix guardrails and measurement cues
You need a concrete before/after modelexamples/worked-example.mdShows a realistic profiling workflow and targeted code changes

Workflow

  1. Confirm the symptom

    • Identify the slow interaction precisely: initial render, typing, click response, filtering, scrolling, tab switch, modal open, or route change.
    • Reproduce it in a production-like build when possible. Development mode behavior can exaggerate costs and mislead optimization decisions.
  2. Profile before changing code

    • Open React DevTools Profiler.
    • Record only the slow interaction.
    • Review:
      • which components rendered
      • which components rendered repeatedly
      • which components had the highest self time or total time
      • whether props, state, or context caused the render
    • If React time is not the dominant cost, switch to the browser Performance panel.
  3. Classify the bottleneck Use the profiler result to decide which class of problem you have:

    • render frequency: too many commits or too many components updating
    • render cost: one or a few components are individually expensive
    • effect churn: an interaction causes extra commits because Effects derive state or synchronize unnecessarily
    • list volume: too many rows are mounted or updated
    • interaction scheduling: urgent UI updates are blocked by non-urgent heavy work
  4. Choose the smallest high-value fix Prefer these in roughly this order:

    • move state closer to where it is used
    • remove unnecessary Effects and derived state stored in state
    • simplify props flowing into expensive children
    • keep rendering pure and avoid work during render that can be avoided or cached
    • use memo only when the child is expensive and often receives the same props
    • use useMemo for expensive calculations or to preserve values passed to memoized children
    • use useCallback mainly when stable function identity matters
    • virtualize long lists when row count is the real problem
    • use startTransition or useDeferredValue when non-urgent updates should not block urgent interactions
  5. Apply one change at a time

    • Avoid stacking several optimizations before re-measuring.
    • Record exactly what changed and why.
    • If using memoization, confirm that props are actually stable enough for it to work.
  6. Re-profile and compare

    • Capture the same interaction again.
    • Compare render count, commit count, and expensive component times against the baseline.
    • Keep the change only if it reduces real cost or improves responsiveness.
  7. Document tradeoffs and boundaries

    • Note what was measured.
    • Note the chosen fix and why alternatives were rejected.
    • Call out any library-specific or framework-specific assumptions.

Diagnostic Heuristics

Frequent re-renders

Common causes:

  • state lifted too high
  • parent component updating broad subtrees unnecessarily
  • unstable object, array, or function props
  • context updates affecting too much UI
  • Effects that set state after render

Usually test next:

  • colocate state
  • split expensive children from fast-changing state
  • pass simpler props
  • stabilize values only where profiler evidence justifies it
Expensive individual render

Common causes:

  • heavy derived calculations inside render
  • large subtree generation
  • repeated sorting/filtering/mapping for the same inputs
  • expensive formatting or transformation repeated each render

Usually test next:

  • move or cache expensive derived work with useMemo if it is measurably expensive
  • reduce work done on every render
  • isolate expensive children behind stable props and targeted memo
Show full SKILL.md (583 more words)Show less
Effect-driven extra commits

Common causes:

  • deriving state from props in an Effect
  • syncing local state to other state when not needed
  • update loops from Effects that run after every change

Usually test next:

  • compute derived values during render if cheap
  • keep Effects for external synchronization, not ordinary data transformation
  • remove state that merely mirrors other state
Typing or clicking feels laggy

Common causes:

  • urgent input update coupled with heavy filtering/rendering
  • large result list updating on every keystroke
  • broad parent state updates

Usually test next:

  • reduce avoidable render work first
  • then use useDeferredValue for expensive downstream values or startTransition for non-urgent updates
  • do not put the controlled input state itself inside a transition
Large list or scroll lag

Common causes:

  • rendering too many rows at once
  • unstable keys causing remounts
  • heavy row components updating together

Usually test next:

  • virtualize the list
  • fix keys
  • memoize rows only if rows are expensive and props can stay stable

Troubleshooting

memo changed nothing

Check:

  • does the component often receive identical props?
  • are you passing inline objects, arrays, or functions?
  • is the parent forcing broad subtree updates anyway?
  • is the component cheap enough that memoization overhead is not worth it?

Action:

  • stabilize only the prop identities that matter
  • simplify props before adding more hooks
  • avoid custom comparison functions unless profiling proves they are cheaper than the skipped render work
Profiler shows multiple commits for one interaction

Check:

  • Effects that set state based on props or other state
  • redundant synchronization between two pieces of state
  • code that could run during render or in the event handler instead of in an Effect

Action:

  • remove unnecessary Effect-driven state
  • keep Effects for external systems only
Filtering a list is slow

Check:

  • whether filtering/sorting is recomputed on every keystroke
  • whether the entire list is mounted
  • whether row keys are stable

Action:

  • memoize expensive derived collections if inputs are stable and the calculation is measurably costly
  • defer non-urgent updates when appropriate
  • virtualize if many rows are rendered
Rows lose state or remount unexpectedly

Check:

  • index keys in dynamic lists
  • keys derived from unstable values
  • tree shape changes that unintentionally remount components

Action:

  • use stable semantic keys
  • preserve identity for rows that should persist across filtering/reordering
Browser feels slow but React profiler looks normal

Check:

  • layout, paint, long tasks, or third-party scripts in the browser Performance panel
  • oversized DOM, animations, expensive CSS, or non-React work

Action:

  • treat this as a boundary condition for this skill and switch to broader frontend performance diagnosis

Examples

See examples/worked-example.md for a complete before/after scenario that covers:

  • profiler-first diagnosis
  • unnecessary Effect removal
  • unstable prop fixes
  • targeted memoization
  • deferred updates for expensive filtering
  • virtualization as the next step when list size dominates

Additional Resources

Use a different or additional skill when the task shifts to:

  • browser rendering, layout, paint, and main-thread analysis beyond React
  • bundle size or code-splitting optimization
  • API latency and server performance
  • virtualization library selection or large-data UI architecture

Provenance Notes

This enhanced skill preserves the original community intent: diagnose slow React components and suggest targeted performance fixes. The upgraded workflow narrows activation, makes the measurement steps explicit, and adds guardrails so operators do not over-apply memoization or treat React as the cause of every UI slowdown.

© diegosouzapw, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 19 other files (scripts, references, assets) in skills_omni/react-component-performance of diegosouzapw/awesome-omni-skills.

  • SKILL.md
  • ATTRIBUTION.md
  • OMNI_ENHANCED.json
  • ORIGIN.md
  • agents/omni-import-router.md
  • agents/openai.yaml
  • assets/omni-import-source-manifest.json
  • examples/omni-import-operator-packet.md
  • examples/omni-import-prompt-template.md
  • examples/worked-example.md
  • metadata.json
  • references/domain-notes.md
  • references/examples.md
  • references/omni-import-checklist.md
  • references/omni-import-playbook.md
  • references/omni-import-rubric.md
  • references/omni-import-source-summary.md
  • … and 3 more

Open the folder on GitHubat commit c3af004

Compare with similar skills

React Component Performance next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

React Component Performance compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
React Component Performance this skilldiegosouzapw/awesome-omni-skills159—~3.3kAutomated safety check: PassMIT
Web Artifacts Builderanthropics/skills180k41 repos~769Automated safety check: PassApache-2.0
React Router Developmentremix-run/react-router57k1 repos~1.5kAutomated safety check: PassMIT
React UI State PatternsChrisWiles/claude-code-showcase6.1k8 repos~1.6kAutomated safety check: PassNone
Chakra UI v3 Builderchakra-ui/chakra-ui41k—~3.1kAutomated safety check: PassMIT
React Component PerformanceDimillian/Skills4k5 repos~1.2kAutomated safety check: PassMIT

Similar skills

  • Web Artifacts Builder

    anthropics/skills

    Official

    Builds multi-component claude.ai HTML artifacts as a small React, TypeScript and Tailwind project, then bundles it into one shareable HTML file.

    180k GitHub starsUsed in 41 repos~769 tokens
    Frontend & DesignAuto-check passed
  • React Router Development

    remix-run/react-router

    Guides work on React Router apps by first identifying whether the app uses Framework, Data or Declarative mode, then loading the matching reference and the installed package docs.

    57k GitHub starsUsed in 1 repo~1.5k tokens
    Frontend & DesignAuto-check passed
  • React UI State Patterns

    ChrisWiles/claude-code-showcase

    Sets patterns for React interfaces: when to show loading spinners or skeletons, how to surface errors, how to disable buttons during async work and how to handle empty lists.

    6.1k GitHub starsUsed in 8 repos~1.6k tokens
    Frontend & DesignAuto-check passed
  • Chakra UI v3 Builder

    chakra-ui/chakra-ui

    Builds responsive, accessible Chakra UI v3 components and layouts, sets up Chakra in new or existing projects, and designs themes with tokens, semantic tokens and recipes.

    41k GitHub stars~3.1k tokensUpdated 2 days ago
    Frontend & DesignAuto-check passed
  • Analyze and optimize React component performance issues (slow renders, re-render thrash, laggy lists, expensive computations).

    4k GitHub starsUsed in 5 repos~1.2k tokens
    Frontend & DesignAuto-check passed
  • React View Transitions Guide

    vercel-labs/next-beats

    Official

    Guides implementing animated page and state transitions in React with the native View Transition API, covering shared elements, list reorders and directional navigation.

    168 GitHub starsUsed in 10 repos~3.1k tokens
    Frontend & DesignAuto-check passed

More from diegosouzapw/awesome-omni-skills

All 39 skills in this repo
  • Content Creator

    diegosouzapw/awesome-omni-skills

    Content Creator workflow skill. An agent skill from diegosouzapw/awesome-omni-skills.

    159 GitHub stars~4k tokensUpdated 3 mo ago
    Auto-check passed
  • Helm Chart Scaffolding

    diegosouzapw/awesome-omni-skills

    Helm Chart Scaffolding workflow skill. An agent skill from diegosouzapw/awesome-omni-skills.

    159 GitHub stars~2.4k tokensUpdated 3 mo ago
    Auto-check passed
  • Prompt Engineering

    diegosouzapw/awesome-omni-skills

    Prompt Engineering Patterns workflow skill. An agent skill from diegosouzapw/awesome-omni-skills.

    159 GitHub stars~3.4k tokensUpdated 3 mo ago
    Auto-check passed
  • Prompt Engineering Patterns

    diegosouzapw/awesome-omni-skills

    Prompt Engineering Patterns workflow skill. An agent skill from diegosouzapw/awesome-omni-skills.

    159 GitHub stars~4k tokensUpdated 3 mo ago
    Auto-check passed
  • Prompt Library

    diegosouzapw/awesome-omni-skills

    📝 Prompt Library workflow skill. An agent skill from diegosouzapw/awesome-omni-skills.

    159 GitHub stars~3.1k tokensUpdated 3 mo ago
    Auto-check passed
  • Protocol Reverse Engineering

    diegosouzapw/awesome-omni-skills

    Protocol Reverse Engineering workflow skill. An agent skill from diegosouzapw/awesome-omni-skills.

    159 GitHub stars~3.8k tokensUpdated 3 mo ago
    Auto-check passed

Works with

Questions about React Component Performance

What does React Component Performance do?

React Component Performance workflow skill. An agent skill from diegosouzapw/awesome-omni-skills. React Component Performance is an agent skill from diegosouzapw/awesome-omni-skills. React Component Performance workflow skill.

When should I use React Component Performance?

React Component Performance fits situations like: the user needs diagnose slow React components and suggest targeted performance fixes; the operator should preserve the upstream workflow; copied support files; provenance before merging.

How do I install React Component Performance in Claude Code?

Run `npx skills add diegosouzapw/awesome-omni-skills --skill react-component-performance -a claude-code`. Or copy the skill folder (skills_omni/react-component-performance in diegosouzapw/awesome-omni-skills) into .claude/skills/react-component-performance in your project. Claude Code loads it when a task matches its description.

How do I install React Component Performance in Codex?

Run `npx skills add diegosouzapw/awesome-omni-skills --skill react-component-performance -a codex`. Or copy the skill folder (skills_omni/react-component-performance in diegosouzapw/awesome-omni-skills) into .agents/skills/react-component-performance in your project. Codex loads it when a task matches its description.

Can I use React Component Performance in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add diegosouzapw/awesome-omni-skills --skill react-component-performance -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/react-component-performance, .gemini/skills/react-component-performance, .github/skills/react-component-performance and .opencode/skills/react-component-performance in your project.

What does React Component Performance need to run?

SKILL.md names no scripts, command-line tools or credentials: React Component Performance is instructions for the agent only.

Does React Component Performance access the network?

SKILL.md names 3 domains. As links in the text: react.dev, web.dev and developer.chrome.com. This is read from the text; nothing was executed.

Is React Component Performance safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does React Component Performance use?

React Component Performance is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does React Component Performance use?

About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.7k tokens, read only when the agent opens those files.

What are the alternatives to React Component Performance?

Skills that share tags, products or a category with React Component Performance: Web Artifacts Builder (anthropics/skills, 180k stars), React Router Development (remix-run/react-router, 57k stars), React UI State Patterns (ChrisWiles/claude-code-showcase, 6.1k stars) and Chakra UI v3 Builder (chakra-ui/chakra-ui, 41k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains React Component Performance?

diegosouzapw (a GitHub user) maintains it in diegosouzapw/awesome-omni-skills, which has 159 GitHub stars. The repository holds 39 skills in this directory. The repository was last updated on July 8, 2026.

Source: diegosouzapw/awesome-omni-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.