Docs/Skills/Color Brightness Skill

Color Brightness Skill

Calculate if color is light or dark

OperationalCredits 2 per callp50 137msReference Data

Overview

Color Brightness Calculator works by applying WCAG 2.0 relative luminance formulas to RGB color values, calculating contrast ratios with black and white, and determining optimal text colors for accessibility.

Live Test Color Brightness Skill Skill →

The tool

Once your client is connected to the VerveKit server, this appears in its tool list as ColorBrightnessSkill. It is read-only and open-world — it fetches and never mutates anything on your side — so most clients call it without asking you to confirm.

Tool call
{
  "name": "ColorBrightnessSkill",
  "arguments": {
    "hex": "FF5733"
  }
}

You do not name the tool yourself; the model picks it. Asking about FF5733 in the terms this skill covers is enough for it to reach for ColorBrightnessSkill on its own — naming it explicitly also works, and is the way to force the call.

Connecting

One server URL covers every skill in the catalog, including this one. Authorization is OAuth: the client opens a browser once, and there is no key to paste into a config file.

{
  "mcpServers": {
    "vervekit": {
      "url": "https://api.vervekit.com/v1/mcp"
    }
  }
}

Per-client setup — Claude, Cursor, VS Code, ChatGPT — is on the MCP setup page.

Arguments

These are the properties on the tool's inputSchema, so a well-behaved client validates them before the call is made. Premium arguments are accepted on every plan but only take effect on plans that include them.

ArgumentTypeDescription
hexRequiredstringHex color value (with or without # prefix)
hexColor

What the model gets back

The result carries a structuredContent object matching the tool's declared outputSchema, so a client reads fields without parsing prose. status is "ok" and error is null on success; a null field means the value was not available for that input, not that the call failed.

Result
{
  "status": "ok",
  "error": null,
  "data": {
    "hex": "#FF5733",
    "rgb": {
      "r": 255,
      "g": 87,
      "b": 51
    },
    "luminance": 0.2832,
    "perceived_brightness": 131,
    "yiq": 133.13,
    "is_light": false,
    "is_dark": true,
    "brightness_category": "dark",
    "recommended_text_color": "#FFFFFF",
    "contrast_ratio_with_white": 3.15,
    "contrast_ratio_with_black": 6.66,
    "wcag_aa_compliant_with_white": false,
    "wcag_aa_compliant_with_black": true,
    "wcag_aaa_compliant_with_white": false,
    "wcag_aaa_compliant_with_black": false
  }
}

Response fields

Paths are relative to data. Premium fields are absent rather than zeroed on plans that do not include them, so check for presence instead of comparing to 0.

FieldTypeExampleDescription
hexstring#FF5733Hexadecimal color value provided in the request
rgbobject{…}RGB color components: red, green, blue values
rgb.rnumber255Red component value between 0 and 255
rgb.gnumber87Green component value between 0 and 255
rgb.bnumber51Blue component value between 0 and 255
luminancePremiumnumber0.2832Relative luminance calculated using WCAG 2.0 formula
perceived_brightnessPremiumnumber131Perceived brightness score from 0 to 255
yiqPremiumnumber133.13YIQ color space brightness value for brightness analysis
is_lightbooleanfalseBoolean indicating if color is considered light
is_darkbooleantrueBoolean indicating if color is considered dark
brightness_categorystringdarkBrightness classification: light, medium, or dark category
recommended_text_colorPremiumstring#FFFFFFRecommended text color for optimal contrast and readability
contrast_ratio_with_whitePremiumnumber3.15WCAG contrast ratio calculation between color and white
contrast_ratio_with_blackPremiumnumber6.66WCAG contrast ratio calculation between color and black
wcag_aa_compliant_with_whitePremiumbooleanfalseWhether color meets WCAG AA contrast requirements with white
wcag_aa_compliant_with_blackPremiumbooleantrueWhether color meets WCAG AA contrast requirements with black
wcag_aaa_compliant_with_whitePremiumbooleanfalseWhether color meets WCAG AAA contrast requirements with white
wcag_aaa_compliant_with_blackPremiumbooleanfalseWhether color meets WCAG AAA contrast requirements with black

Failure modes

Errors come back as tool errors carrying a sentence the model can act on, not a bare status code. Error handling covers the full list.

StatusWhat it means
400 / 422The arguments did not validate. The message names the offending one.
401The OAuth session is invalid or expired — reconnect the server.
403Blocked by a key restriction or an IP allow-list. Never a bad identity.
404This skill is not part of VerveKit. Check the catalog.
429Out of credits, or a brief rate limit. The message tells them apart.

A call costs 2 credits each time the tool actually runs; a model that reasons about the tool without calling it costs nothing.

Use cases

Web Accessibility
Ensure WCAG compliance by calculating contrast ratios for text and background colors
UI Design
Determine appropriate text colors for backgrounds based on brightness calculations
Theme Development
Automatically select light or dark text based on background color brightness
Color Analysis
Analyze color brightness and categorize colors for design systems and palettes

Other ways to use Color Brightness Skill

Set up Color Brightness Skill on VerveKit, or reach the same source a different way. Your VerveKit account and credits work on all of them — one key, one balance.

Call it as a REST APIOne HTTPS endpoint and an x-api-key header, with SDKs for Node, Python and .NET.APIVerve →Reference →
Google Sheets or ExcelA =VERVE() formula fills a column — no script, no export, recalculates in place.VerveSheets →Reference →
Ground an agent on itA cited, machine-checkable fact your model can't produce on its own.VerveContext →Reference →

More in Reference Data:

Was this page helpful?