arayaroma/ether/list-pagination-required
- community
Checking that the SKILL.md file is still in the repository.
Use whenever building or reviewing any list/table UI (a `@for`/`*ngFor`/`.map()` rendering rows from an array) in any app — enforces adding pagination instead of rendering the full collection unpaginated. Triggers on "lista", "tabla", "listado", building a new page/view with a list of records, or reviewing one that has none.
Install
npx vskill@latest install arayaroma/ether/list-pagination-requiredSKILL.md
List Pagination Required
Any list of records that can grow unbounded (transactions, bills, backups, reconciliation lines, catalog rows...) ships with pagination from the start. Retrofitting it later means the list already shipped slow and someone already complained.
Rule
Before considering a list/table view done:
- Check the project already has a pagination component before building one.
- Angular apps (e.g. dar-money-mind):
apps/web/src/app/shared/components/pagination/pagination.component.ts—ZardPaginationComponent, selectorapp-pagination. API:page(input, required),pageCount(input, required),testId(input, optional),pageChange(outputnumber). Already used incredit-periods,debts,incomes,accounts-receivable,gmail-review,transactions— copy that usage pattern, don't reinvent it. - Lit/web-component apps (e.g. backup-dashboard, anything consuming
@arayaroma/photon):ph-paginationfromphoton/src/components/pagination/pagination.ts. API:page(number prop),totalPages(number prop),summary(string prop, optional), firesph-page-changeCustomEvent withdetail.page. Import via@arayaroma/photon/elements(side-effect registers the element) and use<ph-pagination .page=${...} .totalPages=${...} @ph-page-change=${...}>. - Any other stack (React, etc.): no existing component yet — port the same shape (
page/totalPagesorpageCount, one "page changed" callback/event) rather than inventing a different API. Note it here once built so the next session finds it.
- Server-side pagination beats client-side slicing when the backing list can grow past a couple hundred rows (anything backed by a DB table with no natural cap — transactions, bills, backups). Client-side slicing (paginate an array already fully loaded) is acceptable only for lists that are inherently small and bounded (e.g. a period's reconciliation lines, a card's categories) — don't add server pagination machinery there, just slice.
- Never ship a bare unbounded list. If a list view has no pagination and no hard upper bound on row count, that's a defect to flag — not a style preference. Add pagination before calling the view done, using whichever component from step 1 matches the stack.
- Match the existing page-size convention in that codebase (check a sibling paginated page for its default
pageSize/limit) rather than picking an arbitrary number per view. dar-money-mind's convention (seedebts.page.ts):readonly pageSize = 20;,pageCount = computed(() => Math.max(1, Math.ceil(items().length / pageSize))),paged = computed(() => items().slice((page()-1)*pageSize, page()*pageSize)).
This applies to every new list you build going forward — check this skill before writing the template for a list/table, not after the user points out it's missing.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/list-pagination-required/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/arayaroma/ether/list-pagination-required)