extract-project-logo
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.zipInstalls 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:
- Website URL - The project's main website (e.g.,
https://example.com) - Save path - Local filesystem path where the logo should be saved (e.g.,
./logos/example-logo.svg) - 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 backgrounddark: 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:
-
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"
-
Try common URL patterns:
{base_url}/brand{base_url}/brand-kit{base_url}/media{base_url}/press{base_url}/assets{base_url}/resources
-
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:
-
Find the project's GitHub repository (often linked in website footer/header)
-
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)
-
Check the README.md for embedded logos:
- Look for
<img>tags or markdown image syntax - These often point to high-quality logo files
- Look for
-
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:
-
Navigate to the homepage
-
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
- Search for
-
Extract the image source URL or SVG content
Option B: Check meta tags and favicon
-
Open Graph image - Check for
<meta property="og:image">tag- Often a high-quality image suitable for social sharing
- May include branding elements
-
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)
-
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
-
For SVG files:
- Download the raw SVG content
- Ensure the file is valid XML
- Save with
.svgextension
-
For raster images (PNG, etc.):
- Download the highest resolution available
- Verify file integrity after download
- Save with appropriate extension
-
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:
- Source location - Where the logo was found (brand kit URL, GitHub path, etc.)
- File details - Format, dimensions (for raster), file size
- Saved path - Confirm where the file was saved
- 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:
- Check if the project uses a different primary domain
- Look for the project on social media (Twitter/X, LinkedIn) - profile images are often logos
- Search "[project name] logo" on image search engines
- Check DeFiLlama, CoinGecko, or similar aggregators for crypto projects
- Ask the user if they have alternative sources or contacts
Dynamic/JavaScript-rendered logos
If the logo is rendered via JavaScript:
- Use MCP Playwright to load the page fully
- Wait for dynamic content to render
- Extract from the rendered DOM
Logo requires authentication
If brand assets are behind a login:
- Inform the user
- Provide the URL to the brand kit page
- Ask the user to download manually or provide credentials (if appropriate)
More by tradingstrategy-ai
View all skills by tradingstrategy-ai →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.
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.
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."
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.
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.
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.
Related MCP Servers
Browse all serversUnlock AI-ready web data with Firecrawl: scrape any website, handle dynamic content, and automate web scraping for resea
Browser Use lets LLMs and agents access and scrape any website in real time, making web scraping and web page scraping e
Integrate FireCrawl for advanced web scraping to extract clean, structured data from complex websites—fast, scalable, an
Access real-time web scraping with Bright Data. Scrape any website and extract structured data easily using advanced web
Completely free, private, UI-based tech documentation MCP server. Extract and search documentation from any website for
Web Fetcher uses Playwright for reliable data web scraping and extraction from JavaScript-heavy websites, returning clea
Stay ahead of the MCP ecosystem
Get weekly updates on new skills and servers.