Agent skill
visual-upgrade
Install this agent skill to your Project
npx add-skill https://github.com/ChinchillaEnterprises/ChillSkills/tree/main/visual-upgrade
SKILL.md
Visual Upgrade Skill
Transform any generic/template website into a premium, distinctive visual experience. This skill codifies the process used on BankPro (fintech globe) and PolyShark (arcade shark) — applicable to any brand.
When to Use
- Client has a plain/template website that needs a premium facelift
- Converting a static HTML site to a modern React/Next.js app
- Adding 3D elements, glassmorphism, and animation to an existing site
Process
Phase 1: Brand Direction & ASCII Mockup (Cheap Approval Gate)
Always start here. Never skip to implementation.
- Fetch the deployed site — extract all content (sections, copy, features, pricing)
- Define brand direction — pick a visual metaphor that matches the product:
- BankPro → "Global Finance" → gold/teal, 3D globe
- PolyShark → "Deep Ocean Predator" → electric blue/cyan, arcade wireframe shark
- Pattern:
[Product Domain] → [Visual Metaphor] → [Color Palette + 3D Element]
- Propose color palette as CSS custom properties:
- Backgrounds:
--abyss,--deep,--surface(dark gradient progression) - Primary accent, secondary accent, warning
- Bull/bear or success/error states
- Glass tokens:
--glass,--glass-h,--glass-b,--glass-bh
- Backgrounds:
- Propose typography — always 3 fonts, never generic:
- Display: aggressive/distinctive (Clash Display, Sora, Space Grotesk)
- Body: clean readable (DM Sans, Inter is OK for body only)
- Mono: for data (JetBrains Mono, IBM Plex Mono, Fira Code)
- Present 2 options for 3D hero element in ASCII:
- Option A: Literal/representational (shark, globe, product screenshot)
- Option B: Abstract/geometric (wireframe, particles, orb)
- Output full ASCII wireframe showing all sections
- Wait for user approval before proceeding
Phase 2: Single-File HTML Prototype
Create a self-contained HTML file with everything inline.
Required design system (CSS variables):
:root {
/* Backgrounds */
--abyss: #0X0X0X; --deep: #0X0X0X; --surface: #0X0X0X;
/* Accents */
--primary: #XXXXXX; --secondary: #XXXXXX; --warning: #XXXXXX;
/* States */
--bullish: #00E676; --bearish: #FF5252;
/* Text */
--text-hero: #fff; --text-pri: #E0E0F0; --text-sec: #7A7A9A; --text-mute: #44445A;
/* Glass */
--glass: rgba(255,255,255,.035); --glass-h: rgba(255,255,255,.06);
--glass-b: rgba(255,255,255,.07); --glass-bh: rgba(255,255,255,.12);
/* Radius */
--r-sm: 8px; --r-md: 12px; --r-lg: 16px; --r-xl: 24px; --r-pill: 100px;
/* Fonts */
--f-display: 'XXX', sans-serif; --f-body: 'XXX', sans-serif; --f-mono: 'XXX', monospace;
}
Required elements:
- Fixed nav with backdrop-blur glass
- CSS particle layer (40+ particles, rising animation)
- 3 animated fog/blur orbs (different sizes, colors, drift speeds)
- CRT scanline overlay (subtle, ~0.4 opacity)
- Hero section: split layout (text left, 3D canvas right)
- Three.js WebGL canvas with chosen 3D element
- Live data ticker (scrolling marquee, duplicated for infinite loop)
- Glass cards for features/tools
- Scroll reveal system (IntersectionObserver + translateY + stagger delays)
- Button system:
.btn-primary(glow),.btn-glass(translucent),.btn-ghost(border) - Pricing section with featured tier highlight
- FAQ in 2-column glass grid
- Multi-column footer
- Responsive breakpoints (1060px, 640px)
File location: automations/output/[ProjectName]-v2.html
Phase 3: Blender 3D Assets (Optional)
If Blender MCP is available:
- Branded orb (PNG + MP4) — glass/holographic material
- Hero asset render — for fallback/loading state
- Background textures — caustics, gradients, patterns
Export to: automations/output/
Phase 4: Next.js Migration
Convert HTML prototype to modular React/Next.js.
Required structure:
[project]/website-next/
├── src/
│ ├── app/
│ │ ├── layout.tsx (next/font setup, metadata)
│ │ ├── page.tsx (compose all sections)
│ │ └── globals.css (minimal resets + font import)
│ ├── components/Landing/
│ │ ├── WebGL[Element].tsx (Three.js, 'use client')
│ │ ├── HeroSection.tsx ('use client' for dynamic import)
│ │ ├── [Section]Section.tsx (one per section)
│ │ ├── LandingNav.tsx
│ │ ├── LandingFooter.tsx
│ │ ├── Particles.tsx ('use client')
│ │ ├── ScrollReveal.tsx ('use client')
│ │ ├── landing.module.css (ALL styles)
│ │ ├── fonts.ts (next/font exports)
│ │ └── data/
│ │ └── [section]Data.ts (typed data arrays)
Key patterns:
- CSS Modules (not Tailwind/Emotion)
next/fontfor Google Fonts, CSS@importfor Fontsharedynamic(() => import(...), { ssr: false })for Three.js — component must be'use client'- Proper Three.js cleanup:
cancelAnimationFrame,renderer.dispose(),scene.clear() - Device pixel ratio:
Math.min(window.devicePixelRatio, 2) - IntersectionObserver scroll reveal with staggered delay classes
Phase 5: Verification Checklist
- HTML prototype opens in browser with all sections rendering
- 3D element animates (auto + mouse parallax)
- Particles float, fog drifts, scanlines visible
- Scroll reveals trigger on scroll
- Ticker scrolls infinitely
- Pricing toggle works
-
npm run buildsucceeds with zero errors -
npm run devserves correctly - Responsive: 1440px / 768px / 375px
- No generic fonts (Inter headings, system fonts)
- Glassmorphism on all cards
- Button hover states have glow/lift
Anti-Patterns to Avoid
- Using Inter/system fonts for display headings
- Flat cards without glass/blur effects
- Static pages without any animation
- Three.js without cleanup on unmount
ssr: falsein a Server Component (must be'use client')- Tailwind when the project uses CSS Modules
- Hardcoding content instead of data arrays
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
Red Team
Use this skill when the user says "red team", "stress test", "attack this", "critique this", "run the models against this", "test this plan", "refine this with AI", or wants to use external AI models to critique, validate, or improve a document, pitch, plan, or idea. Also use when the user wants to save Claude Code usage by offloading analysis to other models.
Upwork Scanner
This skill should be used when the user asks to "scan upwork", "find upwork jobs", "check upwork", "run the scanner", "look for jobs", or mentions finding freelance projects for Chinchilla AI.
Polymarket Arb Scanner
This skill should be used when the user asks to "scan polymarket", "find arb opportunities", "check polymarket arbs", "run arb scanner", "polymarket arbitrage", or mentions detecting price inefficiencies on Polymarket.
captain-update
Polymarket Copy Trader
This skill should be used when the user asks to "copy trade", "telegram bot polymarket", "follow traders", "copy polymarket", or mentions building a copy trading bot for Polymarket.
Architecture Diagram
This skill should be used when the user asks to "generate a diagram", "create an architecture diagram", "make a diagram", "draw a system diagram", or needs a branded Chinchilla AI technical diagram for proposals or documentation.
Didn't find tool you were looking for?