What problem does it solve? Full-page responses in a Rango application are regenerated on every request even when the content is identical for all visitors. This Skill explains how to cache complete HTML and RSC responses in the app-level cache store so repeat requests are served from the store instead of re-running handlers and loaders. ## Core Features & Use Cases - Store-backed response caching: Add createDocumentCacheMiddleware() to the router so responses with a Cache-Control: s-maxage header are stored and replayed, with stale-while-revalidate enabling background revalidation. - Route opt-in via headers: Handlers opt into caching by setting s-maxage, while routes without the header are never cached, keeping dynamic pages like dashboards live. - Cache observability and control: Options like skipPaths, keyGenerator, isEnabled, and debug control what is cached, and the x-document-cache-status header reports HIT, STALE, or MISS. - Use Case: A blog index and post pages set s-maxage=300, stale-while-revalidate=3600 so anonymous traffic is served from a Cloudflare-backed store while the dashboard remains uncached. ## Quick Start Add createDocumentCacheMiddleware to my Rango router with a CFCacheStore and show me how to opt my blog routes into caching with Cache-Control headers.