How To Write A Component
Use this skill to route component architecture decisions to its bundled references. Read only the references required by the current change.
Topic Routing
- Component moves, module boundaries, props, types, or owner placement: read
references/ownership.md. - Jotai, form drafts, route identity, URL state, or persistence: read
references/state.md. - Generated contracts, nullable API data, Query, mutations, SSR, auth, or workspace state: read
references/data.md. - Hotkeys, focus, dialogs, menus, popovers, or other secondary surfaces: read
references/interactions.mdand the overlay guide it references when applicable. Also readreferences/state.mdwhen the surface owns a draft or other local session state. - Effects, navigation, memoization, preloading, or render cost: read
references/runtime.md.
Scope And Verification
Identify the behavior owner, state lifetime, and public contract from the nearby implementation and relevant references. Keep the change within that vertical slice unless the contract requires changes elsewhere. Verify the changed behavior and complete the owning package's required checks. For Web, read web/docs/test.md for test work and web/docs/lint.md for static checks. Dify UI verification is owned by packages/dify-ui/docs/testing.md.
Tailwind CSS
- Write canonical Tailwind v4 classes; prefer canonical utilities over equivalent arbitrary values.
- Common forms include
w-105instead ofw-[420px],px-2.25instead ofpx-[9px],bg-linear-to-binstead ofbg-gradient-to-b,wrap-break-wordinstead ofbreak-words, andfield-sizing-contentinstead of[field-sizing:content].