Claude-skill-registry design-brand
Use this skill when creating UI components, writing copy, designing layouts, or making any visual/brand decisions for the Planted website. Ensures consistency with Planted's challenger brand voice (inspired by Oatly's approach) and the established design system.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/design-brand" ~/.claude/skills/majiayu000-claude-skill-registry-design-brand && rm -rf "$T"
skills/data/design-brand/SKILL.mdPlanted Design & Brand System
This skill codifies Planted's visual identity and brand voice. Use it whenever making design decisions, writing copy, or creating new UI components.
Brand Philosophy: The Planted Way
Planted follows a challenger brand approach inspired by John Schoolcraft's work at Oatly. We're not a faceless corporation with a logo - we're humans talking to humans about making food choices that are good for bodies and planet.
Core Principles
-
Be Human, Not a Logo
- Write like a person, not a brand guideline
- Self-deprecating humor > corporate polish
- Transparency about imperfections builds trust
-
Consistently Inconsistent
- There's consistency in our inconsistency
- Oscillate between scientific facts and playful absurdity
- Keep people engaged with the unexpected
-
Entertainment First, Preaching Never
- Make sustainability the fun choice, not the guilt choice
- Lead with entertainment, embed the message
- 90% funny, 10% serious (the exact ratio is classified)
-
Show, Don't Tell
- Prove things through action, not claims
- Data and transparency > marketing speak
- If we're not good at something, say it before critics do
Visual Design System
Color Palette
/* Primary Brand Colors */ --planted-purple: #61269E; /* Trust, authority, premium feel */ --planted-purple-dark: #4A1D7A; /* Hover states, depth */ --planted-green: #8BC53F; /* Action, growth, vitality */ --planted-cream: #FFF8F0; /* Warmth, background, approachability */ /* Accent Colors */ --planted-pink: #FF69B4; /* Playfulness, surprise */ --planted-orange: #FF8C42; /* Energy, appetite appeal */ /* Neutral Colors */ --planted-charcoal: #2D2D2D; /* Text on light backgrounds */ --planted-black: #1A1A1A; /* Primary text */ --planted-white: #FFFFFF; /* Cards, contrast */ /* Semantic Usage */ --planted-action: var(--planted-green); /* CTAs, success states */ --planted-trust: var(--planted-purple); /* Primary brand moments */ --planted-warmth: var(--planted-cream); /* Backgrounds, approachability */
Typography
Display & Headlines: VC Henrietta (serif)
- Hero text:
, line-height: 0.88clamp(3rem, 12vw, 8rem) - Page headers:
, line-height: 0.92clamp(3rem, 12vw, 6rem) - Section titles:
clamp(2rem, 8vw, 4rem) - Weight: 700, letter-spacing: -0.02em to -0.03em
Body & UI: Galano Grotesque (sans-serif)
- Body: 1rem, line-height: 1.6
- Small text: 0.85rem
- Micro text: 0.75rem
- Weight: 400 for body, 700 for emphasis
Typography Rules:
- Headlines should feel like they're breaking out of the grid
- Body copy should be readable and warm
- Mix uppercase sparingly (badges, micro-labels only)
Spacing System (8-Point Grid)
--space-xs: 0.5rem; /* 8px - tight spacing */ --space-sm: 1rem; /* 16px - default gap */ --space-md: 1.25rem; /* 20px - comfortable */ --space-lg: 1.5rem; /* 24px - section padding */ --space-xl: 2rem; /* 32px - major sections */ --space-2xl: 3rem; /* 48px - hero spacing */ --space-3xl: 4rem; /* 64px - page sections */ --space-4xl: 5rem; /* 80px - major breaks */ --space-5xl: 6rem; /* 96px - hero areas */
Border Radius
- Buttons:
(pill shape)100px - Cards:
(20px)1.25rem - Badges:
(pill)100px - Images in cards: Match card radius or slightly less
Shadows
/* Card shadow (subtle) */ box-shadow: 0 4px 20px rgba(0,0,0,0.06); /* Card hover shadow */ box-shadow: 0 16px 32px rgba(0,0,0,0.1); /* Button shadow (purple) */ box-shadow: 0 8px 24px rgba(97, 38, 158, 0.3); /* Button hover shadow */ box-shadow: 0 12px 32px rgba(97, 38, 158, 0.4); /* Green button shadow */ box-shadow: 0 8px 24px rgba(107, 191, 89, 0.4);
Animation & Motion
/* Easing curves */ --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1); /* Primary - snappy, premium */ --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); /* Symmetrical transitions */ --ease-out: cubic-bezier(0.25, 0.46, 0.45, 0.94); /* Subtle deceleration */ /* Durations */ --duration-fast: 0.2s; /* Micro-interactions */ --duration-normal: 0.3s; /* Standard transitions */ --duration-slow: 0.5s; /* Emphasis moments */
Animation Principles:
- Prefer
andtransform
for performanceopacity - Hover states:
lift effecttranslateY(-3px to -6px) - Active states:
press effectscale(0.97) - Reveals:
totranslateY(24px)
with fadetranslateY(0)
Component Patterns
Buttons
<!-- Primary (purple, for main CTAs) --> <a class="btn btn-primary">Find Products</a> <!-- Secondary (outlined, for secondary actions) --> <a class="btn btn-secondary">Learn More</a> <!-- Green (for positive actions, sustainability) --> <a class="btn btn-green">Calculate Your Impact</a>
Button Behavior:
- Hover: Lift up 3px, enhance shadow
- Active: Scale down to 97%
- Always use
border-radius (pill shape)100px - Minimum touch target: 44px
Cards
Product Cards: Dual-state reveal (packaging to dish on hover) Recipe Cards: Image zoom on hover, subtle lift Content Cards: White background, rounded corners, soft shadow
Product Card Colors
Each product has an assigned color that creates gradient backgrounds:
: #E8C4B8 to #D4A894terracotta
: #F5E6B8 to #E8D494yellow
: #C4B8E8 to #A894D4purple
: #C8D4B8 to #B4C494olive
: #D4B8C4 to #C494A8burgundy
: #B8D4D4 to #94C4C4teal
: #F5D4C8 to #E8B8A4coral
: #B8C4D4 to #94A8C4navy
: #C4E8C4 to #94D494green
: #F5D4B8 to #E8B894orange
: #F5C4C4 to #E8A4A4red
Brand Voice & Copy Guidelines
The Planted Tone
We oscillate between two modes:
Mode A: Scientific-Factual
- Data-driven statements
- Specific numbers (not vague claims)
- Transparency about process
- "Our chicken contains 24g of protein per 100g"
Mode B: Playful-Human
- Self-aware, occasionally absurd
- Acknowledges its own marketing
- Speaks like a friend, not a brand
- "You're still reading? We're flattered."
Copy Principles
-
Question Everything (Including Yourself)
- "Is this the best plant-based chicken? We think so. But we're biased."
- Self-deprecation disarms skepticism
-
Make Them Complicit
- "You actually read the fine print? Total success."
- Create a sense of shared secret/intelligence
-
Be Specific, Never Vague
- NOT: "Made with quality ingredients"
- YES: "Made with pea protein from farms in France"
-
Embrace Imperfection
- "We're working on making this better. Here's where we're at."
- Transparency about limitations builds more trust than claims of perfection
-
Entertainment as Entry Point
- Lead with the joke, embed the message
- Sustainability should feel exciting, not like homework
Headlines
Headlines should feel unexpected:
- Bold statements: "Plants That Wanted To Be Chicken"
- Questions: "What If Dinner Didn't Have Drawbacks?"
- Self-aware: "This Is Marketing (But Also True)"
- Conversational: "Hi. We Make Food From Plants."
CTAs
CTAs should be active and clear:
- "Find Planted" (not "Store Locator")
- "See All Products" (not "Browse Our Range")
- "Get Cooking" (not "View Recipes")
- "Tell Us What You Think" (not "Submit Feedback")
Forbidden Phrases
Never use:
- "Premium quality" (show it, don't say it)
- "Delicious" (subjective, let them decide)
- "Revolutionary" (let others say it)
- "100% natural" (vague and overused)
- "For a better planet" (preachy)
- "Guilt-free" (implies guilt exists)
Instead:
- Show the quality through specifics
- Describe taste with sensory details
- Explain what makes it different
- State environmental facts with data
- Frame choices as positive, not avoiding negative
Accessibility Requirements
- Touch targets: Minimum 44px
- Color contrast: Meet WCAG AA minimum
- Focus states: Visible and clear
- Motion: Respect
prefers-reduced-motion - Images: Always include meaningful alt text
Implementation Checklist
When creating new components or pages:
- Colors match the defined palette
- Typography uses correct font families and sizes
- Spacing follows the 8-point grid
- Buttons use correct styles and behaviors
- Animations use defined easing curves
- Copy follows voice guidelines
- Accessibility requirements met
- Mobile-first responsive approach
Reference Files
- CSS variables and shared stylesplanted-astro/src/styles/global.css
- Font declarationsplanted-astro/src/layouts/Layout.astro- This document for brand voice and design rationale