skills/windows-95-web-designer/SKILL.md
Modern web applications with authentic Windows 95 aesthetic. Gradient title bars, Start menu paradigm, taskbar patterns, 3D beveled chrome. Extrapolates Win95 to AI chatbots, mobile UIs, responsive layouts. Activate on 'windows 95', 'win95', 'start menu', 'taskbar', 'retro desktop', '95 aesthetic', 'clippy'. NOT for Windows 3.1 (use windows-3-1-web-designer), vaporwave/synthwave, macOS, flat design.
npx skillsauth add curiositech/windags-skills windows-95-web-designerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Creates modern 2026 web applications with authentic Windows 95 aesthetic. Not recreating 1995—extrapolating Win95 to modern contexts: AI assistants as Clippy descendants, mobile as pocket PCs, responsive as multi-monitor.
What's the primary interaction model?
├── Chatbot/AI Assistant?
│ ├── Single conversation? → Clippy Dialog (modal over desktop)
│ ├── Multiple conversations? → MDI with chat windows
│ └── Proactive assistant? → System tray balloon + wizard dialog
│
├── Dashboard/Admin Panel?
│ ├── Multiple data views? → MDI with docked panels
│ ├── Single workflow? → Tabbed dialog
│ └── Real-time monitoring? → Desktop with updating icons
│
├── Mobile App?
│ ├── < 640px width? → Pocket PC (single window, taskbar nav)
│ ├── 640-1024px? → Laptop (cascading windows)
│ └── > 1024px? → Full desktop (multiple windows, desktop icons)
│
└── Website/Marketing?
├── Landing page? → Single maximized window
├── Multi-section? → Start menu navigation
└── Documentation? → Help system with tree navigation
Is this element interactive?
├── YES: Button, Input, or Menu?
│ ├── Primary action? → Raised 3D button (default)
│ ├── Secondary action? → Flat button
│ ├── Data entry? → Inset input field
│ └── Navigation? → Menu bar or context menu
│
└── NO: Container or Content?
├── Groups content? → Group box with etched border
├── Displays data? → List view or tree view
├── Shows progress? → Progress bar
└── Pure content? → White background, no chrome
Screen width detected:
├── < 640px (Mobile)
│ ├── Touch interface? → Pocket PC paradigm
│ │ ├── Start button: bottom-left (44px min)
│ │ ├── Navigation: taskbar with app buttons
│ │ └── Content: single modal window
│ └── Stylus interface? → Windows CE paradigm
│
├── 640-1024px (Tablet)
│ ├── Portrait? → Laptop simulation (cascading)
│ └── Landscape? → Desktop with limited windows
│
└── > 1024px (Desktop)
├── Single monitor feel? → 1024×768 window
├── Multi-monitor? → Multiple app windows
└── Kiosk mode? → Fullscreen with taskbar
box-shadow: inset -1px -1px 0 var(--win95-dark-shadow), inset 1px 1px 0 var(--win95-highlight), inset -2px -2px 0 var(--win95-shadow), inset 2px 2px 0 var(--win95-button-face);0deg or 180deg instead of 90deglinear-gradient(90deg, #000080 0%, #1084d0 100%) for horizontal flowbox-shadow: 2px 2px 0 var(--win95-dark-shadow) (no blur radius)font-family: 'Tahoma', 'Segoe UI', 'Arial', sans-serif;Novice approach: Create chat bubbles with modern messaging UI Expert approach: Apply Clippy paradigm with proactive wizard dialog
<!-- WRONG: Modern chat -->
<div class="chat-container">
<div class="message user">Hello AI</div>
<div class="message assistant">How can I help?</div>
</div>
<!-- RIGHT: Win95 AI Assistant -->
<div class="win95-dialog" id="assistant-dialog">
<div class="win95-titlebar">
<span>Office Assistant</span>
<div class="win95-controls">
<button class="win95-control-btn">−</button>
<button class="win95-control-btn">×</button>
</div>
</div>
<div class="win95-dialog-content">
<div class="assistant-character">
<img src="clippy-animation.gif" alt="Assistant" width="48" height="48">
</div>
<div class="assistant-message">
<p>It looks like you're writing a document. Would you like help?</p>
<div class="assistant-choices">
<label><input type="radio" name="help" value="writing"> Get help with writing</label>
<label><input type="radio" name="help" value="formatting"> Get help with formatting</label>
<label><input type="radio" name="help" value="none"> Just write without help</label>
</div>
</div>
</div>
<div class="win95-dialog-buttons">
<button class="win95-button win95-button-primary">OK</button>
<button class="win95-button">Cancel</button>
</div>
</div>
Key decisions navigated:
Do NOT use for:
windows-3-1-web-designer (flatter, Program Manager, no gradients)vaporwave-glassomorphic-ui-designer (neon colors, different era)native-app-designer (different design language)web-design-expert (Material, minimalist approaches)modern-windows-designer (different visual systems)game-ui-designer (different interaction paradigms)Delegate to other skills when:
data-ai
license: Apache-2.0 NOT for unrelated tasks outside this domain.
development
Use when designing caching strategies (cache-aside, write-through, write-behind), implementing distributed locks, building rate limiters, leaderboards, real-time streams (XADD/consumer groups), pub/sub, or tuning eviction policies. Triggers: thundering-herd on cache miss, dogpile on key expiry, Redlock vs SET-NX-PX choice, sliding-window rate limiter, hot-key on a single cluster slot, big-key blowup, MULTI/EXEC across slots, KEYS in production. NOT for Redis Cluster operations/admin (different domain), embedded KV (SQLite, leveldb), in-process LRU caches, or Memcached.
tools
Drawing the `'use client'` boundary correctly in React Server Components apps (Next.js App Router, RSC frameworks) — leaf-pushing, slot composition, serialization rules, and environment poisoning prevention. Grounded in react.dev and Next.js 16 docs.
development
Use when designing rate limiting for an API, choosing between token bucket / sliding window / leaky bucket / fixed window, implementing it in Redis, deciding edge (Cloudflare/Upstash) vs origin enforcement, sizing per-user vs per-IP vs per-endpoint quotas, returning the right 429 response with Retry-After, or fixing the boundary-burst bug in fixed-window limiters. Triggers: 429 too many requests, INCR + EXPIRE, ZADD + ZREMRANGEBYSCORE + ZCARD, X-RateLimit-Remaining header, Cloudflare WAF rate limiting rules, Upstash @upstash/ratelimit, leaky bucket shaping vs policing, distributed rate limiter consistency. NOT for DDoS mitigation specifically (different scale), CAPTCHA / bot management, full WAF design, or per-user quota billing.