Claude-skill-registry design-assemble
[デザイン] 4. variants → 型付きProps/属性にマッピングして結合(再利用UI)
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/design-assemble" ~/.claude/skills/majiayu000-claude-skill-registry-design-assemble && rm -rf "$T"
manifest:
skills/data/design-assemble/SKILL.mdsource content
[デザイン] 4. variants → 型付きProps/属性にマッピングして結合(再利用UI)
コマンド: /design-assemble [$TARGET]
doc/input/design/components.json の variants を 型付きProps/属性 にマッピングし、選択スタックへ**結合(再利用可能UI)**するアダプタ層。
既定は doc/input/rdd.md の技術スタック。引数で変更する際は ADR-lite承認必須。
いつ使う?(位置づけ)
→/design-ui
が終わって、見た目の部品が分離できたあと/design-components
の variants を「実装の分岐(props/attrs/enum)」に落とし、再利用可能なUIとして仕上げたいときcomponents.json
次に何をする?
- 実装タスクへ合流(状態/データ取得/ルーティング等は別工程で入れる)
共通前提(参照)
- 口調・出力規約・差分出力の方針は
に従う。CLAUDE.md
を読み、該当するdoc/input/rdd.md
を適用して判断軸を揃える。.claude/skills/*- 例(ロール):
/frontend-implementationaccessibility-engineer - 例(tech):
/react
/astro
/svelte
(※テンプレートでは固定せず、RDDのスタックに合わせて選ぶ)tailwind
- 例(ロール):
- 詳細運用(ADR-lite/差分/サンプル運用等)は
を参照。doc/guide/ai_guidelines.md - SSOT JSON のスキーマ(variants命名/props/slots)は
を参照。doc/input/design/ssot_schema.md
入力
- $TARGET(任意): react | vue | svelte | swiftui | flutter | web-components | plain-html …
出力(差分のみ)
- スタック別の再利用UI
- React:
(Props型: size/tone/state…),src/components/{Name}.tsx
,src/stories/*__tests__/* - Vue:
(props + Story)src/components/{Name}.vue - Svelte:
(props + Story)src/lib/{Name}.svelte - SwiftUI:
(case/enumでvariants)Sources/UI/{Name}.swift - Flutter:
(enum/Theme拡張)lib/widgets/{name}.dart - Web Components:
(attrs/reflect + CSS Custom Props)src/components/{name}.ts
- React:
- すべて 差分リファクタ(skeleton → 再利用化)。仕様追加禁止。
マッピング規約(例)
- variants.size → props.size("sm"|"md"|"lg")/ enum 等
- variants.tone → tokensのsemantic colorキーにバインド
- state(hover/disabled) → スタック標準のstate表現
- Docコメント(JSDoc/Docstring/Swift Doc/ Dartdoc)必須
ルール
- RDD準拠/SOLID。逸脱は ADR-lite で理由と影響を明記
- a11y必須(セマンティックHTML/JSX + 必要最小限のWAI-ARIA)。詳細は
に従う。.claude/skills/accessibility-engineer/SKILL.md - Lint/Type/Test/Story すべて緑
- ここで停止
ゲート
- Storybook/Preview で全variants表示OK
- Lint/Type/Test green(対応スタックのみ)