Agent skill

Design System

by alirezarezvani in alirezarezvani/claude-skills

Captures the user's brand identity once via a 10-question onboarding wizard (primary/accent HEX + heading + body Google Fonts + design style editorial/technical/minimal/playful + default output…

MITAuto-check passedFrontend & Design

Install Design System

skills CLI
$ npx skills add alirezarezvani/claude-skills --skill design-system -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install alirezarezvani/claude-skills design-system --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/markdown-html/skills/design-system .claude/skills/design-system && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
design-system
GitHub stars
28k
Token cost
~2.8k tokens
SKILL.md length
1,070 words
Files
8 (incl. scripts, references, assets)
Skills in repo
342
Repo updated
First seen
Licence
MIT

At a glance

Captures the user's brand identity once via a 10-question onboarding wizard (primary/accent HEX + heading + body Google Fonts + design style editorial/technical/minimal/playful + default output…

  • Works in 3 steps: onboard.py — interactive (or --defaults… → config_loader.py — importable… → brand_palette_validator.py — WCAG-AA…
  • First-run onboarding (set up the brand
  • SKILL.md covers When to invoke, Onboarding question set (10…, Hard rules and Derived 12-token palette, plus 8 more sections
  • Runs Python scripts from its folder; calls python3

What it does

Design System is an agent skill from alirezarezvani/claude-skills. Captures the user's brand identity once via a 10-question onboarding wizard (primary/accent HEX + heading + body Google Fonts + design style editorial/technical/minimal/playful + default output directory + syntax theme + TOC behavior + optional logo/company), validates body-text and link contrast against WCAG 2.2 AA, derives 12 CSS custom properties in HSL space, and stores the result for every markdown-html converter to consume. Use before any markdown-html conversion. Triggers on first-run onboarding ("set up…

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including scripts, reference files and assets (for example `assets/design_system_schema.json`, `references/design_token_canon.md` and `references/typography_pairing.md`).

It sits in Frontend & Design, covering Design systems, Markdown and Accessibility. It works with Python. The repository describes itself as: 380 Claude Code skills & agent skills & plugins (30+ Agents, 70+ custom commands, 380+ skills, customizable references, scripts)for Claude Code, Codex, Gemini CLI, Cursor, and 8… The licence is MIT.

When your agent uses it

  • First-run onboarding (set up the brand
  • Configure markdown-html
  • Run onboarding)
  • On explicit reset (reset the design system

Example prompts

  • “set up the brand”
  • “configure markdown-html”
  • “run onboarding”
  • “/design-system”

Requirements

  • Python 3

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. onboard.py — interactive (or --defaults / --set / --show / --reset) wizard.
  2. config_loader.py — importable customization loader with project > global > defaults precedence and MARKDOWN_HTML_NO_CONFIG=1 bypass.
  3. brand_palette_validator.py — WCAG-AA contrast checker + HSL palette deriver.

What it can do on your machine

Read from SKILL.md and the folder at commit 19392f7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 3 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Design System loads about 2.8k tokens when it runs, and up to ~6.3k if it reads all its reference files. Until then it costs about 236 tokens; SKILL.md has 1,070 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~236
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from alirezarezvani/claude-skills at commit 19392f7, republished under its MIT licence (© alirezarezvani). 1,070 words, ~2,809 tokens.

Download SKILL.mdSave it as .claude/skills/design-system/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
design-system
description
Captures the user's brand identity once via a 10-question onboarding wizard (primary/accent HEX + heading + body Google Fonts + design style editorial/technical/minimal/playful + default output directory + syntax theme + TOC behavior + optional logo/company), validates body-text and link contrast against WCAG 2.2 AA, derives 12 CSS custom properties in HSL space, and stores the result for every markdown-html converter to consume. Use before any markdown-html conversion. Triggers on first-run onboarding ("set up the brand", "configure markdown-html", "run onboarding"), on explicit reset ("reset the design system", "re-onboard"), and is checked by every converter via config_loader.py before rendering. Refuses to save if body-text contrast fails AA 4.5:1 or the output dir isn't writable. Precedence is project (./.markdown-html/) > global (~/.config/markdown-html/) > built-in defaults; MARKDOWN_HTML_NO_CONFIG=1 bypasses.
version
2.10.0
author
Alireza Rezvani
license
MIT
tags
design-system, brand-palette, wcag, onboarding, customization, markdown-html, css-variables, typography
compatible_tools
claude-code, codex-cli, cursor, antigravity, opencode, gemini-cli

Design System — Onboarding + Shared Brand Tokens

The design-system skill is the shared brand owner for the markdown-html plugin. Run its onboarding once. Every converter (md-document, md-review, md-slides) reads the resulting config via config_loader.py and applies the same 12 CSS custom properties to its output. Without this, conversions render with placeholder defaults — technically functional but unbranded.

This skill ships exactly three Python tools:

  1. onboard.py — interactive (or --defaults / --set / --show / --reset) wizard.
  2. config_loader.py — importable customization loader with project > global > defaults precedence and MARKDOWN_HTML_NO_CONFIG=1 bypass.
  3. brand_palette_validator.py — WCAG-AA contrast checker + HSL palette deriver.

All three are stdlib-only and contain no LLM calls (deterministic per Path-B discipline).

When to invoke

SymptomAction
User says "convert this markdown to HTML" for the first time in this workspaceRun python3 markdown-html/skills/design-system/scripts/onboard.py
~/.config/markdown-html/design-system.json doesn't exist OR setup_completed_at is nullRefuse conversion, surface onboarding
User wants per-repo brand overridepython3 .../onboard.py --scope project
User wants to change a single field non-interactivelypython3 .../onboard.py --set brand.primary=#FF6B35
User wants to reset and re-onboardpython3 .../onboard.py --reset then re-run
User wants zero-touch defaults (CI, ephemeral session)python3 .../onboard.py --defaults
Headless / containerized run that should ignore saved configMARKDOWN_HTML_NO_CONFIG=1 ...

Onboarding question set (10 questions)

#KeyChoices / ValidatorDefault
1default_output_dirpath; os.access(parent, os.W_OK)./markdown-html-out/
2brand.primaryHEX ^#?[0-9a-fA-F]{6}$#0A1628
3brand.accentHEX or blank (auto-derive)derive from primary
4typography.heading_fontGoogle Font name (12 safe defaults)Inter
5typography.body_fontGoogle Font nameInter
6design_styleeditorial / technical / minimal / playfultechnical
7code_themelight / dark / autoauto
8toc.behaviorsticky-sidebar / collapsible-top / inline / nonesticky-sidebar
9company_namestring (may be empty)""
10logo_urlURL or empty (base64-embedded at render)""

Hard rules

  1. WCAG AA body-text contrast must pass. brand_palette_validator.validate() runs after every change. Body text on bg must reach 4.5:1; link on bg must reach 4.5:1. If either fails, onboard.py refuses to save (exit code 4) and tells the user to pick a darker primary, blank brand.bg/brand.text to let derivation pick a safe pair, or override brand.text directly. Canon: WCAG 2.2 §1.4.3.
  2. Output directory must be writable. onboard.py walks up the path to find an existing ancestor and checks os.W_OK. Empty or unwritable path → exit code 3. The orchestrator's output_path_resolver.py honors the same rule per-conversion.
  3. Customization must change behavior, not sit as decoration. Every consumer (md-document, md-review, md-slides) must read the config and render differently when the user changes design_style, brand.primary, code_theme, or toc.behavior. Decorative-only fields fail the design discipline.
  4. Precedence is fixed. Project > global > defaults. The deep-merge preserves nested keys (e.g. you can override brand.primary in a project config without losing typography.heading_font from global).
  5. Bypass env exists for a reason. MARKDOWN_HTML_NO_CONFIG=1 is for headless CI, ephemeral test containers, and the autoresearch-style evaluator loops. Never set it silently for an interactive user.

Derived 12-token palette

Once the user's brand is captured, brand_palette_validator.derive_palette() produces 12 CSS custom properties stored under derived_palette in the same config file. Every converter inlines these into its <style> block.

TokenPurposeDerivation
--md-bgDocument backgroundPrimary if dark, near-neutral if vibrant
--md-surfaceCard / callout / blockquote backgroundBg ± 4-6% luminance
--md-borderHairline dividers, table bordersBg ± 8-12% luminance
--md-textBody textOff-white on dark bg, near-black on light bg
--md-text-mutedCaptions, metadata, footersrgba(text, 0.68)
--md-accentPrimary CTA, callout headers, link emphasisPrimary if vibrant, hue-shifted lighter if dark
--md-accent-softAccent backgrounds, hover statesrgba(accent, 0.14)
--md-code-bgInline code, fenced block bgBg ± 4-5% luminance
--md-linkHyperlinksIteratively walked to reach 4.5:1 contrast on bg
--md-link-hoverHover stateLink ± 6-8% luminance
--md-successOK / approved / passedGreen anchored, luminance-matched
--md-warnCaution / nit / TODOAmber anchored, luminance-matched
Show full SKILL.md (480 more words)Show less

Forcing-question library (Matt Pocock grill-with-docs pattern)

One question per turn, recommended answer, canon citation.

  1. What's your brand primary color? Recommended: a HEX you already use in your product or docs — not a stock blue. Canon: Aarron Walter, Designing for Emotion (color carries brand affect).
  2. Should accent be derived or set? Recommended: derive on first run (hue-shift + lighten produces a coherent companion); set explicitly only if your brand kit specifies one. Canon: Adobe Spectrum, Color Foundations.
  3. Editorial, technical, minimal, or playful? Recommended: technical for engineering specs/reports, editorial for long-read narratives, minimal for sparse reference docs, playful for marketing/landing content. Canon: Ellen Lupton, Thinking with Type (style serves the rhetorical purpose).
  4. Sticky-sidebar TOC, or inline? Recommended: sticky-sidebar for documents over 800 words, inline for short reads. Canon: Nielsen-Norman, Table of Contents Best Practices (2023).
  5. Save to global or per-project? Recommended: global by default (consistent across your work); use --scope project only when this repo has a different brand. Canon: research-ops onboarding pattern, research-ops/CLAUDE.md §8.

Customization in use (worked example)

bash
# First-run onboarding (interactive, walks all 10 questions)
python3 markdown-html/skills/design-system/scripts/onboard.py

# Zero-touch defaults for CI / first-test
python3 .../onboard.py --defaults

# Change just the primary color and design style
python3 .../onboard.py --set brand.primary=#FF6B35 --set design_style=editorial

# Per-repo override
python3 .../onboard.py --scope project --set design_style=minimal

# Reset and re-onboard
python3 .../onboard.py --reset
python3 .../onboard.py

# Inspect the effective config (project > global > defaults)
python3 .../config_loader.py --show
python3 .../config_loader.py --status

# Bypass saved config (returns DEFAULTS only)
MARKDOWN_HTML_NO_CONFIG=1 python3 .../config_loader.py --show

# Spot-check WCAG contrast before committing to a brand
python3 .../brand_palette_validator.py --primary "#FF6B35" --accent "#00D4AA"

Assumptions

  1. User has at least one brand HEX they want consistent across their HTML conversions.
  2. User accepts a 1-2 minute one-time setup.
  3. User is OK with Google Fonts as the typography source (CDN, no local font hosting).
  4. WCAG 2.2 AA is the accessibility floor (4.5:1 body, 3:1 large/UI). AAA (7:1) is out of scope.

Non-goals

  • Not a full design-token system (Style Dictionary, Theo). Twelve tokens, not a hundred.
  • Not a custom-font hosting solution. Google Fonts only.
  • Not a dark/light mode switcher in the converters. code_theme: auto handles the prefers-color-scheme case for syntax highlighting; layout palette is single-mode per onboarding.
  • Not an accessibility audit suite (use axe-core / pa11y for that). We enforce contrast only.
  • Does not transform existing CSS — the derived palette is injected into freshly generated HTML.

Distinct from

  • marketing/landing/skills/landing/scripts/brand_palette_validator.py — that script's derive_palette() produces 8 tokens shaped for hero-page rendering (--navy, --teal, --card-bg, --card-border). This script produces 12 tokens shaped for document rendering (sticky surface, hairline border, code bg, link, link-hover, success, warn). Same WCAG + HSL math, different token taxonomy.
  • research-ops/skills/clinical-research/scripts/onboard.py — same pattern (interactive + --defaults/--set/--show/--reset/--scope), different question set (clinical alpha/power/dropout vs. brand palette/typography/layout).

Output artifact

~/.config/markdown-html/design-system.json (global) or ./.markdown-html/design-system.json (project). JSON schema lives at assets/design_system_schema.json.

Anti-patterns (do not)

  • ❌ Skip onboarding and run a converter with placeholder defaults — output looks unbranded.
  • ❌ Pick a vibrant brand primary as brand.bg directly (low text contrast). Use it as accent instead.
  • ❌ Set MARKDOWN_HTML_NO_CONFIG=1 silently for an interactive user — they'll wonder why their tokens disappeared.
  • ❌ Encode brand semantics in derived_palette outside the 12-token taxonomy. Add a new token only with a deliberate name + purpose + derivation rule.

References

  • WCAG 2.2 — §1.4.3 (contrast), §1.4.4 (resize), §1.4.11 (non-text contrast)
  • Aarron Walter — Designing for Emotion (A Book Apart)
  • Ellen Lupton — Thinking with Type
  • Adobe Spectrum — Color Foundations
  • Nielsen-Norman — Table of Contents Best Practices (2023)
  • research-ops onboarding pattern: research-ops/CLAUDE.md §8
  • Brand palette math source: marketing/landing/skills/landing/scripts/brand_palette_validator.py

© alirezarezvani, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (scripts, references, assets) in markdown-html/skills/design-system of alirezarezvani/claude-skills.

  • SKILL.md
  • assets/design_system_schema.json
  • references/design_token_canon.md
  • references/typography_pairing.md
  • references/wcag_accessibility.md
  • scripts/brand_palette_validator.py
  • scripts/config_loader.py
  • scripts/onboard.py

Open the folder on GitHubat commit 19392f7

Compare with similar skills

Design System next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Design System compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Design System this skillalirezarezvani/claude-skills28k—~2.8kAutomated safety check: PassMIT
React Component Documentationgetsentry/sentry46k—~3.6kAutomated safety check: PassCustom licence
Ds Document Componentbaloise/design-system114—~6.3kAutomated safety check: PassApache-2.0
DocsPrefectHQ/fastmcp28k—~1kAutomated safety check: PassApache-2.0
UI/UX Design System AdvisorGalaxy-Dawn/claude-scholar5.7k1 repos~1.1kAutomated safety check: PassMIT
Building With Lobe UIlobehub/lobe-ui2.2k—~2kAutomated safety check: PassMIT

Similar skills

  • Official

    Create or update component documentation in Sentry's MDX stories format.

    46k GitHub stars~3.6k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Ds Document Component

    baloise/design-system

    A skill your agent uses when writing or generating Storybook documentation for a Baloise Design System component — creates stories.ts, doc-config.ts, and six MDX subpages (Overview, Usage, Variants…

    114 GitHub stars~6.3k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Docs

    PrefectHQ/fastmcp

    Write or revise a page under docs/ for gofastmcp.com. An agent skill from PrefectHQ/fastmcp.

    28k GitHub stars~1k tokensUpdated today
    Frontend & DesignAuto-check passed
  • UI/UX Design System Advisor

    Galaxy-Dawn/claude-scholar

    Turns a vague UI request into a concrete design system with style, palette, typography and layout guidance from a search script, plus stack-specific implementation advice.

    5.7k GitHub starsUsed in 1 repo~1.1k tokens
    Frontend & DesignAuto-check passed
  • Building With Lobe UI

    lobehub/lobe-ui

    Build UI with the LobeHub design ecosystem — @lobehub/ui (plus its base-ui, chat, mobile, awesome, brand, mdx, i18n namespaces), @lobehub/icons, @lobehub/charts, @lobehub/fluent-emoji and…

    2.2k GitHub stars~2k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Design

    Ohh-889/skyroc

    Comprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations…

    795 GitHub starsUsed in 9 repos~3.1k tokens
    Frontend & DesignAuto-check passed

More from alirezarezvani/claude-skills

All 342 skills in this repo
  • Agile Product Owner

    alirezarezvani/claude-skills

    Writes INVEST-checked user stories with acceptance criteria, splits epics, plans sprints from velocity and ranks the backlog with a weighted score.

    28k GitHub starsUsed in 3 repos~3.2k tokens
    Auto-check passed
  • Product Strategist

    alirezarezvani/claude-skills

    OKR cascade toolkit for product leaders: generates aligned company-to-team OKRs from five strategy types and scores how well they line up.

    28k GitHub starsUsed in 2 repos~1.8k tokens
    Auto-check passed
  • App Store Optimization

    alirezarezvani/claude-skills

    App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store.

    28k GitHub starsUsed in 1 repo~4.2k tokens
    Auto-check passed
  • AWS Solution Architect

    alirezarezvani/claude-skills

    Design AWS architectures for startups using serverless patterns and IaC templates.

    28k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Campaign Analytics

    alirezarezvani/claude-skills

    Calculates attribution, funnel and ROI figures for marketing campaigns with three Python scripts that need only the standard library.

    28k GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check passed
  • Code to PRD

    alirezarezvani/claude-skills

    Reverse-engineers a frontend, backend or fullstack codebase into a product requirements document with per-page docs, an enum dictionary and an API inventory.

    28k GitHub starsUsed in 1 repo~4.9k tokens
    Auto-check passed

Works with

Questions about Design System

What does Design System do?

Captures the user's brand identity once via a 10-question onboarding wizard (primary/accent HEX + heading + body Google Fonts + design style editorial/technical/minimal/playful + default output…. Design System is an agent skill from alirezarezvani/claude-skills.2 AA, derives 12 CSS custom properties in HSL space, and stores the result for every markdown-html converter to consume.

When should I use Design System?

Design System fits situations like: first-run onboarding (set up the brand; configure markdown-html; run onboarding); on explicit reset (reset the design system.

How do I install Design System in Claude Code?

Run `npx skills add alirezarezvani/claude-skills --skill design-system -a claude-code`. Or copy the skill folder (markdown-html/skills/design-system in alirezarezvani/claude-skills) into .claude/skills/design-system in your project. Claude Code loads it when a task matches its description.

How do I install Design System in Codex?

Run `npx skills add alirezarezvani/claude-skills --skill design-system -a codex`. Or copy the skill folder (markdown-html/skills/design-system in alirezarezvani/claude-skills) into .agents/skills/design-system in your project. Codex loads it when a task matches its description.

Can I use Design System in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add alirezarezvani/claude-skills --skill design-system -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/design-system, .gemini/skills/design-system, .github/skills/design-system and .opencode/skills/design-system in your project.

What does Design System need to run?

Going by SKILL.md and its folder, Design System needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Design System access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Design System safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Design System use?

Design System is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Design System use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.5k tokens, read only when the agent opens those files.

What are the alternatives to Design System?

Skills that share tags, products or a category with Design System: React Component Documentation (getsentry/sentry, 46k stars), Ds Document Component (baloise/design-system, 114 stars), Docs (PrefectHQ/fastmcp, 28k stars) and UI/UX Design System Advisor (Galaxy-Dawn/claude-scholar, 5.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Design System?

alirezarezvani (a GitHub user) maintains it in alirezarezvani/claude-skills, which has 27,891 GitHub stars. The repository holds 342 skills in this directory. The repository was last updated on August 30, 2026.

Source: alirezarezvani/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.