Help us improve
Share bugs, ideas, or general feedback.
From stark
Generates, audits, and translates W3C DTCG design tokens to Tailwind v4, CSS variables, Compose Material3, SwiftUI, and WinUI. Use when working with cross-platform token systems or theme exports.
npx claudepluginhub f0d010c/stark --plugin starkHow this skill is triggered — by the user, by Claude, or both
Slash command
/stark:design-tokensThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Goal: one DTCG-format JSON, four platform outputs. No drift.
Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Guides systematic root-cause debugging when tests fail, builds break, or unexpected errors occur. Provides a structured triage checklist to preserve evidence, localize, and fix issues instead of guessing.
Share bugs, ideas, or general feedback.
Goal: one DTCG-format JSON, four platform outputs. No drift.
../../scripts/token_export.py.Every token bundle this skill produces or consumes is in W3C Design Tokens Community Group format. Keys:
$value — the literal value$type — color | dimension | fontFamily | fontWeight | duration | shadow | typography$description — human-readable rationale (kept in the token; not a comment)Example:
{
"color": {
"brand": {
"primary": { "$value": "#3b1c0f", "$type": "color", "$description": "Hero accent — used like a weapon" },
"primary-hover": { "$value": "{color.brand.primary}", "$type": "color" }
}
},
"spacing": {
"xs": { "$value": "4px", "$type": "dimension" },
"sm": { "$value": "8px", "$type": "dimension" }
},
"type": {
"display": {
"$value": { "fontFamily": "PP Editorial New", "fontSize": "72px", "fontWeight": 400, "lineHeight": 1.05 },
"$type": "typography"
}
}
}
| Platform | Output target |
|---|---|
| Web (Tailwind v4) | @theme { --color-brand-primary: ...; } block |
| Web (CSS) | :root { --color-brand-primary: ...; } |
| Apple (SwiftUI) | extension Color { static let brandPrimary = ... } + Color asset catalog JSON |
| Android (Compose) | ColorScheme(primary = Color(0xFF...), ...) + Typography |
| Windows (WinUI 3) | <ResourceDictionary> with <Color>, <SolidColorBrush>, <x:Double> |
Use ../../scripts/token_export.py for the translation — never hand-translate. Tokens drift fast.
Three cases where token work is wrong:
State this explicitly if the user asks to "tokenize everything." Push back once.
When asked to audit a token set:
box-shadow for native, where elevation is tonal).#3b82f6 exposed as a token name)$type (some tools won't validate without it)Shipped in ../../assets/tokens/:
fluent-2.json — Microsoft Fluent 2 referencematerial3-expressive.json — M3E reference (M3E adds wave/morph tokens vs M3)apple-system.json — iOS/macOS semantic system colorsawwwards-editorial.json — bespoke "editorial Swiss" exampleawwwards-brutalist.json — bespoke "tactile brutalist" example