mcpField
L
lovstudio-find-logo

lovstudio-find-logo

github.com/lovstudioデザイン・UI7376 回インストール今日更新
リポジトリ

lovstudio-find-logo について

デザイン用途のロゴ収集スキルです。ブランド名または URL をもとに Clearbit やサイトのメタデータ、ファビコンを調べ、候補を評価して主ロゴと代替候補を保存します。コマンドラインスクリプトを備え、ソースや画像情報もメタデータに記録します。

主な機能

  1. 01名前または URL からロゴを検索
  2. 02形式と寸法による候補評価
  3. 03主ロゴと代替候補の保存
  4. 04コマンド連携向け JSON 出力
  5. 05ソースと画像情報のメタデータ記録

活用シーン

  1. 01スライドやポスター用ロゴの収集
  2. 02パートナーやメディアのロゴ列作成
  3. 03ブランド URL からのロゴ取得

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/lovstudio/skills --skill lovstudio-find-logo

インストール後、Claude Code で/lovstudio-find-logoを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.gitignore
CHANGELOG.md
README.md
scripts/
find_logo.py

詳細

find-logo — ブランドロゴを収集し、横長で透明なものを優先

ブランド名または URL を受け取り、Clearbit とサイト独自の og:image / <link rel=icon> / favicon を調べ、候補ごとにスコアを付け、最良のものと いくつかの代替候補を設定済みのコレクションディレクトリに保存します。

使用する場面

  • ユーザーがスライド/ポスター/サイトのロゴ一覧用に、1 つ以上のブランドロゴの収集を依頼した場合
  • ユーザーが企業名を挙げ、パートナー/プレス掲載欄に配置したい場合
  • ユーザーが URL を示し、そのロゴをきれいに取得したい場合

ワークフロー(必須)

ステップ 1:各ブランドを特定する

名前と URL の任意の組み合わせを受け付けます。明らかなドメインが分からない名前だけをユーザーが示した場合は、確認してください。.com と勝手に推測してはいけません(スクリプトは推測しますが、米国以外のブランドや曖昧なブランドでは失敗します)。

次の場合は AskUserQuestion を使用してください。

  • ブランド名が曖昧な場合(例:「Apple」=果物か Inc. か)
  • URL がなく、ドメインを推測できない場合(xAI → x.ai であり、xai.com ではありません)
  • ユーザーが URL なしでリストを示した場合
ステップ 2:取得 — 1 回の実行につき 1 ブランド
python3 scripts/find_logo.py --name "Anthropic" --url https://anthropic.com --json

複数のブランドを処理する場合はループします。スクリプトは <slug>/ ごとに冪等であり、再実行すると上書きされます。

ステップ 3:スコアを確認し、必要に応じて WebSearch に切り替える
  • 終了コード 0 → ロゴが保存されています。出力された score が品質の目安です。
    • ≥ 60 — 良好:SVG または透明な PNG で、横長または正方形
    • 20–60 — 使用可能:おそらく favicon または小さな PNG
    • < 20 — 低品質:ICO または非常に小さな画像しか見つかっていません
  • 終了コード 2 / status: "no-candidates" → スクリプトは何も見つけられませんでした。 あきらめてはいけません。"<brand> logo svg site:*.com" または ブランドのプレスキットページを WebSearch で検索し、その後 --url <direct-image-url> を指定して再実行する方法は サポートされていません。画像の直接 URL がある場合は、設定済みの コレクションディレクトリの <slug>/logo.<ext> に保存し、既存のレイアウトを テンプレートとして meta.json を手動で作成してください。
ステップ 4:報告する

アーカイブのパスと、メインロゴのアスペクト比および形式を報告します。スコアが低い場合はユーザーに伝え、特定のプレスキット URL または Wikipedia の SVG を使って再試行することを提案してください。

CLI リファレンス

引数デフォルト説明
--name—ブランド/製品名です。スラッグとメタデータに使用します。
--url—公式 URL またはドメイン名です。名前に基づくドメインの推測より優先されます。
--slugslugified nameアーカイブルート内のディレクトリスラッグを上書きします。
--outLOVSTUDIO_FIND_LOGO_OUTPUT_DIR or ~/.lovstudio/logo-collectionアーカイブルートです。
--keep-alts2次点候補を alt-N.<ext> として保持する数です。
--jsonoffJSON の結果を標準出力に出力します(連結処理で使用します)。

--name または --url の少なくとも一方が必要です。

アーカイブのレイアウト

~/.lovstudio/logo-collection/
├── anthropic/
│   ├── logo.png            # primary (highest score)
│   ├── alt-1.png           # runner-ups
│   ├── alt-2.png
│   └── meta.json           # sources, scores, dimensions, fetched_at
├── vercel/
│   ├── logo.png            # 1200x628 transparent banner
│   └── ...
└── stripe/
    ├── logo.svg
    └── ...

スコアリングのヒューリスティック(候補が選ばれる理由)

  • 形式:SVG(+40) > PNG(+20) > WebP(+10) > JPG(-10) > ICO(-20)
  • 透明度:アルファチャンネルがある場合は +30(SVG は常に該当)
  • アスペクト比:横長(≥2:1)は +25、ランドスケープ(≥1.3:1)は +10、正方形は -5、縦長/ポートレートは -15
  • 短辺:≥128px なら +15、≥64px なら +5、<32px なら -20
  • サイズの妥当性:ペイロードが 400 バイト未満なら -30(ほぼ間違いなく仮画像です)

これは「横長 + rgba を優先」という設定に合致します。横長で透明なロゴが上位になり、正方形の favicon は代替候補になります。

依存関係

標準ライブラリのみです(urllib、html.parser、argparse)。pip install は不要です。

ユーザー設定

デフォルトのアーカイブファイルは ~/.lovstudio/logo-collection/ に保存されます。実行ごとに --out で上書きするか、スキル用に LOVSTUDIO_FIND_LOGO_OUTPUT_DIR を設定してください。

既知の制限事項

  • 名前からドメインへの推測は、名前を小文字化して記号を除き、.com を付ける単純な処理です。.com 以外のドメインを使用する場合は、--url を明示的に指定してください。
  • Clearbit API キーは使用しません。認証不要のエンドポイントを利用するため、多くの主要ブランドをカバーしますが、すべてではありません。
  • WebSearch によるフォールバックは Claude の役割であり、スクリプトの機能ではありません。

コメント