Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/random6913/claude-code-superkit/pagination-and-filteringnpx skills add RaNDoM6913/claude-code-superkit --skill pagination-and-filteringgit clone --depth 1 https://github.com/RaNDoM6913/claude-code-superkitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/random6913/claude-code-superkit/pagination-and-filtering)<a href="https://agentmods.dev/skills/random6913/claude-code-superkit/pagination-and-filtering"><img src="https://agentmods.dev/badge/skills/random6913/claude-code-superkit/pagination-and-filtering.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00035 | $0.02550 |
| Opus 5 | $0.00017 | $0.01275 |
| Sonnet 5 | $0.00007 | $0.00510 |
| Haiku 4.5 | $0.00003 | $0.00255 |
Grade A, and why
pagination-and-filtering scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 332 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Pagination & Filtering Patterns
Backend SQL Patterns
Cursor-Based Pagination (Feeds & Lists)
SocialApp uses cursor-based pagination for all user-facing lists (feed, likes, notifications, matches). Never use OFFSET-based pagination for these — it's slow on large tables and produces inconsistent results when rows are inserted/deleted between pages.
Composite cursor pattern — use (created_at, id) tuple for stable ordering:
func (r *LikeRepo) ListIncomingProfilesCursor(
ctx context.Context,
userID int64,
limit int,
cursorCreatedAt *time.Time,
cursorID *int64,
) ([]IncomingLikeRecord, error) {
hasCursor := cursorCreatedAt != nil && cursorID != nil
query := `
SELECT l.id, l.from_user_id, p.display_name, l.created_at
FROM likes l
JOIN profiles p ON p.user_id = l.from_user_id
WHERE l.to_user_id = $1`
var args []any
args = append(args, userID)
if hasCursor {
// Composite cursor: skip rows at or before the cursor position
query += `
AND (l.created_at, l.id) < ($2, $3)`
args = append(args, *cursorCreatedAt, *cursorID)
}
query += `
ORDER BY l.created_at DESC, l.id DESC
LIMIT $` + fmt.Sprintf("%d", len(args)+1)
args = append(args, limit)
rows, err := r.pool.Query(ctx, query, args...)
// ...
}
Rules:
- Always use
(timestamp, id)composite for cursor — timestamp alone is not unique - Order and cursor comparison must match:
ORDER BY created_at DESC, id DESCwith(created_at, id) < ($2, $3) - Cursor fields come from the last item of the previous page
- Parameter numbers are dynamic (
$N) — build withfmt.Sprintf("%d", len(args)+1) - Default limit: 20, max limit: 100 — enforce in repo:
if limit <= 0 { limit = 20 } if limit > 100 { limit = 100 }
LIMIT + 1 Pattern for hasMore Detection
Request one extra row to know if more pages exist — avoids a separate COUNT query:
// Service layer
func (s *Service) ListLikes(ctx context.Context, userID int64, limit int, cursor *Cursor) (*Page, error) {
// Fetch limit+1 rows
items, err := s.repo.ListIncoming(ctx, userID, limit+1, cursor)
if err != nil {
return nil, fmt.Errorf("ListLikes: %w", err)
}
hasMore := len(items) > limit
if hasMore {
items = items[:limit] // trim the extra row
}
var nextCursor *Cursor
if hasMore && len(items) > 0 {
last := items[len(items)-1]
nextCursor = &Cursor{CreatedAt: last.CreatedAt, ID: last.ID}
}
return &Page{Items: items, HasMore: hasMore, NextCursor: nextCursor}, nil
}
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 332 lines · 35 tokens per session scan A 2e8a9472eb0c
pagination-and-filtering is a skill published in the GitHub repository RaNDoM6913/claude-code-superkit (2 stars, last pushed 1mo ago), licensed MIT. It adds 35 tokens to every session and 2,550 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
migration-preview
Use when reviewing or writing a database migration, schema change, or data backfill — anything that alters durable data shape.
Supabase Expert
Database and backend knowledge for business operators — table design, auth setup, row-level security, storage, and edge functions explained in plain English. Not a developer guide — domain expertise for building your backend on Supabase.
apm-issue-autopilot
Use this skill to drive any open microsoft/apm issue (bug, feature, docs, refactor, perf) from raw intake to a mergeable PR with triage as the central, paramount gate. Run the apm-triage-panel rubric per issue first, then present ONE consolidated triage review for the whole batch and escalate to the maintainer BY…
apm-review-panel
Use this skill to run a multi-persona expert advisory review on a labelled pull request in microsoft/apm. The panel fans out to five mandatory specialists plus a test-coverage specialist (active on every PR that touches src/) plus three conditional specialists (auth, doc-writer, performance-expert), all running in…
apm-triage-panel
Use this skill to triage one microsoft/apm issue selected by the daily sweep, the status/needs-triage fast path, or manual dispatch. Emit one synthesized comment with a decision, label set, exact milestone, and suggested next action.
ontology
Manage ontology schemas, concepts, relationships, and alignments for Semantica knowledge graphs.