Apply 100 distinct design styles to AI-generated presentations and websites using Claude Code's design-pick skill
Scanned 9/8/2026
Install to Claude Code
npx -y skills add Aradotso/design-skills --skill design-diversity-catalog --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Design Diversity Catalog?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/aradotso-design-diversity-catalog)More formats (shields.io, HTML) on the badges page.
---
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.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!