design-lookup について
ウェブ上の CSS コンポーネント、SVG 素材、アニメーション、デザイン参考を探すスキルです。検索先に応じてコードを取得・整理し、出典を添えて提示します。
主な機能
- 01CSS と SVG 素材を検索
- 02保護されたページから情報を取得
- 03CodePen のコードを抽出
- 04取得したコードを整理・調整
- 05出典を明記
活用シーン
- 01CSS のボタンやローダーを探す
- 02SVG アイコンを取得
- 03アニメーション効果を探す
- 04ビジュアルデザインの参考を集める
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ genericservice/ claude-skills --skill design-lookupインストール後、Claude Code で/design-lookupを入力して読み込まれたか確認します。
同梱ファイルreferences/sources.mdscripts/fetch-page.py
詳細
デザインの検索
Web を検索して、CSS コンポーネント、SVG アイコン、アニメーション、デザインリソースを探します。帰属表示付きで、すぐに使えるコードを提示します。
ツール
scripts/fetch-page.py — Playwright ブラウザーフェッチャー
Cloudflare の保護を回避し、SPA をレンダリングします。WebFetch をブロックするサイト(CodePen、UIVerse など)で使用してください。
# Extract HTML/CSS/JS code from a CodePen pen (returns clean JSON)
python3 scripts/fetch-page.py "https://codepen.io/user/pen/ID" --codepen-code
# Fetch any protected page as text
python3 scripts/fetch-page.py "https://uiverse.io/user/component-slug"
# Extract specific elements with CSS selector
python3 scripts/fetch-page.py "https://example.com" --selector ".code-block"
# Increase timeout for slow pages
python3 scripts/fetch-page.py "https://example.com" --wait 20
使用する場合: WebSearch で Cloudflare に保護されたサイト(CodePen、UIVerse など)に有望な URL が見つかった後、このスクリプトを使用して実際のコードを取得します。
使用しない場合: WebFetch が問題なく動作するサイト(CSS-Tricks、GitHub raw、dev.to、MDN)では使用しないでください。WebFetch のほうが高速です。
ワークフロー
-
リクエストを分類する — ユーザーが必要としているものを判断します。
- CSS コンポーネント(ボタン、カード、ローダー、トグルなど)
- SVG アイコン(UI アイコン、ブランドロゴなど)
- CSS アニメーション/エフェクト(ホバーエフェクト、トランジション、キーフレームアニメーション)
- SVG グラフィック(イラスト、波形、ブロブ、背景)
- デザインの参考資料(コードではなく、ビジュアルの参考)
-
ソースを選ぶ — 最適なソースと検索パターンについては、references/sources.md を参照してください。「リクエストの種類別検索戦略」テーブルを使用します。
-
幅広く検索する — 次の要素を組み合わせて、WebSearch で 2~3 件のクエリを並行して実行します。
- 対象ソースに絞った検索には
site:{source} {query}を使用します - フォールバックとして、一般的な
{query} CSS/SVG検索を行います - 用語を変えて検索します(例:「loader」「spinner」「loading animation」)
- 対象ソースに絞った検索には
-
コードを取得する — ソースごとに適切な抽出方法を使用します。
CodePen のペン —
fetch-page.py --codepen-codeを使用し、HTML/CSS/JS をクリーンな JSON として抽出します。UIVerse のコンポーネント —
fetch-page.pyを使用してページのテキストを取得します(インラインの行番号付きでコードを含みます)。SVG アイコン — WebFetch を使って、GitHub から SVG の生データを直接取得します。
- Lucide:
https://raw.githubusercontent.com/lucide-icons/lucide/main/icons/{name}.svg - Heroicons:
https://raw.githubusercontent.com/tailwindlabs/heroicons/master/optimized/24/outline/{name}.svg(solid/、20/solid/もあります) - Tabler:
https://raw.githubusercontent.com/tabler/tabler-icons/main/icons/outline/{name}.svg(filled/もあります) - Feather:
https://raw.githubusercontent.com/feathericons/feather/main/icons/{name}.svg - Simple Icons:
https://raw.githubusercontent.com/simple-icons/simple-icons/develop/icons/{name}.svg
記事/チュートリアル — WebFetch で直接取得します(CSS-Tricks、MDN、dev.to、各種ブログで利用できます)。
- Lucide:
-
結果を提示する — 次の形式で出力します。
## {Description of component}
Source: {URL}
{code block with HTML/CSS/SVG}
{One-line note on how to customize, if relevant}
可能であれば、ユーザーやデザインエージェントが選べるよう、2~4 件の候補を提示してください。
エージェント型ワークフローとバイブコーディング
- 反復的なソース選定: 最初の検索で完璧なコンポーネントやアイコンが見つかるとは限りません。候補を取得して抽出したコードを確認し、フレームワーク固有の余分なコードや競合するスタイルを切り分け、CSS クラスやルールを一度に 1 つずつ削除または調整して、スニペットが簡潔で使いやすくなるまでプレビューします。
- バイブコーディング: 複雑なレイアウト構造やインタラクティブなコンポーネントへの統合に取りかかる前に、クリーンで動作する CSS または SVG のスニペットをローカルにコミットします。
ガイドライン
- 抽出したコードを整理する — 不要なベンダープレフィックス、フレームワーク固有のラッパー、無関係なスタイルを削除します。最小限で自己完結したスニペットを提示してください。
- ライセンスを明記する — ソースで帰属表示が必要な場合(例:Flaticon の無料プラン)は、その旨を記載します。
- SVG アイコンの場合 — アイコンフォントへのリンクより、インライン SVG コードを優先します。
viewBoxを含め、不要なメタデータは削除してください。 - ジェネレーターの場合(波形、ブロブ、グラデーション)— ユーザーがパラメーターを調整できるよう、ジェネレーターの URL を提示し、サンプル出力も提供します。