list-pagination-required

Enforces pagination on list and table views in Angular and Lit applications.

Updated Jul 27, 2026
One-click install
npx skills add https://github.com/arayaroma/ether --skill list-pagination-required-arayaroma
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: list-pagination-required
Source: https://github.com/arayaroma/ether/tree/main/skills/list-pagination-required
Command: npx skills add https://github.com/arayaroma/ether --skill list-pagination-required-arayaroma

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? List and table views that render unbounded collections without pagination ship slow and degrade as data grows, and retrofitting pagination after release is costly. This Skill ensures every list view is built or reviewed with pagination from the start. ## Core Features & Use Cases - Existing component reuse: Points to the project's existing pagination components — ZardPaginationComponent (app-pagination) for Angular apps and ph-pagination from @arayaroma/photon for Lit/web-component apps — so you copy the established pattern instead of inventing a new API. - Server-side vs client-side guidance: Directs server-side pagination for unbounded DB-backed lists (transactions, bills, backups) and simple client-side slicing only for inherently small, bounded lists. - Convention matching: Enforces the codebase's existing page-size convention (e.g. pageSize = 20 with computed pageCount and paged signals) rather than arbitrary per-view numbers. - Use Case: When building a new transactions page in an Angular app, the Skill flags the missing pagination, points to the app-pagination component used in sibling pages like debts, and provides the exact slicing pattern to apply. ## Quick Start Ask the assistant to review the list view you just built and add pagination following the project's existing pagination component and page-size conventions.

Frequently Asked Questions about list-pagination-required

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add pagination to an Angular list view?

Use the existing ZardPaginationComponent (selector app-pagination) with page and pageCount inputs and a pageChange output, copying the pattern from sibling pages like debts or transactions. Pair it with computed pageCount and paged signals using the project's pageSize convention of 20.

How do I paginate a list in a Lit web component app?

Use the ph-pagination element from @arayaroma/photon, imported via @arayaroma/photon/elements. Set the page and totalPages properties and listen for the ph-page-change CustomEvent, which carries the new page in detail.page.

When should I use server-side pagination vs client-side slicing?

Use server-side pagination when the backing list can grow past a couple hundred rows, such as DB-backed tables like transactions or bills. Client-side slicing of an already-loaded array is acceptable only for inherently small, bounded lists like a period's reconciliation lines.

Is an unpaginated list view ever acceptable?

Only when the list has a hard upper bound on row count. Any list that can grow unbounded without pagination is treated as a defect to fix before the view is considered done, not a style preference.

What page size should I use for a new paginated view?

Match the existing convention in the codebase by checking a sibling paginated page for its default pageSize or limit. For example, dar-money-mind uses a readonly pageSize of 20 with computed pageCount and paged values.