What problem does it solve? Large React feature folders often grow into god components where one Viewer or Page owns data fetching, filters, mutations, modals, and host integrations together, making it impossible for portals, share pages, mobile shells, or micro-apps to reuse only a subset of the domain without shipping the entire module graph. ## Core Features & Use Cases - Atom Grain Definition: Defines each atom as the smallest unit a host is allowed not to mount, splitting read atoms, write atoms, workflow atoms, domain slots, and host seams. - State Sinking Rules: Moves fetches, derived view models, transient UI state, and mutation handlers out of the assembler page and into the atom that owns them, relying on SWR key deduping instead of lifted state. - Host-as-Import-List Assembly: Rewrites every host (page, portal, share, micro-app) as a layout plus a deep-import list, eliminating readOnly/mode/variant flags and barrel imports. - Use Case: A public workbench detail page needs only identity, goal, and inventory from a heavy Acceptance viewer; this Skill guides extracting those read atoms so the light host never statically imports decision workflows, chat stores, or write modals. ## Quick Start Ask the AI to apply the compose-atoms skill to split the fat Viewer in src/features/Acceptance into mountable read and write atoms with a light assembler for the public host.