05b6d799f0
Three more learnings from alirezarezvani/claude-skills, applied: 1. SkillCheck validator (scripts/skillcheck.mjs) — validates every SKILL.md against the authoring standard (frontmatter, name/folder match, trigger + produces clauses, required headings) plus tier referential integrity. Errors fail CI; --strict fails on warnings too. New skillcheck.yml workflow and a SkillCheck status badge in the README. Current: 0 errors / 14 advisory warnings across 172 skills. 2. Cursor export platform — build-exports.mjs now generates exports/cursor/<bundle>/<skill>/<skill>.mdc rule files. The PLATFORMS registry now supports per-skill filenames (file as a function). 3. Per-agent installers — scripts/install.sh unifies install for claude/hermes/codex/openclaw/cursor (--link, --target, --dry-run, --list). Curl-able one-liners codex-install.sh, openclaw-install.sh, and cursor-install.sh clone the library and install in a single command. README documents the one-line installs and Cursor exports; CHANGELOG and the authoring standard updated. Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px Co-authored-by: Claude <noreply@anthropic.com>
87 lines
3.7 KiB
Plaintext
87 lines
3.7 KiB
Plaintext
---
|
|
description: "Design a spacing and layout token system for a Figma design system. Use when asked to create a spacing system, define layout tokens, set up a grid system, build a spacing scale, or establish layout foundations for a Figma file. Produces a complete spacing scale, grid definition, component spacing conventions, and Figma implementation guide."
|
|
globs:
|
|
alwaysApply: false
|
|
---
|
|
|
|
# Figma Spacing System Skill
|
|
|
|
Produces a complete spacing and layout token system — the foundation that makes a design system consistent and developer handoff unambiguous.
|
|
|
|
## Required Inputs
|
|
|
|
- **Platform** (iOS / Android / Web / Multi-platform)
|
|
- **Base unit** (4px / 8px — default to 8px)
|
|
- **Design system name** (for token naming)
|
|
- **Component density** (compact / standard / comfortable)
|
|
- **Grid requirements** (or "derive from platform standard")
|
|
|
|
## Output Structure
|
|
|
|
### 1. Base Unit
|
|
[4px or 8px] with rationale. All values must be multiples.
|
|
|
|
### 2. Spacing Scale
|
|
|
|
| Token | Value | Use case |
|
|
|---|---|---|
|
|
| spacing.none | 0px | Removing space intentionally |
|
|
| spacing.xs | 4/8px | Icon padding, tight labels |
|
|
| spacing.sm | 8/12px | Internal component padding compact |
|
|
| spacing.md | 12/16px | Internal component padding standard |
|
|
| spacing.lg | 16/24px | Section padding, card internal |
|
|
| spacing.xl | 24/32px | Between components |
|
|
| spacing.2xl | 32/48px | Section separation |
|
|
| spacing.3xl | 48/64px | Page-level breaks |
|
|
| spacing.4xl | 64/96px | Hero sections |
|
|
|
|
### 3. Layout Grid
|
|
|
|
Mobile (375px): 4 columns, margin [value], gutter [value]
|
|
Tablet (768px): 8 columns, margin [value], gutter [value]
|
|
Desktop (1440px): 12 columns, margin [value], gutter [value], max content width [value]
|
|
|
|
### 4. Component Spacing Conventions
|
|
|
|
| Context | Token | Example |
|
|
|---|---|---|
|
|
| Button horizontal padding | spacing.md | Left/right |
|
|
| Button vertical padding | spacing.sm | Top/bottom |
|
|
| Card internal padding | spacing.lg | All sides |
|
|
| Input padding | spacing.sm vertical, spacing.md horizontal | |
|
|
| Icon gap from label | spacing.xs | |
|
|
| Section gap | spacing.xl | |
|
|
|
|
### 5. Figma Implementation
|
|
1. Create SPACING page documenting each token visually
|
|
2. Resources > Variables > create Number collection named Spacing
|
|
3. Apply variables to Auto Layout padding/gap values
|
|
4. Share token names with engineers as-is or via Tokens Studio
|
|
|
|
### 6. Anti-Patterns to Avoid
|
|
- Values not on the scale (13px, 22px) — round to nearest token
|
|
- Absolute pixel values in components instead of tokens
|
|
- Mixing 4px and 8px base units in the same product
|
|
|
|
## Quality Checks
|
|
- [ ] All token values are multiples of the base unit
|
|
- [ ] Scale covers xs through 4xl
|
|
- [ ] Grid defined for all relevant breakpoints
|
|
- [ ] Component conventions cover common decisions
|
|
- [ ] Figma implementation steps included
|
|
|
|
## Anti-Patterns
|
|
|
|
- [ ] Do not create a spacing scale with arbitrary values — the scale must follow a consistent mathematical ratio (e.g. 4px base, 8-4-2 system)
|
|
- [ ] Do not define spacing tokens without Figma implementation instructions — token names alone are not actionable
|
|
- [ ] Do not create a spacing system that doesn't account for component-level spacing conventions — global tokens and component usage must both be documented
|
|
- [ ] Do not skip grid definitions — spacing without a grid system is incomplete layout foundation documentation
|
|
- [ ] Do not produce a spacing system that ignores responsive behaviour — define how spacing adapts across breakpoints
|
|
|
|
## Example Trigger Phrases
|
|
- "Create a spacing system for our Figma design system"
|
|
- "Define our spacing tokens for Figma"
|
|
- "Set up a grid and spacing scale for [product]"
|
|
- "What spacing values should we use in our design system?"
|
|
- "Help me build the layout foundation for our Figma file"
|