design-diversity-catalog

Apply 100 distinct design styles to AI-generated presentations and websites using Claude Code's design-pick skill

Skill file

Preview skill file
---
name: design-diversity-catalog
description: Apply 100 distinct design styles to AI-generated presentations and websites using Claude Code's design-pick skill
triggers:
  - "use a specific design style for my presentation"
  - "apply design-pick to create a unique PPT"
  - "generate a website with a custom design pack"
  - "show me available design packs"
  - "recommend a design style for my landing page"
  - "create editable PowerPoint with professional design"
  - "build a website using velvet-dark-boutique style"
  - "what design packs are available"
---

# Design Diversity Catalog

> Skill by [ara.so](https://ara.so) — Design Skills collection.

This skill enables Claude Code to apply **100 distinct, production-ready design styles** to presentations and websites. Each design pack contains precise specifications for color, typography, layout, charts, diagrams, and anti-patterns, preventing the "AI gray slop" problem where all generated designs look identical.

## What It Does

The `design-pick` skill is a **consumer skill** that:

- Lets you specify a design pack by slug (e.g., `web-velvet-dark-boutique`) to generate styled content
- Recommends 2-3 packs when you describe a desired aesthetic (e.g., "luxury dark tone presentation")
- Bundles 100 design specifications (50 PPT + 50 web) with full color palettes, typography, spacing systems, and layout rules
- Works offline — all pack specifications are bundled in `references/`

**Key principle:** All PPT outputs must be **editable native `.pptx`** files, never full-slide PNG renders. Users must be able to edit text, shapes, and colors in PowerPoint.

## Installation

### Local Project Installation

```bash
# Install skill in current Claude Code project
cp -r skills/design-pick .claude/skills/

# Verify installation
ls .claude/skills/design-pick/SKILL.md
```

### Global Installation

```bash
# Install globally for all Claude Code projects
cp -r skills/design-pick ~/.claude/skills/

# Verify
ls ~/.claude/skills/design-pick/SKILL.md
```

## Using the Skill

### Method 1: Direct Slug Specification

Request a specific design pack by its slug:

```
Use design-pick skill to apply the web-velvet-dark-boutique pack 
and create a product landing page for my SaaS analytics tool
```

```
Apply ppt-corporate-trust-finance pack with design-pick to create 
a Q4 investor presentation from this earnings data
```

### Method 2: Natural Language Recommendation

Describe the desired aesthetic and let the skill recommend packs:

```
I need a professional consulting-style PPT for enterprise clients. 
Use design-pick to recommend and apply an appropriate pack.
```

```
Create a modern, minimalist landing page with clean typography. 
Use design-pick to suggest suitable web packs.
```

### Method 3: Without Claude Code (claude.ai)

1. Browse the catalog at https://design-diversity.vercel.app
2. Open a pack detail page
3. Copy the entire `prompt.md` content
4. Paste into claude.ai chat with your source material
5. Request:

```
Using the design specification above, create an editable native .pptx 
presentation from this outline. Ensure all text, charts, and shapes 
are editable PowerPoint objects, NOT embedded images.
```

## Design Pack Structure

Each pack includes:

```typescript
// Pack metadata structure (meta.yaml)
interface DesignPack {
  slug: string;           // e.g., "web-velvet-dark-boutique"
  title: string;
  category: "ppt" | "web";
  styleAxes: {
    color: string;        // e.g., "dark-rich"
    type: string;         // e.g., "serif-elegant"
    layout: string;       // e.g., "asymmetric-bold"
    space: string;        // e.g., "generous"
    motion: string;       // e.g., "subtle-smooth"
  };
  learnedFrom: string[];  // Open design systems studied
  premium?: boolean;      // Has 5-7 detailed pages
}
```

## Available Pack Categories

### PPT Packs (50 total)

- **Corporate:** Finance, consulting, enterprise trust
- **Creative:** Agency, portfolio, storytelling
- **Technical:** Engineering, data science, research
- **Educational:** Academic, training, workshop
- **Startup:** Pitch decks, product launches

### Web Packs (50 total)

- **E-commerce:** Product pages, boutique stores
- **SaaS:** Landing pages, dashboards, pricing
- **Portfolio:** Creative showcases, case studies
- **Marketing:** Campaign pages, lead generation
- **Content:** Editorial, blogs, documentation

## Accessing Pack Specifications

Within the skill, pack specs are loaded from:

```typescript
// Skill loads from bundled references
const packSpec = await loadReference(
  `design-packs/${category}/${slug}/prompt.md`
);

// Token data for programmatic access
const tokens = await loadReference(
  `design-packs/${category}/${slug}/tokens.json`
);
```

### Example Token Structure

```json
{
  "colors": {
    "primary": "#1a1a2e",
    "accent": "#d4af37",
    "surface": "#16213e",
    "text": {
      "primary": "#eaeaea",
      "secondary": "#a0a0a0"
    }
  },
  "typography": {
    "headings": {
      "family": "Playfair Display",
      "weight": 700,
      "tracking": "-0.02em"
    },
    "body": {
      "family": "Inter",
      "weight": 400,
      "lineHeight": 1.6
    }
  },
  "spacing": {
    "unit": 8,
    "scale": [8, 16, 24, 32, 48, 64, 96]
  }
}
```

## PPT Output Requirements

**Critical:** All PowerPoint outputs must follow these rules:

### ✅ Required

- **Native objects only:** Use `python-pptx` text boxes, shapes, tables, charts
- **Editable text:** All headings, body text, labels must be PowerPoint TextFrame objects
- **Native charts:** Use `pptx.chart` for data visualization when possible
- **Native diagrams:** Build flowcharts/diagrams with AutoShapes and connectors
- **Font embedding:** Embed custom fonts in `.pptx` so recipients see correct typography

### ❌ Prohibited

- **No full-slide PNGs:** Never render HTML/CSS to image and embed as single slide background
- **No text-in-images:** Charts and infographics must have text as separate layers
- **No uneditable renders:** User must be able to click and edit every text element

### Code Example: Creating Editable PPT

```python
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.enum.text import PP_ALIGN

# Load design pack tokens
import json
with open('tokens.json') as f:
    design = json.load(f)

prs = Presentation()
prs.slide_width = Inches(10)
prs.slide_height = Inches(7.5)

# Title slide with native text boxes
slide = prs.slides.add_slide(prs.slide_layouts[6])  # Blank layout

# Background shape (editable)
bg = slide.shapes.add_shape(
    1,  # Rectangle
    0, 0,
    prs.slide_width, prs.slide_height
)
bg.fill.solid()
bg.fill.fore_color.rgb = RGBColor.from_string(design['colors']['primary'])

# Title text box (editable)
title_box = slide.shapes.add_textbox(
    Inches(1), Inches(2.5),
    Inches(8), Inches(1.5)
)
title_frame = title_box.text_frame
title_frame.text = "Your Editable Title"
title_frame.paragraphs[0].font.name = design['typography']['headings']['family']
title_frame.paragraphs[0].font.size = Pt(54)
title_frame.paragraphs[0].font.bold = True
title_frame.paragraphs[0].font.color.rgb = RGBColor.from_string(
    design['colors']['text']['primary']
)

# Save as native .pptx
prs.save('output.pptx')
```

## Web Output Patterns

### HTML/CSS Generation

```typescript
// Apply design tokens to React/HTML
interface WebDesignTokens {
  colors: Record<string, string>;
  typography: {
    headings: FontSpec;
    body: FontSpec;
  };
  spacing: {
    unit: number;
    scale: number[];
  };
  breakpoints: Record<string, string>;
}

// Generate CSS from tokens
function generateCSS(tokens: WebDesignTokens): string {
  return `
:root {
  --color-primary: ${tokens.colors.primary};
  --color-accent: ${tokens.colors.accent};
  --font-heading: "${tokens.typography.headings.family}", serif;
  --font-body: "${tokens.typography.body.family}", sans-serif;
  --space-unit: ${tokens.spacing.unit}px;
}

h1, h2, h3 {
  font-family: var(--font-heading);
  font-weight: ${tokens.typography.headings.weight};
  letter-spacing: ${tokens.typography.headings.tracking};
}

body {
  font-family: var(--font-body);
  font-weight: ${tokens.typography.body.weight};
  line-height: ${tokens.typography.body.lineHeight};
  color: ${tokens.colors.text.primary};
  background: ${tokens.colors.surface};
}
`;
}
```

## Browsing the Catalog

### Programmatic Access

```typescript
// Load full catalog index
import catalog from './catalog.json';

interface CatalogEntry {
  slug: string;
  title: string;
  category: 'ppt' | 'web';
  styleAxes: StyleAxes;
  premium: boolean;
  pages?: number;  // Premium packs have 5-7 detailed pages
}

// Filter by category
const webPacks = catalog.filter(p => p.category === 'web');

// Find premium packs
const premiumPacks = catalog.filter(p => p.premium);

// Search by style axis
const darkPacks = catalog.filter(p => 
  p.styleAxes.color.includes('dark')
);
```

### Visual Browsing

Visit https://design-diversity.vercel.app to:

- See preview images for all 100 packs
- Filter by category (PPT/Web) and style axes
- View detailed specifications for premium packs
- Copy `prompt.md` content for claude.ai use

## Common Workflows

### Workflow 1: Quick PPT Generation

```
I have this product launch outline. Use design-pick to recommend 
a modern, bold PPT pack and generate a 10-slide deck as editable 
native PowerPoint. Include title slide, 3 feature slides, customer 
testimonial, pricing comparison table, and CTA slide.
```

### Workflow 2: Brand-Matched Web Page

```
Apply design-pick's web-velvet-dark-boutique pack to create a 
luxury product landing page. Match these brand colors: #1a1a2e, 
#d4af37. Output as single-file HTML with embedded CSS. Include 
hero section, 3-column features, testimonial carousel, and footer.
```

### Workflow 3: Multi-Pack Comparison

```
Show me 3 PPT pack recommendations for a technical architecture 
presentation to engineering leads. Compare their color schemes 
and typography. Generate a sample title slide for each so I can 
choose.
```

## Configuration

No configuration needed — packs are bundled. However, you can extend:

### Adding Custom Packs

```bash
# Create new pack directory
mkdir -p design-packs/web/my-custom-pack

# Required files
touch design-packs/web/my-custom-pack/{prompt.md,tokens.json,meta.yaml,preview.png}

# Update catalog.json
# Add entry following schema v2
```

### Custom Pack Structure

```yaml
# meta.yaml
slug: web-my-custom-pack
title: My Custom Design
category: web
styleAxes:
  color: vibrant-gradient
  type: sans-modern
  layout: grid-structured
  space: compact
  motion: dynamic
learnedFrom:
  - "Material Design"
  - "Apple Human Interface Guidelines"
premium: false
```

## Troubleshooting

### Issue: PPT comes out as images

**Symptom:** Generated `.pptx` has slides as full-page PNG images

**Solution:** Explicitly request in your prompt:
```
Create an EDITABLE NATIVE .pptx where all text, shapes, and charts 
are PowerPoint objects, NOT embedded images. I must be able to click 
and edit any text element.
```

### Issue: Design pack not found

**Symptom:** `Error: Pack 'xyz' not found in references`

**Solution:** 
1. Check slug spelling at https://design-diversity.vercel.app
2. Verify skill installation: `ls .claude/skills/design-pick/references/`
3. Ensure you're using correct category prefix (`ppt-` or `web-`)

### Issue: Fonts don't render correctly

**Symptom:** Output uses fallback fonts instead of pack's specified typography

**Solution:**
- For PPT: Request font embedding in prompt
- For Web: Ensure Google Fonts or font CDN links are included in HTML `<head>`

### Issue: Colors don't match preview

**Symptom:** Generated output has different colors than catalog preview

**Solution:** 
- Check `tokens.json` for authoritative color values
- Request: "Use exact hex codes from the pack's tokens.json"
- Verify your monitor/browser color profile isn't altering previews

## Environment Variables

No API keys required. All pack data is bundled locally.

For catalog site development:

```bash
# site/.env.local (optional)
NEXT_PUBLIC_CATALOG_URL=https://design-diversity.vercel.app
ANALYZE=true  # Enable bundle analysis
```

## Related Resources

- **Catalog Site:** https://design-diversity.vercel.app
- **Contributing Guide:** See `CONTRIBUTING.md` for submitting new packs
- **Pack Sources:** Each pack's `meta.yaml` lists learned design systems
- **License:** MIT for specs/code; see LICENSE file

---

**Remember:** The goal is **design diversity**. Every output should be visually distinct. If two generated presentations look the same, the wrong pack was chosen or the pack spec wasn't fully applied.

Source

Creator's repository · aradotso/design-skills

View on GitHub

Security

Security checks in progress
Results will appear here once audits complete
Checked by 3 independent security firms
Does it try to trick the AI?Not yet checkedPending · Gen Agent Trust Hub
Does it sneak in hidden code?Not yet checkedPending · Socket
Does it have known bugs?Not yet checkedPending · Snyk