关于 extract-project-logo
extract-project-logo 是一项从项目官网及相关来源查找并保存官方 Logo 的技能,面向需要整理品牌素材的用户。它优先寻找高质量矢量文件和官方品牌资源,并要求保存结果与来源报告。
主要功能
- 01搜索官方品牌资源与媒体包
- 02从代码仓库或网站提取 Logo
- 03优先选择 SVG 等矢量格式
- 04下载并验证文件
- 05生成来源与文件信息报告
适用场景
- 01为项目收集官方 Logo 文件
- 02从动态网站提取 Logo
- 03整理多个主题或图标版本
- 04记录 Logo 来源和保存位置
MCP 相关
说明中提到可使用 MCP Playwright 处理动态网站,以加载页面并从渲染后的 DOM 提取 Logo。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ tradingstrategy-ai/ web3-ethereum-defi --skill extract-project-logo安装后在 Claude Code 中输入/extract-project-logo确认已加载。
详细介绍
提取项目 Logo
此技能可从项目网站或相关来源提取项目官方 Logo,并优先选择高质量矢量格式和官方品牌素材。
必要输入
开始前,请向用户收集以下信息:
- 网站 URL - 项目的主网站(例如:
https://example.com) - 保存路径 - 保存 Logo 的本地文件系统路径(例如:
./logos/example-logo.svg) - 格式偏好(可选)- 首选格式:SVG(推荐)、PNG 或任意格式
如果缺少任何必要输入,请先询问用户。
将所有项目 Logo 保存到目标文件夹中。之后我们会挑选不同版本并进行后期处理。
深色和浅色版本的 Logo 文件命名并没有统一标准。本项目始终采用以下约定:
light:浅色(白色)文字,背景为深色或透明dark:深色(黑色)文字,背景为白色或透明
使用以下术语:
- 品牌图形:也称 Logo 图形,即不含品牌名称文字的 Logo
- 文字标志:包含品牌名称文字的 Logo
步骤 1:查找品牌套件或媒体资源
高质量 Logo 通常可以在官方品牌套件或媒体套件中找到。请搜索以下页面:
-
前往网站,查找页脚或页眉中的链接:
- “Brand”“Brand Kit”“Brand Assets”“Brand Guidelines”
- “Media”“Media Kit”“Press”“Press Kit”
- “Resources”“Downloads”“Assets”
-
尝试常见 URL 格式:
{base_url}/brand{base_url}/brand-kit{base_url}/media{base_url}/press{base_url}/assets{base_url}/resources
-
如果找到品牌套件:
- 查找可下载的 Logo 压缩包(通常为 ZIP 文件)
- 优先选择 SVG 或其他矢量格式,而非栅格图像
- 如果有多个版本,选择最接近正方形的 Logo
- 如果同时提供浅色和深色主题版本,请同时获取
- 如果有彩色版本,也请获取
如果品牌套件中有合适的 Logo,请继续执行步骤 5。
步骤 2:检查 GitHub 仓库
许多项目会在其 GitHub 仓库中存放 Logo:
-
找到项目的 GitHub 仓库(通常可通过网站页脚或页眉中的链接访问)
-
搜索以下常见位置:
/assets/或/images/目录/branding/或/brand/目录/public/目录(适用于 Web 应用)/docs/或/documentation/目录- 根目录(README 徽章、Logo 文件)
-
检查 README.md 中是否嵌入了 Logo:
- 查找
<img>标签或 Markdown 图片语法 - 这些内容通常指向高质量的 Logo 文件
- 查找
-
搜索以下名称的文件:
logo.svg、logo.png、logo-*.svg{project-name}.svg、{project-name}-logo.*brand.*、icon.*
如果找到合适的 Logo,请继续执行步骤 4。
步骤 3:直接从网站提取
如果没有可用的品牌套件或 GitHub 素材,请从网站提取 Logo:
选项 A:使用 MCP Playwright(推荐用于动态网站)
使用 MCP Playwright 工具执行以下操作:
-
访问首页
-
查找页眉中的 Logo 元素(通常位于左上角):
- 搜索 class/id 中包含“logo”的
<img>标签 - 检查页眉中的
<svg>元素 - 查找带有
role="img"且 aria 标签与 Logo 相关的元素
- 搜索 class/id 中包含“logo”的
-
提取图像源 URL 或 SVG 内容
选项 B:检查元标签和网站图标
-
Open Graph 图像 - 检查
<meta property="og:image">标签- 通常是适合社交分享的高质量图像
- 可能包含品牌元素
-
网站图标 - 检查高分辨率网站图标:
<link rel="icon" type="image/svg+xml">(最佳选择——矢量图)<link rel="apple-touch-icon">(通常为 180x180 PNG)/favicon.ico(低分辨率,最后选择)
-
Twitter 卡片图像 - 检查
<meta name="twitter:image">
步骤 4:从 Twitter 提取
从项目的 Twitter(也称为 X.com)头像图像中获取项目 Logo。
步骤 5:从 Coingecko 提取
从他们的 Coingecko 页面获取项目 Logo。
步骤 6:下载并保存
-
对于 SVG 文件:
- 下载原始 SVG 内容
- 确保文件是有效的 XML
- 使用
.svg扩展名保存
-
对于栅格图像(PNG 等):
- 下载可用的最高分辨率版本
- 下载后验证文件完整性
- 使用适当的扩展名保存
-
验证已保存的文件:
- 打开文件,确认显示正常
- 检查文件大小是否合理(不是 0 字节或已损坏)
下载方法
使用 curl:
curl -o "{save_path}" "{logo_url}"
使用 Python:
import requests
response = requests.get("{logo_url}")
with open("{save_path}", "wb") as f:
f.write(response.content)
直接从 SVG 内容提取:
with open("{save_path}", "w") as f:
f.write(svg_content)
步骤 7:向用户报告结果
向用户提供以下信息:
- 来源位置 - 找到 Logo 的位置(品牌套件 URL、GitHub 路径等)
- 文件详情 - 格式、尺寸(栅格图像)、文件大小
- 保存路径 - 确认文件的保存位置
- 其他版本 - 说明是否提供其他版本(深色模式、仅图标等)
步骤 8:将报告保存为 Markdown 文件,与 Logo 放在同一目录
- 在保存 Logo 的文件夹中创建 Markdown 文件
- 包含与提供给用户的报告相同的信息
- 添加所用网页、品牌页面和品牌套件的链接
故障排除
未找到 Logo
如果找不到合适的 Logo:
- 检查项目是否使用了其他主域名
- 在社交媒体(Twitter/X、LinkedIn)上查找该项目——个人资料图片通常就是 Logo
- 在图像搜索引擎中搜索“[项目名称] logo”
- 对于加密项目,查看 DeFiLlama、CoinGecko 或类似聚合平台
- 询问用户是否有其他来源或联系人
动态或通过 JavaScript 渲染的 Logo
如果 Logo 是通过 JavaScript 渲染的:
- 使用 MCP Playwright 完整加载页面
- 等待动态内容渲染
- 从渲染后的 DOM 中提取
Logo 需要身份验证
如果品牌素材需要登录才能访问:
- 告知用户
- 提供品牌套件页面的 URL
- 请用户手动下载,或在适当情况下提供凭据