What problem does it solve? Writing client-side UI in Jac requires unlearning React and JavaScript habits, and mistakes like in-place state mutation, misplaced hooks, or wrong event typing cause silent runtime bugs that the compiler does not catch. This Skill provides the exact Jac syntax and pitfall guidance for building components that compile correctly to React. ## Core Features & Use Cases - Component authoring patterns: Defines components as def:pub functions returning JsxElement, with has fields for reactive state, can with entry mount effects, and typed props including Callable callbacks and children. - JSX statement slots and control flow: Covers expression slots, for/if statement slots for iteration and conditional rendering, dynamic tags, and JSX comment syntax. - Pitfall prevention: Documents silent runtime bugs such as in-place mutation not re-rendering, stale state in async loops, hooks after conditional returns, and undefined vs None checks on hook values. - Use Case: When adding a new interactive page to a Jac fullstack app, load this Skill to write the component with correct state handling, server RPC calls via sv import, and event handlers typed with ambient DOM events. ## Quick Start Write a Jac client component for a counter with an input field, using has state, a mount effect, and typed click and change event handlers.