Agent skill
spacing-scale
Generates consistent spacing tokens using base values and ratios. Use when creating margin/padding systems, gap tokens, or layout spacing. Outputs CSS custom properties, Tailwind config, or JSON tokens.
Install this agent skill to your Project
npx add-skill https://github.com/dylantarre/design-system-skills/tree/main/skills/tokens/spacing-scale
SKILL.md
Spacing Scale Generator
Overview
Generate consistent spacing scales using a base value and ratio. Creates exponentially distributed values centered around a base unit for harmonious layouts.
When to Use
- Setting up spacing tokens for a new project
- Standardizing padding and margin values
- Creating a gap/grid system
- Migrating from arbitrary spacing to tokens
Quick Reference
| Naming Style | Example Names | Best For |
|---|---|---|
| T-shirt | xs, sm, md, lg, xl | Semantic, readable |
| Numeric | 100, 200, 300... | Precise, extensible |
| Unit | When to Use |
|---|---|
| px | Fixed layouts, pixel-perfect designs |
| rem | Scalable, respects user font settings |
| em | Component-relative spacing |
The Process
- Get base value: Default 4px or 0.25rem (common base unit)
- Get ratio: How much each step grows (1.5 is balanced, 2 is dramatic)
- Ask steps: How many spacing values (8-12 is typical)
- Ask naming: T-shirt sizes (xs, sm, md, lg) or numeric (100, 200, 300)?
- Ask unit: px, rem, or em?
- Ask format: CSS, Tailwind, or JSON?
- Generate: Create scale centered on base, expanding in both directions
Common Ratios
| Ratio | Character | Example (base 4px) |
|---|---|---|
| 1.25 | Tight | 2, 2.5, 3, 4, 5, 6, 8 |
| 1.5 | Balanced | 1.8, 2.7, 4, 6, 9, 13.5 |
| 1.618 | Golden | 1.5, 2.5, 4, 6.5, 10.5, 17 |
| 2 | Dramatic | 1, 2, 4, 8, 16, 32 |
Output Formats
CSS Custom Properties:
:root {
--spacing-xs: 2px;
--spacing-sm: 4px;
--spacing-md: 8px;
--spacing-lg: 16px;
--spacing-xl: 32px;
}
Tailwind Config:
module.exports = {
theme: {
spacing: {
'xs': '2px',
'sm': '4px',
'md': '8px',
'lg': '16px',
'xl': '32px',
}
}
}
JSON Tokens:
{
"spacing": {
"xs": "2px",
"sm": "4px",
"md": "8px",
"lg": "16px",
"xl": "32px"
}
}
Algorithm
The scale is centered on the base value at the midpoint:
value = baseValue * (ratio ^ (step - midpoint))
For a 10-step scale with base 4 and ratio 1.5:
- Step 0 (5 below mid): 4 * 1.5^-5 = 0.53
- Step 5 (midpoint): 4 * 1.5^0 = 4
- Step 9 (4 above mid): 4 * 1.5^4 = 20.25
T-shirt Size Mapping
Full range: 3xs, 2xs, xs, sm, md, lg, xl, 2xl, 3xl, 4xl, 5xl, 6xl
The midpoint of your scale maps to "md" and expands outward.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
getting-started
Introduction to the design system skills plugin. Use when first installing the plugin, exploring available skills, or planning a design system implementation.
responsive-typography
Implements fluid typography using CSS clamp() that scales with viewport. Use when creating responsive font sizes, viewport-aware headings, or type that adapts smoothly without breakpoints.
color-scale
Generates perceptually uniform OKLCH color palettes from brand colors. Use when creating color systems, theme palettes, or converting hex values to 11-step scales. Outputs CSS custom properties, Tailwind config, or JSON tokens.
shadow-scale
Generates layered box-shadow elevation tokens for depth hierarchy. Use when creating elevation systems, card shadows, modal depth, or dark mode shadow variants. Outputs CSS, Tailwind, or JSON.
breakpoints
Generates responsive breakpoint tokens for media queries and container queries. Use when setting up responsive design, mobile-first layouts, or viewport-based styling. Outputs CSS, Tailwind, or JSON.
design-tokens-structure
Architects token systems with primitive, semantic, and component layers. Use when structuring tokens from scratch, adding multi-theme support, setting up token aliasing, or organizing token hierarchies.
Didn't find tool you were looking for?