---
name: colorfly-palettes
description: Generate intentional 2–10-color palettes and return shareable Colorfly preview links. Use when asked to create a color palette or color scheme.
---

# Colorfly palettes

Generate colors yourself, then return a preview link on https://color.pfly.dev. No account, API call, browser automation, or local files are required to construct a link.

## Generate

1. Extract the intended mood, use, required colors, exclusions, and number of palettes. If unspecified, choose a clear direction and state it briefly instead of blocking on preferences. For a batch, offer meaningfully different directions.
2. Generate 2–10 distinct opaque sRGB colors in uppercase `#RRGGBB` format; default to five if the count is unspecified. Do not use alpha, CSS color names, shorthand hex, or CSS expressions.
3. Choose a relationship suited to the brief: analogous, complementary, split-complementary, triadic, tonal, or neutral-plus-accent. Vary lightness and chroma as well as hue. Harmony terminology is a design method, not proof of quality.
4. Order colors by importance: signature color, useful counterpart, primary accent, supporting color, then secondary support or neutral. These are editorial defaults, not mandatory UI roles. Keep monochrome briefs monochrome. Each shorter prefix should remain useful; do not hue-sort merely for attractive adjacency.
5. Preserve required hex values exactly and any explicitly requested order or positions. Expand user-supplied shorthand hex to its equivalent six-digit form. If constraints conflict, explain the conflict rather than silently changing or dropping requirements. More than ten required colors cannot fit one Colorfly preview.
6. Review the palette for the brief, purposeful separation, and distinct hex values. Near-duplicates need a deliberate tonal role. Never describe random RGB samples as curated combinations.
7. Validate the final count, format, uniqueness, order, and required colors before returning the link.

## Accessibility

A palette alone cannot establish accessibility. Identify actual foreground/background pairs and measure their WCAG contrast using linearized sRGB luminance. Normal text requires at least 4.5:1; large text requires 3:1. Report measured ratios only when calculated. If roles or calculation tools are unavailable, state that contrast is unverified. Do not claim universal color-vision accessibility or rely on hue alone to distinguish functional states.

## Build the preview link

Remove each leading `#`, lowercase the six-digit values, and join them with hyphens in the chosen display order. Append that path to `https://color.pfly.dev`.

Example colors:

`#264653`, `#F4F1DE`, `#E76F51`, `#2A9D8F`, `#E9C46A`

Example preview:

https://color.pfly.dev/264653-f4f1de-e76f51-2a9d8f-e9c46a

The path contains 2–10 six-digit hex values, with no `#` characters, spaces, or commas. The left-to-right display order matches the path order. No query parameters are required.

A preview link displays the supplied colors; it does not save a palette to the catalog. Do not claim persistence, a rendered visual review, or successful site loading unless actually observed. Constructing the link does not require fetching it.

In the preview, controls sit just below the palette title: X icons are centered in each column, and dark circular plus icons sit between adjacent columns. Use a plus icon to insert a color at that boundary, or an X icon to remove its column. New colors blend the adjacent colors and start unlocked. Controls support keyboard focus and are disabled at two and ten columns. Existing colors and locks stay aligned, Previous palette restores edits, and the URL updates to share the displayed columns. Generation keeps the selected column count and locked colors; when no catalog palette fits, unlocked colors are randomized. On narrow screens, larger palettes scroll horizontally.

Column controls use compact 32px buttons with 18px icons and are hidden until hover or keyboard focus. Hovering a column reveals its X and the plus icons on either boundary.

An invisible placeholder reserves the title slot until a name is available. The slot height stays fixed at each screen size so loading a name does not move the column controls.

## Return

For each palette, return:

- A short creative palette title and one sentence describing its intent.
- The hex values in display order, with a brief reason for each choice.
- A clickable Colorfly preview link.
- Measured contrast results for requested text/background pairs, or an explicit statement that contrast is unverified.

Hex values are authoritative. A creative palette title is not an official color name. Do not invent standardized names or imply that Colorfly has assigned or stored the title.
