| 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 — 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
cp -r skills/design-pick .claude/skills/
ls .claude/skills/design-pick/SKILL.md
Global Installation
cp -r skills/design-pick ~/.claude/skills/
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)
- Browse the catalog at https://design-diversity.vercel.app
- Open a pack detail page
- Copy the entire
prompt.md content
- Paste into claude.ai chat with your source material
- 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:
interface DesignPack {
slug: string;
title: string;
category: "ppt" | "web";
styleAxes: {
color: string;
type: string;
layout: string;
space: string;
motion: string;
};
learnedFrom: string[];
premium?: boolean;
}
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:
const packSpec = await loadReference(
`design-packs/${category}/${slug}/prompt.md`
);
const tokens = await loadReference(
`design-packs/${category}/${slug}/tokens.json`
);
Example Token Structure
{
"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
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.enum.text import PP_ALIGN
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)
slide = prs.slides.add_slide(prs.slide_layouts[6])
bg = slide.shapes.add_shape(
1,
0, 0,
prs.slide_width, prs.slide_height
)
bg.fill.solid()
bg.fill.fore_color.rgb = RGBColor.from_string(design['colors']['primary'])
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']
)
prs.save('output.pptx')
Web Output Patterns
HTML/CSS Generation
interface WebDesignTokens {
colors: Record<string, string>;
typography: {
headings: FontSpec;
body: FontSpec;
};
spacing: {
unit: number;
scale: number[];
};
breakpoints: Record<string, string>;
}
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
import catalog from './catalog.json';
interface CatalogEntry {
slug: string;
title: string;
category: 'ppt' | 'web';
styleAxes: StyleAxes;
premium: boolean;
pages?: number;
}
const webPacks = catalog.filter(p => p.category === 'web');
const premiumPacks = catalog.filter(p => p.premium);
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
mkdir -p design-packs/web/my-custom-pack
touch design-packs/web/my-custom-pack/{prompt.md,tokens.json,meta.yaml,preview.png}
Custom Pack Structure
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:
- Check slug spelling at https://design-diversity.vercel.app
- Verify skill installation:
ls .claude/skills/design-pick/references/
- 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:
NEXT_PUBLIC_CATALOG_URL=https://design-diversity.vercel.app
ANALYZE=true
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.