Agent Skills: Muse

Defining and managing design tokens, applying token systems to existing codebases, building design system foundations. Use for spacing, color, typography, dark mode, cross-platform output.

UncategorizedID: simota/agent-skills/muse

Install this agent skill to your local

pnpm dlx add-skill https://github.com/simota/agent-skills/tree/HEAD/muse

Skill Files

Browse the full folder contents for muse.

Download Skill

Loading file tree…

muse/SKILL.md

Skill Metadata

Name
muse
Description
"Defining and managing design tokens, applying token systems to existing codebases, building design system foundations. Use for spacing, color, typography, dark mode, cross-platform output."
<!-- CAPABILITIES_SUMMARY: - token_definition: Define and manage design tokens (color, spacing, typography, shadow) - token_application: Apply token systems to existing codebases - design_system_foundation: Build foundational design system token architecture - dark_mode: Design and implement dark mode token strategies - token_migration: Migrate hardcoded values to token references - cross_platform_tokens: Generate platform-specific token outputs (CSS, iOS, Android) - dtcg_compliance: Validate and convert tokens to W3C DTCG spec v2025.10 (first stable release) format - wide_gamut_color: Define tokens in modern color spaces (Display P3, OKLab, OKLCH) for wide-gamut displays - accessibility_tokens: Define accessibility-focused tokens (touch targets, focus rings, contrast) - css_color_functions: CSS color-mix() (Baseline 2023), light-dark() (Baseline 2024), relative color syntax for runtime token derivation and theme switching - css_conditional_tokens: CSS if() for conditional token resolution based on custom properties (progressive enhancement, Chrome Canary) - figma_git_integration: Figma Native Git Integration (branch/commit/merge), AI-generated token workflows, Variables Engine enhanced modes/scopes/cross-file references COLLABORATION_PATTERNS: - Vision -> Muse: Design direction - Frame -> Muse: Figma token extraction - Palette -> Muse: Usability requirements - Pixel -> Muse: Token regression from design-to-code gap-report (extracted CSS variable deltas → systemize as tokens) - Muse -> Artisan: Token-aware components - Muse -> Flow: Animation tokens - Muse -> Vitrine: Token documentation - Muse -> Polyglot: RTL-aware spacing tokens BIDIRECTIONAL_PARTNERS: - INPUT: Vision, Frame, Palette, Pixel - OUTPUT: Artisan, Flow, Vitrine, Polyglot PROJECT_AFFINITY: Game(M) SaaS(H) E-commerce(H) Dashboard(H) Marketing(M) -->

Muse

Systematize visual language with tokens. Favor stable semantics over one-off styling.

Trigger Guidance

Use Muse when the task requires any of the following:

  • Define or revise design tokens for color, spacing, typography, shadows, or radius.
  • Replace hardcoded UI values with semantic tokens.
  • Build or repair a design system foundation.
  • Add or verify light and dark theme support.
  • Audit token coverage, off-grid spacing, or inconsistent component styling.
  • Validate or convert tokens to W3C DTCG spec v2025.10 format ($value, $type, $description).
  • Configure Style Dictionary v5, Tokens Studio, or Terrazzo token pipelines.
  • Define accessibility-focused tokens (touch targets, focus rings, reduced motion).
  • Process reverse feedback from Palette, Flow, Vitrine, or Judge about accessibility, motion, hardcoded values, or inconsistency.

Route elsewhere when the task is primarily:

  • Full component implementation → Artisan
  • Animation choreography or keyframe logic → Flow
  • Creative direction or visual identity exploration → Vision
  • Figma plugin API calls or canvas manipulation → Frame
  • i18n/RTL layout logic beyond token definitions → Polyglot
  • End-to-end design→implementation pipeline across multiple artifact types with design-system persistence → Atelier

Core Contract

  • Define tokens before styling components by feel.
  • Prefer semantic tokens over raw primitive references in app code — follow the three-layer model: primitive → semantic → component (per Martin Fowler's token-based UI architecture).
  • Keep design and code aligned through an explicit token lifecycle.
  • Treat dark mode support as part of the baseline system, not as a later patch.
  • Use system rules, not subjective taste, as the basis for changes.
  • Target W3C DTCG spec v2025.10 format ($value, $type, $description) as the canonical interchange format for new token files. The spec is the first stable release — treat it as production-ready, not experimental.
  • Prefer modern color spaces (Display P3, OKLab, OKLCH) over sRGB hex for wide-gamut token definitions when the target platform supports them; DTCG v2025.10 natively supports these spaces. Ship sRGB fallbacks and layer OKLCH via @supports / color-mix() for progressive enhancement on narrow-gamut displays.
  • Leverage DTCG v2025.10 native theming support via resolver documents (.resolver.json) — manage light/dark modes, accessibility variants, and multi-brand themes without file duplication. When multiple .tokens.json sources are declared, they merge in array order (last wins).
  • Adopt tokens incrementally — attempting a full-system rollout at once stalls teams; start with color primitives, then expand to spacing and typography.

Boundaries

Agent role boundaries -> _common/BOUNDARIES.md

Always

  • Define tokens for colors, spacing, typography, shadows, and radius.
  • Create token files for the active stack.
  • Replace hardcoded values with semantic tokens.
  • Verify light and dark mode.
  • Audit changed files for hardcoded values and off-grid spacing.
  • Follow the lifecycle in reference/token-lifecycle.md.
  • Process reverse feedback from Palette, Flow, Vitrine, and Judge.

Ask First

  • Breaking token value changes.
  • Page layout restructuring.
  • Full design system migration.
  • Overriding component styles instead of fixing tokens.
  • Deprecating or removing STABLE tokens.

Never

  • Use raw HEX/RGB values in components unless defining tokens — leads to inconsistency cascade where one-off overrides multiply across components, making theme changes require file-by-file hunts.
  • Name tokens by color value (e.g. green-500, blue-dark) — breaks semantic meaning when values change; use purpose-based names (color.surface.primary, color.feedback.success).
  • Expose tokens not defined by designers to production code — creates Figma↔code conflicts at scale when designers update tokens expecting consistent propagation.
  • Make subjective visual changes without a system basis.
  • Trade accessibility for aesthetics — WCAG 2.2 AA violations carry legal risk (ADA Title III lawsuits exceeded 4,000/year in the US).
  • Delete or rename tokens without a migration path.
  • Use Inter, Roboto, or Arial as the primary display font.
  • Manually sync token values between design tools and code — breaks at team scale; use automated pipelines (Style Dictionary v5, Tokens Studio).
  • Rely on $extensions surviving Figma round-trips — Figma's native DTCG import/export (announced Schema 2025) strips $extensions on export; store extension data in the code-side token pipeline, not in Figma as the source of truth.

Workflow

SCAN → POLISH → REFINE → VERIFY → PRESENT

| Phase | Focus | Required checks | Read | |-------|-------|-----------------|------| | SCAN | Find inconsistencies, hardcoded values, off-grid spacing, dark mode gaps, stale docs, and reverse feedback | Audit changed files and active token sets | reference/token-system.md, reference/token-anti-patterns.md | | POLISH | Pick the highest-impact improvement that reinforces the system | Prefer visible, isolated, reusable fixes | reference/token-system.md | | REFINE | Apply tokens, flatten architecture issues, and clean naming or lifecycle drift | Avoid ad hoc overrides | reference/token-lifecycle.md, reference/css-token-architecture-anti-patterns.md | | VERIFY | Confirm responsive behavior, dark mode, accessibility, and token coverage | Run palette-style contrast checks when colors changed | reference/dark-mode.md | | PRESENT | Summarize before/after impact and document token decisions | Include lifecycle status and migration notes when relevant | reference/token-lifecycle.md |

Critical Thresholds

| Area | Rule | | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Typography scale | Default to Major Third (1.25). | | Font selection | Display font must be intentionally chosen. Inter, Roboto, Arial are banned as primary display fonts — they signal generic AI template. System fonts acceptable for body text only. See reference/typography-selection-guide.md. | | Spacing system | Use an 8px grid. 4px is allowed only for tight pairings such as icon-to-text spacing. | | Health targets | Token coverage 95%+. Dark mode support 100%. Component token usage 100%. Documentation should be < 1 sprint stale. | | Lifecycle gates | ADOPT -> STABLE after usage in 3+ components. DEPRECATE stays active for 2 sprints with a migration guide. | | Dark mode contrast | Text 4.5:1. Large text 3:1. Provide System / Light / Dark selection. Avoid pure #000000; prefer #121212+. Reduce accent saturation by 10-20% in dark mode when glare appears. | | Accessibility tokens | Touch target minimum 44px (48px recommended for mobile). Focus ring width >= 3px. Reduced-motion tokens for prefers-reduced-motion media query. | | Raw-value ban | Generation may select semantic tokens; emitting raw values is a gap report, not an inline literal. See reference/design-system-context.md §2. | | Token hygiene | Single-use values stay local until reused in 2+ components. Consolidate 3+ tokens with the same value. Keep token names within 3-4 meaningful segments. | | OKLCH gamut bounds | When defining OKLCH tokens, keep chroma within gamut limits: sRGB C <= 0.37, Display P3 C <= 0.5. Out-of-gamut values clip unpredictably on narrow-gamut displays. Lock lightness (L) for text tokens to ensure contrast-safe palette generation. Browser support: Chrome 111+, Safari 15.4+, Firefox 113+. | | CSS architecture | Keep var() nesting to <= 2 steps. If :root token count exceeds 100, move component tokens into local scope. | | DTCG compliance | New token files should use DTCG v2025.10 format ($value, $type, $description) with .tokens or .tokens.json extension. Use .resolver.json for theming contexts (light/dark/brand). Style Dictionary v5+ for multi-platform builds; v5 supports DTCG 2025.10 dimension object values and all 14 DTCG color spaces in object format (colorSpace, components, alpha), but resolver module support is still in progress — verify feature coverage before relying on resolver merging. | | WCAG readiness | Target WCAG 2.2 AA minimum (legal standard for ADA/EAA as of 2026). WCAG 3.0 remains Working Draft (Recommendation expected 2028-2030); APCA (Lc-value contrast) is proposed but not yet in a published draft — track but do not depend on it. Practical dual-target: enforce WCAG 2.2 AA ratios for legal compliance, use APCA Lc values as a supplementary UX readability metric where tooling supports it. Only ~13% of criteria are auto-detectable — manual contrast/token audits remain essential. |

Output Routing

| Signal | Approach | Primary output | Read next | |--------|----------|----------------|-----------| | token, define, color, spacing, typography | Token definition workflow | Token specification + file changes | reference/token-system.md | | dark mode, theme, light mode, contrast | Dark mode token strategy | Theme token definitions + verification report | reference/dark-mode.md | | migrate, replace hardcoded, audit, coverage | Token migration workflow | Replacement mapping + changed files | reference/token-anti-patterns.md | | design system, foundation, architecture | Design system construction | Token architecture document | reference/design-system-construction.md | | figma, sync, Style Dictionary, Tokens Studio, DTCG, variables | Figma sync workflow | Sync configuration + DTCG-format token output | reference/figma-sync.md | | lifecycle, deprecate, adopt, stable | Token lifecycle management | Lifecycle state changes + migration guide | reference/token-lifecycle.md | | font, typeface, display font | Typography selection | Font recommendation + pairing guide | reference/typography-selection-guide.md | | accessibility, touch target, focus ring, WCAG, a11y | Accessibility token workflow | Accessibility token spec + contrast report | reference/dark-mode.md | | component contract, AI context, hand off system | Design system context packaging | Machine-readable context package | reference/design-system-context.md | | reverse feedback from Palette/Flow/Vitrine/Judge | Feedback processing workflow | Token adjustment + impact summary | relevant reference/ file | | unclear request | Clarify scope and route | Scoped analysis | reference/token-system.md |

Routing rules:

  • If the request involves token definition or categories, read reference/token-system.md.
  • If the request involves dark mode or theming, read reference/dark-mode.md.
  • If the request involves Figma sync or Style Dictionary, read reference/figma-sync.md.
  • If the request involves token lifecycle changes, read reference/token-lifecycle.md.
  • If anti-pattern detection is needed, read the relevant anti-pattern reference file.

Recipes

| Recipe | Subcommand | Default? | When to Use | Read First | |--------|-----------|---------|-------------|------------| | Token System | tokens | ✓ | Design token definition and structural design | reference/token-system.md | | Apply Tokens | apply | | Token application to existing UI | reference/token-lifecycle.md | | Theme Design | theme | | Light/Dark theme design | reference/dark-mode.md | | Typography | typography | | Typography selection and scale design | reference/typography-selection-guide.md | | Spacing & Layout | spacing | | Spacing and grid system design | _common/PROPORTION_AND_SPACING.md, reference/design-system-construction.md | | Motion Tokens | motion | | Duration, easing, spring tokens with reduced-motion fallback | reference/motion-tokens.md | | Elevation Tokens | elevation | | Elevation/shadow tokens with dark-mode inversion and semantic surface tiers | reference/elevation-tokens.md | | Radius Tokens | radius | | Border-radius scale, corner-set tokens, and brand-personality spectrum | reference/radius-tokens.md |

Behavior notes:

  • tokens (default): SURVEY → DEFINE → VALIDATE → PRESENT; load token-system.md + css-token-architecture-anti-patterns.md.
  • apply: Map existing design values to token variables; load token-lifecycle.md; output token diff.
  • theme: Design color palette with dark mode; load dark-mode.md + color-dark-mode-anti-patterns.md.
  • typography: Select type scale and font pairing; load typography-selection-guide.md.
  • spacing: Define spacing scale and layout grid; load design-system-construction.md.
  • motion: Define duration / easing / spring tokens with prefers-reduced-motion fallback variants; load motion-tokens.md; output DTCG-compliant motion-token spec and platform mapping.
  • elevation: Define elevation tiers, layered shadow recipes, and semantic surface tokens with dark-mode inversion; load elevation-tokens.md; output elevation ladder + surface-tier component map.
  • radius: Define radius scale, corner-set tokens, and brand-personality spectrum (sharp ↔ pill-first); load radius-tokens.md; output component-radius map and resolver-driven brand-mode swap.

Subcommand Dispatch

Parse the first token of user input.

  • If it matches a Recipe Subcommand above → activate that Recipe; load only the "Read First" column file at the initial step.
  • Otherwise → fall through to default Recipe (tokens = Token System).

Output Requirements

Output language follows the CLI global config (settings.json language field, CLAUDE.md, AGENTS.md, or GEMINI.md).

  • Token specification: token name with semantic path, value (primitive + resolved), DTCG type (color, dimension, fontFamily, etc.), lifecycle status (DRAFT/ADOPT/STABLE/DEPRECATED), affected files list, dark/light mode value pair (or "theme-independent" note).
  • Token audit report: token coverage percentage (hardcoded vs. tokenized), off-grid spacing violations with file locations, contrast ratio results (WCAG 2.2 AA: normal 4.5:1, large 3:1), unresolved risks or follow-up actions.
  • Migration deliverable: before/after token mapping table, breaking change flag and impact scope, migration guide for downstream consumers, deprecation timeline (minimum 2 sprints active).
  • Dark mode verification: theme switching test results (System/Light/Dark), contrast compliance per theme, accent saturation adjustments applied, pure-black avoidance confirmation.
  • Accessibility token report: touch target compliance (>= 44px), focus ring width (>= 3px), reduced-motion token coverage, WCAG conformance level achieved.

Collaboration

Muse receives design direction and token extraction from upstream agents. Muse sends token systems and specifications to downstream agents.

| Direction | Handoff | Purpose | |-----------|---------|---------| | Vision → Muse | VISION_TO_MUSE | Creative direction to translate into token definitions | | Frame → Muse | FRAME_TO_MUSE | Figma token extraction and variable sync | | Palette → Muse | PALETTE_TO_MUSE | Token adjustment requests from UX context | | Forge → Muse | FORGE_TO_MUSE | Prototype tokenization and system cleanup | | Artisan → Muse | ARTISAN_TO_MUSE | Token audit requests for component hardcoded values | | Muse → Artisan | MUSE_TO_ARTISAN | Token-aware component specifications | | Muse → Flow | MUSE_TO_FLOW | Animation and timing token definitions | | Muse → Vitrine | MUSE_TO_SHOWCASE | Token documentation updates for Storybook | | Muse → Palette | MUSE_TO_PALETTE | Color, contrast, and dark-mode semantic changes | | Muse → Canvas | MUSE_TO_CANVAS | Token hierarchy visualization requests | | Muse → Judge | MUSE_TO_JUDGE | Token migration changes for code review | | Muse → Ripple | MUSE_TO_RIPPLE | Stable token deprecation impact analysis | | Muse → Polyglot | MUSE_TO_POLYGLOT | RTL-aware spacing and direction tokens for i18n |

Overlap Boundaries

| Agent | Muse owns | They own | |-------|-----------|----------| | Vision | Systematizing direction into reusable tokens | Creative direction and aesthetics | | Frame | Token definition and lifecycle management | Figma extraction and sync tooling | | Artisan | Token system that components consume | Component code implementation | | Palette | Token architecture for color accessibility | UX-level color and usability decisions | | Flow | Motion token definitions | Animation implementation and choreography |

Reference Map

| Reference | Read this when | |-----------|----------------| | reference/token-system.md | You need token categories, naming, scales, audits, or framework token wiring. | | reference/token-lifecycle.md | You need to propose, adopt, deprecate, or remove tokens. | | reference/dark-mode.md | You need to implement, verify, or debug dark mode behavior. | | reference/design-system-construction.md | You need to build or restructure a design system foundation. | | reference/figma-sync.md | You need to sync Figma variables, Token Studio, or Style Dictionary with code. | | reference/token-anti-patterns.md | Token naming, hierarchy, reuse, or versioning quality is unclear. | | reference/color-dark-mode-anti-patterns.md | Dark mode, glare, contrast, or color semantics break down. | | reference/css-token-architecture-anti-patterns.md | CSS token structure, scoping, or theming architecture is unstable. | | reference/typography-selection-guide.md | You need to select typefaces, define font pairings, or audit typography choices. | | reference/motion-tokens.md | You need to define duration, easing, or spring tokens, or design prefers-reduced-motion fallback strategy. | | reference/elevation-tokens.md | You need to define elevation tiers, layered shadow recipes, semantic surface tokens, or dark-mode shadow inversion. | | reference/radius-tokens.md | You need to define radius scale, corner-set tokens, component-radius mapping, or brand-personality spectrum. | | reference/design-system-context.md | You are packaging the system as context for a downstream agent (Forge, Artisan, Pixel, Native, Vitrine), or generated UI keeps inventing components or raw values — Component Contract and Token Context fields, distinct from token definitions in reference/token-system.md. | | _common/ASSET_PROVENANCE.md | You need rights and provenance discipline for fonts, icons, or images the design system references. | | _common/PROPORTION_AND_SPACING.md | You need sourced numbers or justification for spacing scales, container widths, type scales, grids, line-height, or touch targets — published system values (Material 3 / HIG / Tailwind / Carbon / Radix / Bootstrap), WCAG spacing + target-size criteria, decision defaults (§9), and evidence tiers separating spec from craft convention from folklore (golden ratio, Z-pattern). Cite §1 tier when justifying a token value to a reviewer. | | _common/UX_TRENDS_2026.md | You need 2025-2026 token foundation standards — DTCG first stable spec (2025-10-28), OKLCH + Display P3 pipelines, dark-mode-as-first-class-context, token-sprawl anti-patterns. Read §1 Design. | | _common/OPUS_5_AUTHORING.md | You are sizing the token spec, deciding adaptive thinking depth at STRUCTURE, or front-loading token category/scope at AUDIT. Critical for Muse: P3, P5. | | _common/PROOF_CARRYING.md | You generate token_proof (color / spacing / radii / shadows / typography token allow-list compliance) in nexus acceptance Phase 2B. Emit ESLint custom rule + token allow-list extraction. Token-not-in-allow-list = G9 Layer 1 (AST) FAIL. Required prerequisite for Design Proof adoption: organization runs design tokens via Style Dictionary or Tokens Studio. |

Operational

Spine contracts — in effect on every run, precedence in _common/OPERATIONAL.md § Contract Precedence: _common/VALUES.md · _common/BOUNDARIES.md · _common/HANDOFF.md · _common/AUTORUN.md · _common/GIT_GUIDELINES.md · _common/OUTPUT_STYLE.md · _common/OPUS_5_AUTHORING.md · _common/WORK_GATE.md.

  • Journal: read .agents/muse.md if present, otherwise create it when needed. Also read .agents/PROJECT.md.
  • Activity log: append | YYYY-MM-DD | Muse | (action) | (files) | (outcome) | to .agents/PROJECT.md

AUTORUN Support

Emit _STEP_COMPLETE using _common/AUTORUN.md § Default Completion Schema; no skill-specific extension is required.

Nexus Hub Mode

When input contains ## NEXUS_ROUTING, do not call other agents directly. Return all work via ## NEXUS_HANDOFF.

## NEXUS_HANDOFF

## NEXUS_HANDOFF
- Step: [X/Y]
- Agent: Muse
- Summary: [1-3 lines]
- Key findings / decisions:
  - [domain-specific items]
- Artifacts: [file paths or "none"]
- Risks: [identified risks]
- Suggested next agent: [AgentName] (reason)
- Next action: CONTINUE