Skill: Design
Create a unique visual design by synthesizing from inspirations and preferences.
Philosophy
Don't follow templates. Every portfolio should feel like it was designed specifically for this person.
- Blend inspirations, don't copy them
- Let the person's story drive the design
- Be bold - safe designs are forgettable
Using Design Inspirations
If design_inspirations is provided in profile.yaml, each has attributes you can reference:
design_inspirations:
- name: "Linear"
attributes:
fontFamily: "Inter"
fontSize: 15
colorBg: "#000000"
colorAccent: "#5e6ad2"
maxWidth: 1200
sectionSpacing: 100
borderRadius: 0
# ... etc
How to Synthesize
Don't just average the values. Think about what makes each inspiration special:
Identify the essence of each inspiration
- Linear: Clean precision, subtle animations, developer-focused
- Stripe: Gradient magic, depth, polish
- Brutalist site: Raw honesty, no decoration
Find the common thread for this person
- What do their chosen inspirations say about their taste?
- What feeling should the portfolio evoke?
Create something new
- Take the typography approach from one
- The color philosophy from another
- The layout concept from a third
- But make it cohesive
Example Synthesis
User picked: Linear + Poolsuite + The Verge
- Linear → Clean typography, dark mode, precision
- Poolsuite → Playful, retro, personality
- The Verge → Bold headers, editorial feel
Synthesis: A dark, clean base (Linear) with playful accent moments (Poolsuite) and bold editorial typography (Verge). Not a mashup - a new thing.
Typography
See .agent/skills/fonts.md for font selection.
Rules: 1-2 fonts max, clear hierarchy, match the person's vibe.
Color
See .agent/skills/colors.md for palettes.
Rules: 60-30-10 ratio, good contrast, avoid purple/blue gradients.
Layout
Think Structure First
Before designing, ask:
- How much content does this person have?
- What's most important to show?
- How do visitors want to consume this?
Avoid the Resume Trap
Don't create a resume disguised as a website. The rigid hero → about → experience → education → skills → contact structure is a failure state. That's what everyone does, and it makes every portfolio feel interchangeable.
Instead, think about:
- What makes this person's story unique? Lead with that.
- What's the one thing visitors should remember? Structure around it.
- How can information flow naturally instead of being boxed into sections?
Bad: "About Me" followed by "My Experience" followed by "My Skills"
Good: A narrative that weaves work, personality, and projects together
Layout Options
| Approach |
Good For |
| Single page scroll |
Simple, narrative flow |
| Multi-page |
Lots of content, distinct sections |
| Single screen |
Minimal, high impact |
| Case study format |
Project-focused, detailed work |
| Timeline/narrative |
Career progression story |
| Interactive/exploratory |
Creative technologists |
| Conversational/story |
Personality-driven, writers |
| Work-first |
Let projects speak, minimal bio |
Breaking the Mold
Don't default to sections. Consider:
- What if there's no "About" section and the bio is woven throughout?
- What if projects aren't in a grid but in a narrative?
- What if the whole page is one big statement?
- What if experience is shown through projects instead of a job list?
- What if the contact isn't a section but integrated naturally?
Spacing & Rhythm
Principles
- Generous whitespace > cramped content
- Consistent rhythm - Pick a scale (8px, 16px, 32px, 64px) and stick to it
- Let content breathe - Especially on luxury/minimal designs
From Inspirations
If inspirations have sectionSpacing and padding attributes, use them as starting points but adjust for the content.
Animation & Motion
Based on design.animation preference (1-10):
| Level |
Approach |
| 1-3 |
Static, hover states only |
| 4-6 |
Subtle page transitions, gentle fades |
| 7-8 |
Scroll animations, choreographed entrance |
| 9-10 |
Rich motion, interactive elements |
Tools
- Tailwind transitions for simple effects
- Framer Motion for complex animations
- CSS animations for repeating motion
Preference Sliders
Creativity (1-10)
- Low: Safe, conventional, expected
- High: Experimental, surprising, risky
Simplicity (1-10)
- Low: Dense, information-rich, complex
- High: Minimal, focused, essential only
Playfulness (1-10)
- Low: Serious, professional, formal
- High: Fun, personality-driven, casual
Color Intensity (1-10)
- Low: Monochrome, muted, subtle
- High: Vibrant, bold, saturated
Making It Not Look AI-Generated
- Imperfection - Slight asymmetry, varied spacing, human touches
- Specificity - Generic = AI. Specific = human.
- Personality - Let the person's voice come through
- Unexpected choices - Do something that surprises
- Real content - No placeholders, no lorem ipsum
Execution Checklist
Before calling the design done:
1---2name: design3description: Create unique visual designs by synthesizing from inspirations and preferences. Covers typography, color, layout, spacing, and animation philosophy.4---56# Skill: Design78Create a unique visual design by synthesizing from inspirations and preferences.910---1112## Philosophy1314**Don't follow templates.** Every portfolio should feel like it was designed specifically for this person.1516- Blend inspirations, don't copy them17- Let the person's story drive the design18- Be bold - safe designs are forgettable1920---2122## Using Design Inspirations2324If `design_inspirations` is provided in profile.yaml, each has attributes you can reference:2526```yaml27design_inspirations:28 - name: "Linear"29 attributes:30 fontFamily: "Inter"31 fontSize: 1532 colorBg: "#000000"33 colorAccent: "#5e6ad2"34 maxWidth: 120035 sectionSpacing: 10036 borderRadius: 037 # ... etc38```3940### How to Synthesize4142Don't just average the values. Think about what makes each inspiration special:43441. **Identify the essence** of each inspiration45 - Linear: Clean precision, subtle animations, developer-focused46 - Stripe: Gradient magic, depth, polish47 - Brutalist site: Raw honesty, no decoration48492. **Find the common thread** for this person50 - What do their chosen inspirations say about their taste?51 - What feeling should the portfolio evoke?52533. **Create something new**54 - Take the typography approach from one55 - The color philosophy from another56 - The layout concept from a third57 - But make it cohesive5859### Example Synthesis6061User picked: Linear + Poolsuite + The Verge6263- Linear → Clean typography, dark mode, precision64- Poolsuite → Playful, retro, personality65- The Verge → Bold headers, editorial feel6667Synthesis: A dark, clean base (Linear) with playful accent moments (Poolsuite) and bold editorial typography (Verge). Not a mashup - a new thing.6869---7071## Typography7273See `.agent/skills/fonts.md` for font selection.7475**Rules**: 1-2 fonts max, clear hierarchy, match the person's vibe.7677---7879## Color8081See `.agent/skills/colors.md` for palettes.8283**Rules**: 60-30-10 ratio, good contrast, avoid purple/blue gradients.8485---8687## Layout8889### Think Structure First9091Before designing, ask:92- How much content does this person have?93- What's most important to show?94- How do visitors want to consume this?9596### Avoid the Resume Trap9798**Don't create a resume disguised as a website.** The rigid hero → about → experience → education → skills → contact structure is a failure state. That's what everyone does, and it makes every portfolio feel interchangeable.99100Instead, think about:101- **What makes this person's story unique?** Lead with that.102- **What's the one thing visitors should remember?** Structure around it.103- **How can information flow naturally** instead of being boxed into sections?104105Bad: "About Me" followed by "My Experience" followed by "My Skills"106Good: A narrative that weaves work, personality, and projects together107108### Layout Options109110| Approach | Good For |111|----------|----------|112| Single page scroll | Simple, narrative flow |113| Multi-page | Lots of content, distinct sections |114| Single screen | Minimal, high impact |115| Case study format | Project-focused, detailed work |116| Timeline/narrative | Career progression story |117| Interactive/exploratory | Creative technologists |118| Conversational/story | Personality-driven, writers |119| Work-first | Let projects speak, minimal bio |120121### Breaking the Mold122123Don't default to sections. Consider:124- What if there's no "About" section and the bio is woven throughout?125- What if projects aren't in a grid but in a narrative?126- What if the whole page is one big statement?127- What if experience is shown through projects instead of a job list?128- What if the contact isn't a section but integrated naturally?129130---131132## Spacing & Rhythm133134### Principles135136- **Generous whitespace** > cramped content137- **Consistent rhythm** - Pick a scale (8px, 16px, 32px, 64px) and stick to it138- **Let content breathe** - Especially on luxury/minimal designs139140### From Inspirations141142If inspirations have `sectionSpacing` and `padding` attributes, use them as starting points but adjust for the content.143144---145146## Animation & Motion147148Based on `design.animation` preference (1-10):149150| Level | Approach |151|-------|----------|152| 1-3 | Static, hover states only |153| 4-6 | Subtle page transitions, gentle fades |154| 7-8 | Scroll animations, choreographed entrance |155| 9-10 | Rich motion, interactive elements |156157### Tools158159- Tailwind transitions for simple effects160- Framer Motion for complex animations161- CSS animations for repeating motion162163---164165## Preference Sliders166167### Creativity (1-10)168- Low: Safe, conventional, expected169- High: Experimental, surprising, risky170171### Simplicity (1-10)172- Low: Dense, information-rich, complex173- High: Minimal, focused, essential only174175### Playfulness (1-10)176- Low: Serious, professional, formal177- High: Fun, personality-driven, casual178179### Color Intensity (1-10)180- Low: Monochrome, muted, subtle181- High: Vibrant, bold, saturated182183---184185## Making It Not Look AI-Generated1861871. **Imperfection** - Slight asymmetry, varied spacing, human touches1882. **Specificity** - Generic = AI. Specific = human.1893. **Personality** - Let the person's voice come through1904. **Unexpected choices** - Do something that surprises1915. **Real content** - No placeholders, no lorem ipsum192193---194195## Execution Checklist196197Before calling the design done:198199- [ ] Typography creates clear hierarchy200- [ ] Colors work together and have meaning201- [ ] Layout serves the content (not the other way around)202- [ ] Spacing feels intentional203- [ ] Mobile experience is considered204- [ ] It doesn't look like a template205- [ ] It feels right for THIS person