extract-project-logo

3
0
Source

Extract a project's logo from its website, brand kit, or other sources

Install

mkdir -p .claude/skills/extract-project-logo && curl -L -o skill.zip "https://mcp.directory/api/skills/download/3115" && unzip -o skill.zip -d .claude/skills/extract-project-logo && rm skill.zip

Installs to .claude/skills/extract-project-logo

About this skill

Extract project logo

This skill extracts a project's official logo from its website or related sources, prioritising high-quality vector formats and official brand assets.

Required inputs

Before starting, gather the following from the user:

  1. Website URL - The project's main website (e.g., https://example.com)
  2. Save path - Local filesystem path where the logo should be saved (e.g., ./logos/example-logo.svg)
  3. Format preference (optional) - Preferred format: SVG (recommended), PNG, or any

If any required input is missing, ask the user before proceeding.

Save all project logos in the target folder. We will pick variants and post-process those later.

There is no universal standard how artist name their logo files for dark and light variants. In our case, we always say

  • light: light (white) text on dark or transparent background
  • dark: dark (black) text on white or transparent background

Following vocabulary is used:

  • Brand mark: same as logo mark, the logo without the brand name text
  • Word mark: the logo with the brand name text

Step 1: Search for brand kit or media resources

The highest quality logos are typically found in official brand/media kits. Search for these pages:

  1. Navigate to the website and look for links in the footer or header:

    • "Brand", "Brand Kit", "Brand Assets", "Brand Guidelines"
    • "Media", "Media Kit", "Press", "Press Kit"
    • "Resources", "Downloads", "Assets"
  2. Try common URL patterns:

    • {base_url}/brand
    • {base_url}/brand-kit
    • {base_url}/media
    • {base_url}/press
    • {base_url}/assets
    • {base_url}/resources
  3. If a brand kit is found:

    • Look for downloadable logo packages (often ZIP files)
    • Prefer SVG or vector formats over raster images
    • Choose the most square logo variant if multiple options exist
    • If both light and dark themes are present, get both
    • If colourful option exist, get it as well

If a brand kit is found with suitable logos, proceed to Step 5.

Step 2: Check GitHub repository

Many projects host their logos in their GitHub repositories:

  1. Find the project's GitHub repository (often linked in website footer/header)

  2. Search these common locations:

    • /assets/ or /images/ directories
    • /branding/ or /brand/ directories
    • /public/ directory (for web apps)
    • /docs/ or /documentation/ directories
    • Root directory (README badges, logo files)
  3. Check the README.md for embedded logos:

    • Look for <img> tags or markdown image syntax
    • These often point to high-quality logo files
  4. Search for files named:

    • logo.svg, logo.png, logo-*.svg
    • {project-name}.svg, {project-name}-logo.*
    • brand.*, icon.*

If a suitable logo is found, proceed to Step 4.

Step 3: Extract from website directly

If no brand kit or GitHub assets are available, extract the logo from the website:

Option A: Using MCP Playwright (recommended for dynamic sites)

Use the MCP Playwright tool to:

  1. Navigate to the homepage

  2. Look for logo elements in the header (typically top-left):

    • Search for <img> tags with class/id containing "logo"
    • Check for <svg> elements in the header
    • Look for elements with role="img" and logo-related aria labels
  3. Extract the image source URL or SVG content

Option B: Check meta tags and favicon

  1. Open Graph image - Check for <meta property="og:image"> tag

    • Often a high-quality image suitable for social sharing
    • May include branding elements
  2. Favicon - Check for high-resolution favicon:

    • <link rel="icon" type="image/svg+xml"> (best - vector)
    • <link rel="apple-touch-icon"> (usually 180x180 PNG)
    • /favicon.ico (low resolution, last resort)
  3. Twitter Card image - Check <meta name="twitter:image">

Step 4: Extract from Twitter

Get the project logo from their Twitter (also known as X.com) avatar image.

Step 5: Extract from Coingecko

Get the project logo from their Coingecko.

Step 6: Download and save

  1. For SVG files:

    • Download the raw SVG content
    • Ensure the file is valid XML
    • Save with .svg extension
  2. For raster images (PNG, etc.):

    • Download the highest resolution available
    • Verify file integrity after download
    • Save with appropriate extension
  3. Verify the saved file:

    • Open the file to confirm it displays correctly
    • Check file size is reasonable (not 0 bytes or corrupted)

Download methods

Using curl:

curl -o "{save_path}" "{logo_url}"

Using Python:

import requests

response = requests.get("{logo_url}")
with open("{save_path}", "wb") as f:
    f.write(response.content)

For SVG content extracted directly:

with open("{save_path}", "w") as f:
    f.write(svg_content)

Step 7: Report results to user

Provide the user with:

  1. Source location - Where the logo was found (brand kit URL, GitHub path, etc.)
  2. File details - Format, dimensions (for raster), file size
  3. Saved path - Confirm where the file was saved
  4. Alternative versions - Note if other variants are available (dark mode, icon-only, etc.)

Step 8: Save the report as Markdown file next to the logos

  • Create a Markdown file in the folder where logos where saved
  • Include the same information as for the user report
  • Include links to the web pages, brand pages and brand kits used

Troubleshooting

No logo found

If no suitable logo can be found:

  1. Check if the project uses a different primary domain
  2. Look for the project on social media (Twitter/X, LinkedIn) - profile images are often logos
  3. Search "[project name] logo" on image search engines
  4. Check DeFiLlama, CoinGecko, or similar aggregators for crypto projects
  5. Ask the user if they have alternative sources or contacts

Dynamic/JavaScript-rendered logos

If the logo is rendered via JavaScript:

  1. Use MCP Playwright to load the page fully
  2. Wait for dynamic content to render
  3. Extract from the rendered DOM

Logo requires authentication

If brand assets are behind a login:

  1. Inform the user
  2. Provide the URL to the brand kit page
  3. Ask the user to download manually or provide credentials (if appropriate)

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

643969

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

591705

ui-ux-pro-max

nextlevelbuilder

"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."

318398

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

340397

nano-banana-pro

garg-aayush

Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.

451339

fastapi-templates

wshobson

Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.

304231

Stay ahead of the MCP ecosystem

Get weekly updates on new skills and servers.