グラフィックデザイン · COURSE
アイコンシステム量産と命名
100 個のアイコンを“ブレない名前”で量産し、デザイン・実装で揃える。
audience
デザインシステム担当・フロントエンジニア
duration
50分
lessons
5 章
reviewed
2026.05
先に読むとよい
達成目安
全 5 レッスンを読み、コース完了マークを付ける
未完了
クイズ 3 問に挑戦し、正答率 80% 以上
未挑戦
コース構成
このコースで学ぶこと
- 01
名前がブレる → 全部ブレる
アイコン名は『アクション / オブジェクト / バリエーション』の 3 層が揃っていないと、実装で衝突する。Claude にルール化を委ねるのが効く。
- “user”“person”“profile” が混在
- サイズ違いがファイル名で表現されている
- 状態(hover, disabled)の命名がバラバラ
- 02
命名規約を docs/icon-naming.md に
ルールを 1 枚にまとめ、Claude が毎回参照できるようにする。新規アイコン追加時の議論コストがゼロに近づく。
markdown## Icon Naming - 形式: <object>-<action>-<variant>? - object: user / cart / chat / file / lock ... - action: add / remove / edit / open / close ... - variant: filled / outline / 16 / 24 ... - 例: user-add-outline / cart-remove-filled - 03
100 個の候補リスト生成
プロダクトの画面を渡し、必要そうなアイコン候補を 100 個出させる。重複・命名違反は Claude 自身に削除させる。
text@docs/icon-naming.md を基準に、当プロダクトに必要なアイコン候補を 100 個。 出力は表(名前 / 意味 / 既存有無 / 命名規約適合)。重複・命名違反は事前に除外。出力イメージClaude の返答(アイコン候補表・要約)命名規約に沿ったアイコン候補を 100 個リストアップしました。 | 名前 | 意味 | 既存 | 規約適合 | |---|---|---|---| | user-add-outline | ユーザー追加 | なし | OK | | cart-remove-filled | カートから削除 | あり | OK | | file-edit-outline | ファイル編集 | なし | OK | …(以下 97 行 / 重複 6 件・命名違反 3 件は除外済み)
- 04
SVG → React コンポーネントの一括生成
SVG の素材ができたら、Claude に React コンポーネント(or Vue / Svelte)化までやらせる。size/color の prop を必ず付与。
tsxexport const UserAddOutline = ({ size = 24, color = "currentColor" }: IconProps) => ( <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke={color}>...</svg> );手を動かす
0 / 3
- 05
Skill 化と運用
“新規アイコン 1 個追加”の手順を Skill に。命名チェック → SVG 配置 → コンポーネント生成 → Storybook 更新までを通しでやる。
Lv.4 — Skill / Plugin手を動かす
0 / 3
理解度チェック
Q1.アイコンシステムを破綻させない命名の本質は?
Q2.AI が生成した新規アイコンを採用する前にデザインリードが確認すべきは?
Q3.アイコン追加 Skill の入力として最も自然な組合せはどれか?