frontend-design

lukpan/portfolio

Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.

0 stars
0 forks
MDX
39 views

SKILL.md


name: frontend-design description: Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics. license: Complete terms in LICENSE.txt

This skill guides creation of distinctive, production-grade frontend interfaces that avoid generic "AI slop" aesthetics. Implement real working code with exceptional attention to aesthetic details and creative choices.

The user provides frontend requirements: a component, page, application, or interface to build. They may include context about the purpose, audience, or technical constraints.

Design Thinking

Before coding, understand the context and commit to a BOLD aesthetic direction:

  • Purpose: What problem does this interface solve? Who uses it?
  • Tone: Pick an extreme: brutally minimal, maximalist chaos, retro-futuristic, organic/natural, luxury/refined, playful/toy-like, editorial/magazine, brutalist/raw, art deco/geometric, soft/pastel, industrial/utilitarian, etc. There are so many flavors to choose from. Use these for inspiration but design one that is true to the aesthetic direction.
  • Constraints: Technical requirements (framework, performance, accessibility).
  • Differentiation: What makes this UNFORGETTABLE? What's the one thing someone will remember?

CRITICAL: Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work - the key is intentionality, not intensity.

Then implement working code (HTML/CSS/JS, React, Vue, etc.) that is:

  • Production-grade and functional
  • Visually striking and memorable
  • Cohesive with a clear aesthetic point-of-view
  • Meticulously refined in every detail

Frontend Aesthetics Guidelines

Focus on:

  • Typography: Choose fonts that are beautiful, unique, and interesting. Avoid generic fonts like Arial and Inter; opt instead for distinctive choices that elevate the frontend's aesthetics; unexpected, characterful font choices. Pair a distinctive display font with a refined body font.
  • Color & Theme: Commit to a cohesive aesthetic. Use CSS variables for consistency. Dominant colors with sharp accents outperform timid, evenly-distributed palettes.
  • Motion: Use animations for effects and micro-interactions. Prioritize CSS-only solutions for HTML. Use Motion library for React when available. Focus on high-impact moments: one well-orchestrated page load with staggered reveals (animation-delay) creates more delight than scattered micro-interactions. Use scroll-triggering and hover states that surprise.
  • Spatial Composition: Unexpected layouts. Asymmetry. Overlap. Diagonal flow. Grid-breaking elements. Generous negative space OR controlled density.
  • Backgrounds & Visual Details: Create atmosphere and depth rather than defaulting to solid colors. Add contextual effects and textures that match the overall aesthetic. Apply creative forms like gradient meshes, noise textures, geometric patterns, layered transparencies, dramatic shadows, decorative borders, custom cursors, and grain overlays.

NEVER use generic AI-generated aesthetics like overused font families (Inter, Roboto, Arial, system fonts), cliched color schemes (particularly purple gradients on white backgrounds), predictable layouts and component patterns, and cookie-cutter design that lacks context-specific character.

Interpret creatively and make unexpected choices that feel genuinely designed for the context. No design should be the same. Vary between light and dark themes, different fonts, different aesthetics. NEVER converge on common choices (Space Grotesk, for example) across generations.

IMPORTANT: Match implementation complexity to the aesthetic vision. Maximalist designs need elaborate code with extensive animations and effects. Minimalist or refined designs need restraint, precision, and careful attention to spacing, typography, and subtle details. Elegance comes from executing the vision well.

Remember: Claude is capable of extraordinary creative work. Don't hold back, show what can truly be created when thinking outside the box and committing fully to a distinctive vision.

README

Luke Panaccio Portfolio

A modern, responsive portfolio site built with Astro, showcasing instructional design and AI-powered learning projects.

🚀 Tech Stack

  • Framework: Astro
  • Styling: Tailwind CSS
  • Content: MDX (Markdown with Components)
  • Deployment: GitHub Pages

📁 Project Structure

luke-portfolio/
├── src/
│   ├── components/       # UI Components (Header, Footer, ProjectCard)
│   ├── layouts/          # Page layouts (Layout, ProjectLayout)
│   ├── pages/            # Routes
│   │   ├── projects/     # Project content files (.mdx)
│   │   ├── index.astro   # Homepage (contains project list data)
│   │   └── about.astro   # About page content
│   └── styles/           # Global styles
├── public/               # Static assets (images, resume PDF)
└── astro.config.mjs      # Configuration

🛠️ Maintenance Guide

1. Adding a New Portfolio Page

  1. Create the Content File:

    • Duplicate an existing project file in src/pages/projects/ (e.g., zen-electron.mdx).
    • Rename it to your new project slug (e.g., new-project.mdx).
    • Update the frontmatter (top section between ---) with the new project details.
    • Write your content using Markdown/MDX below the frontmatter.
  2. Add to Homepage List:

    • Open src/pages/index.astro.
    • Locate the projects array in the frontmatter script.
    • Add a new object to the array:
      {
        title: 'New Project Title',
        description: 'Short description for the card.',
        image: '/portfolio/images/new-project-hero.webp', // Make sure image exists in public/images/
        href: '/portfolio/projects/new-project', // Matches the filename created in step 1
        tags: ['Tag1', 'Tag2']
      },
      

2. Changing the Featured Project

  1. Open src/pages/index.astro.
  2. Locate the featuredProject object in the frontmatter.
  3. Update the fields (title, description, image, href, tags) to point to the project you want to highlight.

3. Updating "About Me"

  • Bio & Story: Edit the text within the <section> tags in src/pages/about.astro.
  • Timeline: Update the timeline array in the frontmatter of src/pages/about.astro.

4. Updating Resume

  1. Place your new PDF (e.g., luke-cv-2026.pdf) in the public/ folder.
  2. Open src/components/Footer.astro.
  3. Find the "Resume" link in the Quick Links section and update the href to point to the new filename.

5. Updating Contact Details

Contact details appear in two places:

  1. Footer: Edit src/components/Footer.astro (check the socialLinks array and the email link at the bottom).
  2. About Page: Edit src/pages/about.astro (check the "Let's work together" section).

🎨 Frontend Refresh Advice

You can significantly change the look and feel of the site without touching the content (MDX files) or the data structures.

  1. Theme & Colors:

    • Edit tailwind.config.mjs to change the color palette (colors object). This will globally update the primary, secondary, and accent colors used throughout the site.
    • Update the CSS variables in the <style> block in src/layouts/Layout.astro (or src/styles/global.css if you extract them).
  2. Typography:

    • Change the fonts imported in src/layouts/Layout.astro.
    • Update the fontFamily settings in tailwind.config.mjs.
  3. Layout & Components:

    • Modify src/components/ProjectCard.astro to change how project cards look (e.g., different hover effects, layout).
    • Update src/layouts/ProjectLayout.astro to redesign the project detail pages (e.g., wider text column, different hero section).
  4. Animations:

    • Astro supports View Transitions. You can enable them in src/layouts/Layout.astro for smooth navigation between pages.
    • Add scroll animations using libraries like aos or simple CSS intersection observers in your components.

🚀 Development

# Install dependencies
npm install

# Start dev server
npm run dev

# Build for production
npm run build