What problem does it solve? In SolidJS, reading a resource that is still loading throws, and the throw is caught by the nearest Suspense boundary above the reading body. A component that both declares a resource and reads it suspends the entire page instead of a local fallback, causing full-page loading flashes and lost UI state. ## Core Features & Use Cases - Component Splitting Rule: Declares resources in a parent body and moves every read into a child wrapped in Suspense, passing the accessor itself rather than the value. - Longhand Detection: Identifies createSignal plus createEffect pairs that reimplement createResource and converts them, including gating the source on a client signal for browser-only loads. - Read Helpers: Distinguishes settled (suspends once, holds through refetches, for children under a boundary) from answered (never suspends, for declaring bodies), and warns that resource.latest alone still suspends on first load. - Use Case: When adding a data fetch to a SolidStart page, apply this Skill to place the resource, boundary, derived memos, and effects on the correct sides so refetches never unmount the reading panel. ## Quick Start Review my SolidJS component that calls createResource and fix any reads happening in the declaring body by splitting it into a parent and a Suspense-wrapped child.