Agent skill

Dom Performance

by thedaviddias in thedaviddias/Front-End-Checklist

A skill your agent uses when reviewing scripts, client components, bundles, or runtime behavior related to Minimize costly DOM read/write operations.

MITAuto-check passed

Install Dom Performance

skills CLI
$ npx skills add thedaviddias/Front-End-Checklist --skill dom-performance -a claude-code

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

GitHub CLI
$ gh skill install thedaviddias/Front-End-Checklist dom-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/thedaviddias/Front-End-Checklist.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/dom-performance .claude/skills/dom-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
dom-performance
GitHub stars
74k
Token cost
~628 tokens
SKILL.md length
265 words
Files
2 (incl. references)
Skills in repo
390
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when reviewing scripts, client components, bundles, or runtime behavior related to Minimize costly DOM read/write operations.

  • Reviewing scripts
  • SKILL.md covers Quick Reference, Check, Fix and Explain, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Client components

What it does

Dom Performance is an agent skill from thedaviddias/Front-End-Checklist. Use when reviewing scripts, client components, bundles, or runtime behavior related to Minimize costly DOM read/write operations. Inspect both source code and the browser execution path so fixes target the real bottleneck or bug. In React, repeated requestAnimationFrame-driven state updates across multiple mounted components are a valid performance smell when visible in the source.

Its SKILL.md is about 630 tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/rule.md`).

It works with React. The repository describes itself as: 🗂 The essential checklist for modern web development, for humans and AI agents. The licence is MIT.

When your agent uses it

  • Reviewing scripts
  • Client components
  • Runtime behavior related to Minimize costly DOM read/write operations

Example prompts

  • “/dom-performance”

What it can do on your machine

Read from SKILL.md and the folder at commit e8d14d0. 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

    No scripts in the folder and no shell commands in SKILL.md.

    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):

    • frontendchecklist.io

    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

Dom Performance loads about 628 tokens when it runs, and up to ~1.8k if it reads all its reference files. Until then it costs about 100 tokens; SKILL.md has 265 words of instructions outside code blocks.

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

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from thedaviddias/Front-End-Checklist at commit e8d14d0, republished under its MIT licence (© thedaviddias). 265 words, ~628 tokens.

Download SKILL.mdSave it as .claude/skills/dom-performance/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
dom-performance
description
Use when reviewing scripts, client components, bundles, or runtime behavior related to Minimize costly DOM read/write operations. Inspect both source code and the browser execution path so fixes target the real bottleneck or bug. In React, repeated requestAnimationFrame-driven state updates across multiple mounted components are a valid performance smell when visible in the source.
metadata.category
javascript
metadata.priority
high
metadata.difficulty
intermediate
metadata.estimatedTime
20
metadata.source
frontendchecklist.io
metadata.url
https://frontendchecklist.io/rules/javascript/dom-performance

Minimize costly DOM read/write operations

Every time you read a layout property after making a DOM change, the browser must synchronously recalculate layout (reflow) before returning the value. Doing this in a loop — even with just 10 elements — can freeze the page for hundreds of milliseconds. This is called layout thrashing and is one of the most common causes of janky animations and slow renders.

Quick Reference

  • Never interleave DOM reads (offsetHeight, getBoundingClientRect) with DOM writes (style changes)
  • Batch all reads first, then all writes
  • Use requestAnimationFrame for visual updates
  • Use DocumentFragment or innerHTML for bulk DOM insertion
  • Avoid per-frame React state updates across many visible components when a simpler CSS or reduced-frequency approach would work
  • Use passive listeners for scroll, touch, and wheel when you do not call preventDefault

Check

Identify any layout thrashing in this code — places where DOM reads and writes are interleaved in loops. Also flag scroll, touch, and wheel listeners that should be passive to avoid blocking the main thread.

Fix

Refactor this code to batch all DOM reads before writes, eliminating forced synchronous layouts. Mark relevant listeners as passive when they do not need to cancel scrolling.

Explain

Explain layout thrashing, what causes it, and how batching reads and writes prevents it.

Code Review

Review scripts, client components, and browser execution paths related to Minimize costly DOM read/write operations. Flag exact imports, event handlers, runtime side effects, or blocking operations that violate the rule, and state how the change should be verified in the browser.


For full implementation details, code examples, and framework-specific guidance, see references/rule.md.

Rule page: https://frontendchecklist.io/rules/javascript/dom-performance

© thedaviddias, 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 1 other file (references) in skills/dom-performance of thedaviddias/Front-End-Checklist.

  • SKILL.md
  • references/rule.md

Open the folder on GitHubat commit e8d14d0

Compare with similar skills

Dom 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.

Dom Performance compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Dom Performance this skillthedaviddias/Front-End-Checklist74k—~628Automated safety check: PassMIT
Web Artifacts Builderanthropics/skills180k40 repos~769Automated safety check: PassApache-2.0
Vercel Composition Patternssupabase/supabase111k58 repos~726Automated safety check: PassMIT
React Doctormakeplane/plane61k12 repos~657Automated safety check: PassAGPL-3.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

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 40 repos~769 tokens
    Frontend & DesignAuto-check passed
  • Official

    React composition patterns that scale. An agent skill from supabase/supabase.

    111k GitHub starsUsed in 58 repos~726 tokens
    DevelopmentAuto-check passed
  • React Doctor

    makeplane/plane

    Scans React code for lint, accessibility, bundle size and architecture issues, reports a health score and checks that changes do not lower it.

    61k GitHub starsUsed in 12 repos~657 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
  • Tells the agent where new code belongs in an Electron multi-process project and which APIs each process may use, with rules for new bridges, services, agents and workers.

    33k GitHub starsUsed in 1 repo~1.8k tokens
    DevelopmentAuto-check passed

More from thedaviddias/Front-End-Checklist

All 390 skills in this repo
  • Content Dates Audit

    thedaviddias/Front-End-Checklist

    Audits article and blog pages for visible publish dates, Article JSON-LD with datePublished and dateModified, and Open Graph time tags, then fixes what is missing.

    74k GitHub stars~691 tokensUpdated 4 days ago
    Auto-check passed
  • FAQPage Schema Markup

    thedaviddias/Front-End-Checklist

    Adds, checks and fixes FAQPage JSON-LD on pages with visible question-and-answer sections so it matches what readers see and can qualify for rich results.

    74k GitHub stars~774 tokensUpdated 4 days ago
    Auto-check passed
  • Favicon Audit and Setup

    thedaviddias/Front-End-Checklist

    Checks that a site's favicon is linked, reachable and large enough for Google search results, and sets up ICO, SVG and Apple touch icon files when they are missing.

    74k GitHub stars~731 tokensUpdated 4 days ago
    Auto-check passed
  • Content Freshness Signals

    thedaviddias/Front-End-Checklist

    Audits article pages for freshness signals, covering the Last-Modified header, Article JSON-LD dateModified and a visible last-updated date, and fixes mismatches.

    74k GitHub stars~741 tokensUpdated 4 days ago
    Auto-check passed
  • Geo Meta Tags Audit

    thedaviddias/Front-End-Checklist

    Audits and fixes geo.region, geo.placename and geo.position meta tags on regional pages, noting where they help (Bing) and where they do not (Google).

    74k GitHub stars~763 tokensUpdated 4 days ago
    Auto-check passed
  • Improve a Front-End Checklist Rule

    thedaviddias/Front-End-Checklist

    Scores and rewrites a Front-End Checklist rule MDX file against a scored quality rubric, replacing generic stub prompts with specific, actionable ones.

    74k GitHub stars~1.3k tokensUpdated 4 days ago
    Auto-check passed

Works with

Questions about Dom Performance

What does Dom Performance do?

A skill your agent uses when reviewing scripts, client components, bundles, or runtime behavior related to Minimize costly DOM read/write operations. Dom Performance is an agent skill from thedaviddias/Front-End-Checklist. Use when reviewing scripts, client components, bundles, or runtime behavior related to Minimize costly DOM read/write operations.

When should I use Dom Performance?

Dom Performance fits situations like: reviewing scripts; client components; runtime behavior related to Minimize costly DOM read/write operations.

How do I install Dom Performance in Claude Code?

Run `npx skills add thedaviddias/Front-End-Checklist --skill dom-performance -a claude-code`. Or copy the skill folder (skills/dom-performance in thedaviddias/Front-End-Checklist) into .claude/skills/dom-performance in your project. Claude Code loads it when a task matches its description.

How do I install Dom Performance in Codex?

Run `npx skills add thedaviddias/Front-End-Checklist --skill dom-performance -a codex`. Or copy the skill folder (skills/dom-performance in thedaviddias/Front-End-Checklist) into .agents/skills/dom-performance in your project. Codex loads it when a task matches its description.

Can I use Dom 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 thedaviddias/Front-End-Checklist --skill dom-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/dom-performance, .gemini/skills/dom-performance, .github/skills/dom-performance and .opencode/skills/dom-performance in your project.

What does Dom Performance need to run?

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

Does Dom Performance access the network?

SKILL.md names 1 domain. As links in the text: frontendchecklist.io. This is read from the text; nothing was executed.

Is Dom 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. Review the folder before installing.

What licence does Dom Performance use?

Dom 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 Dom Performance use?

About 628 tokens (SKILL.md is roughly 2.5k 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 1.2k tokens, read only when the agent opens those files.

What are the alternatives to Dom Performance?

Skills that share tags, products or a category with Dom Performance: Web Artifacts Builder (anthropics/skills, 180k stars), Vercel Composition Patterns (supabase/supabase, 111k stars), React Doctor (makeplane/plane, 61k stars) and React Router Development (remix-run/react-router, 57k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Dom Performance?

thedaviddias (a GitHub user) maintains it in thedaviddias/Front-End-Checklist, which has 74,421 GitHub stars. The repository holds 390 skills in this directory. The repository was last updated on October 6, 2026.

Source: thedaviddias/Front-End-Checklist on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.