Community画像github.com

kubai087/kubai-icons

統一感のある機能アイコンセットを生成します。ホバー時に変形する動的なバージョン(SVG + JS)と、静的なSVGファイルの両方を出力可能。ルムノのブックマークフォルダアイコン構造を継承し、後片・内容・前片の階層、外枠の線、単一の主色から導出されるカラーパレット、2つのキーフレームによるホバーアニメーション、パレット切り替えに対応します。

kubai-icons とは?

Kubai Icons は、統一されたデザインルールに基づいて機能アイコンセットを生成するためのAIエージェントスキルです。ユーザーが「アイコン」「機能アイコン」「動的アイコン」「静的SVG」「アイコンセット」「ホバーエフェクト付きアイコン」などをリクエストした際に呼び出されます。このスキルは、エンジン、サンプルアイコン、プレビューページ、自己チェックスクリプト、静的エクスポートスクリプトを含む完全な実装を提供します。エンジンは色の導出、外枠の線マスク、グラデーション付きの厚み、ドロップシャドウと内側発光フィルター、補間アニメーション、カラーパレットを一元管理しており、ユーザーはエンジンを変更せずに新しいアイコンを追加するルールに集中できます。対応プラットフォームはClaude Code、Cursor、CodexなどのAIエージェントツールで、Node 18以上とChromeを必要とします。新しいアイコンを作成する際は、まずPROMPT.mdの設計ルールを読み、次に製品コードを分析して機能をリストアップし、サンプルアイコンを参考に実装します。動的版の場合はSVG+JSでホバーアニメーションを実現し、静的版の場合は独立したSVGファイルをエクスポートします。最後に自己チェックスクリプトを実行し、すべてのルールに適合していることを確認します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kubai087/kubai-icons/tree/HEAD

Installed? Explore more 画像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Kubai Icons

このスキルには完全な実装が含まれています:エンジン、一連のサンプルアイコン、プレビューページ、自己チェックスクリプト、静的エクスポートスクリプト。あなたの仕事は、ルールに従って新しいアイコンを書くことであり、エンジンを書き直すことではありません。

パッケージの内容

  • PROMPT.md:すべてのデザインルール。一つ一つが厳格な要件です。作業を始める前に完全に読んでください。
  • src/engine.js:エンジン。色の導出、外枠の線マスク、グラデーション付きの厚み、ドロップシャドウと内側発光フィルター、補間アニメーション、カラーパレットがここにあります。直接再利用し、変更しないでください。
  • src/icons.js:サンプルアイコン。新しいアイコンは同じ形式で追加します。
  • src/app.js、index.html:プレビューページ。ORDER がどのアイコンを表示し、どの順序で並べるかを決定します。
  • scripts/check.mjs:自己チェックスクリプト。ヘッドレスChromeで静止状態、ホバー状態、ホバー中のフレーム、24px、28px、およびすべてのパレットのスクリーンショットをキャプチャし、各ページのスクリプトエラーを読み取ります。一時ファイルは出力ディレクトリに置かれ、実行後に自動的にクリーンアップされます。
  • scripts/export.mjs:静的エクスポート。アイコンをスクリプトやスタイルシートに依存しない独立したSVGファイルにレンダリングします。パレット、主色、静止またはホバー状態を指定できます。

ワークフロー

  1. PROMPT.md を読む。

  2. 成果物の形式を決定する。ユーザーが明確に指定していない場合は、まず質問する:

    • 動的版(デフォルト):SVG + JS。ホバー時に変形し、src/engine.js によってページ内で動作します。ウェブページやJSを実行できるインターフェースに適しています。
    • 静的版:独立した .svg ファイル。アニメーションはなく、デザインツール、ネイティブアプリ、ドキュメント、<img> など、どこでも使用できます。ユーザーが「書き出し」「SVGファイル」「Figmaに入れる」「アプリで使う」などと言った場合、静的版を指します。
    • 両方必要な場合:動的版で作成し、最後に静的版をエクスポートします。
  3. 作業場所を決定する:

    • 新しいセットを作成する場合:このスキルの index.html、src/、scripts/ をターゲットの場所(新しいディレクトリまたは新しいリポジトリ)にコピーし、そのコピー内で作業します。各ファイル冒頭の著作権表示は保持します。PROMPT.md と SKILL.md はスキル内にのみ残し、コピー先にはコピーしません(LICENSE 第3条参照)。
    • 既存のセットに追加する場合:そのまま src/icons.js に追加します。
    • kubai-iconsリポジトリのオープンソースアイコンライブラリに追加する場合:各アイコンは icons/ 下に個別のファイルとして配置し、形式、名前、バッジについては docs/authoring.md を参照し、自己チェックは node tools/check.mjs --only 名前 --with folder,mail,download を使用します。ルールは PROMPT.md に従います。
    • 静的版のみ必要な場合:同様に作業ディレクトリにコピーして描画し、最後にエクスポートしたSVGのみをユーザーに渡します。
  4. プロダクトコードを読み、機能をリストアップする。動的版では各機能に「物体 + ホバーアクション」の1行を記述します。静的版では物体のみを特定すれば十分です(PROMPT.md 第1節)。

  5. 各アイコンを書く前に、src/icons.js で構造が最も近いサンプルを1~2つ読み(例:開くものは封筒とカレンダー、前面を切り出すものはダウンロードとアップロード、回転するものは歯車と星マーク)、その書き方に従います。

  6. 名前を src/app.js の ORDER に追加します。不要なサンプルは ORDER に入れなければ表示されません。

  7. 自己チェックを実行し、新しいアイコンと既存のアイコンを一緒に確認する:

    node scripts/check.mjs --only 新アイコンA,新アイコンB --with フォルダ,メール,ダウンロード
    

    スクリーンショットは check-out/ に保存されます。PROMPT.md 第10節のチェックリストと一つずつ照合します。スクリプトがエラーを報告した場合は、最初にエラーを修正します。往復動作は frames.png で確認します。細かい隙間を確認する場合は --scale 3 を追加します。薄い主色のマークを確認する場合は --accent #F59E0B を追加し、すべてのアイコンを同じ主色に変更します。--only を付けないと、セット全体がチェックされます。静的版では rest.png、size-24.png、size-28.png、palettes.png を確認すれば十分です。

  8. すべてのチェックに合格するまで修正した後、READMEに記載されているアイコン数と、プレビューページの各ブレークポイントの列数を更新します(列数はアイコン総数を割り切れる必要があり、ブレークポイントは追加・削除可能です)。

  9. 静的版が必要な場合、ユーザーが指定したディレクトリにエクスポートし、使用したパレットをユーザーに伝えます:

    node scripts/export.mjs --only 新アイコンA,新アイコンB --palette カラー --out ターゲットディレクトリ
    

    --palette はパレット名(カラー、ブルーグレー、セラドン、ミント、ラベンダー、アプリコット、ブラック)で選択、--accent #hex ですべてのアイコンを1つの主色に変更、--state hover でホバー終了時の状態をエクスポート、--size でピクセルサイズを設定、--pad でドロップシャドウ用の余白を指定します。各アイコンは 名前.svg として出力されます。

環境

  • Node 18以上、およびChrome。ブラウザのパスは環境変数 CHROME で上書きできます。
  • すべてのチェックはヘッドレスモードで実行され、表示可能なウィンドウは開かず、使用中のブラウザにも影響を与えません。

Copyright (c) 2026 Kubai087. Licensed under the Kubai Icons License; see LICENSE.

関連スキル