ckm-design-system

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Design System

设计系统

Token architecture, component specifications, systematic design, slide generation.
Token架构、组件规范、系统化设计、幻灯片生成。

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创建
  • 组件状态定义
  • CSS变量系统
  • 间距/排版比例
  • 设计到代码的交付
  • Tailwind主题配置
  • 幻灯片/演示文稿生成

Token Architecture

Token架构

Load:
references/token-architecture.md
加载:
references/token-architecture.md

Three-Layer Structure

三层结构

Primitive (raw values)
Semantic (purpose aliases)
Component (component-specific)
Example:
css
/* Primitive */
--color-blue-600: #2563EB;

/* Semantic */
--color-primary: var(--color-blue-600);

/* Component */
--button-bg: var(--color-primary);
Primitive (原始值)
Semantic (用途别名)
Component (组件专属)
示例:
css
/* Primitive */
--color-blue-600: #2563EB;

/* Semantic */
--color-primary: var(--color-blue-600);

/* Component */
--button-bg: var(--color-primary);

Quick Start

快速开始

Generate tokens:
bash
node scripts/generate-tokens.cjs --config tokens.json -o tokens.css
Validate usage:
bash
node scripts/validate-tokens.cjs --dir src/
生成Token:
bash
node scripts/generate-tokens.cjs --config tokens.json -o tokens.css
验证使用情况:
bash
node scripts/validate-tokens.cjs --dir src/

References

参考资料

TopicFile
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
主题文件
Token架构
references/token-architecture.md
原始层Token
references/primitive-tokens.md
语义层Token
references/semantic-tokens.md
组件层Token
references/component-tokens.md
组件规范
references/component-specs.md
状态与变体
references/states-and-variants.md
Tailwind集成
references/tailwind-integration.md

Component Spec Pattern

组件规范模式

PropertyDefaultHoverActiveDisabled
Backgroundprimaryprimary-darkprimary-darkermuted
Textwhitewhitewhitemuted-fg
Bordernonenonenonemuted-border
Shadowsmmdnonenone
属性默认状态悬停状态激活状态禁用状态
背景primaryprimary-darkprimary-darkermuted
文字whitewhitewhitemuted-fg
边框nonenonenonemuted-border
阴影smmdnonenone

Scripts

脚本

ScriptPurpose
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
脚本用途
generate-tokens.cjs
从JSON Token配置生成CSS
validate-tokens.cjs
检查代码中的硬编码值
search-slides.py
BM25搜索 + 上下文推荐
slide-token-validator.py
验证幻灯片HTML的Token合规性
fetch-background.py
从Pexels/Unsplash获取图片

Templates

模板

TemplatePurpose
design-tokens-starter.json
Starter JSON with three-layer structure
模板用途
design-tokens-starter.json
包含三层结构的初始JSON模板

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
与品牌集成: 从品牌颜色/排版中提取原始层Token 与UI样式集成: 组件层Token → Tailwind配置
技能依赖: brand、ui-styling 核心角色: ui-ux-designer、frontend-developer

Slide System

幻灯片系统

Brand-compliant presentations using design tokens + Chart.js + contextual decision system.
使用Design Token + Chart.js + 上下文决策系统制作符合品牌规范的演示文稿。

Source of Truth

单一可信来源

FilePurpose
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
文件用途
docs/brand-guidelines.md
品牌标识、语气、颜色
assets/design-tokens.json
Token定义(原始层→语义层→组件层)
assets/design-tokens.css
CSS变量(导入到幻灯片中)
assets/css/slide-animations.css
CSS动画库

Slide Search (BM25)

幻灯片搜索(BM25)

bash
undefined
bash
undefined

Basic search (auto-detect domain)

基础搜索(自动检测领域)

python scripts/search-slides.py "investor pitch"
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
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
undefined
python scripts/search-slides.py "problem slide" --context --position 2 --total 9 python scripts/search-slides.py "cta" --context --position 9 --prev-emotion frustration
undefined

Decision System CSVs

决策系统CSV文件

FilePurpose
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
文件用途
data/slide-strategies.csv
15种演示文稿结构 + 情感曲线 + Duarte Sparkline节奏
data/slide-layouts.csv
25种布局 + 组件变体 + 动画效果
data/slide-layout-logic.csv
目标 → 布局 + break_pattern标记
data/slide-typography.csv
内容类型 → 排版比例
data/slide-color-logic.csv
情感 → 色彩处理方案
data/slide-backgrounds.csv
幻灯片类型 → 图片分类(Pexels/Unsplash)
data/slide-copy.csv
25种文案公式(PAS、AIDA、FAB)
data/slide-charts.csv
25种图表类型及Chart.js配置

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
1. 解析目标/上下文
2. 搜索slide-strategies.csv → 获取策略 + 情感节奏
3. 针对每张幻灯片:
   a. 查询slide-layout-logic.csv → 布局 + break_pattern
   b. 查询slide-typography.csv → 排版比例
   c. 查询slide-color-logic.csv → 色彩处理方案
   d. 查询slide-backgrounds.csv → 按需获取图片
   e. 应用slide-animations.css中的动画类
4. 使用Design Token生成HTML
5. 通过slide-token-validator.py验证合规性

Pattern Breaking (Duarte Sparkline)

模式打破(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.
高级演示文稿会交替使用不同情感以提升吸引力:
"现状"(挫败感) ↔ "愿景"(希望)
系统会在1/3和2/3位置计算模式打破点。

Slide Requirements

幻灯片要求

ALL slides MUST:
  1. Import
    assets/design-tokens.css
    - single source of truth
  2. Use CSS variables:
    var(--color-primary)
    ,
    var(--slide-bg)
    , etc.
  3. Use Chart.js for charts (NOT CSS-only bars)
  4. Include navigation (keyboard arrows, click, progress bar)
  5. Center align content
  6. Focus on persuasion/conversion
所有幻灯片必须:
  1. 导入
    assets/design-tokens.css
    ——单一可信来源
  2. 使用CSS变量:
    var(--color-primary)
    var(--slide-bg)
  3. 使用Chart.js制作图表(禁止仅用CSS实现柱状图)
  4. 包含导航功能(键盘箭头、点击、进度条)
  5. 内容居中对齐
  6. 聚焦于说服力/转化效果

Chart.js Integration

Chart.js集成

html
<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>
html
<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',  // 使用品牌珊瑚色
            backgroundColor: 'rgba(255, 107, 107, 0.1)',
            fill: true,
            tension: 0.4
        }]
    }
});
</script>

Token Compliance

Token合规性

css
/* 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';
css
/* 正确用法 - 使用Token */
background: var(--slide-bg);
color: var(--color-primary);
font-family: var(--typography-font-heading);

/* 错误用法 - 硬编码值 */
background: #0D0D0D;
color: #FF6B6B;
font-family: 'Space Grotesk';

Reference Implementation

参考实现

Working example with all features:
assets/designs/slides/claudekit-pitch-251223.html
包含所有功能的工作示例:
assets/designs/slides/claudekit-pitch-251223.html

Command

命令

bash
/slides:create "10-slide investor pitch for ClaudeKit Marketing"
bash
/slides:create "10-slide investor pitch for ClaudeKit Marketing"

Best Practices

最佳实践

  1. Never use raw hex in components - always reference tokens
  2. Semantic layer enables theme switching (light/dark)
  3. Component tokens enable per-component customization
  4. Use HSL format for opacity control
  5. Document every token's purpose
  6. Slides must import design-tokens.css and use var() exclusively
  1. 组件中绝不使用原始十六进制值——始终引用Token
  2. 语义层支持主题切换(亮色/暗色)
  3. 组件层支持按组件自定义样式
  4. 使用HSL格式实现透明度控制
  5. 为每个Token记录用途说明
  6. 幻灯片必须导入design-tokens.css并仅使用var()引用Token