You ask for a one-page handout. What comes back is Arial on white, a blue heading, and a table with thin gray borders.
Competent. Also looks like a parking ticket.
So you explain. Cream, not white. The condensed face for headlines. Don't center anything. It fixes it on the second try and the document is fine. Then Thursday comes, you open a new chat, and you explain the whole thing again.
The prompt isn't the problem. The prompt is just the wrong place to keep this.
What a theme file is
One markdown file. Your colors with their hex codes, your two typefaces, your sizes and line-heights, what your recurring pieces look like, and a list of things you never do. You put it in a Claude Project once. Every chat inside that project reads it before it writes anything.
That's it. Nothing to install, no plugin, no code. A text file in the right place.
Why the file beats the prompt
- A prompt lasts one conversation. A file lasts until you change it.
- Retyped instructions get shorter every time you retype them. A file gets longer and better every time you correct it.
- Hand the project to a volunteer and they get your look too, without needing to know a thing about design.
- When a document comes back wrong, you fix the file instead of the document. The fix holds.
One thing this is not
A theme file is not a brand. It doesn't decide what your organization sounds like, what your logo means, or who you're for. It decides what a page looks like when somebody builds one.
If you don't have a brand yet, you can still write one of these. You'll just be making the decisions now instead of putting them off.
You already have a theme. Go find it.
Almost nobody starts from nothing. Look at the last thing you printed that you didn't hate. Your sign. A business card. A shirt. Somebody already chose colors and type, and people already connect them to you.
Pull four colors and two typefaces off it. Write down the hex codes. That's your theme, and it took nine minutes.
Four colors. Two typefaces.
Both of the themes further down this page hold that line, and holding it is the reason they read as systems instead of collections. A fifth color always arrives as an emergency. One flyer needs green. One series needs purple. Once it's in, the whole thing looks improvised, and you can't point at which piece broke it.
If you can't say out loud what your fourth color is for, you have three colors. Three is a system too.
The seven questions
Your file is done when it answers these. Not thoroughly. Just answers them.
- What are the colors, in hex, and what is each one's single job?
- How much of a page is each one? Measure area, not how many times you used it.
- Which pairs are legal stacked on top of each other, and at what contrast ratio?
- What are the two typefaces, and which weights are you allowed to use?
- What size and line-height is each role, and what's the smallest type you will ever set?
- What do the repeating parts look like? Callout, table, pull quote, cover, footer.
- What is forbidden?
Seven is the one everybody skips and the one that does the most work. A "never" is easier to follow than a "prefer," for a person and for a model.
Get it onto one page before you get it into a file.
The one-sheet comes first. Front and back, nothing more. The constraint is doing the work for you: if a rule won't fit on one page, it isn't a rule yet, it's a preference.
Here's ours. Four colors with their share of the page, the accent rule people get wrong, and the type.
Rez Church · Visual Identity · Volume 03
& Bronze
Four colors, two typefaces, and one rule about which bronze goes on which ground. Anton for headlines, always uppercase, always weight 400. DM Sans for anything that's a sentence.
Four colors. No fifth.
The rule people get wrong
Stacked lines never touch
Never
Touch
Line-height 1.00 is the house default for a stacked headline. 0.95 is the floor at 72pt and up. The check is optical: look at the gap between the bottom of one line and the top of the next. If you can't clearly see the page through it, add leading. Cut a word instead of tightening.
Bone & Bronze, Volume 03 — the actual REZ Church one-sheet, rebuilt in its own palette.
The volume number is doing more work than it looks like. The previous version of this same brand ran on royal blue and orange, and it told you to crowd stacked headlines instead of opening them up. A document built off the old file isn't broken exactly. It's just wrong in a way nobody can name out loud, which is worse.
Contrast is arithmetic, so put the arithmetic in the file
This is the part most people leave as a vibe. Don't. Every pair you'll actually use gets a computed ratio and a verdict, once, in the file.
| Pair | Ratio | Verdict |
|---|---|---|
| Ink on bone · bone on ink | 14.8:1 | All sizes |
| Bronze on ink | 5.8:1 | All sizes |
| Teal on bone · bone on teal | 4.9:1 | All sizes |
| Deep bronze on bone | 3.9:1 | Display only · 18pt+ |
| Bronze on bone | 2.5:1 | Never |
| Bronze on teal | 1.9:1 | Never |
| Deep bronze on teal | 1.2:1 | Never |
Those are computed against the WCAG relative-luminance formula, not eyeballed. The thresholds you're checking against: 4.5:1 for normal text, 3:1 for 18pt and up or 14pt bold. Ask Claude to compute the ratio for every pair in your palette and to tell you which ones fail. It'll do the math and it won't flatter you.
If your file says "good contrast on dark backgrounds," your file hasn't said anything.
Hand over the one-sheet and ask for the file.
Upload the one-sheet — a PDF, a photo of the printed page, a screenshot of a flyer you like. Then paste this.
Read the attached brand sheet and turn it into a reusable theme file in markdown, called [NAME]_Theme_Spec.md. Include: identity in two sentences; a version line and what it supersedes; color tokens as CSS variables with hex, role, and share of page by area; a legal-pairs table with computed WCAG contrast ratios and a verdict for each pair; the typefaces with permitted weights; a full type scale with size, weight, and line-height for every role plus a hard minimum size; the signature elements; component CSS for callout, note box, table, cover, and footer; and an Always/Never list. Compute every contrast ratio yourself rather than copying figures off the sheet, and tell me if any published number is wrong. If the sheet leaves something undefined, say so in the file instead of filling the gap.
That last paragraph matters. A brand sheet that's been through a few hands usually has one figure in it that nobody re-checked. Asking for the math up front is how you find out before it's printed on 200 handouts.
What has to be in the file
- Identity. Two sentences on what it feels like and what it's for.
- Version and precedence. Which version this is, what it replaces, and what wins in a conflict.
- Color tokens. Hex, role, and the area mix.
- Legal pairs. Ratios and size limits.
- Typography. Faces, permitted weights, the full scale with line-heights, and the hard floor.
- Signature elements. The two or three things that make it recognizable across pieces.
- Components. Callout, note, table, cover, footer — as CSS you can paste.
- Always / Never. The short list at the end that somebody can read in twenty seconds.
- A variable block. Every token in one
:rootyou can drop into any document.
/* Core four */ --rv-bone: #EFE6D4; --rv-ink: #14141A; --rv-teal: #0A6E70; --rv-bronze: #CD7F32; /* dark grounds only */ --rv-bronze-deep: #A85F1C; /* light grounds only */ /* Rules — four weights, no others */ --rv-rule-section: 8px; --rv-rule-emphasis: 4px; --rv-rule-standard: 2px; --rv-rule-hairline: 1px;
Two comments in there are carrying real weight. Dark grounds only and light grounds only are the entire accent rule, sitting where somebody will actually read it.
Write numbers, not adjectives
This is the difference between a file that works and a file that gets ignored.
The One Rule
If a rule doesn't have a number in it, nobody can follow it. Not a designer, not a volunteer, and not Claude.
Put the file where Claude reads it.
A Project is a folder with a memory. Files you put in it are available to every chat you start inside it, and only inside it.
- Make the project. Name it after the brand, not the task. "REZ Documents," not "Fall Handouts." You'll be in here for years.
- Add the theme file to project knowledge.
- Add the print rules file next to it, if anything you make is going to be printed.
- Paste the activation line into the project instructions. This is the step people skip.
[THEME NAME] is the default visual theme for every document produced in this project. Apply it in full — colors, type scale, components, and the Always/Never list — unless I explicitly override it for one document. Do not simplify, compress, or substitute parts of it. Follow PRINT_SAFE_HTML.md for anything that will be printed or saved as a PDF. If content won't fit, add a page. Never shrink the type or cut the spacing to make it fit.
A file sitting in project knowledge is available. It isn't automatically obeyed. That paragraph is what turns the theme from something Claude could consult into the thing it starts from, and the last two sentences are what stop it from quietly solving a layout problem by making your body copy 8pt.
Two files, not one
The theme file says what a page looks like. It doesn't say anything about how not to run off the bottom of one. That's a separate job and it wants a separate file.
- The theme file — colors, type, components. Aesthetic decisions.
- The print rules file — page budget, forbidden CSS, break control, a checklist to run before delivery. Mechanical decisions.
Keeping them apart means you can change your colors without touching your print rules, and reuse one print-rules file across every brand you own.
The nine-inch budget
Letter paper is 11 inches tall. One inch of margin top and bottom leaves nine inches of usable height per page, and headers and footers come out of that nine. Content doesn't get to negotiate with paper. If a section runs long, it goes on the next page.
| Never in print CSS | Use instead |
|---|---|
| height on a content container | Let the content set its own height |
| vh / vw units | in, pt, or % of body width |
| position: fixed | relative, static, or an @page margin box |
| overflow: hidden alone | Pair it with overflow-wrap: break-word |
| Fixed row heights on tables | Let rows grow; add page-break-inside: avoid |
Pick one architecture and say which
There are two ways to build a printable page and they don't mix. Say in the file which one you use, because a document that's half of each breaks in ways that only show up after it's a PDF.
Flowing document
@page { size: letter; margin: 1in; } body { width: 6.5in; } /* no fixed heights anywhere */
The page engine paginates for you. Right for long text — reports, papers, anything that's mostly paragraphs.
Fixed page divs
@page { size: letter; margin: 0; } .page { width: 8.5in; height: 11in; } /* one div = one printed page */
You control every page exactly. Right for covers, workbooks, decks, anything designed page by page.
One more trap worth naming: if you set margins in @page and again in whatever renders your PDF, one of them silently wins and it's usually not the one you meant. Pick a single place to declare margins and leave the other alone.
Ask for the document. Name the theme.
Once the file is in place, the ask gets shorter, not longer. You stop describing the look and start describing the job.
Build a [LENGTH] [DOCUMENT TYPE] on [TOPIC] in [THEME NAME]. Print-safe letter, ready to save as a PDF. Structure: [cover / interior pages / closing]. Components I want used: [callout, numbered points, table, pull quote]. Follow the theme file and the print rules file exactly. If content overflows a page, add a page — don't compress it. Tell me anywhere you had to make a judgment call the theme file doesn't cover.
When it comes back wrong, fix the file
It will come back wrong sometimes. The instinct is to correct it in the chat, which works and takes ten seconds, and then you do it again next week and the week after. Correct the file instead.
The [element] came out [wrong thing] and it should be [right thing]. Don't just fix this document. Work out what the theme file is missing or says badly, and give me the exact replacement text for that section so I can update the file. Then rebuild the document.
Every correction that lands in the file is a correction you make once. Every correction that only lands in the chat, you'll make again.
Same method, and they still look nothing alike.
Here's the second one. Same nine sections, same discipline, built from a different brand — and the reason to show it is that you can tell them apart in about a second. That's what a real theme file buys you.
Rez Church · Document Theme
Editorial and confident. Ultra-bold sans headlines against a warm page, serif body copy, generous whitespace, and one gold accent. The signature is the gold period on a cover title — one per document, and only on the cover.
The palette
A numbered point and a callout
Large gold numeral, short gold underbar, bold title, serif body. Used for teaching outlines and proposal items.
Warm cream ground, 3.5px gold left rule, 4px radius on the right corners only. Rounded corners are the fastest way to tell ModernBee from Bone & Bronze, which has none.
The gold numeral above computes to 2.43:1 on this ground. That fails even the display threshold. Nothing in the file says it shouldn't be used that way, which is the whole problem with "no cap set."
ModernBee — the earlier REZ document theme, rebuilt in its own palette.
How two themes live together
Two themes for one organization isn't a mistake. Brands change and old documents don't retroactively become wrong. What causes trouble is when nobody has written down which one to use, so every new flyer reopens the question.
One line in the newer file settles it: ModernBee stays valid for existing documents, new work in the current brand uses the newer theme, and the two are never mixed inside one document. Precedence, in a sentence, in the file. Then it stops being a conversation.
Put that line in yours even if you only have one theme today. In two years you won't.
Mine failed four of these.
-
A rule with no number in it
ModernBee's usage notes say "don't overuse gold" and "never in body text." Reasonable. Also unenforceable, and here's what it cost.
That gold is
#C8952E. On ModernBee's own warm page it computes to 2.43:1. The type scale then assigns that same gold to section labels at 7.5–8pt. Small text at 2.43:1, against a 4.5:1 requirement. The file never said gold was display-only, so it wasn't.The fix is one token and one sentence. A darker gold for light grounds,
#8E6921, which clears 4.5:1. Then a line saying which gold belongs on which ground. That's exactly the rule the newer theme leads with. The brand figured it out. The old file never got told. -
A fifth color
It never arrives announced. It arrives because one event needed something warmer and it was faster to pick a color than to ask. Six months later nothing matches and nobody can say which piece started it. Write the number of colors down, and write "no sixth" next to it.
-
No hard floor on type size
Without a floor, "make it fit" is always available, and it's always the cheapest solution. So the body copy goes to 10pt, then 9, then the margins get thinner, and the handout technically fits on one page and nobody over fifty can read it.
Put the floor in the file with the escape hatch closed: 12pt minimum for anything a reader is meant to read, headers and footers exempt as furniture, and if it won't fit, add a page.
-
No forbidden list
A file full of preferences produces documents that are all roughly on-brand and none of them the same. The "Never" list is the highest-value paragraph in the whole thing and it takes four minutes to write. No gradients. No drop shadows. No centered headlines. No fifth color. No body copy under 12pt.
-
No version line
Two files, both called the theme, both in circulation, disagreeing about the accent color. Every file gets a version, a date, and one sentence saying what it supersedes and what wins in a conflict. Cheapest paragraph you'll ever write.
-
The starter kit
Everything below in one download — the blank template, both example themes, and the print rules. Unzip it, fill in the template, drop the folder into a Claude Project.
Download the Starter Kit -
The blank template
All nine sections with the prompts and hard limits written in, so you're filling in blanks instead of deciding what a theme file needs. Includes the contrast-check and the Always/Never scaffolding.
-
Two finished examples
The real files, not toy versions. Bone & Bronze is the current REZ Church theme; ModernBee is the earlier one, shipped with the contrast fix from the failure list applied and marked. Read them side by side to see how the same nine sections carry two different looks.
-
The print rules
The nine-inch budget, the forbidden properties, page-break control, and an eight-step checklist to run before you call a document finished. Brand-agnostic — use it with any theme.
-
A document with the theme applied
Five pages built from the Bone & Bronze file — cover, section divider, two interior pages carrying every component, and a closing page. It's five and not four because page three filled up, and the file says add a page rather than compress. The sample follows its own rule.
Download the Sample PDF
All of it's free and it stays free. Take it apart, change the numbers, throw out the parts that don't fit how you work. If you build one and it holds up, or it doesn't, tell me at daniel.morgan@resurrect.church. That's how the next version gets better.
You'll spend about an hour on this once. Then you stop describing your own colors to a computer.