Modern web applications with authentic Windows 3.1 aesthetic. Solid navy title bars, Program Manager navigation, beveled borders, single window controls. Extrapolates Win31 to AI chatbots (Cue Card paradigm), mobile UIs (pocket computing). Activate on 'windows 3.1', 'win31', 'program manager', 'retro desktop', '90s aesthetic', 'beveled'. NOT for Windows 95 (use windows-95-web-designer - has gradients, Start menu), vaporwave/synthwave, macOS, flat design.
npx skills add https://github.com/curiositech/some_claude_skills --skill windows-3-1-web-designer
Creates modern 2026 web applications with authentic Windows 3.1 aesthetic. Not recreating 1992—extrapolating Win31 to modern contexts: AI assistants as Cue Card systems, mobile as pocket organizers, responsive as tiled MDI windows.
Use for:
Do NOT use for:
| Feature | Windows 3.1 | Windows 95 |
|---------|-------------|------------|
| Title bar | Solid navy (#000080) | Gradient (dark→light blue) |
| Window controls | Single menu button | Three buttons (−, □, ×) |
| Navigation | Program Manager | Start Menu + Taskbar |
| Fonts | Bitmap/VT323 | MS Sans Serif, Tahoma |
| Icons | 32×32 flat | 32×32 with drop shadow |
| Depth | Bevels only | Bevels + subtle gradients |
| AI style | Cue Cards, Wizards | Clippy character |
| Color | Hex | CSS Variable | Usage |
|-------|-----|--------------|-------|
| System Gray | #c0c0c0 | --win31-gray | THE primary background |
| Dark Gray | #808080 | --win31-dark-gray | Shadows, pressed states |
| Light Gray | #dfdfdf | --win31-light-gray | Highlights |
| Navy | #000080 | --win31-navy | Title bar (SOLID, no gradient) |
| Teal | #008080 | --win31-teal | Desktop, links, highlights |
| White | #ffffff | --win31-white | Beveled highlights, inputs |
| Black | #000000 | --win31-black | Beveled shadows, borders |
THE signature Win31 element - solid navy, no gradient:
.win31-titlebar {
background: #000080; /* SOLID - never a gradient! */
color: white;
font-family: 'VT323', 'Courier New', monospace;
font-weight: bold;
font-size: 11px;
padding: 3px 6px;
display: flex;
align-items: center;
justify-content: space-between;
}
.win31-titlebar-inactive {
background: #808080; /* Solid dark gray when inactive */
}
Win31 has ONE control button (not Win95's three):
.win31-control-btn {
width: 18px;
height: 14px;
background: var(--win31-gray);
border: none;
font-size: 8px;
font-family: var(--font-pixel);
/* 3D bevel - outset */
box-shadow:
inset -1px -1px 0 var(--win31-black),
inset 1px 1px 0 var(--win31-white),
inset -2px -2px 0 var(--win31-dark-gray),
inset 2px 2px 0 var(--win31-light-gray);
}
.win31-control-btn:active {
box-shadow:
inset 1px 1px 0 var(--win31-black),
inset -1px -1px 0 var(--win31-white);
}
OUTSET (Raised) - Buttons, toolbars:
INSET (Sunken) - Text fields, content areas:
| Use | Font | Fallback | Size |
|-----|------|----------|------|
| UI Labels | VT323 | Courier New | 12px |
| Title bars | VT323 Bold | Courier New Bold | 11px |
| Headings | Press Start 2P | VT323 | 14px |
| Code | IBM Plex Mono | Courier Prime | 12px |
Web font stack:
:root {
--font-win31-ui: 'VT323', 'Courier New', monospace;
--font-win31-pixel: 'Press Start 2P', 'VT323', monospace;
--font-win31-code: 'IBM Plex Mono', 'Courier Prime', monospace;
}
Win31 would present AI as a modal wizard system, not an animated character:
┌─ AI Assistant ──────────────────────[─]─┐
│ │
│ ┌────────────────────────────────────┐ │
│ │ What would you like help with? │ │
│ │ │ │
│ │ ○ Writing a document │ │
│ │ ○ Working with files │ │
│ │ ○ Setting up your system │ │
│ │ ○ Learning Windows basics │ │
│ └────────────────────────────────────┘ │
│ │
│ [ OK ] [ Cancel ] [ Help ] │
└──────────────────────────────────────────┘
Key patterns:
Win31 on mobile extrapolates to pocket organizer with Program Manager:
┌────────────────────────────┐
│ ■ Program Manager ─ 10:45 │ ← Title bar with time
├────────────────────────────┤
│ ╔════════════════════════╗ │
│ ║ Main ║ │
│ ╠════════════════════════╣ │
│ ║ ┌───┐ ┌───┐ ║ │
│ ║ │📁│ │📝│ ║ │ ← Program group
│ ║ │Mgr│ │Wrt│ ║ │
│ ║ └───┘ └───┘ ║ │
│ ╚════════════════════════╝ │
├────────────────────────────┤
│ [ Window ] [ Help ] │ ← Menu bar bottom
└────────────────────────────┘
Key patterns:
Win31 used Multiple Document Interface. Apply this:
| Breakpoint | Win31 Metaphor | Layout |
|------------|----------------|--------|
| Mobile (<640px) | Pocket computing | Single window, modal dialogs |
| Tablet (640-1024px) | Laptop | Cascading windows |
| Desktop (>1024px) | Full desktop | Tiled MDI windows |
Windows 3.1 had limited but memorable themes:
/* Hotdog Stand (the infamous red/yellow) */
[data-theme="hotdog-stand"] {
--win31-gray: #ff0000;
--win31-dark-gray: #800000;
--win31-light-gray: #ff8080;
--win31-navy: #ffff00;
--win31-title-text: #ff0000;
}
/* Monochrome (high contrast) */
[data-theme="monochrome"] {
--win31-gray: #ffffff;
--win31-dark-gray: #000000;
--win31-light-gray: #ffffff;
--win31-navy: #000000;
--win31-teal: #000000;
}
.win31-program-manager {
position: fixed;
inset: 0;
background: var(--win31-teal);
display: flex;
flex-direction: column;
}
.win31-program-group {
background: var(--win31-gray);
border: 3px solid var(--win31-black);
box-shadow:
inset 2px 2px 0 var(--win31-white),
inset -2px -2px 0 var(--win31-dark-gray);
margin: 8px;
min-width: 200px;
}
.win31-program-group-titlebar {
background: var(--win31-navy);
color: var(--win31-white);
padding: 2px 6px;
font-family: var(--font-pixel);
font-size: 10px;
font-weight: bold;
}
.win31-program-icons {
display: grid;
grid-template-columns: repeat(auto-fill, 64px);
gap: 8px;
padding: 12px;
}
.win31-dialog {
min-width: 300px;
background: var(--win31-gray);
border: 3px solid var(--win31-black);
box-shadow:
inset 2px 2px 0 var(--win31-white),
inset -2px -2px 0 var(--win31-dark-gray),
4px 4px 0 var(--win31-black);
}
.win31-dialog-content {
padding: 16px;
display: flex;
gap: 16px;
}
.win31-dialog-icon {
width: 32px;
height: 32px;
flex-shrink: 0;
}
.win31-dialog-buttons {
display: flex;
justify-content: center;
gap: 8px;
padding: 8px 16px 16px;
}
.win31-menubar {
background: var(--win31-gray);
border-bottom: 2px solid var(--win31-dark-gray);
padding: 2px;
display: flex;
gap: 0;
}
.win31-menu-item {
padding: 4px 12px;
font-family: var(--font-pixel);
font-size: 11px;
cursor: pointer;
}
.win31-menu-item:hover,
.win31-menu-item--active {
background: var(--win31-navy);
color: var(--win31-white);
}
.win31-menu-dropdown {
position: absolute;
background: var(--win31-gray);
border: 2px solid;
border-color: var(--win31-white) var(--win31-black)
var(--win31-black) var(--win31-white);
min-width: 150px;
z-index: 100;
}
.win31-statusbar {
display: flex;
gap: 2px;
padding: 2px;
background: var(--win31-gray);
border-top: 2px solid var(--win31-dark-gray);
}
.win31-statusbar-panel {
flex: 1;
padding: 2px 8px;
font-family: var(--font-pixel);
font-size: 10px;
border: 1px solid;
border-color: var(--win31-dark-gray) var(--win31-white)
var(--win31-white) var(--win31-dark-gray);
}
Novice thinking: "Win31 has blue title bars like Win95"
Reality: Win31 has SOLID navy. Gradient is Win95 only.
Instead: background: #000080 (never linear-gradient)
Novice thinking: "Windows has minimize, maximize, close"
Reality: Win31 has a SINGLE menu button (−). The three-button pattern is Win95.
Instead: One button that opens a system menu
Novice thinking: "Windows navigation = Start button"
Reality: Win31 uses Program Manager. No taskbar, no Start.
Instead: Program groups with cascading/tiled windows
Novice thinking: #00d4ff, #ff00ff for retro feel
Reality: This is vaporwave, not Win31
Instead: Muted palette: teal (#008080), navy (#000080), gray (#c0c0c0)
Novice thinking: border-radius: 8px for friendly UI
Reality: Win31 has sharp 90° corners everywhere
Instead: No border-radius (or 0)
Novice thinking: backdrop-filter: blur(10px), soft shadows
Reality: Win31 has no blur—only hard-edge bevels
Instead: Sharp bevel shadows: box-shadow: 4px 4px 0 #000
Novice thinking: Dark mode = #1a1a2e backgrounds
Reality: Win31 is LIGHT. System gray (#c0c0c0) everywhere.
Instead: Light gray base with teal desktop
Novice thinking: Win31 had assistant characters
Reality: Clippy came with Office 97 (Win95 era). Win31 used Cue Cards.
Instead: Modal dialogs, step-by-step wizards, floating help cards
Is it a window chrome element?
├── Title bar? → SOLID navy (no gradient!)
├── Control button? → SINGLE button (not three)
├── Button? → 3D bevel (white TL, black BR)
├── Input? → Inset bevel (dark TL, white BR)
└── Content area? → White or gray, flat
Is it navigation?
├── Primary nav? → Program Manager groups
├── Section nav? → Menu bar with dropdowns
├── Page nav? → List box or tree control
└── Actions? → Toolbar buttons (beveled)
Is it AI/help?
├── Onboarding? → Setup Wizard (Step X of Y)
├── Inline help? → Cue Cards (floating tips)
├── Questions? → Modal dialog with options
└── Feedback? → Message box with icon
Is it responsive?
├── Mobile? → Single window, modal stack
├── Tablet? → Cascading windows
└── Desktop? → Tiled MDI layout
:root {
/* Core palette */
--win31-white: #ffffff;
--win31-black: #000000;
--win31-gray: #c0c0c0;
--win31-dark-gray: #808080;
--win31-light-gray: #dfdfdf;
--win31-navy: #000080;
--win31-teal: #008080;
/* Semantic */
--win31-error: #ff0000;
--win31-warning: #ffff00;
--win31-success: #00ff00;
--win31-info: #0000ff;
/* Typography */
--font-win31-ui: 'VT323', 'Courier New', monospace;
--font-win31-pixel: 'Press Start 2P', 'VT323', monospace;
--font-win31-code: 'IBM Plex Mono', 'Courier Prime', monospace;
/* Spacing (4px grid) */
--win31-spacing-xs: 2px;
--win31-spacing-sm: 4px;
--win31-spacing-md: 8px;
--win31-spacing-lg: 16px;
--win31-spacing-xl: 24px;
}
If your component has:
It should have:
For authentic Win31 feel:
README.TXT, INSTALL.EXEPROGRAM.EXE, CONFIG.SYS.WRI, .BMP, .INI/references/design-system.md - Complete color palette, typography, beveled border patterns/references/component-patterns.md - Full CSS for windows, buttons, forms, panels/references/anti-patterns.md - Vaporwave comparison, decision tree, conversion examples/references/ai-assistant-patterns.md - Cue Card-style AI UX patterns/references/mobile-pocket-computing.md - Responsive Win31 for mobileToolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
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.
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
Set up Tailwind CSS v4 in Expo with react-native-css and NativeWind v5 for universal styling
Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.
Take curiositech/windows-3-1-web-designer from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.