# cmx-component > CMX Starter Kitのカスタムコンポーネント作成・管理スキル。 MDXコンテンツ内で使えるカスタムReactコンポーネントの定義(JSON)、実装(TSX)、エクスポート、同期の全ワークフローを提供。 トリガー: 「コンポーネントを作成」「カスタムコンポーネントを追加」「MDXコンポーネントを作りたい」 「FeatureCardのようなコンポーネントが欲しい」「CMXにコンポーネントを同期」など。 - Author: kzkm-lab - Repository: kzkm-lab/cmx-starter-kit - Version: 20260209120457 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-09 - Source: https://github.com/kzkm-lab/cmx-starter-kit - Web: https://mule.run/skillshub/@@kzkm-lab/cmx-starter-kit~cmx-component:20260209120457 --- --- name: cmx-component description: | CMX Starter Kitのカスタムコンポーネント作成・管理スキル。 MDXコンテンツ内で使えるカスタムReactコンポーネントの定義(JSON)、実装(TSX)、エクスポート、同期の全ワークフローを提供。 トリガー: 「コンポーネントを作成」「カスタムコンポーネントを追加」「MDXコンポーネントを作りたい」 「FeatureCardのようなコンポーネントが欲しい」「CMXにコンポーネントを同期」など。 --- # CMX Custom Component ワークフロー ## ファイル構成 ``` .cmx/components/{name}.json # コンポーネント定義(CMX Admin用) src/components/custom/{Name}.tsx # React実装 src/components/custom/index.ts # エクスポート一覧 ``` ## ワークフロー ### 1. ヒアリング ユーザーに確認: - 用途(何を表示するか) - 必須/任意のprops - デザインの方向性 ### 2. JSON定義を作成 `.cmx/components/{kebab-case}.json` に作成。詳細フォーマットは [references/component-schema.md](references/component-schema.md) を参照。 ```json { "name": "FeatureCard", "displayName": "Feature Card", "description": "Display a feature with icon, title, and description", "category": "content", "propsSchema": { "title": { "type": "string", "description": "Feature title", "required": true }, "icon": { "type": "string", "description": "Emoji icon", "optional": true }, "children": { "type": "string", "description": "Card body text", "required": true } }, "examples": [ "title=\"Fast\" icon=\"⚡\">Lightning fast load times", "title=\"Simple\">Easy to use interface" ] } ``` ### 3. React実装 `src/components/custom/{PascalCase}.tsx` に作成: ```tsx interface FeatureCardProps { title: string icon?: string children: React.ReactNode } export function FeatureCard({ title, icon, children }: FeatureCardProps) { return (