What problem does it solve? Large Jac source files become hard to navigate when declarations and implementation bodies are mixed together. This Skill explains how to separate a clean public-API surface from implementation details using impl blocks, .impl.jac annex files, and directory layouts that the Jac compiler auto-pairs by basename. ## Core Features & Use Cases - Impl file layouts: Choose between side-by-side pairing, a shared impl/ directory, or a mod.impl/ directory for splitting one large type by feature. - Declaration-to-impl mapping: Match every declaration form (functions, methods, walker abilities, enums, property accessors, abstract methods) to its correct impl syntax. - Client component handler annexes: Keep frontend components readable by declaring async handler stubs in the component and implementing them in the paired .impl.jac file, with bare access to reactive has state. - Use Case: A Jac module grows past 100 lines with a class containing 20 methods. Use this Skill to split the implementations into a mod.impl/ directory organized by feature while keeping the declaration file as a clean API surface. ## Quick Start Split my oversized Jac module into a declaration file and paired impl annex files using the appropriate layout.