ckm:design-system
Token architecture, component specifications, and slide generation. Three-layer tokens (primitive→semantic→component), CSS variables, spacing/typography scales, component specs, strategic slide creation. Use for design tokens, systematic design, brand-compliant presentations.
- License 许可
- MIT
- 最近更新
- 2026-11-09
- Stars
- ★ 3
- Forks
- 0
01 前言 Front Matter
- name
- ckm:design-system
- license
- MIT
- metadata
- { "author": "claudekit", "version": "1.0.0" }
- description
- Token architecture, component specifications, and slide generation. Three-layer tokens (primitive→semantic→component), CSS variables, spacing/typography scales, component specs, strategic slide creation. Use for design tokens, systematic design, brand-compliant presentations.
- argument-hint
- [component or token]
02 资源文件 26
- 参考文档agents/openai.yaml156 B
- 资产文件data/slide-backgrounds.csv1.0 KB
- 资产文件data/slide-charts.csv8.4 KB
- 资产文件data/slide-color-logic.csv877 B
- 资产文件data/slide-copy.csv6.3 KB
- 资产文件data/slide-layout-logic.csv981 B
- 资产文件data/slide-layouts.csv8.6 KB
- 资产文件data/slide-strategies.csv8.0 KB
- 资产文件data/slide-typography.csv735 B
- 参考文档references/component-specs.md6.8 KB
- 参考文档references/component-tokens.md4.9 KB
- 参考文档references/primitive-tokens.md4.5 KB
- 参考文档references/semantic-tokens.md4.1 KB
- 参考文档references/states-and-variants.md4.7 KB
- 参考文档references/tailwind-integration.md5.5 KB
- 参考文档references/token-architecture.md5.2 KB
- 脚本scripts/embed-tokens.cjs2.5 KB
- 脚本scripts/fetch-background.py12.0 KB
- 脚本scripts/generate-slide.py27.9 KB
- 脚本scripts/generate-tokens.cjs4.9 KB
- 脚本scripts/html-token-validator.py11.6 KB
- 脚本scripts/search-slides.py9.0 KB
- 脚本scripts/slide_search_core.py14.4 KB
- 脚本scripts/slide-token-validator.py973 B
- 脚本scripts/validate-tokens.cjs5.9 KB
- 参考文档templates/design-tokens-starter.json7.0 KB
03 SKILL.md 正文
Design System
Token architecture, component specifications, systematic design, slide generation.
When to Use
- Design token creation
- Component state definitions
- CSS variable systems
- Spacing/typography scales
- Design-to-code handoff
- Tailwind theme configuration
- Slide/presentation generation
Token Architecture
Load: references/token-architecture.md
Three-Layer Structure
Primitive (raw values)
↓
Semantic (purpose aliases)
↓
Component (component-specific)
Example:
/* Primitive */
--color-blue-600: #2563EB;
/* Semantic */
--color-primary: var(--color-blue-600);
/* Component */
--button-bg: var(--color-primary);
Quick Start
Generate tokens:
node scripts/generate-tokens.cjs --config tokens.json -o tokens.css
Validate usage:
node scripts/validate-tokens.cjs --dir src/
References
| Topic | File |
|---|---|
| Token Architecture | references/token-architecture.md |
| Primitive Tokens | references/primitive-tokens.md |
| Semantic Tokens | references/semantic-tokens.md |
| Component Tokens | references/component-tokens.md |
| Component Specs | references/component-specs.md |
| States & Variants | references/states-and-variants.md |
| Tailwind Integration | references/tailwind-integration.md |
Component Spec Pattern
| Property | Default | Hover | Active | Disabled |
|---|---|---|---|---|
| Background | primary | primary-dark | primary-darker | muted |
| Text | white | white | white | muted-fg |
| Border | none | none | none | muted-border |
| Shadow | sm | md | none | none |
Scripts
| Script | Purpose |
|---|---|
generate-tokens.cjs |
Generate CSS from JSON token config |
validate-tokens.cjs |
Check for hardcoded values in code |
search-slides.py |
BM25 search + contextual recommendations |
slide-token-validator.py |
Validate slide HTML for token compliance |
fetch-background.py |
Fetch images from Pexels/Unsplash |
Templates
| Template | Purpose |
|---|---|
design-tokens-starter.json |
Starter JSON with three-layer structure |
Integration
With brand: Extract primitives from brand colors/typography With ui-styling: Component tokens → Tailwind config
Skill Dependencies: brand, ui-styling Primary Agents: ui-ux-designer, frontend-developer
Slide System
Brand-compliant presentations using design tokens + Chart.js + contextual decision system.
Source of Truth
| File | Purpose |
|---|---|
docs/brand-guidelines.md |
Brand identity, voice, colors |
assets/design-tokens.json |
Token definitions (primitive→semantic→component) |
assets/design-tokens.css |
CSS variables (import in slides) |
assets/css/slide-animations.css |
CSS animation library |
Slide Search (BM25)
# Basic search (auto-detect domain)
python scripts/search-slides.py "investor pitch"
# Domain-specific search
python scripts/search-slides.py "problem agitation" -d copy
python scripts/search-slides.py "revenue growth" -d chart
# Contextual search (Premium System)
python scripts/search-slides.py "problem slide" --context --position 2 --total 9
python scripts/search-slides.py "cta" --context --position 9 --prev-emotion frustration
Decision System CSVs
| File | Purpose |
|---|---|
data/slide-strategies.csv |
15 deck structures + emotion arcs + sparkline beats |
data/slide-layouts.csv |
25 layouts + component variants + animations |
data/slide-layout-logic.csv |
Goal → Layout + break_pattern flag |
data/slide-typography.csv |
Content type → Typography scale |
data/slide-color-logic.csv |
Emotion → Color treatment |
data/slide-backgrounds.csv |
Slide type → Image category (Pexels/Unsplash) |
data/slide-copy.csv |
25 copywriting formulas (PAS, AIDA, FAB) |
data/slide-charts.csv |
25 chart types with Chart.js config |
Contextual Decision Flow
1. Parse goal/context
↓
2. Search slide-strategies.csv → Get strategy + emotion beats
↓
3. For each slide:
a. Query slide-layout-logic.csv → layout + break_pattern
b. Query slide-typography.csv → type scale
c. Query slide-color-logic.csv → color treatment
d. Query slide-backgrounds.csv → image if needed
e. Apply animation class from slide-animations.css
↓
4. Generate HTML with design tokens
↓
5. Validate with slide-token-validator.py
Pattern Breaking (Duarte Sparkline)
Premium decks alternate between emotions for engagement:
"What Is" (frustration) ↔ "What Could Be" (hope)
System calculates pattern breaks at 1/3 and 2/3 positions.
Slide Requirements
ALL slides MUST:
- Import
assets/design-tokens.css- single source of truth - Use CSS variables:
var(--color-primary),var(--slide-bg), etc. - Use Chart.js for charts (NOT CSS-only bars)
- Include navigation (keyboard arrows, click, progress bar)
- Center align content
- Focus on persuasion/conversion
Chart.js Integration
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.1/dist/chart.umd.min.js"></script>
<canvas id="revenueChart"></canvas>
<script>
new Chart(document.getElementById('revenueChart'), {
type: 'line',
data: {
labels: ['Sep', 'Oct', 'Nov', 'Dec'],
datasets: [{
data: [5, 12, 28, 45],
borderColor: '#FF6B6B', // Use brand coral
backgroundColor: 'rgba(255, 107, 107, 0.1)',
fill: true,
tension: 0.4
}]
}
});
</script>
Token Compliance
/* CORRECT - uses token */
background: var(--slide-bg);
color: var(--color-primary);
font-family: var(--typography-font-heading);
/* WRONG - hardcoded */
background: #0D0D0D;
color: #FF6B6B;
font-family: 'Space Grotesk';
Reference Implementation
Working example with all features:
assets/designs/slides/claudekit-pitch-251223.html
Command
/slides:create "10-slide investor pitch for ClaudeKit Marketing"
Best Practices
- Never use raw hex in components - always reference tokens
- Semantic layer enables theme switching (light/dark)
- Component tokens enable per-component customization
- Use HSL format for opacity control
- Document every token's purpose
- Slides must import design-tokens.css and use var() exclusively
04 同仓库更多 Skills
ckm:ui-styling
Create beautiful, accessible user interfaces with shadcn/ui components (built on Radix UI + Tailwind), Tailwind CSS utility-first styling, and canvas-based visual designs. Use when building user interfaces, implementing design systems, creating responsive layouts, adding accessible components (dialogs, dropdowns, forms, tables), customizing themes and colors, implementing dark mode, generating visual designs and posters, or establishing consistent styling patterns across applications.
ckm:design
Comprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations (Chart.js), banner design (22 styles, social/ads/web/print), icon design (15 styles, SVG, Gemini 3.1 Pro), social photos (HTML→screenshot, multi-platform). Actions: design logo, create CIP, generate mockups, build slides, design banner, generate icon, create social photos, social media images, brand identity, design system. Platforms: Facebook, Twitter, LinkedIn, YouTube, Instagram, Pinterest, TikTok, Threads, Google Ads.
ckm:banner-design
Design banners for social media, ads, website heroes, creative assets, and print. Multiple art direction options with AI-generated visuals. Actions: design, create, generate banner. Platforms: Facebook, Twitter/X, LinkedIn, YouTube, Instagram, Google Display, website hero, print. Styles: minimalist, gradient, bold typography, photo-based, illustrated, geometric, retro, glassmorphism, 3D, neon, duotone, editorial, collage. Uses ui-ux-pro-max, frontend-design, ai-artist, ai-multimodal skills.
supabase-postgres-best-practices
Postgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill BEFORE writing or changing anything that lives in a Postgres database: creating or altering tables and columns (including choosing column types), schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs (pg_cron, pgmq), vector/semantic search (pgvector), and restoring dumps (pg_restore) or importing data. Also load it when diagnosing slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant. This is not just a performance guide — schema, migration, security, and SQL authoring tasks need these rules too, even for a one-column change or a single query.
scrapedo-search
Search Google and read web pages (as Markdown) through Scrape.do, keeping each result's link so every finding can be cited. Use for account and company research, competitor and pricing checks, finding a page that answers a question, or reading a page a search turned up.
robomotion-projects
Start and work in a Robomotion project with the robomotion command - one folder per job, the person's device sign-in, the project's flow and app skills, then validate, run on the person's robot and read the run's log. Use whenever you build, change, check or run a Robomotion flow or app.