Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计提醒

visual-brand-extractor视觉品牌提取器

Agent Skill

用于辅助界面设计、视觉规范、排版、配色、布局和交互体验优化。它适合让 Agent 根据产品场景整理页面结构、生成 UI 方案、检查视觉一致性或改进组件层级。使用时需要结合现有品牌、设计系统和用户任务,不应只堆装饰元素;涉及真实页面改动时,应通过截图或浏览器预览检查文本溢出、对齐和响应式表现。

总安装

186

周安装

8

GitHub Stars

630

下载量

65
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:visual-brand-extractor(视觉品牌提取器)
来源仓库:https://github.com/gooseworks-ai/goose-skills
仓库路径:skills/visual-brand-extractor
安装命令:
npx skills add https://github.com/gooseworks-ai/goose-skills --skill visual-brand-extractor
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/gooseworks-ai/goose-skills --skill visual-brand-extractor

简介

visual-brand-extractor 从网页或图像中提取品牌视觉元素,适合建立统一的视觉识别系统。

  • 适用于研究检索与设计规范场景,可在 Goose Skills 生态中辅助竞品分析与品牌对标。
  • 通过 npx skills add 从 goose-skills 仓库安装,需确认是否接入第三方图像识别服务。
  • 使用前应评估数据隐私政策,避免提取敏感商业信息造成合规风险。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Visual Brand Extractor

Extract a client's visual identity from their website and generate reusable style presets for slides and content assets. This is an agent-executed skill — the AI reads pages via WebFetch and performs the analysis directly.

Quick Start

Extract visual branding from https://vapi.ai for the Vapi client.

Inputs

InputRequiredDescription
Website URLYesClient's homepage or landing page URL
Client nameYesFor naming the output files
Additional pagesNoProduct page, docs page, etc. for richer extraction

Output

Two files saved to clients/<client-name>/brand/visual-identity.md:

  1. Slide preset — CSS custom properties, typography, and signature elements matching the format in skills/create-html-slides/STYLE_PRESETS.md
  2. Brand config JSON — Simple color/font config matching skills/content-asset-creator format

Process

Phase 1: Fetch Target Pages

Fetch 2-3 pages to get a representative sample of the brand:

  1. Homepage (mandatory) — the primary brand expression
  2. Product/feature page (if available) — deeper color and layout usage
  3. Blog or about page (optional) — secondary design context

Use WebFetch on each URL with a prompt like:

"Extract the full content of this page. I need: all color values (hex, rgb, hsl), font family names, CSS class names (especially Tailwind utility classes), any CSS custom properties/variables, meta tags, and the general structure of the page layout. Preserve exact color codes and font names."

Phase 2: Extract Color Palette

Analyze the fetched content to identify the color palette. Look for these sources in priority order:

2.1 CSS Custom Properties

Look for :root, html, or body blocks containing color variables:

--color-primary, --primary, --brand, --accent
--bg-*, --background-*
--text-*, --foreground-*

2.2 Meta Tags

Check for:

  • <meta name="theme-color" content="#..."> — often the primary brand color
  • <meta name="msapplication-TileColor" content="#...">

2.3 Explicit CSS Color Declarations

Search for color values in these properties:

  • background-color, background (including gradients)
  • color (text colors)
  • border-color, border
  • box-shadow (accent/glow colors)
  • fill, stroke (SVG logo colors)

2.4 Tailwind Utility Classes

If the site uses Tailwind CSS, map utility classes to hex values using the reference table below.

2.5 Classify Colors into Roles

RoleHow to Identify
bg-primarybackground-color on body, html, or outermost container. The most common background.
bg-secondaryBackground on cards, sections, or secondary containers. Slightly different from primary.
text-primarycolor on body or the most common text color.
text-secondaryMuted text variant — used on subtitles, descriptions, .text-gray-* elements.
accentMost prominent non-bg, non-text color. Found on buttons, links, CTAs, highlights. Also check <meta name="theme-color">.
accent-secondarySecond accent color, or gradient partner. Found on secondary buttons, hover states.
card-bgBackground of cards, modals, or elevated surfaces (if different from bg-primary).

2.6 Determine Theme Type

Check the luminance of bg-primary:

  • Dark theme: Dark background (black, navy, charcoal) with light text
  • Light theme: White or cream background with dark text
  • Mixed: Note if the site uses both (e.g., dark hero + light content sections)

Phase 3: Extract Typography

3.1 Find Font Sources

Look for font loading in this order:

  1. Google Fonts <link> tags — Font name is in the URL: fonts.googleapis.com/css2?family=Inter:wght@400;700 → Font: Inter, weights: 400, 700
  2. Fontshare <link> tags — Similar URL pattern: api.fontshare.com/v2/css?f[]=clash-display@400,700 → Font: Clash Display
  3. @font-face declarations — Extract the font-family value
  4. font-family CSS properties — Direct declarations on elements

3.2 Classify into Display vs Body

RoleHow to Identify
Display fontFont on h1, h2, .title, .heading, .hero-title, or the largest/boldest text.
Body fontFont on body, p, or general content elements.

If both use the same font family, it's a single-family pairing (like "Manrope + Manrope"). Note the different weights used for display (700-900) vs body (400-500).

3.3 Handle Proprietary Fonts

If the site uses a font NOT available on Google Fonts or Fontshare, map it to the closest available equivalent using the Font Fallback Table below.


Phase 4: Analyze Visual Patterns

Examine the CSS and page structure for these aesthetic signals:

SignalWhat to Look ForAesthetic Implication
Border radiusborder-radius values — large (12px+, 9999px) vs small (2-4px) vs noneRounded = friendly/modern. Sharp = corporate/bold.
Gradientslinear-gradient, radial-gradient in backgroundsGradient-forward = modern SaaS aesthetic
Shadowsbox-shadow frequency and intensityHeavy shadows = depth/elevation. None = flat/minimal.
SpacingPadding/margin sizes — generous (4rem+) vs tight (1rem)Airy = premium/minimal. Dense = information-rich.
Animations@keyframes, transition, transform presenceMotion-forward = energetic. Minimal = calm/professional.
Grid patternsBackground grid/dot patterns, decorative overlaysTechnical/developer aesthetic
Gradient orbsradial-gradient on positioned pseudo-elementsModern, atmospheric aesthetic
Borders as accentsColored border-left or border-top on sectionsEditorial, organized aesthetic

Synthesize the Vibe

Based on the signals above, compose:

  1. Vibe: 2-4 adjectives (e.g., "Clean, technical, developer-focused, modern")
  2. Layout description: 1 sentence (e.g., "Full-width dark sections with centered content and generous whitespace")
  3. Signature elements: 3-4 reproducible CSS patterns from the site

Phase 5: Generate Output

Create the file clients/<client-name>/brand/visual-identity.md with both output formats.

Output Template

# Visual Brand Identity: [Company Name]

**Extracted from:** [URL(s)]
**Date:** [YYYY-MM-DD]

---

## Slide Preset

**Vibe:** [2-4 adjectives]

**Layout:** [1 sentence describing dominant layout pattern]

**Typography:**
- Display: `[Font Name]` ([weight, e.g., 700/800])
- Body: `[Font Name]` ([weight, e.g., 400/500])

**Colors:**

:root { --bg-primary: [hex]; --bg-secondary: [hex]; --text-primary: [hex]; --text-secondary: [hex]; --accent: [hex]; --accent-secondary: [hex]; }


**Signature Elements:**
- [Element 1, e.g., "Subtle gradient orbs as background decoration"]
- [Element 2, e.g., "Rounded cards with 12px border-radius and light shadow"]
- [Element 3, e.g., "Accent-colored left border on feature blocks"]
- [Element 4, e.g., "Grid dot pattern overlay on hero sections"]

**Font Loading:**

<link href="https://fonts.googleapis.com/css2?family=[Font1]:wght@[weights]&family=[Font2]:wght@[weights]&display=swap" rel="stylesheet">


---

## Brand Config (JSON)

For use with `content-asset-creator` and other skills:

{ "name": "[Company]", "primary_color": "[accent hex]", "secondary_color": "[accent-secondary hex]", "accent_color": "[accent hex]", "background": "[bg-primary hex]", "text_color": "[text-primary hex]", "font_heading": "[Display Font]", "font_body": "[Body Font]", "logo_url": "[if discovered, otherwise omit]" }


---

## Extraction Notes

[Any notes about the extraction — proprietary fonts that were mapped, multiple themes detected, sparse CSS from JS-rendered sites, etc.]

Font Fallback Table

When a site uses a proprietary font not available on Google Fonts or Fontshare, use this mapping to find the closest available alternative:

Font CategoryProprietary ExamplesGoogle Fonts AlternativeFontshare Alternative
Geometric sansCircular, Roobert, Graphik, Product SansPlus Jakarta Sans, Outfit, ManropeGeneral Sans, Satoshi
Humanist sansProxima Nova, Calibri, Gill SansSource Sans 3, DM Sans, Work Sans
Neo-grotesqueAkkurat, Aktiv Grotesk, Suisse Int'lSpace Grotesk, Archivo, Albert SansSwitzer
Modern serifTiempos, Canela, GT SectraFraunces, Cormorant, Playfair DisplayZodiak, Sentient
Slab serifSentinel, Clarendon, RockwellZilla Slab, Roboto Slab
Classic serifMercury, Chronicle, MinionSource Serif 4, Lora, Libre BaskervilleBespoke Serif
MonospaceSF Mono, Berkeley Mono, Dank MonoJetBrains Mono, Fira Code, Space MonoJet Brains Mono
Display / decorativeGT Walsheim, Recoleta, CamptonSyne, Archivo Black, Bricolage GrotesqueClash Display, Cabinet Grotesk

Decision heuristic: If unsure which category a font falls into, look at its characteristics:

  • Round dots and geometric 'o' → Geometric sans
  • Varies stroke widths, warm feel → Humanist sans
  • Uniform strokes, neutral → Neo-grotesque
  • Serifs with high contrast → Modern serif

Tailwind CSS Color Reference

If the site uses Tailwind utility classes, map them to hex values:

Grays

ClassHexClassHex
gray-50#F9FAFBgray-500#6B7280
gray-100#F3F4F6gray-600#4B5563
gray-200#E5E7EBgray-700#374151
gray-300#D1D5DBgray-800#1F2937
gray-400#9CA3AFgray-900#111827
gray-950#030712

Slate (common for dark themes)

ClassHexClassHex
slate-50#F8FAFCslate-500#64748B
slate-100#F1F5F9slate-600#475569
slate-200#E2E8F0slate-700#334155
slate-300#CBD5E1slate-800#1E293B
slate-400#94A3B8slate-900#0F172A
slate-950#020617

Blues

ClassHexClassHex
blue-400#60A5FAblue-700#1D4ED8
blue-500#3B82F6blue-800#1E40AF
blue-600#2563EBblue-900#1E3A8A

Greens

ClassHexClassHex
green-400#4ADE80green-600#16A34A
green-500#22C55Egreen-700#15803D

Common Accent Colors

ClassHexClassHex
indigo-500#6366F1purple-500#A855F7
indigo-600#4F46E5violet-500#8B5CF6
emerald-500#10B981amber-500#F59E0B
teal-500#14B8A6rose-500#F43F5E
cyan-500#06B6D4orange-500#F97316

Note: Tailwind classes appear as bg-blue-600, text-gray-900, border-indigo-500, etc. Strip the property prefix (bg-, text-, border-) to get the color token, then look up the hex value above.

For custom Tailwind themes (e.g., bg-brand, text-brand-light), check the page's <script> tags for a tailwind.config object that defines custom colors.


Edge Cases

JS-Rendered Sites (Sparse CSS)

Many modern sites (Next.js, React) inject styles via JavaScript. WebFetch may return minimal inline CSS. In this case:

  • Focus on Tailwind utility classes in class attributes
  • Check <script> tags for embedded config objects
  • Look for <style> tags that contain CSS-in-JS output
  • If still sparse, ask the user: "The site appears to use dynamic styling. Could you share a screenshot or provide their brand guidelines directly?"

Multiple Color Schemes (Light/Dark Mode)

Some sites define both light and dark themes via prefers-color-scheme. Extract the default (non-media-query) theme. If a dark mode variant is detected, note it in the Extraction Notes section.

Too Many Colors

Enterprise sites may use dozens of colors. Focus on:

  • The hero/above-the-fold section for the primary palette
  • Button/CTA colors for accent identification
  • Frequency analysis — top 5-7 unique colors define the brand

No Usable Font Information

If font detection fails completely:

  1. Check if the site mentions font names in its CSS comments or config
  2. Look at the overall aesthetic and pick a matching pairing from the existing slide presets
  3. Default to a safe, distinctive pairing based on vibe: serif display + sans body for premium; geometric sans for modern tech

Example

Running this skill on https://vapi.ai might produce:

# Visual Brand Identity: Vapi

**Extracted from:** https://vapi.ai, https://docs.vapi.ai
**Date:** 2026-02-26

---

## Slide Preset

**Vibe:** Technical, developer-focused, clean, modern

**Layout:** Dark full-width sections with centered content, card-based feature grids, generous spacing

**Typography:**
- Display: `Inter` (700/800)
- Body: `Inter` (400/500)

**Colors:**
\```css
:root {
    --bg-primary: #0F172A;
    --bg-secondary: #1E293B;
    --text-primary: #F8FAFC;
    --text-secondary: #94A3B8;
    --accent: #22C55E;
    --accent-secondary: #3B82F6;
}
\```

**Signature Elements:**
- Subtle gradient orbs in background (green-to-blue radial gradients)
- Rounded cards with slate-800 background and subtle border
- Code-style monospace accents for technical terms
- Green accent on CTAs and interactive elements

**Font Loading:**
\```html
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700;800&display=swap" rel="stylesheet">
\```

*(This is an illustrative example — actual extraction results will vary based on the live site.)*


Tips

  • Homepage is usually enough. If the homepage has clear branding, you don't need additional pages. Fetch a second page only if the homepage is sparse or uses a different aesthetic from the rest of the site.
  • Buttons reveal the accent color. The most reliable way to identify the primary accent is to find the button/CTA background color.
  • Check the favicon/logo. SVG logos often contain the exact brand colors as fill values.
  • Don't over-extract. The goal is 5-7 colors, 1-2 fonts, and 3-4 signature elements. More than that creates noise, not signal.
  • When in doubt, simplify. A 3-color palette (bg + text + accent) with one font family at two weights makes a clean, usable preset.

Dependencies

  • Web fetch capability (for reading website pages)
  • No API keys or paid tools required

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.29%
按下载量换算22

Claude

32.07%
按下载量换算21

Cursor

19.94%
按下载量换算13

Gemini CLI

8.96%
按下载量换算6

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills