diff --git a/.claude/skills/slides/SKILL.md b/.claude/skills/slides/SKILL.md new file mode 100644 index 0000000..ef4500a --- /dev/null +++ b/.claude/skills/slides/SKILL.md @@ -0,0 +1,42 @@ +--- +name: ckm:slides +description: Create strategic HTML presentations with Chart.js, design tokens, responsive layouts, copywriting formulas, and contextual slide strategies. +argument-hint: "[topic] [slide-count]" +metadata: + author: claudekit + version: "1.0.0" +--- + +# Slides + +Strategic HTML presentation design with data visualization. + +$ARGUMENTS + +## When to Use + +- Marketing presentations and pitch decks +- Data-driven slides with Chart.js +- Strategic slide design with layout patterns +- Copywriting-optimized presentation content + +## Subcommands + +| Subcommand | Description | Reference | +|------------|-------------|-----------| +| `create` | Create strategic presentation slides | `references/create.md` | + +## References (Knowledge Base) + +| Topic | File | +|-------|------| +| Layout Patterns | `references/layout-patterns.md` | +| HTML Template | `references/html-template.md` | +| Copywriting Formulas | `references/copywriting-formulas.md` | +| Slide Strategies | `references/slide-strategies.md` | + +## Routing + +1. Parse subcommand from `$ARGUMENTS` (first word) +2. Load corresponding `references/{subcommand}.md` +3. Execute with remaining arguments diff --git a/.claude/skills/slides/references/copywriting-formulas.md b/.claude/skills/slides/references/copywriting-formulas.md new file mode 100644 index 0000000..ecf2875 --- /dev/null +++ b/.claude/skills/slides/references/copywriting-formulas.md @@ -0,0 +1,84 @@ +# Copywriting Formulas + +25 formulas for persuasive slide copy. + +## Core Formulas + +### PAS (Problem-Agitate-Solution) +**Use:** Problem slides, pain points +**Components:** Problem → Agitate → Solution +**Template:** "[Pain point]? Every [time frame], [consequence]. [Solution] fixes this." + +### AIDA (Attention-Interest-Desire-Action) +**Use:** CTAs, closing slides +**Components:** Attention → Interest → Desire → Action +**Template:** "[Bold statement]. [Benefit detail]. [Social proof]. [CTA]." + +### FAB (Features-Advantages-Benefits) +**Use:** Feature slides, product showcases +**Components:** Feature → Advantage → Benefit +**Template:** "[Feature] lets you [advantage], so you can [benefit]." + +### Cost of Inaction +**Use:** Agitation slides, urgency +**Components:** Status Quo → Loss → Time Decay +**Template:** "Without [solution], you're losing [amount] every [timeframe]." + +### Before-After-Bridge +**Use:** Transformation slides, case studies +**Components:** Before → After → Bridge +**Template:** "[Pain point before]. [Desired state after]. [Your solution] is the bridge." + +## Formula-to-Slide Mapping + +| Slide Type | Primary Formula | Emotion | +|------------|-----------------|---------| +| Title/Hook | AIDA, Hook | curiosity | +| Problem | PAS, Agitate | frustration | +| Cost/Risk | Cost of Inaction | fear | +| Solution | FAB, BAB | hope | +| Features | FAB | confidence | +| Traction | Proof Stack | trust | +| Social Proof | Testimonial | trust | +| Pricing | Value Stack | confidence | +| CTA | AIDA, Urgency | urgency | + +## Headline Patterns + +### Power Words +- "Stop [bad thing]" +- "Get [desired result] in [timeframe]" +- "The [adjective] way to [action]" +- "Why [audience] choose [product]" +- "[Number] ways to [achieve goal]" + +### Contrast Patterns +- "[Old way] is dead. Meet [new way]." +- "Don't [bad action]. Instead, [good action]." +- "From [pain point] to [benefit]." + +### Social Proof Patterns +- "[Number]+ [users/companies] trust [product]" +- "Join [notable company] and [notable company]" +- "As seen in [publication]" + +## Search Commands + +```bash +# Find formula for slide type +python .claude/skills/design-system/scripts/search-slides.py "problem agitation" -d copy + +# Get emotion-appropriate formula +python .claude/skills/design-system/scripts/search-slides.py "urgency cta" -d copy +``` + +## Quick Reference + +| Need | Use Formula | +|------|------------| +| Create urgency | Cost of Inaction, Scarcity | +| Build trust | Social Proof, Testimonial | +| Show value | FAB, Value Stack | +| Drive action | AIDA, CTA | +| Tell story | BAB, Story Arc | +| Present data | Proof Stack | diff --git a/.claude/skills/slides/references/create.md b/.claude/skills/slides/references/create.md new file mode 100644 index 0000000..55b79a1 --- /dev/null +++ b/.claude/skills/slides/references/create.md @@ -0,0 +1,4 @@ +Invoke `slides` skill to create persuasive HTML slides using design tokens, Chart.js, and the slide knowledge database. + +## Task +$ARGUMENTS diff --git a/.claude/skills/slides/references/html-template.md b/.claude/skills/slides/references/html-template.md new file mode 100644 index 0000000..8b5a178 --- /dev/null +++ b/.claude/skills/slides/references/html-template.md @@ -0,0 +1,295 @@ +# HTML Slide Template + +Complete HTML structure with navigation, tokens, and Chart.js integration. + +## Base Structure + +```html + + + + + + Presentation Title + + + + + +
+ + +
+ + +
+
+

Title Slide

+

Subtitle or tagline

+
+
+ + + +
+ + + + + + + +``` + +## Chart.js Integration + +```html +
+ +
+ + +``` + +## Animation Classes + +```css +/* Fade Up */ +.animate-fade-up { + animation: fadeUp 0.6s ease-out forwards; + opacity: 0; +} +@keyframes fadeUp { + from { opacity: 0; transform: translateY(30px); } + to { opacity: 1; transform: translateY(0); } +} + +/* Count Animation */ +.animate-count { animation: countUp 1s ease-out forwards; } + +/* Scale */ +.animate-scale { + animation: scaleIn 0.5s ease-out forwards; +} +@keyframes scaleIn { + from { opacity: 0; transform: scale(0.9); } + to { opacity: 1; transform: scale(1); } +} + +/* Stagger Children */ +.animate-stagger > * { + opacity: 0; + animation: fadeUp 0.5s ease-out forwards; +} +.animate-stagger > *:nth-child(1) { animation-delay: 0.1s; } +.animate-stagger > *:nth-child(2) { animation-delay: 0.2s; } +.animate-stagger > *:nth-child(3) { animation-delay: 0.3s; } +.animate-stagger > *:nth-child(4) { animation-delay: 0.4s; } +``` + +## Background Images + +```html +
+
+
+ +
+
+``` + +## CSS Variables Reference + +| Variable | Usage | +|----------|-------| +| `--color-primary` | Brand primary (CTA, highlights) | +| `--color-background` | Slide background | +| `--color-secondary` | Secondary elements | +| `--primitive-gradient-primary` | Title gradients | +| `--typography-font-heading` | Headlines | +| `--typography-font-body` | Body text | diff --git a/.claude/skills/slides/references/layout-patterns.md b/.claude/skills/slides/references/layout-patterns.md new file mode 100644 index 0000000..e2b3849 --- /dev/null +++ b/.claude/skills/slides/references/layout-patterns.md @@ -0,0 +1,137 @@ +# Layout Patterns + +25 slide layouts with CSS structures and animation classes. + +## Layout Selection by Use Case + +| Layout | Use Case | Animation | +|--------|----------|-----------| +| Title Slide | Opening/first impression | `animate-fade-up` | +| Problem Statement | Establish pain point | `animate-stagger` | +| Solution Overview | Introduce solution | `animate-scale` | +| Feature Grid | Show capabilities (3-6 cards) | `animate-stagger` | +| Metrics Dashboard | Display KPIs (3-4 metrics) | `animate-stagger-scale` | +| Comparison Table | Compare options | `animate-fade-up` | +| Timeline Flow | Show progression | `animate-stagger` | +| Team Grid | Introduce people | `animate-stagger` | +| Quote Testimonial | Customer endorsement | `animate-fade-up` | +| Two Column Split | Compare/contrast | `animate-fade-up` | +| Big Number Hero | Single powerful metric | `animate-count` | +| Product Screenshot | Show product UI | `animate-scale` | +| Pricing Cards | Present tiers | `animate-stagger` | +| CTA Closing | Drive action | `animate-pulse` | + +## CSS Structures + +### Title Slide +```css +.slide-title { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + text-align: center; +} +``` + +### Two Column Split +```css +.slide-split { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 48px; + align-items: center; +} +@media (max-width: 768px) { + .slide-split { grid-template-columns: 1fr; gap: 24px; } +} +``` + +### Feature Grid (3 columns) +```css +.slide-features { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 24px; +} +@media (max-width: 768px) { + .slide-features { grid-template-columns: repeat(2, 1fr); gap: 16px; } +} +@media (max-width: 480px) { + .slide-features { grid-template-columns: 1fr; } +} +``` + +### Metrics Dashboard (4 columns) +```css +.slide-metrics { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 16px; +} +@media (max-width: 768px) { + .slide-metrics { grid-template-columns: repeat(2, 1fr); } +} +@media (max-width: 480px) { + .slide-metrics { grid-template-columns: 1fr; } +} +``` + +## Component Variants + +### Card Styles +| Style | CSS Class | Use For | +|-------|-----------|---------| +| Icon Left | `.card-icon-left` | Features with icons | +| Accent Bar | `.card-accent-bar` | Highlighted features | +| Metric Card | `.card-metric` | Numbers/stats | +| Avatar Card | `.card-avatar` | Team members | +| Pricing Card | `.card-pricing` | Price tiers | + +### Metric Styles +| Style | Effect | +|-------|--------| +| `gradient-number` | Gradient text on numbers | +| `oversized` | Extra large (120px+) | +| `sparkline` | Small inline chart | +| `funnel-numbers` | Conversion stages | + +## Visual Treatments + +| Treatment | When to Use | +|-----------|-------------| +| `gradient-glow` | Title slides, CTAs | +| `subtle-border` | Problem statements | +| `icon-top` | Feature grids | +| `screenshot-shadow` | Product screenshots | +| `popular-highlight` | Pricing (scale 1.05) | +| `bg-overlay` | Background images | +| `contrast-pair` | Before/after | +| `logo-grayscale` | Client logos | + +## Search Commands + +```bash +# Find layout for specific use +python .claude/skills/design-system/scripts/search-slides.py "metrics dashboard" -d layout + +# Contextual recommendation +python .claude/skills/design-system/scripts/search-slides.py "traction slide" \ + --context --position 4 --total 10 +``` + +## Layout Decision Flow + +``` +1. What's the slide goal? + └─> Search layout-logic.csv + +2. What emotion should it trigger? + └─> Search color-logic.csv + +3. What's the content type? + └─> Search typography.csv + +4. Should it break pattern? + └─> Check position (1/3, 2/3) → Use full-bleed +``` diff --git a/.claude/skills/slides/references/slide-strategies.md b/.claude/skills/slides/references/slide-strategies.md new file mode 100644 index 0000000..e004fe1 --- /dev/null +++ b/.claude/skills/slides/references/slide-strategies.md @@ -0,0 +1,94 @@ +# Slide Strategies + +15 proven deck structures with emotion arcs. + +## Strategy Selection + +| Strategy | Slides | Goal | Audience | +|----------|--------|------|----------| +| YC Seed Deck | 10-12 | Raise seed funding | VCs | +| Guy Kawasaki | 10 | Pitch in 20 min | Investors | +| Series A | 12-15 | Raise Series A | Growth VCs | +| Product Demo | 5-8 | Demonstrate value | Prospects | +| Sales Pitch | 7-10 | Close deal | Qualified leads | +| Nancy Duarte Sparkline | Varies | Transform perspective | Any | +| Problem-Solution-Benefit | 3-5 | Quick persuasion | Time-pressed | +| QBR | 10-15 | Update stakeholders | Leadership | +| Team All-Hands | 8-12 | Align team | Employees | +| Conference Talk | 15-25 | Thought leadership | Attendees | +| Workshop | 20-40 | Teach skills | Learners | +| Case Study | 8-12 | Prove value | Prospects | +| Competitive Analysis | 6-10 | Strategic decisions | Internal | +| Board Meeting | 15-20 | Update board | Directors | +| Webinar | 20-30 | Generate leads | Registrants | + +## Common Structures + +### YC Seed Deck (10 slides) +1. Title/Hook +2. Problem +3. Solution +4. Traction +5. Market +6. Product +7. Business Model +8. Team +9. Financials +10. The Ask + +**Emotion arc:** curiosity→frustration→hope→confidence→trust→urgency + +### Sales Pitch (9 slides) +1. Personalized Hook +2. Their Problem +3. Cost of Inaction +4. Your Solution +5. Proof/Case Studies +6. Differentiators +7. Pricing/ROI +8. Objection Handling +9. CTA + Next Steps + +**Emotion arc:** connection→frustration→fear→hope→trust→confidence→urgency + +### Product Demo (6 slides) +1. Hook/Problem +2. Solution Overview +3. Live Demo/Screenshots +4. Key Features +5. Benefits/Pricing +6. CTA + +**Emotion arc:** curiosity→frustration→hope→confidence→urgency + +## Duarte Sparkline Pattern + +Alternate between "What Is" (current pain) and "What Could Be" (better future): + +``` +What Is → What Could Be → What Is → What Could Be → New Bliss +(pain) (hope) (pain) (hope) (resolution) +``` + +Pattern breaks at 1/3 and 2/3 positions create engagement peaks. + +## Search Commands + +```bash +# Find strategy by goal +python .claude/skills/design-system/scripts/search-slides.py "investor pitch" -d strategy + +# Get emotion arc +python .claude/skills/design-system/scripts/search-slides.py "series a funding" -d strategy --json +``` + +## Matching Strategy to Context + +| Context | Recommended Strategy | +|---------|---------------------| +| Raising money | YC Seed, Series A, Guy Kawasaki | +| Selling product | Sales Pitch, Product Demo | +| Internal update | QBR, All-Hands, Board Meeting | +| Public speaking | Conference Talk, Workshop | +| Proving value | Case Study, Competitive Analysis | +| Lead generation | Webinar |