What problem does it solve? Adding third-party scripts like Google Tag Manager, analytics snippets, or widget loaders to a React Server Components app is error-prone: scripts can silently fail on soft navigations, violate CSP nonce policies, or load in the wrong order. This Skill shows how to push script configs from server handlers and render them correctly with the built-in <Scripts /> component. ## Core Features & Use Cases - Three typed script shapes: Inline (raw JS body), external async (React resource, deduped by src), and external ordered (defer/plain), enforced as a discriminated union so invalid combinations are compile errors. - Automatic CSP nonce handling: Document-rendered scripts carry the request nonce automatically, with guidance on 'strict-dynamic' policies for soft-navigation async scripts. - Honest execution contract: Explains which scripts run on hard loads versus soft <Link> navigations, and how the frozen inline/ordered set prevents silently dead scripts. - Use Case: Add Google Tag Manager to a Rango app by pushing an inline self-injecting bootstrap from the root layout, then fire per-navigation page_view events from a "use client" component. ## Quick Start Add Google Tag Manager to my Rango app by pushing a script config from the root layout and rendering it with the Scripts component in the Document.