From content-management-system
Generates style guide docs from design tokens, CSS vars, and themes. Outputs markdown, interactive HTML, or Figma tokens.
npx claudepluginhub melodic-software/claude-code-plugins --plugin content-management-systemThis skill is limited to using the following tools:
Generate comprehensive style guide documentation from design tokens and theme configuration.
Writes documentation for design tokens covering semantic intent, usage context, and do/don't examples for reference guides.
Builds scalable design systems using token hierarchies, semantic tokens, component APIs, theme switching, and documentation. For component libraries and UI foundations.
Manages design tokens for colors, typography, spacing, borders, shadows in CSS variables, JSON, Tailwind configs. Generates palettes, checks WCAG contrast, converts formats.
Share bugs, ideas, or general feedback.
Generate comprehensive style guide documentation from design tokens and theme configuration.
/cms:create-style-guide --format markdown
/cms:create-style-guide --format html --include all
/cms:create-style-guide --format figma-tokens
Extract format and include options from command.
Read existing design tokens from:
Invoke relevant skills:
design-token-management - Token analysismulti-site-theming - Theme variations# Design System Style Guide
## Table of Contents
1. [Brand Overview](#brand-overview)
2. [Colors](#colors)
3. [Typography](#typography)
4. [Spacing](#spacing)
5. [Components](#components)
6. [Icons](#icons)
7. [Usage Guidelines](#usage-guidelines)
---
## Brand Overview
### Brand Values
- **Professional**: Clean, trustworthy, reliable
- **Modern**: Contemporary, innovative, forward-thinking
- **Accessible**: Inclusive, clear, easy to use
### Voice & Tone
- Clear and concise
- Friendly but professional
- Action-oriented
---
## Colors
### Primary Colors
| Name | Hex | RGB | CSS Variable |
|------|-----|-----|--------------|
| Brand Primary | #2563eb | rgb(37, 99, 235) | `--color-brand-primary` |
| Brand Dark | #1e40af | rgb(30, 64, 175) | `--color-brand-dark` |
| Brand Light | #93c5fd | rgb(147, 197, 253) | `--color-brand-light` |
### Neutral Colors
| Name | Hex | Usage |
|------|-----|-------|
| Gray 50 | #f9fafb | Backgrounds |
| Gray 100 | #f3f4f6 | Subtle backgrounds |
| Gray 500 | #6b7280 | Secondary text |
| Gray 900 | #111827 | Primary text |
### Semantic Colors
| Name | Color | Usage |
|------|-------|-------|
| Success | #22c55e | Confirmations, positive states |
| Warning | #f59e0b | Cautions, important notices |
| Error | #ef4444 | Errors, destructive actions |
| Info | #3b82f6 | Informational messages |
### Color Usage Guidelines
**Do:**
- Use brand primary for CTAs and key actions
- Use semantic colors consistently for their intended purpose
- Ensure 4.5:1 contrast ratio for text
**Don't:**
- Use brand colors for error states
- Mix semantic colors outside their purpose
- Use low-contrast color combinations
---
## Typography
### Font Families
| Purpose | Font | Fallback |
|---------|------|----------|
| Headings | Inter | system-ui, sans-serif |
| Body | Inter | system-ui, sans-serif |
| Code | JetBrains Mono | monospace |
### Type Scale
| Name | Size | Line Height | Usage |
|------|------|-------------|-------|
| Display | 3.815rem | 1.1 | Hero headlines |
| H1 | 3.052rem | 1.2 | Page titles |
| H2 | 2.441rem | 1.2 | Section titles |
| H3 | 1.953rem | 1.3 | Subsections |
| H4 | 1.563rem | 1.3 | Card titles |
| Body | 1rem | 1.6 | Paragraph text |
| Small | 0.8rem | 1.5 | Captions, labels |
### Text Styles
#### Headings
```html
<h1 class="text-h1">Page Title</h1>
<h2 class="text-h2">Section Title</h2>
<h3 class="text-h3">Subsection</h3>
<p class="text-body">Regular paragraph text</p>
<p class="text-lead">Introductory paragraph with emphasis</p>
<p class="text-small">Caption or helper text</p>
| Token | Value | Usage |
|---|---|---|
| space-1 | 0.25rem | Tight padding |
| space-2 | 0.5rem | Element padding |
| space-4 | 1rem | Component padding |
| space-8 | 2rem | Section gaps |
| space-16 | 4rem | Large gaps |
space-4 for standard component paddingspace-8 between related sectionsspace-16 between major page sections<button class="btn btn-primary">Primary Action</button>
<button class="btn btn-secondary">Secondary Action</button>
| State | Description |
|---|---|
| Default | Normal resting state |
| Hover | Darkened background |
| Active | Further darkened |
| Disabled | 50% opacity, no pointer |
<div class="card">
<img class="card-image" src="..." alt="...">
<div class="card-content">
<h3 class="card-title">Title</h3>
<p class="card-description">Description</p>
</div>
</div>
<label class="label" for="email">Email</label>
<input type="email" id="email" class="input" placeholder="you@example.com">
| State | Border Color | Icon |
|---|---|---|
| Default | Gray 300 | None |
| Focus | Brand Primary | None |
| Error | Error Red | Error icon |
| Success | Success Green | Check icon |
| Icon | Name | Usage |
|---|---|---|
| ➕ | plus | Add actions |
| ✏️ | edit | Edit actions |
| 🗑️ | trash | Delete actions |
| ✓ | check | Success, complete |
| ✕ | x | Close, cancel |
| Name | Min Width | Usage |
|---|---|---|
| mobile | 0 | Mobile-first base |
| tablet | 768px | Tablet and up |
| desktop | 1024px | Desktop and up |
| wide | 1280px | Large screens |
Figma Tokens Format:
{
"global": {
"colors": {
"brand": {
"primary": {
"value": "#2563eb",
"type": "color"
},
"secondary": {
"value": "#93c5fd",
"type": "color"
}
},
"gray": {
"50": { "value": "#f9fafb", "type": "color" },
"100": { "value": "#f3f4f6", "type": "color" },
"500": { "value": "#6b7280", "type": "color" },
"900": { "value": "#111827", "type": "color" }
}
},
"typography": {
"fonts": {
"heading": { "value": "Inter", "type": "fontFamilies" },
"body": { "value": "Inter", "type": "fontFamilies" }
},
"fontSizes": {
"xs": { "value": "10", "type": "fontSizes" },
"sm": { "value": "12", "type": "fontSizes" },
"base": { "value": "16", "type": "fontSizes" },
"lg": { "value": "20", "type": "fontSizes" },
"xl": { "value": "25", "type": "fontSizes" }
},
"fontWeights": {
"normal": { "value": "400", "type": "fontWeights" },
"medium": { "value": "500", "type": "fontWeights" },
"bold": { "value": "700", "type": "fontWeights" }
}
},
"spacing": {
"1": { "value": "4", "type": "spacing" },
"2": { "value": "8", "type": "spacing" },
"4": { "value": "16", "type": "spacing" },
"8": { "value": "32", "type": "spacing" }
},
"borderRadius": {
"sm": { "value": "2", "type": "borderRadius" },
"md": { "value": "6", "type": "borderRadius" },
"lg": { "value": "8", "type": "borderRadius" },
"full": { "value": "9999", "type": "borderRadius" }
}
},
"$themes": [
{
"id": "light",
"name": "Light",
"selectedTokenSets": {
"global": "enabled"
}
}
]
}
Interactive HTML output with:
design-token-management - Token structuremulti-site-theming - Theme variations