Research to Website Builder
You are building a website from research output. This skill guides domain classification, design decisions, and implementation.
Workflow
- Analyze Research → Identify domains, key insights, data points
- Load Domain Guidelines → Read relevant files from
domains/
- Load Component Specs → Read from
components/ (animations, typography, etc.)
- Create design-spec.md → Merge guidelines into unified spec
- Build Website → Implement based on design-spec.md
- Deploy → Publish and provide live URL
Domain Classification
Classify the research into 1-3 domains based on content nature and presentation needs, not keywords.
Available Domains
| Domain |
Use When Content Is... |
Design Character |
business-financial |
Corporate reports, investor materials, market analysis, professional audiences |
Professional, trustworthy, conservative |
academic-technical |
Scientific papers, technical docs, formal research with citations, methodology-focused |
Clean, structured, evidence-based |
art-creative-storytelling |
Storytelling, art, culture, nature, emotion-driven, visual narratives, humanities |
Immersive, animated, image-rich |
data-analytics |
Metrics-heavy, dashboards, quantitative analysis, charts as primary content |
Interactive, chart-focused, insight-driven |
government-policy |
Public sector, regulations, citizen-facing, accessibility-critical |
Formal, accessible, authoritative |
How to Decide
Ask these questions about the content:
What is the core purpose?
- Inform investors/professionals →
business-financial
- Present scientific findings →
academic-technical
- Tell a story, evoke emotion, explore culture →
art-creative-storytelling
- Show data trends and metrics →
data-analytics
- Communicate policy to citizens →
government-policy
How should the audience experience it?
- Read carefully, reference later →
academic-technical
- Scroll through a narrative journey →
art-creative-storytelling
- Explore data interactively →
data-analytics
- Scan for key decisions →
business-financial
What visual treatment does it need?
- Minimal, focused on text →
academic-technical
- Image-rich, atmospheric, animated →
art-creative-storytelling
- Chart-heavy, metrics prominent →
data-analytics
- Conservative, branded →
business-financial
Classification Output
Example:
domains:
primary: art-creative-storytelling # Drives overall experience
secondary: data-analytics # Adds specific capabilities
tertiary: null # Optional
rationale: |
Content explores Earth's landscapes and cultural myths - fundamentally
storytelling about human connection to nature. Needs immersive visuals
and narrative flow, not academic structure.
Domain Composition Rules
When multiple domains apply, resolve conflicts:
| Aspect |
Rule |
| Layout |
Most structured wins: Gov > Academic > Business > Data > Creative |
| Color |
Primary domain base; secondary provides accents |
| Typography |
Primary domain fonts; creative domains override display headings |
| Animation |
Additive - layer from most dynamic: Creative > Marketing > Data > others |
| Data Viz |
data-analytics rules always apply when data exists |
Required Reference Files
Before creating design-spec.md, READ these files based on classified domains:
domains/{primary-domain}.md # REQUIRED
domains/{secondary-domain}.md # If secondary exists
components/animations.md # If domain uses animations
components/typography.md # REQUIRED for all
components/color-systems.md # REQUIRED for all
components/visual-patterns.md # REQUIRED for image-heavy domains
Design Spec Template
Generate design-spec.md with this structure:
# Design Specification
## Domain Classification
- Primary: {domain}
- Secondary: {domain or none}
- Rationale: {why these domains}
## Design Direction
- Style: {e.g., "Data-driven storytelling with investor-grade polish"}
- Mood: {e.g., "Confident, transparent, forward-looking"}
## Color System
- Background: {hex}
- Primary: {hex}
- Secondary: {hex}
- Accent: {hex}
- Data Palette: [{hex array for charts}]
## Typography
- Display: {font} - {usage}
- Heading: {font} - {usage}
- Body: {font} - {usage}
- Mono: {font} - {usage for data}
## Layout Structure
{Section-by-section breakdown}
## Animation Plan
{Scroll behaviors, transitions, micro-interactions}
## Visual Patterns
{Selected patterns from visual-patterns.md based on domain availability}
- Pattern 1: {name} - {where/how it will be used}
- Pattern 2: {name} - {where/how it will be used}
## Data Visualization Plan
{Charts, metrics, interactive elements}
## Image Requirements
{Hero images, diagrams, icons, plus specific images needed for visual patterns}
Content Integrity Rules
The website must be a complete, accurate presentation of the research:
- Full Coverage: Extract and present ALL key findings, conclusions, and data points. The website is not a teaser.
- Data Accuracy: Numbers, statistics, and quotes must be preserved exactly. Never paraphrase data.
- Structure Mapping: Every major heading in the report should have a corresponding section on the site.
- Insight Hierarchy: Identify 3-5 most critical insights for prominent treatment (hero sections, pull quotes). Supporting details use scannable formats (cards, lists).
Image Strategy (ALL DOMAINS)
High-quality images are essential for premium websites in ALL domains, not just creative. Use image proactively.
Image Requirements by Purpose
| Purpose |
When to Use |
Examples |
| Hero/Atmospheric |
Section openers, mood setting |
Landscape for nature topic, office for business, lab for technical |
| Explanatory |
Clarify concepts, visualize abstract ideas |
infographics, process illustrations |
| Supporting |
Break up text, add visual interest |
Relevant photos between content sections |
How to Source Images
Always prioritize finding real images through search. Use AI image generation only when a suitable image cannot be found via high-quality image search.
- Image Search Tool (Primary Choice)
Use image search first for accuracy, realism, and credibility.
- Use image search first for accuracy, realism, and credibility.
- Source high-quality photography for real people, places, products, and events
- Find diagrams, charts, or infographics that explain concrete concepts
- Use official brand, company, or product images when applicable
- Prefer authentic, well-lit, high-resolution visuals
- Default rule: If a relevant, high-quality image exists, do not generate one.
- Image Generation Tool (Fallback Only)
Use AI image generation only when image search does not yield a suitable result. Appropriate use cases include:
- Abstract or conceptual ideas that lack real-world imagery
- Custom atmospheric backgrounds tailored to a specific theme or mood
- Unique hero visuals when no existing image matches the required tone or composition
- Generation is a last resort, not a replacement for image search.
- Download Remote Images (IMPORTANT)
Always download remote images to local storage before using them in the website:
- Remote URLs may become unavailable, break, or change over time
- Downloaded images ensure the website remains functional after deployment
- Store images in a local
/public/images/ or /assets/ directory
- Use relative paths in the code (e.g.,
/images/hero.jpg) instead of remote URLs
- This applies to both searched images and any external image sources
Image Placement Guidelines
- Every major section should have at least one visual element (image, chart, or diagram)
- Text-heavy sections need visual breaks every 2-3 paragraphs
- Hero sections require strong, full-bleed imagery
- Transitions between sections can use images to shift mood
Asset Rules
- Icons: Use professional React icon libraries (Lucide, Heroicons). Never use emojis. Avoid icon abuse—use icons sparingly for clarity, not decoration. Not every label needs an icon.
- Charts: Use professional libraries (Recharts, Chart.js). Never use raw chart images.
- Images: Actively source high-quality images. A website without images looks incomplete.
- Fallbacks: Only if appropriate image truly cannot be found, use abstract shapes, gradients, or typographic treatments.
Brand Color Rules
If the research is about or related to a specific organization/company (e.g., company analysis, stock report, product review, case study):
- Identify the subject: Is a company/organization the main focus or key subject of the report?
- Research brand colors: Search for their official brand guidelines, logo colors, or visual identity.
- Apply brand palette: Use their primary brand color as your primary color. Derive secondary/accent colors that complement it.
- Maintain consistency: The website should feel like it could belong to or represent that organization.
Examples:
- Stock analysis of Tesla → Use Tesla's red/black brand colors
- Case study on Spotify → Use Spotify's green brand color
- Government policy about NHS → Use NHS blue
Anti-Patterns (AVOID)
- Generic AI aesthetics (purple gradients, dark mode defaults)
- Overused fonts (Inter, Roboto, system fonts)
- Cookie-cutter layouts (hero + cards + footer)
- Decorative-only images
- Animations without purpose
- Charts without context or insight callouts
- Emojis anywhere in the UI
- Icon abuse (icons on every label, decorative icons)
- Paraphrasing or approximating data/statistics
- Ignoring brand colors when research is about a specific company/organization
Ugly Card/Box Patterns (NEVER USE)
- Colored rounded icon containers: Icons inside colored rounded squares (e.g., green box with chart icon)
- Icon on every list item: ✓ checkmarks or ✗ icons on every bullet point
- Semantic color overload: Green = good, red = bad applied to everything (cards, text, icons, backgrounds)
- Pastel tinted card backgrounds: Light green, light red, light blue card backgrounds
- Generic comparison cards: Two side-by-side cards with "pros vs cons" or "good vs bad" layout
- Colored text labels: Bright colored uppercase labels like "SUCCESS", "WARNING", "BUY", "SELL"
Instead:
- Use subtle borders or shadows for card definition
- Use whitespace and typography for hierarchy, not color
- Reserve semantic colors (green/red) for actual data changes only
- Keep backgrounds neutral (white, off-white, light gray)
- Use icons purposefully, not on every element
Tech Stack
- Framework: Next.js (TypeScript)
- Styling: TailwindCSS + shadcn/ui
- Animation: GSAP, Framer Motion, Lenis (smooth scroll)
- Charts: Recharts, Chart.js, D3.js
- Icons: Lucide, Heroicons
1---2name: research-to-website3description: Build informative websites from research reports. Transforms research output (markdown or typst/pdf) into polished, domain-appropriate websites with professional design, data visualization, and scroll-based animations. Triggers on research-to-website tasks, report visualization, or when converting research into web presentations.4---56# Research to Website Builder78You are building a website from research output. This skill guides domain classification, design decisions, and implementation.910## Workflow11121. **Analyze Research** → Identify domains, key insights, data points132. **Load Domain Guidelines** → Read relevant files from `domains/`143. **Load Component Specs** → Read from `components/` (animations, typography, etc.)154. **Create design-spec.md** → Merge guidelines into unified spec165. **Build Website** → Implement based on design-spec.md176. **Deploy** → Publish and provide live URL1819## Domain Classification2021Classify the research into 1-3 domains based on **content nature and presentation needs**, not keywords.2223### Available Domains2425| Domain | Use When Content Is... | Design Character |26|--------|------------------------|------------------|27| `business-financial` | Corporate reports, investor materials, market analysis, professional audiences | Professional, trustworthy, conservative |28| `academic-technical` | Scientific papers, technical docs, formal research with citations, methodology-focused | Clean, structured, evidence-based |29| `art-creative-storytelling` | Storytelling, art, culture, nature, emotion-driven, visual narratives, humanities | Immersive, animated, image-rich |30| `data-analytics` | Metrics-heavy, dashboards, quantitative analysis, charts as primary content | Interactive, chart-focused, insight-driven |31| `government-policy` | Public sector, regulations, citizen-facing, accessibility-critical | Formal, accessible, authoritative |3233### How to Decide3435Ask these questions about the content:36371. **What is the core purpose?**38 - Inform investors/professionals → `business-financial`39 - Present scientific findings → `academic-technical`40 - Tell a story, evoke emotion, explore culture → `art-creative-storytelling`41 - Show data trends and metrics → `data-analytics`42 - Communicate policy to citizens → `government-policy`43442. **How should the audience experience it?**45 - Read carefully, reference later → `academic-technical`46 - Scroll through a narrative journey → `art-creative-storytelling`47 - Explore data interactively → `data-analytics`48 - Scan for key decisions → `business-financial`49503. **What visual treatment does it need?**51 - Minimal, focused on text → `academic-technical`52 - Image-rich, atmospheric, animated → `art-creative-storytelling`53 - Chart-heavy, metrics prominent → `data-analytics`54 - Conservative, branded → `business-financial`5556### Classification Output5758Example:59```yaml60domains:61 primary: art-creative-storytelling # Drives overall experience62 secondary: data-analytics # Adds specific capabilities63 tertiary: null # Optional64rationale: |65 Content explores Earth's landscapes and cultural myths - fundamentally66 storytelling about human connection to nature. Needs immersive visuals67 and narrative flow, not academic structure.68```6970## Domain Composition Rules7172When multiple domains apply, resolve conflicts:7374| Aspect | Rule |75|--------|------|76| **Layout** | Most structured wins: Gov > Academic > Business > Data > Creative |77| **Color** | Primary domain base; secondary provides accents |78| **Typography** | Primary domain fonts; creative domains override display headings |79| **Animation** | Additive - layer from most dynamic: Creative > Marketing > Data > others |80| **Data Viz** | data-analytics rules always apply when data exists |8182## Required Reference Files8384Before creating design-spec.md, READ these files based on classified domains:8586```87domains/{primary-domain}.md # REQUIRED88domains/{secondary-domain}.md # If secondary exists89components/animations.md # If domain uses animations90components/typography.md # REQUIRED for all91components/color-systems.md # REQUIRED for all92components/visual-patterns.md # REQUIRED for image-heavy domains93```9495## Design Spec Template9697Generate `design-spec.md` with this structure:9899```markdown100# Design Specification101102## Domain Classification103- Primary: {domain}104- Secondary: {domain or none}105- Rationale: {why these domains}106107## Design Direction108- Style: {e.g., "Data-driven storytelling with investor-grade polish"}109- Mood: {e.g., "Confident, transparent, forward-looking"}110111## Color System112- Background: {hex}113- Primary: {hex}114- Secondary: {hex}115- Accent: {hex}116- Data Palette: [{hex array for charts}]117118## Typography119- Display: {font} - {usage}120- Heading: {font} - {usage}121- Body: {font} - {usage}122- Mono: {font} - {usage for data}123124## Layout Structure125{Section-by-section breakdown}126127## Animation Plan128{Scroll behaviors, transitions, micro-interactions}129130## Visual Patterns131{Selected patterns from visual-patterns.md based on domain availability}132- Pattern 1: {name} - {where/how it will be used}133- Pattern 2: {name} - {where/how it will be used}134135## Data Visualization Plan136{Charts, metrics, interactive elements}137138## Image Requirements139{Hero images, diagrams, icons, plus specific images needed for visual patterns}140```141142## Content Integrity Rules143144The website must be a **complete, accurate presentation** of the research:1451461. **Full Coverage**: Extract and present ALL key findings, conclusions, and data points. The website is not a teaser.1472. **Data Accuracy**: Numbers, statistics, and quotes must be preserved exactly. Never paraphrase data.1483. **Structure Mapping**: Every major heading in the report should have a corresponding section on the site.1494. **Insight Hierarchy**: Identify 3-5 most critical insights for prominent treatment (hero sections, pull quotes). Supporting details use scannable formats (cards, lists).150151## Image Strategy (ALL DOMAINS)152153**High-quality images are essential for premium websites in ALL domains**, not just creative. Use image proactively.154155### Image Requirements by Purpose156157| Purpose | When to Use | Examples |158|---------|-------------|----------|159| **Hero/Atmospheric** | Section openers, mood setting | Landscape for nature topic, office for business, lab for technical |160| **Explanatory** | Clarify concepts, visualize abstract ideas | infographics, process illustrations |161| **Supporting** | Break up text, add visual interest | Relevant photos between content sections |162163### How to Source Images164165Always prioritize finding real images through search. Use AI image generation only when a suitable image cannot be found via high-quality image search.1661671. **Image Search Tool** (Primary Choice)168169Use image search first for accuracy, realism, and credibility.170- Use image search first for accuracy, realism, and credibility.171- Source high-quality photography for real people, places, products, and events172- Find diagrams, charts, or infographics that explain concrete concepts173- Use official brand, company, or product images when applicable174- Prefer authentic, well-lit, high-resolution visuals175- Default rule: If a relevant, high-quality image exists, do not generate one.1761772. **Image Generation Tool** (Fallback Only)178179Use AI image generation only when image search does not yield a suitable result. Appropriate use cases include:180- Abstract or conceptual ideas that lack real-world imagery181- Custom atmospheric backgrounds tailored to a specific theme or mood182- Unique hero visuals when no existing image matches the required tone or composition183- Generation is a last resort, not a replacement for image search.1841853. **Download Remote Images** (IMPORTANT)186187Always download remote images to local storage before using them in the website:188- Remote URLs may become unavailable, break, or change over time189- Downloaded images ensure the website remains functional after deployment190- Store images in a local `/public/images/` or `/assets/` directory191- Use relative paths in the code (e.g., `/images/hero.jpg`) instead of remote URLs192- This applies to both searched images and any external image sources193194### Image Placement Guidelines195196- **Every major section** should have at least one visual element (image, chart, or diagram)197- **Text-heavy sections** need visual breaks every 2-3 paragraphs198- **Hero sections** require strong, full-bleed imagery199- **Transitions** between sections can use images to shift mood200201## Asset Rules2022031. **Icons**: Use professional React icon libraries (Lucide, Heroicons). **Never use emojis.** Avoid icon abuse—use icons sparingly for clarity, not decoration. Not every label needs an icon.2042. **Charts**: Use professional libraries (Recharts, Chart.js). Never use raw chart images.2053. **Images**: Actively source high-quality images. A website without images looks incomplete.2064. **Fallbacks**: Only if appropriate image truly cannot be found, use abstract shapes, gradients, or typographic treatments.207208## Brand Color Rules209210If the research is **about or related to** a specific organization/company (e.g., company analysis, stock report, product review, case study):2112121. **Identify the subject**: Is a company/organization the main focus or key subject of the report?2132. **Research brand colors**: Search for their official brand guidelines, logo colors, or visual identity.2143. **Apply brand palette**: Use their primary brand color as your primary color. Derive secondary/accent colors that complement it.2154. **Maintain consistency**: The website should feel like it could belong to or represent that organization.216217Examples:218- Stock analysis of Tesla → Use Tesla's red/black brand colors219- Case study on Spotify → Use Spotify's green brand color220- Government policy about NHS → Use NHS blue221222## Anti-Patterns (AVOID)223224- Generic AI aesthetics (purple gradients, dark mode defaults)225- Overused fonts (Inter, Roboto, system fonts)226- Cookie-cutter layouts (hero + cards + footer)227- Decorative-only images228- Animations without purpose229- Charts without context or insight callouts230- **Emojis anywhere in the UI**231- **Icon abuse** (icons on every label, decorative icons)232- Paraphrasing or approximating data/statistics233- Ignoring brand colors when research is about a specific company/organization234235### Ugly Card/Box Patterns (NEVER USE)236237- **Colored rounded icon containers**: Icons inside colored rounded squares (e.g., green box with chart icon)238- **Icon on every list item**: ✓ checkmarks or ✗ icons on every bullet point239- **Semantic color overload**: Green = good, red = bad applied to everything (cards, text, icons, backgrounds)240- **Pastel tinted card backgrounds**: Light green, light red, light blue card backgrounds241- **Generic comparison cards**: Two side-by-side cards with "pros vs cons" or "good vs bad" layout242- **Colored text labels**: Bright colored uppercase labels like "SUCCESS", "WARNING", "BUY", "SELL"243244Instead:245- Use subtle borders or shadows for card definition246- Use whitespace and typography for hierarchy, not color247- Reserve semantic colors (green/red) for actual data changes only248- Keep backgrounds neutral (white, off-white, light gray)249- Use icons purposefully, not on every element250251## Tech Stack252253- **Framework**: Next.js (TypeScript)254- **Styling**: TailwindCSS + shadcn/ui255- **Animation**: GSAP, Framer Motion, Lenis (smooth scroll)256- **Charts**: Recharts, Chart.js, D3.js257- **Icons**: Lucide, Heroicons