Virtualize long lists and tables
SkillSearchlist-virtualization is a skill that guides an AI agent through speeding up interfaces with many repeated items, such as dashboards, admin tables, search results, and feeds, by rendering only the visible rows. It first confirms the bottleneck is DOM or rendering cost, since small lists usually do not need the added complexity.
Use Virtualize long lists and tables in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Virtualize long lists and tables and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Virtualize long lists and tables skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
No other account needed.
Have an AI agent that can load skills.
What your AI can do with it
- Guides rendering only visible rows in long dashboard tables and feeds
- Applies to admin tables, search results, and feeds with many repeated items
- Confirms the bottleneck is DOM or rendering cost before introducing virtualization
- Avoids added complexity when lists are small and do not need virtualization
Getting started
- Have an AI agent that can load skills.
- Add the list-virtualization skill to the agent's available skills.
- Ask the agent to review a dashboard, admin table, search result list, or feed with many repeated items.
- Let the agent confirm the bottleneck is DOM or rendering cost before applying virtualization.
What this skill tells your AI
The instructions your AI receives, as published by thedaviddias/front-end-checklist in skills/list-virtualization/SKILL.md and read by ahel’s review.
Rendering hundreds or thousands of rows at once wastes memory and makes style calculation, layout, and painting more expensive. Virtualization keeps large collections responsive by limiting the number of mounted nodes.
Quick Reference
- Render only what is visible plus a small overscan buffer instead of the entire list
- Use virtualization when repeated rows or cards push DOM size and layout cost too high
- Preserve item sizing, keyboard access, and screen-reader semantics when windowing content
- Measure scroll smoothness, memory use, and DOM node count before and after the change
Check
Inspect long lists, tables, grids, and feeds for places where the UI renders every item at once. Flag views where the number of mounted rows or cards is large enough to create DOM, memory, or scroll-performance issues.
Fix
Introduce list or table virtualization so only the visible rows plus overscan render, while preserving sizing, keyboard navigation, and any required sticky headers or selection behavior.
Explain
Explain list virtualization, why it improves performance for large collections, and the tradeoffs engineers need to watch for around measurement and accessibility.
Code Review
Inspect collection components, data tables, infinite feeds, and dashboards. Flag places where rendering the full dataset creates excessive DOM nodes or scroll jank, and verify the virtualization strategy still preserves item identity, semantics, and expected interactions.
For full implementation details, code examples, and framework-specific guidance,
see references/rule.md.
Rule page: https://frontendchecklist.io/en/rules/performance/list-virtualization
Signals
- GitHub stars
- 74k
- Forks
- 7k
- Last commit
- Oct 2026
Questions
- When should this skill be used?
- Use it when reviewing dashboards, admin tables, search results, or feeds with many repeated items.
- Why check the bottleneck first?
- Virtualization should only be introduced after confirming the bottleneck is DOM or rendering cost, because small lists usually do not need the added complexity.
- What does virtualization do?
- It speeds up long dashboard tables and feeds by only rendering the rows that are visible.
Advanced
- Item type
- skill
- Key
list-virtualization- Source
- github.com/thedaviddias/front-end-checklist
github.com/thedaviddias/front-end-checklist