Skip to main content

frontend-dev

Full-stack frontend development combining premium UI design, cinematic animations, AI-generated media assets, persuasive copywriting, and visual art. Builds complete, visually striking web pages with real media, advanced motion, and compelling copy. Use when: building landing pages, marketing sites, product pages, dashboards, generating media assets (image/video/audio/music), writing conversion copy, creating generative art, or implementing cinematic scroll animations.

Jump to install

Source facts

Repository
lioensky/VCPToolBox
Last source activity
August 17, 2026 at 13:01
Detected SKILL.md language
English
Stars
2,302
Forks
377

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
98 files

Showing SKILL.md

SKILL.md
Source instructions ยท Read-only preview
name
frontend-dev
description
Full-stack frontend development combining premium UI design, cinematic animations, AI-generated media assets, persuasive copywriting, and visual art. Builds complete, visually striking web pages with real media, advanced motion, and compelling copy. Use when: building landing pages, marketing sites, product pages, dashboards, generating media assets (image/video/audio/music), writing conversion copy, creating generative art, or implementing cinematic scroll animations.
license
MIT
metadata
{"version":"1.0.0","category":"frontend","sources":["Framer Motion documentation","GSAP / GreenSock documentation","Three.js documentation","Tailwind CSS documentation","React / Next.js documentation","AIDA Framework (Elmo Lewis)","p5.js documentation"]}
# Frontend Studio Build complete, production-ready frontend pages by orchestrating 5 specialized capabilities: design engineering, motion systems, AI-generated assets, persuasive copy, and generative art. ## Invocation ``` /frontend-dev <request> ``` The user provides their request as natural language (e.g. "build a landing page for a music streaming app"). ## Skill Structure ``` frontend-dev/ โ”œโ”€โ”€ SKILL.md # Core skill (this file) โ”œโ”€โ”€ scripts/ # Asset generation scripts โ”‚ โ”œโ”€โ”€ minimax_tts.py # Text-to-speech โ”‚ โ”œโ”€โ”€ minimax_music.py # Music generation โ”‚ โ”œโ”€โ”€ minimax_video.py # Video generation (async) โ”‚ โ””โ”€โ”€ minimax_image.py # Image generation โ”œโ”€โ”€ references/ # Detailed guides (read as needed) โ”‚ โ”œโ”€โ”€ minimax-cli-reference.md # CLI flags quick reference โ”‚ โ”œโ”€โ”€ asset-prompt-guide.md # Asset prompt engineering rules โ”‚ โ”œโ”€โ”€ minimax-tts-guide.md # TTS usage & voices โ”‚ โ”œโ”€โ”€ minimax-music-guide.md # Music prompts & lyrics format โ”‚ โ”œโ”€โ”€ minimax-video-guide.md # Camera commands & models โ”‚ โ”œโ”€โ”€ minimax-image-guide.md # Ratios & batch generation โ”‚ โ”œโ”€โ”€ minimax-voice-catalog.md # All voice IDs โ”‚ โ”œโ”€โ”€ motion-recipes.md # Animation code snippets โ”‚ โ”œโ”€โ”€ env-setup.md # Environment setup โ”‚ โ””โ”€โ”€ troubleshooting.md # Common issues โ”œโ”€โ”€ templates/ # Visual art templates โ”‚ โ”œโ”€โ”€ viewer.html # p5.js interactive art base โ”‚ โ””โ”€โ”€ generator_template.js # p5.js code reference โ””โ”€โ”€ canvas-fonts/ # Static art fonts (TTF + licenses) ``` ## Project Structure ### Assets (Universal) All frameworks use the same asset organization: ``` assets/ โ”œโ”€โ”€ images/ โ”‚ โ”œโ”€โ”€ hero-landing-1710xxx.webp โ”‚ โ”œโ”€โ”€ icon-feature-01.webp โ”‚ โ””โ”€โ”€ bg-pattern.svg โ”œโ”€โ”€ videos/ โ”‚ โ”œโ”€โ”€ hero-bg-1710xxx.mp4 โ”‚ โ””โ”€โ”€ demo-preview.mp4 โ””โ”€โ”€ audio/ โ”œโ”€โ”€ bgm-ambient-1710xxx.mp3 โ””โ”€โ”€ tts-intro-1710xxx.mp3 ``` **Asset naming:** `{type}-{descriptor}-{timestamp}.{ext}` ### By Framework | Framework | Asset Location | Component Location | |-----------|---------------|-------------------| | **Pure HTML** | `./assets/` | N/A (inline or `./js/`) | | **React/Next.js** | `public/assets/` | `src/components/` | | **Vue/Nuxt** | `public/assets/` | `src/components/` | | **Svelte/SvelteKit** | `static/assets/` | `src/lib/components/` | | **Astro** | `public/assets/` | `src/components/` | ### Pure HTML ``` project/ โ”œโ”€โ”€ index.html โ”œโ”€โ”€ assets/ โ”‚ โ”œโ”€โ”€ images/ โ”‚ โ”œโ”€โ”€ videos/ โ”‚ โ””โ”€โ”€ audio/ โ”œโ”€โ”€ css/ โ”‚ โ””โ”€โ”€ styles.css โ””โ”€โ”€ js/ โ””โ”€โ”€ main.js # Animations (GSAP/vanilla) ``` ### React / Next.js ``` project/ โ”œโ”€โ”€ public/assets/ # Static assets โ”œโ”€โ”€ src/ โ”‚ โ”œโ”€โ”€ components/ โ”‚ โ”‚ โ”œโ”€โ”€ ui/ # Button, Card, Input โ”‚ โ”‚ โ”œโ”€โ”€ sections/ # Hero, Features, CTA โ”‚ โ”‚ โ””โ”€โ”€ motion/ # RevealSection, StaggerGrid โ”‚ โ”œโ”€โ”€ lib/ โ”‚ โ”œโ”€โ”€ styles/ โ”‚ โ””โ”€โ”€ app/ # Pages โ””โ”€โ”€ package.json ``` ### Vue / Nuxt ``` project/ โ”œโ”€โ”€ public/assets/ โ”œโ”€โ”€ src/ # or root for Nuxt โ”‚ โ”œโ”€โ”€ components/ โ”‚ โ”‚ โ”œโ”€โ”€ ui/ โ”‚ โ”‚ โ”œโ”€โ”€ sections/ โ”‚ โ”‚ โ””โ”€โ”€ motion/ โ”‚ โ”œโ”€โ”€ composables/ # Shared logic โ”‚ โ”œโ”€โ”€ pages/ โ”‚ โ””โ”€โ”€ assets/ # Processed assets (optional) โ””โ”€โ”€ package.json ``` ### Astro ``` project/ โ”œโ”€โ”€ public/assets/ โ”œโ”€โ”€ src/ โ”‚ โ”œโ”€โ”€ components/ # .astro, .tsx, .vue, .svelte โ”‚ โ”œโ”€โ”€ layouts/ โ”‚ โ”œโ”€โ”€ pages/ โ”‚ โ””โ”€โ”€ styles/ โ””โ”€โ”€ package.json ``` **Component naming:** PascalCase (`HeroSection.tsx`, `HeroSection.vue`, `HeroSection.astro`) --- ## Compliance **All rules in this skill are mandatory. Violating any rule is a blocking error โ€” fix before proceeding or delivering.** --- ## Workflow ### Phase 1: Design Architecture 1. Analyze the request โ€” determine page type and context 2. Set design dials based on page type 3. Plan layout sections and identify asset needs ### Phase 2: Motion Architecture 1. Select animation tools per section (see Tool Selection Matrix) 2. Plan motion sequences following performance guardrails ### Phase 3: Asset Generation Generate all image/video/audio assets using `scripts/`. NEVER use placeholder URLs (unsplash, picsum, placeholder.com, via.placeholder, placehold.co, etc.) or external URLs. 1. Parse asset requirements (type, style, spec, usage) 2. Craft optimized prompts, show to user, confirm before generating 3. Execute via scripts, save to project โ€” do NOT proceed to Phase 5 until all assets are saved locally ### Phase 4: Copywriting & Content Follow copywriting frameworks (AIDA, PAS, FAB) to craft all text content. Do NOT use "Lorem ipsum" โ€” write real copy. ### Phase 5: Build UI Scaffold the project and build each section following Design and Motion rules. Integrate generated assets and copy. All `<img>`, `<video>`, `<source>`, and CSS `background-image` MUST reference local assets from Phase 3. ### Phase 6: Quality Gates Run final checklist (see Quality Gates section). --- # 1. Design Engineering ## 1.1 Baseline Configuration | Dial | Default | Range | |------|---------|-------| | DESIGN_VARIANCE | 8 | 1=Symmetry, 10=Asymmetric | | MOTION_INTENSITY | 6 | 1=Static, 10=Cinematic | | VISUAL_DENSITY | 4 | 1=Airy, 10=Packed | Adapt dynamically based on user requests. ## 1.2 Architecture Conventions - **DEPENDENCY VERIFICATION:** Check `package.json` before importing any library. Output install command if missing. - **Framework:** React/Next.js. Default to Server Components. Interactive components must be isolated `"use client"` leaf components. - **Styling:** Tailwind CSS. Check version in `package.json` โ€” NEVER mix v3/v4 syntax. - **ANTI-EMOJI POLICY:** NEVER use emojis anywhere. Use Phosphor or Radix icons only. - **Viewport:** Use `min-h-[100dvh]` not `h-screen`. Use CSS Grid not flex percentage math. - **Layout:** `max-w-[1400px] mx-auto` or `max-w-7xl`. ## 1.3 Design Rules | Rule | Directive | |------|-----------| | Typography | Headlines: `text-4xl md:text-6xl tracking-tighter`. Body: `text-base leading-relaxed max-w-[65ch]`. **NEVER** use Inter โ€” use Geist/Outfit/Satoshi. **NEVER** use Serif on dashboards. | | Color | Max 1 accent, saturation < 80%. **NEVER** use AI purple/blue. Stick to one palette. | | Layout | **NEVER** use centered heroes when VARIANCE > 4. Force split-screen or asymmetric layouts. | | Cards | **NEVER** use generic cards when DENSITY > 7. Use `border-t`, `divide-y`, or spacing. | | States | **ALWAYS** implement: Loading (skeleton), Empty, Error, Tactile feedback (`scale-[0.98]`). | | Forms | Label above input. Error below. `gap-2` for input blocks. | ## 1.4 Anti-Slop Techniques - **Liquid Glass:** `backdrop-blur` + `border-white/10` + `shadow-[inset_0_1px_0_rgba(255,255,255,0.1)]` - **Magnetic Buttons:** Use `useMotionValue`/`useTransform` โ€” never `useState` for continuous animations - **Perpetual Motion:** When INTENSITY > 5, add infinite micro-animations (Pulse, Float, Shimmer) - **Layout Transitions:** Use Framer `layout` and `layoutId` props - **Stagger:** Use `staggerChildren` or CSS `animation-delay: calc(var(--index) * 100ms)` ## 1.5 Forbidden Patterns | Category | Banned | |----------|--------| | Visual | Neon glows, pure black (#000), oversaturated accents, gradient text on headers, custom cursors | | Typography | Inter font, oversized H1s, Serif on dashboards | | Layout | 3-column equal card rows, floating elements with awkward gaps | | Components | Default shadcn/ui without customization | ## 1.6 Creative Arsenal | Category | Patterns | |----------|----------| | Navigation | Dock magnification, Magnetic button, Gooey menu, Dynamic island, Radial menu, Speed dial, Mega menu | | Layout | Bento grid, Masonry, Chroma grid, Split-screen scroll, Curtain reveal | | Cards | Parallax tilt, Spotlight border, Glassmorphism, Holographic foil, Swipe stack, Morphing modal | | Scroll | Sticky stack, Horizontal hijack, Locomotive sequence, Zoom parallax, Progress path, Liquid swipe | | Gallery | Dome gallery, Coverflow, Drag-to-pan, Accordion slider, Hover trail, Glitch effect | | Text | Kinetic marquee, Text mask reveal, Scramble effect, Circular path, Gradient stroke, Kinetic grid | | Micro | Particle explosion, Pull-to-refresh, Skeleton shimmer, Directional hover, Ripple click, SVG draw, Mesh gradient, Lens blur | ## 1.7 Bento Paradigm - **Palette:** Background `#f9fafb`, cards pure white with `border-slate-200/50` - **Surfaces:** `rounded-[2.5rem]`, diffusion shadow - **Typography:** Geist/Satoshi, `tracking-tight` headers - **Labels:** Outside and below cards - **Animation:** Spring physics (`stiffness: 100, damping: 20`), infinite loops, `React.memo` isolation **5-Card Archetypes:** 1. Intelligent List โ€” auto-sorting with `layoutId` 2. Command Input โ€” typewriter + blinking cursor 3. Live Status โ€” breathing indicators 4. Wide Data Stream โ€” infinite horizontal carousel 5. Contextual UI โ€” staggered highlight + float-in toolbar ## 1.8 Brand Override When brand styling is active: - Dark: `#141413`, Light: `#faf9f5`, Mid: `#b0aea5`, Subtle: `#e8e6dc` - Accents: Orange `#d97757`, Blue `#6a9bcc`, Green `#788c5d` - Fonts: Poppins (headings), Lora (body) --- # 2. Motion Engine ## 2.1 Tool Selection Matrix | Need | Tool | |------|------| | UI enter/exit/layout | **Framer Motion** โ€” `AnimatePresence`, `layoutId`, springs | | Scroll storytelling (pin, scrub) | **GSAP + ScrollTrigger** โ€” frame-accurate control | | Looping icons | **Lottie** โ€” lazy-load (~50KB) | | 3D/WebGL | **Three.js / R3F** โ€” isolated `<Canvas>`, own `"use client"` boundary | | Hover/focus states | **CSS only** โ€” zero JS cost | | Native scroll-driven | **CSS** โ€” `animation-timeline: scroll()` | **Conflict Rules [MANDATORY]:** - NEVER mix GSAP + Framer Motion in same component - R3F MUST live in isolated Canvas wrapper - ALWAYS lazy-load Lottie, GSAP, Three.js ## 2.2 Intensity Scale | Level | Techniques | |-------|------------| | 1-2 Subtle | CSS transitions only, 150-300ms | | 3-4 Smooth | CSS keyframes + Framer animate, stagger โ‰ค3 items | | 5-6 Fluid | `whileInView`, magnetic hover, parallax tilt | | 7-8 Cinematic | GSAP ScrollTrigger, pinned sections, horizontal hijack | | 9-10 Immersive | Full scroll sequences, Three.js particles, WebGL shaders | ## 2.3 Animation Recipes See `references/motion-recipes.md` for full code. Summary: | Recipe | Tool | Use For | |--------|------|---------| | Scroll Reveal | Framer | Fade+slide on viewport entry | | Stagger Grid | Framer | Sequential list animations | | Pinned Timeline | GSAP | Horizontal scroll with pinning | | Tilt Card | Framer | Mouse-tracking 3D perspective | | Magnetic Button | Framer | Cursor-attracted buttons | | Text Scramble | Vanilla | Matrix-style decode effect | | SVG Path Draw | CSS | Scroll-linked path animation | | Horizontal Scroll | GSAP | Vertical-to-horizontal hijack | | Particle Background | R3F | Decorative WebGL particles | | Layout Morph | Framer | Card-to-modal expansion | ## 2.4 Performance Rules **GPU-only properties (ONLY animate these):** `transform`, `opacity`, `filter`, `clip-path` **NEVER animate:** `width`, `height`, `top`, `left`, `margin`, `padding`, `font-size` โ€” if you need these effects, use `transform: scale()` or `clip-path` instead. **Isolation:** - Perpetual animations MUST be in `React.memo` leaf components - `will-change: transform` ONLY during animation - `contain: layout style paint` on heavy containers **Mobile:** - ALWAYS respect `prefers-reduced-motion` - ALWAYS disable parallax/3D on `pointer: coarse` - Cap particles: desktop 800, tablet 300, mobile 100 - Disable GSAP pin on mobile < 768px **Cleanup:** Every `useEffect` with GSAP/observers MUST `return () => ctx.revert()` ## 2.5 Springs & Easings | Feel | Framer Config | |------|---------------| | Snappy | `stiffness: 300, damping: 30` | | Smooth | `stiffness: 150, damping: 20` | | Bouncy | `stiffness: 100, damping: 10` | | Heavy | `stiffness: 60, damping: 20` | | CSS Easing | Value | |------------|-------|
View on GitHub
This SKILL.md is very large, so SkillsMP previews the first section here. View on GitHub