Skip to main content

paginate-an-api

Consume a paginated API without silent gaps, duplicates, loops, or unsafe retry behavior. Use when a client must retrieve a complete changing collection across multiple requests.

Source facts

Repository
protosphinx/sphinxstack
Last source activity
July 29, 2026 at 13:55
Detected SKILL.md language
English
Stars
3
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
paginate-an-api
category
code
description
Consume a paginated API without silent gaps, duplicates, loops, or unsafe retry behavior. Use when a client must retrieve a complete changing collection across multiple requests.
# paginate-an-api Make completion, ordering, and restart behavior explicit before iterating through pages. ## Procedure 1. Read the contract for cursor, token, offset, limit, ordering, snapshot, and rate-limit behavior. 2. Choose a stable sort key and define how collection mutations during traversal are handled. 3. Implement a termination rule from the documented next-page signal, not from a guessed page size. 4. Detect repeated cursors, missing tokens, malformed pages, and maximum-page breaches. 5. Deduplicate by a stable item identifier while preserving the required order. 6. Checkpoint the next cursor and processed count when a long retrieval must resume safely. 7. Apply bounded retries and backpressure without advancing the checkpoint before a page is accepted. 8. Test empty, single-page, exact-boundary, multi-page, repeated-cursor, mutation, and restart cases. 9. Reconcile retrieved identifiers and counts against an independent summary or targeted sample. ## Guardrails - Do not assume offset pagination remains stable while records are inserted or deleted. - Treat cursors as opaque and avoid logging sensitive cursor contents. - Stop on a loop or inconsistent page instead of returning a falsely complete result. ## Done - Pagination tests are verified across all boundary and restart cases - A retrieval report records pages, unique items, retries, and completion signal - The final collection is verified and reconciled against an independent count or sample
View on GitHub