extract-color
Extract Color Data
Interpretation-only companion to create-color. This skill does not extract data from Figma. It reads {cachePath}/{componentSlug}-_base.json (produced by the uSpec Extract Figma plugin), applies the same reasoning layer as create-color, and writes the finalized color dataset (either ColorAnnotationData or ConsolidatedColorAnnotationData) to disk for the create-component-md orchestrator.
Quality contract: every reasoning step (axis classification review, boolean enrichment, mode detection, container detection, composite breakdown, strategy selection, variant reduction plan, audit) mirrors create-color/SKILL.md. Any improvement to color-extraction quality must be made in both places.
Batch-mode contract. This skill MUST NOT call AskQuestion, prompt for confirmation, or pause for user input. On ambiguous rendering-strategy or container-detection decisions, pick the most defensible option based on the evidence and record the reasoning in generalNotes or _containerRerunHint. No mid-interpretation clarifications.
Invocation Contract
The orchestrator calls this skill with these inputs (already resolved — do NOT re-parse URLs or re-read uspecs.config.json):
componentSlug— filename-safe slugcachePath— cache directory, typically.uspec-cache/{componentSlug}/optionalContext— free-form string from the user (may be"none")mcpProvider—figma-consoleorfigma-mcp(only needed if a Step 3-delta escape hatch fires AND a live Figma link was provided to the orchestrator)deltaAvailable— boolean. When the orchestrator received only abaseJsonPath(nofigmaLink), this isfalseand the Step 3-delta escape hatch must not fire; log the gap indata._deltaExtractions[]withunavailable: "no-figma-link"and continue with best-effort output.apiDictionaryPath— absolute or workspace-relative path to{cachePath}/{componentSlug}-api-dictionary.json. Optional. When present, the file is the canonical vocabulary for axis/value/sub-component/state naming (see Step 2.5). When absent, the skill continues with_dictionaryUnavailable: truein its output envelope.