---
name: create-page
description: "Use when the answer is more than a few paragraphs, or lays out steps, options, a comparison, or figures. One self-contained HTML page to scan, print, send on, or use. Forms: FAQ, timeline, how-to, checklist, itinerary, comparison, dashboard, data explorer, scorecard, brief, memo, case study, explainer, recommendation, wireframe, storyboard, whiteboard, or a small working tool."
---

# Create page

One self-contained HTML file that a reader can open, keep, print, send on, and in a few cases use. Twenty-two templates cover the kinds of page people actually ask for; each names a set of slots and the intent behind each one, and all of them share the look, the method, and the refusals below.

The page is the answer. When a reply would be long, structured, or worth keeping, a page beats a wall of chat: it can be scanned, linked into, printed, and handed to someone who was not in the conversation.

## Choose the template

Read the row that fits, then read that template's `template.md` in full before writing anything. Paths are given because the file listing you were handed may be truncated: open them directly.

| Template                                                           | Reach for it when                                                                                                                                                         |
| ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Briefing memo               | Something with real stakes has to be decided, and the situation, the options, and a recommendation belong on one page before anyone commits.                              |
| Case study                     | A situation like the reader's played out start to finish, and the point is to learn from it or to show that an approach works.                                            |
| Checklist                       | A process is about to run where forgetting one step is expensive, and every item wants to be grouped, tickable, and printable.                                            |
| Comparison matrix       | Several options need measuring on the same attributes side by side, before deciding what matters.                                                                         |
| Decision matrix   | The winner is wanted along with the arithmetic: named criteria, stated weights, scored options, and what would flip the answer.                                           |
| Dashboard                       | A period has ended and someone has to know how it went: the figures with what to compare them against, and the thing the headline hides.                                  |
| Data explorer                    | There are more rows than anyone will read and the rows are the point: the whole set, what it turns out to say, and a grid to sort, filter and take away.                  |
| Explainer                       | A mental model of a concept, a system, or a topic is needed before deciding or digging deeper.                                                                            |
| FAQ                                   | The same questions keep arriving about one topic, and each wants answering once, in a block that can be found, skimmed, or sent.                                          |
| How-to guide                       | Something has to get done in order, with the tools listed, the traps marked, and a way to know when it is finished.                                                       |
| Itinerary                       | A destination and a span of days want planning into mornings, afternoons, and evenings that can be followed from a phone.                                                 |
| One-pager                       | A project, a program, or a change is being proposed and needs one page that earns the next meeting.                                                                       |
| Pros and cons                     | The question is torn on one option or between two, and each side deserves its strongest case, weighted for this situation.                                                |
| Recommendation guide | A product, a tool, or a vendor is being picked, and one page should name the pick and show its work.                                                                      |
| Scorecard                       | One vendor, tool, candidate, place, or plan is in front of the reader and wants grading across the dimensions that matter, evidence beside each.                          |
| Should I…?                       | A should-I, is-it-worth-it, or do-I-need question wants a plain answer that shows what it turns on.                                                                       |
| Storyboard                     | An experience has to be shown as someone would live it: a handful of drawn moments with a person in each, one beat apiece, to make a case or find where it breaks.        |
| Timeline                         | Change over time is the explanation: the order of events says why things are as they are, or what happens next.                                                           |
| TLDR brief                     | The research is done, and the reader wants only the takeaways, on one screen.                                                                                             |
| Tool                                 | The answer is a function rather than a fact: a calculator, converter, checker or planner that opens with a real example already in it.                                    |
| Whiteboard                     | The answer is a drawing the reader will want to move, edit and take away: a flow, a plan of somewhere real, a sheet of things to compare, notes to sort, on a real board. |
| Wireframe                       | An interface is being proposed or argued about, and the fastest way to settle it is a sequence of frames that each prove something.                                       |

When two rows both fit, the tie-breaker is what the reader does next. A page that ends in a decision is a brief, a should-I, or a recommendation; a page that ends in an action is a how-to, a checklist, or an itinerary; a page that ends in understanding is an explainer, a timeline, or an FAQ; and a page the reader keeps open and comes back to is a tool, a whiteboard, or an explorer.

Four of these are a family of their own, in that the page does something rather than only saying something: a wireframe draws a proposed interface, a storyboard draws an experience as moments, a whiteboard is a real drawing tool with the board already on it, and a tool computes. On all four **the page is the thing** -- there is no prose column, no opening paragraph and no closing section, because a drawing under three paragraphs is an essay with pictures in it and the paragraphs are the part nobody wanted. A name, one line, the artifact, and a line of provenance under it; on a whiteboard, nothing but the board, with the provenance written on it. They obey every rule below, including the one about the network, and each says in its own `template.md` what that costs it.

When none of them fit, say so and write the page anyway, using the nearest template's slots as a starting point and this file's method as the rule. A page whose shape had to be invented is a better answer than the wrong template filled in obediently.

## Make the page

1. Read the chosen template's `template.md` in full, and its `idea.json` for the page's stated purpose.
2. Read the two examples in that template's `examples/` whose situation is nearest the user's. Each has a sidecar `.json` with a design note saying what that example chose and why; read the notes, not only the pages. Never take the first example as the target.
3. Write a three-line brief before any HTML: who reads this and what they will do next, the one thing the page has to settle for them, and the one distinctive move this page makes that the two examples did not.
4. Copy `starter.html` to `output/<slug>.html`, set its `instrument:idea` meta to the template's name, and paste the template's `main.html` inside `<main>`. The starter carries the tab icon, the skin, the fonts, the icon set, and the page behavior, each inside a `shell:start` … `shell:end` pair; leave those regions as they are, and everything under `<main>` is yours. Your own CSS goes in the gap the starter leaves between them.
5. Fill the slots with the research. Sections may be reordered, merged, renamed, or rebuilt, but every intent the template names must be answered somewhere on the page.
6. Check it against the refusals below and the template's own, open it, and look at it once at a laptop width. Fix what you see, then stop.

Research before you write, and write from what you found. A page whose facts came from the model rather than from a source is the failure this whole skill exists to avoid.

## What stays fixed, and what must vary

Fixed, because every page shares one look: the skin block in the starter, the type stack and its scale, the palette with brand green as the only saturated color, the spacing scale, a single self-contained file, and a provenance footer. The type scale is Tailwind's and tops out where the templates put it: a page title is `text-3xl sm:text-4xl`, or `sm:text-5xl` on a long read, a section heading is `text-xl` or `text-2xl`, and nothing is sized in `vw`. A register asks for a serif or a wider measure, never for a larger headline; one that fills the first screen pushes what the reader came for below the fold.

Free, and expected to differ between two pages made a day apart: the layout and column count, the density, the register, the components, the way a slot is realized, and any interaction, which must be progressive so the page reads with scripts off. Each template names what varies most in its own case.

The look follows the reader's system theme, and you never choose between them. Write the page once against the tokens and both come out right: a step on a ramp names distance from the paper rather than a lightness, so 25 is the faintest wash and 950 the darkest ink in either theme, and what changes is which end of the spectrum each lands on. The saturated middle, 400 through 600, holds still in both. That is the whole rule for white: it rides the middle and nowhere else, because every other step moves out from under it. Never hand-pick a ground for the page, and never write a `dark:` variant; `bg-background`, `bg-card`, `bg-muted`, `text-foreground` and `text-muted-foreground` already say what you mean. The one exception is a terminal or code listing, which is a well cut into the paper and keeps its own colors in both themes: `bg-code` with the four `text-code-*` inks.

`pnpm check:contrast` reads both palettes out of the skin and every page for what sits on what, so a page that fails WCAG AA in either theme fails the build. It is the reason nobody has to open the page twice.

The starter also carries three behaviors every page gets, and none of them need doing by hand: every external link wears the icon of the site it points at, footnote markers and their notes link both ways and light up when jumped to, and the page prints with sane margins. A page wider than a portrait sheet adds `@page { size: landscape }` in its own style block.

A page's own logic is one `<script type="module">` at the end of `<main>`, never a plain `<script>`. The starter's last script keeps a copy of the page for sharing as the parser reaches it, and a module script runs after that, so a shared copy carries the markup as written rather than as the script changed it. Module scripts do not share top-level names, so keep the logic in one, and attach listeners in it rather than through `onclick` attributes.

## Refusals

A page that could be any of the examples with the words swapped. A thing that lives at a URL named in plain text, or a link whose text describes the destination rather than naming the thing. Any image whose `src` is a URL or a relative path rather than inline data, any sibling file, and any relative fetch: the file has to open from a USB stick, arrive as an email attachment, and be served from a share host, and only one of those has an origin. A file over about 1.5 MB, or an inline image over 200 KB.

**What a page may load, and the test it has to pass.** Most pages load nothing beyond the starter's fonts, icon set and Tailwind build, and that is the right default. Where the material is a dataset, a drawing, a map or anything else a library does better than handwritten code, a page may import **any** library, pinned to an exact version, from one of the package hosts in `allowed-sources.json`, the way [`references/loading.md`](/discover/create-page/references/loading.md) describes. Which library is yours to choose; what is fixed is the host and the pin. The test is not whether it loads, it is what happens when the load fails: **open the page with the network off and every number, name, place and finding is still there, in the HTML.** A library may add motion, precision or scale to something already on the page; it may never be the only copy of a fact. A chart carries its own table. A map's container carries its own list. A figure fetched at open carries the value it was written with, and the date. A page that goes blank, empty or meaningless offline is the refusal this rule exists for, and a template that reaches past the list has to say in its own `template.md` why its document kind needs it.

Each template adds the refusals that only bite in its own case.

## Honesty about research

Say on the page what it rests on and when it was read. Where two sources disagree, say so and say which one the page followed. Where a figure is an estimate, a quote, or a reconstruction rather than a published number, label it as one. Where the research is thin, the page says so in its footer rather than performing certainty: a thin honest page is useful, and a confident invented one is worse than nothing, because a reader will act on it.

Numbers are the easiest thing to invent and the hardest for a reader to check. A page carries a figure only when the prompt, a source, or arithmetic over shown inputs gave it. Scores use coarse scales — letters, a few dots, a word — unless every input is on the page, and never a decimal that implies precision the research does not have.

## References

Vocabulary, not layout. Read the one whose form is in play, not all of them.

- [`references/patterns.md`](/discover/create-page/references/patterns.md) — the recurring elements: kickers, status pills, step circles, icon lists, emphasis cards, code and terminal blocks, quoting, evidence footers, and how a block wider than the column behaves.
- [`references/charts.md`](/discover/create-page/references/charts.md) — stat tiles, bar rows, meters, sparklines, timeline bars, and the honesty rule for drawing a number.
- [`references/diagrams.md`](/discover/create-page/references/diagrams.md) — when HTML beats SVG, the SVG kit, swimlanes, parallel routes, and generated geometry.
- [`references/interaction.md`](/discover/create-page/references/interaction.md) — answer forms, runbook ticks, click-to-enlarge, details/summary, and the rule that interaction may orient but never gate.
- [`references/images.md`](/discover/create-page/references/images.md) — when a picture earns its place, how to size and inline one, and what to draw when there is no photo to use.
- [`references/loading.md`](/discover/create-page/references/loading.md) — the one host a library comes from, the four shapes an import takes, how a React library gets one React, and what the page shows when the import never arrives.

Each template also has a `patterns.md` beside it, for the vocabulary only that document kind uses.

# Storyboard

One self-contained HTML page that shows an experience as it would be lived: a handful of drawn panels, a person in each, one beat apiece, with a caption under each saying what that moment proves. Not a flow, not a sequence of screens, not a timeline of events. Moments, with someone in them.

A [wireframe](../wireframe/template.md) draws what is on the screen. A storyboard draws what is happening to the person. That is the whole difference, and it is the reason this template exists: some arguments cannot be made about an interface or a process at all, only about a Tuesday morning.

## When to reach for it

Reach for it when someone asks what something would be like, how it would feel, or what happens to the customer, the new starter, the patient, the driver. "Walk me through it", "what's the experience", "show me a day in the life", "storyboard this", "what does the customer actually see" are the phrases. Three shapes come up:

- **Moments in a day.** The service storyboard: six or so beats with a time on each, showing where an experience breaks or where a proposed one is better. The argument is usually one panel, and the caption names it.
- **A shot list.** The film storyboard: what the camera sees, shot by shot, with the kind of shot, a timecode, and the line said over it set apart from what is seen. For a video, a spot, an explainer, a walkthrough.
- **Two tracks.** The product storyboard: the person on one side of every panel and the screen in their hand on the other, so what they do and what they see can be argued with separately, and the screens line up down the page.

Reach for it unprompted when a proposal keeps saying "the user then" and nobody has drawn the user.

Do not reach for it when the subject is the interface, which is a wireframe, or a drawing the reader will edit, which is a [whiteboard](../whiteboard/template.md), or events in order without a person, which is a [timeline](../timeline/template.md). Nor for more than about eight beats: past that it is a film, and a storyboard of forty panels is one nobody reads.

## The shape

**The page is the storyboard.** A name, one line under it, the panels, and one line underneath. There is no prose column, no opening paragraph, and no section after the panels: the captions are where the argument goes, because a caption sits under the thing it is about and a section does not.

- **A name and one line.** Who this is, and what the beats are meant to settle.
- **The panels.** Each carries its number, a time or timecode, the drawing, and a caption. A panel may also carry one line of what is said, set apart from the caption.
- **One line underneath.** What the beats are drawn from: interviews, a visit, a brief, the prompt alone. And what was invented to fill a panel.

## The cast and the set

Nobody draws these panels; they are composed from a kit that ships in both languages, as a library to import rather than code to copy: `scripts/panels.mjs` for `node` and `scripts/panels.py` for `python`, neither with any dependency, and `patterns.md` has the worked example. A person is a few thick round-capped strokes in one flat color, which reads as a pictogram and so as deliberate, where a thin stick figure reads as unfinished. The set is thin outline behind them: a door, a counter, a desk, a sofa, a phone, a van, a clock. The contrast between the two is what makes a composed scene look drawn on purpose.

Three rules the kit enforces and a hand-drawn panel forgets:

**The floor is at one height, and everyone stands on it.** A standing person's feet and a sitter's feet are at the floor, and a seat is at one height above it, so a person put in a chair lands in the chair.

**Furniture a person sits in or stands behind comes in two pieces.** `back`, then the person, then `front`. Draw the sofa in one piece and their shins cross the cushion, which is the one mistake that reads as an error rather than as a style.

**One accent color per panel, on the thing the beat is about.** The clock that says forty minutes, the screen that finally works, the person who arrives. Everything else is ink and grey. A panel with two accents has two subjects, and a beat has one.

## The rules that make a storyboard work

**One beat per panel.** Something changes for the person between this panel and the next, and the caption says what. A panel that shows a state rather than a change belongs in a wireframe.

**A person in every panel**, with at most one exception per board: a close-up on the thing in their hand, drawn large, where the hand is the person. A storyboard with no one in it is a set of empty rooms.

**The caption argues.** "Forty minutes on the sofa, watching everyone else badge through" is a caption. "Ash waits on a sofa" is a description of the drawing the reader can already see.

**Time on every panel.** A clock time for moments, a timecode for shots, a number for the two-track. Time is what makes a set of pictures a sequence.

**Say what is said, apart from what is seen.** Speech goes in a bubble in the panel when it is short, and in its own line under the caption when it matters. On a shot list the line said over the shot is the second column, in monospace, because it is copy rather than commentary.

## What varies here

Free, and expected to differ between two pages made a day apart: which of the three shapes it is; the panel aspect (4:3 for moments, 16:9 for shots, wide for two tracks); how many beats, between four and eight; whether anyone speaks; what the accent marks; the layout of the panels on the page; and the cast, which is whoever the story needs.

Fixed: the page is the panels, every panel has a number, a time and a caption, the people are pictograms, and the line underneath says what the beats rest on.

## What it may load, and what has to survive without it

Nothing beyond the starter's fonts, icon set and Tailwind build. Every panel is inline SVG in the page's own palette, so the file opens from a folder with no network and prints as drawn, in both themes. There is no library that would help.

## Refusals

**An opening paragraph, a closing section, or any prose that is not a caption or the one line underneath.** A panel with no person in it, other than one close-up. A beat that changes nothing. A caption that describes the picture. A panel with two people and a sofa drawn in one piece, so limbs cross furniture. Thin stick figures. Two accent colors in one panel. Text laid over a drawing. A photo, or a generated image, where a composed panel would do. More than eight beats. A storyboard of screens with nobody in front of them.

## Honesty about the story

Say underneath what the beats are drawn from. A storyboard composed from interviews is evidence about how something is; one drawn from a brief is a proposal about how it could be, and the two look identical on the page. Where a time, a price, a name or a line of dialogue was invented to fill a panel, say so in the same line rather than letting a plausible 09:52 be read as a measurement.
