К основному содержанию
скилл CX Codex

api-pagination — скилл для Claude Code: пагинация API

Скилл подсказывает агенту, как отдавать большие коллекции: offset/limit, курсоры, keyset. Пригодится, когда список пользователей или результатов поиска не влезает в один ответ.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add aj-geddes/useful-ai-prompts --skill api-pagination -a claude-code
Открыть на GitHub

Что делает api-pagination

Скилл описывает три подхода к пагинации и разбирает каждый в отдельном справочнике внутри references/. Есть файлы про offset/limit, курсорную и keyset-пагинацию, отдельно про поиск и форматы ответа. Для Python — вариант на SQLAlchemy. Агент читает нужный справочник и пишет код под ваш случай.

В SKILL.md лежит краткий пример на Node.js: страница и лимит берутся из query-параметров, лимит ограничен сотней, ответ содержит data и блок pagination с общим числом записей и признаком следующей страницы. Дальше идут списки рекомендаций: сортировать по индексированным полям, не разрешать произвольный размер страницы, не считать строки на каждом запросе.

Отдельный пункт — не смешивать стратегии в одном API. Если начали с offset и на середине списка перешли на курсор, клиент потеряет позицию. Это повод выбрать способ до того, как появится первый эндпоинт со списком.

Какие задачи решает

  • отдать список пользователей постранично
  • сделать бесконечную прокрутку в интерфейсе
  • ускорить запросы к таблице на миллионы строк
  • добавить пагинацию в результаты поиска
  • выбрать между offset и курсором для нового API

Примеры запросов агенту

  • добавь пагинацию в эндпоинт /api/users, лимит 20
  • перепиши этот список на keyset-пагинацию
  • покажи формат ответа с курсором для поиска

Как установить api-pagination

1Через Skills CLI (Vercel)

npx skills add aj-geddes/useful-ai-prompts --skill api-pagination -a claude-code

2Вручную: положить файлы

~/.claude/skills/api-pagination/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/api-pagination/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о api-pagination

Как установить api-pagination в Claude?

Выполните npx skills add aj-geddes/useful-ai-prompts --skill api-pagination -a claude-code. Скилл окажется в ~/.claude/skills/api-pagination/SKILL.md.

Что делает api-pagination?

Даёт агенту готовые схемы пагинации: offset/limit, курсорную и keyset. Внутри шесть справочников с примерами кода и списком типичных ошибок.

Чем keyset отличается от offset?

Keyset идёт по индексированному полю и не пересчитывает пропущенные строки, поэтому глубокая пагинация не замедляется. Offset на больших таблицах дорожает с каждой страницей.

Исходный текст

SKILL.md · MIT
---
name: api-pagination
description: >
  Implement efficient pagination strategies for large datasets using
  offset/limit, cursor-based, and keyset pagination. Use when returning
  collections, managing large result sets, or optimizing query performance.
---

# API Pagination

## Table of Contents

- [Overview](#overview)
- [When to Use](#when-to-use)
- [Quick Start](#quick-start)
- [Reference Guides](#reference-guides)
- [Best Practices](#best-practices)

## Overview

Implement scalable pagination strategies for handling large datasets with efficient querying, navigation, and performance optimization.

## When to Use

- Returning large collections of resources
- Implementing search results pagination
- Building infinite scroll interfaces
- Optimizing large dataset queries
- Managing memory in client applications
- Improving API response times

## Quick Start

Minimal working example:

```javascript
// Node.js offset/limit implementation
app.get('/api/users', async (req, res) => {
  const page = parseInt(req.query.page) || 1;
  const limit = Math.min(parseInt(req.query.limit) || 20, 100); // Max 100
  const offset = (page - 1) * limit;

  try {
    const [users, total] = await Promise.all([
      User.find()
        .skip(offset)
        .limit(limit)
        .select('id email firstName lastName createdAt'),
      User.countDocuments()
    ]);

    const totalPages = Math.ceil(total / limit);

    res.json({
      data: users,
      pagination: {
        page,
        limit,
        total,
        totalPages,
        hasNext: page < totalPages,
// ... (see reference guides for full implementation)
```

## Reference Guides

Detailed implementations in the `references/` directory:

| Guide | Contents |
|---|---|
| [Offset/Limit Pagination](references/offsetlimit-pagination.md) | Offset/Limit Pagination |
| [Cursor-Based Pagination](references/cursor-based-pagination.md) | Cursor-Based Pagination |
| [Keyset Pagination](references/keyset-pagination.md) | Keyset Pagination |
| [Search Pagination](references/search-pagination.md) | Search Pagination |
| [Pagination Response Formats](references/pagination-response-formats.md) | Pagination Response Formats |
| [Python Pagination (SQLAlchemy)](references/python-pagination-sqlalchemy.md) | Python Pagination (SQLAlchemy) |

## Best Practices

### ✅ DO

- Use cursor pagination for large datasets
- Set reasonable maximum limits (e.g., 100)
- Include total count when feasible
- Provide navigation links
- Document pagination strategy
- Use indexed fields for sorting
- Cache pagination results when appropriate
- Handle edge cases (empty results)
- Implement consistent pagination formats
- Use keyset for extremely large datasets

### ❌ DON'T

- Use offset with billions of rows
- Allow unlimited page sizes
- Count rows for every request
- Paginate without sorting
- Change sort order mid-pagination
- Use deep pagination without cursor
- Skip pagination for large datasets
- Expose database pagination directly
- Mix pagination strategies
- Ignore performance implications

© aj-geddes · MIT · aj-geddes/useful-ai-prompts

Похожие скиллы

Всё по теме «Бэкенд и API» →
api-design affaan-m Скилл задаёт правила проектирования REST API: именование эндпоинтов, выбор статус-кодов, пагинацию и формат ошибок. Помогает при создании и ревью серверных контрактов. CX Codex +1 5 500установок api-designer https://github.com/Jeffallan Скилл для архитектуры REST и GraphQL API с генерацией OpenAPI 3.1 спецификаций. Помогает моделировать ресурсы, планировать версионирование и задавать стандарты обработки ошибок. CX Codex +1 6 500установок notion-api intellectronica Скилл для взаимодействия с Notion API через REST-запросы. Даёт агенту полный доступ к страницам, базам данных, блокам и комментариям — читать, создавать, обновлять и удалять контент. CX Codex +1 94 900установок api-and-interface-design addyosmani Помогает проектировать API и границы модулей так, чтобы их было проще использовать и менять. Подходит для REST, GraphQL и публичных интерфейсов. CX Codex +1 62 600установок api-design-principles Seth Hobson Скилл помогает проектировать и проверять REST- и GraphQL API. Пригодится при подготовке спецификации, пересмотре существующего API или согласовании стандартов команды. CX Codex 30 348установок dm-limits-and-best-practices cognitedata Справочный скилл про лимиты CDF Data Modeling: конкурентность и 429, пагинация, батчи, QueuedTaskRunner. Пригодится, когда код сыпет ошибками на нагрузке. CX Codex +1 1 900установок

Из того же набора118

api-reference-documentation Скилл помогает агенту собрать справочник по API: эндпоинты, аутентификация, примеры запросов и ответов, спецификация OpenAPI. CX Codex +1 494установок database-performance-debugging Скилл помогает найти медленные SQL-запросы и разобрать их планы выполнения. Пригодится, когда приложение тормозит или база упирается в CPU. CX Codex +1 493установок code-documentation Скилл для написания документации прямо в коде: JSDoc, Python-докстринги, JavaDoc, комментарии и описания API. Пригодится, когда нужно задокументировать функции и классы, а не переписывать их вслепую. CX Codex +1 492установок reactive-programming Скилл для работы с реактивными потоками: RxJS, observables, обработка backpressure. Пригодится, когда в проекте много асинхронных данных и событий. CX Codex +1 491установок nosql-database-design Помогает агенту проектировать коллекции MongoDB и таблицы DynamoDB: вложенные документы, индексы, денормализация. Пригодится, когда схему надо решить до кода. CX Codex +1 486установок database-indexing-strategy Скилл помогает проектировать индексы: выбирает тип, собирает составные и частичные, подсказывает по обслуживанию. Пригодится, когда запросы тормозят. CX Codex +1 486установок uptime-monitoring Скилл для ИИ-агента, который помогает настроить проверки доступности сервиса, статус-страницу и учёт инцидентов. Пригодится, когда нужно видеть, что именно упало. CX Codex +1 484установок api-response-optimization Скилл для ИИ-кодинга, который помогает сократить время ответа API: кэширование, сжатие и чистые payload'ы. CX Codex +1 484установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой