
Color Converter
- 21 installs
- 84 repo stars
- Updated January 28, 2026
- aidotnet/moyucode
color-converter is a Claude Code skill that converts colors between HEX, RGB, HSL, HSV and CMYK and generates palettes via a Python CLI.
About
color-converter is a Claude Code skill that converts a color value between HEX, RGB, HSL, HSV and CMYK formats and generates color palettes. It runs a bundled Python CLI script so an agent can turn a single color into a coordinated set. Developers use it when picking or normalizing colors for a UI. It matters because manual color math and palette derivation are error prone.
- Converts colors between HEX, RGB, HSL, HSV and CMYK
- Generates complementary, triadic, analogous and split palettes
- Runs as a standalone Python CLI script
Color Converter by the numbers
- 21 all-time installs (skills.sh)
- Ranked #1,369 of 1,880 Design & UI/UX skills by installs in the Skillselion catalog
- Data as of Jul 28, 2026 (Skillselion catalog sync)
color-converter capabilities & compatibility
- Capabilities
- color conversion · palette generation
- Use cases
- ui design
- Pricing
- Free
What color-converter says it does
Convert colors between different formats (HEX, RGB, HSL, HSV, CMYK) and generate color palettes.
`color`, `hex`, `rgb`, `hsl`, `palette`
npx skills add https://github.com/aidotnet/moyucode --skill color-converterAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 21 |
|---|---|
| repo stars | ★ 84 |
| Last updated | January 28, 2026 |
| Repository | aidotnet/moyucode ↗ |
What it does
Convert a color to another format or derive a matching palette while building a UI.
Who is it for?
Developers who need to convert a color format or derive a matching palette while styling a UI.
Skip if: Full design-system tooling or interactive color pickers.
When should I use this skill?
You have a color value and need it in another format or need a palette derived from it.
What you get
A color is returned in the requested format or a coordinated palette is generated.
- converted color value
- generated color palette
By the numbers
- 4 palette types (complementary, triadic, analogous, split)
- 5 color formats supported (HEX, RGB, HSL, HSV, CMYK)
Files
Color Converter Tool
Description
Convert colors between different formats (HEX, RGB, HSL, HSV, CMYK) and generate color palettes.
Trigger
/colorcommand- User needs color conversion
- User wants to generate palettes
Usage
# Convert HEX to RGB
python scripts/color_converter.py "#FF5733"
# Convert RGB to HEX
python scripts/color_converter.py "rgb(255,87,51)"
# Generate palette
python scripts/color_converter.py "#FF5733" --palette complementary
# List named colors
python scripts/color_converter.py --listTags
color, hex, rgb, hsl, palette
Compatibility
- Codex: ✅
- Claude Code: ✅
#!/usr/bin/env python3
"""
Color Converter Tool
Based on: https://github.com/vaab/colour
Usage:
python color_converter.py "#FF5733"
python color_converter.py "rgb(255,87,51)"
"""
import argparse
import colorsys
import re
import sys
def hex_to_rgb(hex_color):
"""Convert HEX to RGB."""
hex_color = hex_color.lstrip('#')
return tuple(int(hex_color[i:i+2], 16) for i in (0, 2, 4))
def rgb_to_hex(r, g, b):
"""Convert RGB to HEX."""
return f"#{r:02x}{g:02x}{b:02x}"
def rgb_to_hsl(r, g, b):
"""Convert RGB to HSL."""
r, g, b = r/255, g/255, b/255
h, l, s = colorsys.rgb_to_hls(r, g, b)
return (int(h*360), int(s*100), int(l*100))
def rgb_to_hsv(r, g, b):
"""Convert RGB to HSV."""
r, g, b = r/255, g/255, b/255
h, s, v = colorsys.rgb_to_hsv(r, g, b)
return (int(h*360), int(s*100), int(v*100))
def parse_color(color_str):
"""Parse color string to RGB."""
color_str = color_str.strip().lower()
# HEX format
if color_str.startswith('#'):
return hex_to_rgb(color_str)
# RGB format
rgb_match = re.match(r'rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)', color_str)
if rgb_match:
return tuple(int(x) for x in rgb_match.groups())
# Try as plain hex
if re.match(r'^[0-9a-f]{6}$', color_str):
return hex_to_rgb(color_str)
return None
def generate_palette(rgb, palette_type='complementary'):
"""Generate color palette."""
r, g, b = rgb
h, s, v = colorsys.rgb_to_hsv(r/255, g/255, b/255)
colors = []
if palette_type == 'complementary':
colors = [(h, s, v), ((h + 0.5) % 1, s, v)]
elif palette_type == 'triadic':
colors = [(h, s, v), ((h + 1/3) % 1, s, v), ((h + 2/3) % 1, s, v)]
elif palette_type == 'analogous':
colors = [((h - 1/12) % 1, s, v), (h, s, v), ((h + 1/12) % 1, s, v)]
elif palette_type == 'split':
colors = [(h, s, v), ((h + 5/12) % 1, s, v), ((h + 7/12) % 1, s, v)]
result = []
for h2, s2, v2 in colors:
r2, g2, b2 = colorsys.hsv_to_rgb(h2, s2, v2)
result.append((int(r2*255), int(g2*255), int(b2*255)))
return result
def main():
parser = argparse.ArgumentParser(description="Convert colors")
parser.add_argument('color', nargs='?', help='Color to convert')
parser.add_argument('--palette', '-p', choices=['complementary', 'triadic', 'analogous', 'split'])
parser.add_argument('--list', '-l', action='store_true', help='List named colors')
args = parser.parse_args()
if args.list:
print("Use HEX (#FF5733) or RGB (rgb(255,87,51)) format")
return
if not args.color:
parser.error("Provide a color")
rgb = parse_color(args.color)
if not rgb:
print(f"Error: Cannot parse color: {args.color}", file=sys.stderr)
sys.exit(1)
r, g, b = rgb
hex_color = rgb_to_hex(r, g, b)
hsl = rgb_to_hsl(r, g, b)
hsv = rgb_to_hsv(r, g, b)
print(f"HEX: {hex_color}")
print(f"RGB: rgb({r}, {g}, {b})")
print(f"HSL: hsl({hsl[0]}, {hsl[1]}%, {hsl[2]}%)")
print(f"HSV: hsv({hsv[0]}, {hsv[1]}%, {hsv[2]}%)")
if args.palette:
palette = generate_palette(rgb, args.palette)
print(f"\n{args.palette.title()} palette:")
for c in palette:
print(f" {rgb_to_hex(*c)} - rgb{c}")
if __name__ == "__main__":
main()
Related skills
FAQ
Which color formats does it support?
It converts between HEX, RGB, HSL, HSV and CMYK formats.
Can it generate palettes?
Yes, it generates complementary, triadic, analogous and split palettes from a base color.