# Tasks: colours 1. Create OpenSpec change folder with proposal, tasks, spec delta 2. Scaffold package: package.json, tsconfig, vitest config, vite config, README 3. Implement error-codes (`COLOUR_CODES` via `defineCodes`) 4. Implement errors (`ColourError extends SuaveplanError` with typed factories) 5. Implement colour-types (Zod schemas for RGBA, HSLA, LAB, LCH, OKLAB, OKLCH, CMYK, ColourInput) 6. Implement utils (clamp, roundChannel, roundPercent, roundAlpha, isFiniteNumber) 7. Implement parser (hex, rgb/rgba, hsl/hsla, lab, lch, oklab, oklch, named colour parsing) 8. Implement conversions (rgb↔hsl, rgb↔hsv, rgb↔xyz, xyz↔lab, lab↔lch, rgb↔oklab, oklab↔oklch, rgb↔cmyk) 9. Implement Colour class (chainable manipulation, analysis, output formatters) 10. Implement colour-factories (random, fromTemperature, blend, steps, palette) 11. Write tests for all modules (100% istanbul coverage target) 12. Write co-located .md docs for every feature module 13. Run lint, typecheck, test, build, coverage gates 14. Plugin: `@suaveplan/colour-convert-hsluv` — HSLuv/HPLuv conversions and harmonies 15. Plugin: `@suaveplan/colour-convert-cieluv` — CIELUV, xyY, LMS, Bradford adaptation 16. Plugin: `@suaveplan/colour-filter-cmc` — CMC l:c Delta-E distance 17. Plugin: `@suaveplan/colour-filter-cct` — Correlated Colour Temperature 18. Fold spec delta into `openspec/specs/colours/spec.md` and archive