Skip to main content

how-to-write-component

Use when implementing or refactoring React/TypeScript components and the task requires decisions about component ownership, feature boundaries, state, data flow, effects, or interaction ownership. Do not use for review-only requests, test-only work, copy-only edits, or styling-only changes.

Source facts

Repository
langgenius/dify
Last source activity
September 26, 2026 at 12:37
Detected SKILL.md language
English
Stars
157,446
Forks
24,810

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
6 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
how-to-write-component
description
Use when implementing or refactoring React/TypeScript components and the task requires decisions about component ownership, feature boundaries, state, data flow, effects, or interaction ownership. Do not use for review-only requests, test-only work, copy-only edits, or styling-only changes.
# 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`][ownership]. - Dify UI wrappers or primitive state styling: read the package's [Public API authoring] and [Styling] contracts. - Jotai, form drafts, route identity, URL state, or persistence: read [`references/state.md`][state]. - Generated contracts, nullable API data, Query, mutations, SSR, auth, or workspace state: read [`references/data.md`][data]. - Hotkeys, focus, dialogs, menus, popovers, or other secondary surfaces: read [`references/interactions.md`][interactions] and the overlay guide it references when applicable. Also read [`references/state.md`][state] when the surface owns a draft or other local session state. - Effects, navigation, memoization, preloading, or render cost: read [`references/runtime.md`][runtime]. ## 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-105` instead of `w-[420px]`, `px-2.25` instead of `px-[9px]`, `bg-linear-to-b` instead of `bg-gradient-to-b`, `wrap-break-word` instead of `break-words`, and `field-sizing-content` instead of `[field-sizing:content]`. [Public API authoring]: ../../../packages/dify-ui/docs/authoring.md [Styling]: ../../../packages/dify-ui/docs/styling.md [data]: references/data.md [interactions]: references/interactions.md [ownership]: references/ownership.md [runtime]: references/runtime.md [state]: references/state.md
View on GitHub