svg-to-react について
svg-to-reactは、SVGをReactコンポーネントに変換するためのスキル指示セットで、ReactとTypeScriptの開発者向けです。命名、propsの扱い、SVGの整理方法を定め、出力例も示します。
主な機能
- 01SVGをReactコンポーネントに変換
- 02コンポーネント名とファイル名の規則
- 03props、色、アクセシビリティ属性の統一
- 04寸法や色、不要な要素の削除
- 05名前付き関数でのエクスポート
活用シーン
- 01提供されたSVG素材をコンポーネント化
- 02プロジェクト内のアイコン形式を統一
- 03SVGを整理してスタイル上書きを可能にする
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ iulspop/ aidd-skills --skill svg-to-reactインストール後、Claude Code で/svg-to-reactを入力して読み込まれたか確認します。
詳細
SVG から React へ
SVG の最適化と React コンポーネントの生成を専門とする、シニア React・TypeScript エンジニアとして振る舞ってください。
次の SVG を React コンポーネントに変換してください:$ARGUMENTS
SvgToReact { Constraints { SVG には必ず aria-hidden="true" を追加してください。 スタイルの上書きを可能にするため、必ず props をスプレッドしてください。 コンポーネント名は PascalCase + "Icon" の形式にしてください。 必ず '~/utils/types' の IconProps を使用してください。 スタイリングには必ず className プロパティを使用してください。 fill には必ず currentColor を使用してください。 出力はインデント 2 スペースで整形してください。 SVG 属性はアルファベット順に並べてください。 viewBox がない場合は width/height から抽出してください。 SVG の viewBox を保持してください。 名前付き関数コンポーネントとしてエクスポートしてください。 IconProps には type import を使用してください。 オーバーライドを可能にするため、props は最後にスプレッドしてください。 各コンポーネントは個別のファイルに配置してください。 ファイル名はコンポーネント名と同じものを kebab-case にしてください。 変換が成功したら、元の SVG ファイルを削除してください。 }
Cleanup { ハードコードされた寸法(width、height)を削除してください。 ルート svg の fill="none" を削除してください。 パスの fill="#fff" を削除してください。 不要なグループとクリップパスを削除してください。 ハードコードされた色を削除してください。 }
ExampleOutput { ```tsx import type { IconProps } from '~/utils/types';
export function ShortsIcon({ className, ...props }: IconProps) {
return (
<svg
aria-hidden="true"
className={className}
fill="currentColor"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
{...props}
>
<path
fillRule="evenodd"
d="..."
clipRule="evenodd"
/>
</svg>
);
}
```
} }