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 skills add pproenca/dot-skills --skill react-fetch-cache-patternsgit clone --depth 1 https://github.com/pproenca/dot-skillsWrote 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/pproenca/dot-skills/react-fetch-cache-patterns)<a href="https://agentmods.dev/skills/pproenca/dot-skills/react-fetch-cache-patterns"><img src="https://agentmods.dev/badge/skills/pproenca/dot-skills/react-fetch-cache-patterns/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/pproenca/dot-skills/react-fetch-cache-patterns"><img src="https://agentmods.dev/badge/skills/pproenca/dot-skills/react-fetch-cache-patterns.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.1 | $0.00189 | $0.02791 |
| Opus 5 | $0.00095 | $0.01396 |
| Sonnet 5 | $0.00038 | $0.00558 |
| Haiku 4.5 | $0.00019 | $0.00279 |
Grade A, and why
react-fetch-cache-patterns 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 5d ago.
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 — 140 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Experimental React Data Fetching & Caching Best Practices
Implementation patterns for React applications that fetch and cache many API requests without overwhelming the backend. 48 rules across 8 categories, ordered by execution lifecycle impact — earlier categories cascade through everything downstream. Templates show both library-based (TanStack Query, SWR) and library-free (pure React + AbortController) implementations so the patterns are usable regardless of stack constraints.
When to Apply
- Writing or reviewing a React component that calls
fetch,useQuery,useSWR, or any data-fetching hook - Designing a list, feed, or carousel that displays many items each requiring data
- Investigating "the backend is getting hammered" or "the page loads slowly" symptoms
- Choosing between client-side fetching, route loaders, server components, or SSR
- Implementing prefetch, retry, optimistic updates, or any failure-handling logic
- Refactoring code that already does data fetching but with waterfalls, no cache strategy, or no concurrency limits
Rule Categories by Priority
| # | Category | Impact | Prefix | Rules |
|---|---|---|---|---|
| 1 | Request Orchestration | CRITICAL | orch- |
7 |
| 2 | Cache Strategy | CRITICAL | cache- |
7 |
| 3 | Backend Protection | CRITICAL | protect- |
7 |
| 4 | Prefetch & Hydration | HIGH | prefetch- |
6 |
| 5 | Failure Resilience | HIGH | resilience- |
6 |
| 6 | Feed & Carousel Patterns | MEDIUM-HIGH | feed- |
7 |
| 7 | Mutation & Invalidation | MEDIUM | mutate- |
4 |
| 8 | Component Patterns | MEDIUM | render- |
4 |
Quick Reference
1. Request Orchestration (CRITICAL)
orch-parallelize-independent-fetches— UsePromise.allfor independent requests; never serialawaitorch-batch-n-plus-one-fanout— Collapse per-row fetches via DataLoader-style batchingorch-dedupe-in-flight-requests— One in-flight request per key, shared across subscribersorch-lift-fetch-to-route-loader— Fetch in parallel with route chunk downloadorch-avoid-effect-chains— Flatten the dependency graph; only true dependencies waitorch-server-fetch-when-possible— Move fetches to RSC/server when they don't depend on client stateorch-prefer-bulk-endpoint-for-fanout— One bulk request beats N parallel requests
What ships with it
58 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- AGENTS.md 12 KB
- assets/templates/_template.md 2.3 KB
- assets/templates/carousel-data-loader.template.tsx 14 KB
- assets/templates/infinite-feed.template.tsx 6.1 KB
- assets/templates/prefetch-link.template.tsx 3.2 KB
- assets/templates/request-collapser.template.ts 5.6 KB runs code
- assets/templates/use-resource-query-no-deps.template.tsx 14 KB
- assets/templates/use-resource-query.template.tsx 8.5 KB
- metadata.json 2.4 KB
- references/_sections.md 5.3 KB
- references/cache-deterministic-keys.md 2.6 KB
- references/cache-normalize-shared-entities.md 2.9 KB
- references/cache-select-subscribed-fields.md 2.4 KB
- references/cache-set-stale-time.md 2.5 KB
- references/cache-shared-key-factory.md 2.5 KB
- references/cache-stale-while-revalidate.md 2.6 KB
- references/cache-tiered-stale-fresh.md 2.4 KB
- references/feed-bounded-working-set.md 4.0 KB
- references/feed-cursor-pagination.md 3.6 KB
- references/feed-image-lazy-and-sized.md 3.3 KB
- references/feed-multi-carousel-isolation.md 6.8 KB
- references/feed-split-summary-from-detail.md 4.1 KB
- references/feed-stable-keys-across-pages.md 3.0 KB
- references/feed-virtualize-long-lists.md 3.4 KB
- references/mutate-cancel-queries-on-mutate.md 3.7 KB
- references/mutate-optimistic-updates-with-rollback.md 4.0 KB
- references/mutate-set-data-over-invalidate.md 3.8 KB
- references/mutate-surgical-invalidation.md 3.8 KB
- references/orch-avoid-effect-chains.md 2.3 KB
- references/orch-batch-n-plus-one-fanout.md 2.2 KB
- references/orch-dedupe-in-flight-requests.md 2.3 KB
- references/orch-lift-fetch-to-route-loader.md 2.5 KB
- references/orch-parallelize-independent-fetches.md 2.1 KB
- references/orch-prefer-bulk-endpoint-for-fanout.md 2.2 KB
- references/orch-server-fetch-when-possible.md 2.3 KB
- references/prefetch-budget-and-priority.md 3.3 KB
- references/prefetch-hover-intent-links.md 2.6 KB
- references/prefetch-hydrate-server-cache.md 3.5 KB
- references/prefetch-idle-likely-next.md 3.1 KB
- references/prefetch-parallel-loader-queries.md 3.6 KB
- references/prefetch-viewport-triggered-next-page.md 3.3 KB
- references/protect-circuit-breaker.md 2.9 KB
- references/protect-collapse-identical-requests.md 4.3 KB
- references/protect-concurrency-limit-fanout.md 2.5 KB
- references/protect-debounce-user-driven-fetches.md 2.5 KB
- references/protect-jittered-retry-backoff.md 2.7 KB
- references/protect-rate-limit-aware-client.md 3.0 KB
- references/protect-throttle-scroll-triggered.md 3.0 KB
- references/render-cap-fanout-in-lists.md 3.8 KB
- references/render-colocate-fetch-with-consumer.md 3.8 KB
- references/render-stable-query-keys.md 3.6 KB
- references/render-suspense-per-section.md 4.0 KB
- references/resilience-abort-on-unmount.md 3.0 KB
- references/resilience-bounded-timeouts.md 3.4 KB
- references/resilience-graceful-degradation.md 3.8 KB
- references/resilience-no-auto-retry-mutations.md 3.7 KB
- references/resilience-scoped-error-boundaries.md 3.3 KB
- references/resilience-stale-fallback.md 3.4 KB
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.
- 5d ago First seen · 140 lines · 189 tokens per session scan A b0c47da8b12c
react-fetch-cache-patterns is a skill published in the GitHub repository pproenca/dot-skills (205 stars, last pushed 24d ago), licensed MIT. It adds 189 tokens to every session and 2,791 once invoked, about $0.0009 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
copilotkit-upgrade
Use when migrating a CopilotKit v1 application to v2 -- updating package imports, replacing deprecated hooks and components, switching from GraphQL runtime to AG-UI protocol runtime, and resolving breaking API changes.
nextjs-app-router
Full end-to-end tRPC setup for Next.js App Router. Covers route handler with fetchRequestHandler (GET + POST exports), TRPCProvider with QueryClientProvider, createTRPCOptionsProxy for RSC prefetching, HydrateClient/HydrationBoundary for hydration, useSuspenseQuery for Suspense, and server-side callers.
nextjs-pages-router
Set up tRPC in Next.js Pages Router with createNextApiHandler, createTRPCNext, withTRPC HOC, SSR via ssr option and ssrPrepass, SSG via createServerSideHelpers with getStaticProps, and server-side helpers for getServerSideProps prefetching.
langbot-dev
Develop, build, and debug the LangBot core backend and web frontend. Use when working inside the LangBot repository — backend (Python/Quart, src/langbot/pkg), the Vite/React web UI, HTTP API controllers/services, Alembic migrations, or the MCP server. Covers the dev environment (uv, pnpm), repo layout, the API auth…
trigger-realtime-and-frontend
Trigger.dev client/frontend surface: subscribe to runs in realtime (runs.subscribeToRun and the @trigger.dev/react-hooks hook useRealtimeRun), consume metadata and AI/text streams in React (useRealtimeStream), trigger tasks from the browser (useTaskTrigger, useRealtimeTaskTrigger), and mint scoped frontend credentials…
sanity-live-cache-components
Integrates Sanity Live with Next.js Cache Components in next-sanity v13+ apps. Sets up sanityFetch, a shared cachedSanity 'use cache' boundary, , Visual Editing, Presentation Tool, draft mode handling, and the three-layer (Page/Dynamic/Cached) component pattern with explicit perspective/stega prop-drilling. Sequences…