wireframe

Produce low-fidelity black-and-white UI wireframes as SVGs or viewer pages. Use when asked to wireframe, sketch a screen, draft a layout, make a low-fi mockup, or publish wireframes.

  • design
  • wireframe
  • ux
  • prototyping
  • svg
Install
npx skills add 'https://github.com/paperclipai/paperclip/tree/master/packages/skills-catalog/catalog/bundled/product/wireframe'
Download bundle ↓
master · 5b913e7Scanned 2026-09-15

Contributors

GitHub-linked commit authors for this SKILL.md at the saved revision. Co-authors and history before file renames are not included.

File history ↗
View on GitHub
← Back to SKILL.md

Grid, palette, and type scale

These are the only values you may use. Do not introduce new colours, sizes, or grid units.

Canvas presets

ViewportWidth × HeightUse for
Desktop1280 × 800Default for web app screens
Wide1440 × 900Marketing landing pages
Tablet768 × 1024iPad-class screens
Mobile375 × 812iPhone-class screens

Always include viewBox="0 0 W H" matching the canvas so it scales when embedded.

Grid

  • Base unit: 8px. All x, y, width, height values must be multiples of 8.
  • Outer page margin: 24px on desktop/tablet, 16px on mobile.
  • Column gutter: 24px desktop, 16px mobile.
  • Vertical rhythm: 24px between sibling components.

Desktop 12-column grid

  • Total width: 1280
  • Outer margin (each side): 48
  • Inner content width: 1184
  • Column width: 88, gutter 8 → 12 × (88 + 8) − 8 = 1144 + 40 = 1184 ✓

In practice, snap to common widths:

  • Sidebar: 240
  • Content max: 944 (after sidebar)
  • Card grid: 3 × 384 with 24 gutters or 4 × 280 with 24 gutters
  • Modal width: 480 (small), 640 (default), 800 (wide)

Mobile single column

  • Total width: 375
  • Outer margin: 16 each side → content 343
  • Tap targets: 44 minimum height (snap to 48)

Palette (the only colours allowed)

NameHexUse
Ink#000Strokes, primary text
Paper#fffDefault fill
Mute text#666Placeholder text inside inputs, secondary labels
Placeholder grey#e6e6e6Image/avatar/empty-state regions
Subtle grey#f4f4f4Optional zebra rows in tables; nothing else
Annotation red#d33Annotation layer ONLY — dashed borders, callout numbers

That's the entire palette. No hover states, no focus rings, no brand colours.

Type scale

Single typeface: font-family="-apple-system, system-ui, sans-serif".

RoleSizeWeightUse
Caption12400Help text, metadata, table footnotes
Body14400Default text, button labels, list rows
Heading20600Section headings, card titles
Title28700Page title (one per screen)

Font-weight is the only typographic variation allowed beyond size. No italics, no underline (except links — see below).

For text links, render as body 14, with text-decoration="underline". No colour change.

Strokes on text

Always set stroke="none" on <text> elements. The wireframe SVG sets a default stroke at the <svg> root for boxes; text inherits it as an unwanted halo unless overridden.

Standard component sizes

These appear so often you should memorise them.

ComponentSize (W × H)
Button (default)120 × 40
Button (small)80 × 32
Button (icon)40 × 40
Text input320 × 40
Text input (full)100% × 40
Search input480 × 40
Dropdown200 × 40
Checkbox / radio20 × 20
Avatar (small)32 × 32 circle
Avatar (medium)48 × 48 circle
Navbar100% × 64
Tab(auto) × 48
List row100% × 56
Table row100% × 48
Card padding24 inside
Modal480 / 640 / 800 wide, height auto

Coordinate conventions

  • Place every primitive inside a <g transform="translate(x, y)"> so its internal coordinates start at (0, 0). This makes primitives copy-pastable across screens.
  • Use comments above each primitive: <!-- 1: nav -->, <!-- 2: search --> matching the annotation list you write below the SVG.
  • Group related primitives under a parent <g> with a data-region="..." attribute for searchability.

Negative space

Empty space is part of the design. Do not fill the canvas. A wireframe with one card centered in the viewport is a valid wireframe if that's the screen's intent.

Referenced from SKILL.md