mcpField
I
image-analysis

image-analysis

github.com/pascalorgDesign & UI10196 installsUpdated 7w ago
Repository

About image-analysis

image-analysis extracts a prominent-color palette from an image file. It is for developers implementing interfaces from screenshots, Figma exports, or other visual references, and returns color values with prominence data.

Key features

  1. 01Extracts prominent colors
  2. 02Supports PNG, JPG, WebP, BMP, and GIF
  3. 03Sorts colors by prominence
  4. 04Returns hex, RGB, and HSL values
  5. 05Reports relative area coverage

Use cases

  1. 01Match a UI to a screenshot
  2. 02Build a palette from a design mockup
  3. 03Identify colors in a photo
  4. 04Create design tokens from an image

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/pascalorg/skills --skill image-analysis

After installing, type/image-analysisin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

scripts/
extract-colors.js
extract-colors.sh
package-lock.json
package.json

Details

From the project README

Image Analysis — Color Extraction

Extract dominant colors from any image file (PNG, JPG, WebP, BMP, GIF) and return a structured palette. Useful for implementing UIs that match a screenshot, Figma export, or design mockup.

When to Use

  • The user provides a screenshot or design image and wants to implement it
  • The user asks to extract or identify colors from an image
  • The user wants a color palette from a photo or mockup
  • The user wants to match their code's colors to a reference image

How It Works

  1. Reads the image file using get-pixels to obtain raw pixel data
  2. Passes pixel data to extract-colors to compute dominant colors
  3. Returns a sorted palette (by area/prominence) with hex, RGB, HSL values, and area coverage

Usage

Run the extraction script, passing the image path as the first argument:

bash <skill-path>/scripts/extract-colors.sh /path/to/image.png

Arguments:

  • $1 — Path to the image file (required). Supports PNG, JPG, WebP, BMP, GIF.

Examples:

# Extract colors from a screenshot
bash <skill-path>/scripts/extract-colors.sh ./screenshot.png

# Extract colors from a Figma export
bash <skill-path>/scripts/extract-colors.sh ~/Downloads/figma-design.jpg

Output

The script outputs a JSON array of colors sorted by prominence:

[
  {
    "hex": "#1a1a2e",
    "red": 26,
    "green": 26,
    "blue": 46,
    "hue": 0.6667,
    "saturation": 0.2778,
    "lightness": 0.1412,
    "area": 0.3241
  },
  {
    "hex": "#e94560",
    "red": 233,
    "green": 69,
    "blue": 96,
    "hue": 0.9724,
    "saturation": 0.7928,
    "lightness": 0.5922,
    "area": 0.1856
  }
]
FieldTypeDescription
hexStringColor as hex string (e.g. #1a1a2e)
redIntegerRed channel (0-255)
greenIntegerGreen channel (0-255)
blueIntegerBlue channel (0-255)
hueNumberHue (0-1)
saturationNumberSaturation (0-1)
lightnessNumberLightness (0-1)
areaNumberRelative area/prominence (0-1)

Present Results to User

After extracting colors, present them as a structured palette:

Color Palette (sorted by prominence):

1. #1a1a2e — 32.4% (dark navy) — Primary background
2. #e94560 — 18.6% (coral red) — Accent color
3. #f5f5f5 — 15.2% (light gray) — Secondary background
...

Then suggest how to use these colors in the user's codebase:

  • CSS custom properties / variables
  • Tailwind config theme colors
  • Design token definitions
  • Direct usage in component styles

Troubleshooting

"Cannot find module" errors

The script auto-installs dependencies (extract-colors, get-pixels) on first run. If this fails, install them manually:

cd <skill-path>/scripts && npm install
Unsupported image format

The underlying get-pixels library supports PNG, JPG, GIF, and BMP. For other formats, convert the image first.

Large images are slow

The extract-colors library automatically downsamples to 64,000 pixels by default. For very large images this is already fast, but you can adjust the pixels option in the script if needed.

Comments

Markdown supported