Brand and Style Skills: Turning a Style Guide Into Constraints
brand-guidelines is one SKILL.md and nothing else · theme-factory's ten cards · How to review a category with no oracle
2026-09-16 · BigCat
Last issue's protagonist was the schema: a file is valid or it isn't, and an exit code says so. This one is the opposite — no script can judge whether something "looks like us". The official brand-guidelines skill ships exactly two files, SKILL.md and LICENSE.txt, with not one line of code. So why does it work at all?
Style is the first subjective category that actually ships. It has no objective oracle, but it does have a decidable middle layer: hex values, font names and size thresholds are things you can grep for. This issue is about how that layer gets built. brand-guidelines compresses a brand into seven hex codes and two font names. theme-factory collapses the choice into ten cards. frontend-design takes a third route — no numbers at all, just a list of what not to look like.
// 01
What it removes: re-pasting your palette every single time
Claim: it does not remove taste, it removes restatement. The brand rules already exist in some PDF; the real cost is that every new conversation starts with you retyping them, slightly differently each time.
How to install
# The official style skills all live in the example-skills plugin
/plugin marketplace add anthropics/skills
/plugin install example-skills@anthropic-agent-skills
# Want just one? Copy it into your personal skills directory
git clone https://github.com/anthropics/skills
cp -r skills/skills/brand-guidelines ~/.claude/skills/
# For post-processing decks and docs (thumbnail.py and validate.py live here)
/plugin install document-skills@anthropic-agent-skills
Everything brand-guidelines actually specifies
Core colors: Dark #141413 (body text, dark backgrounds) · Light #faf9f5 (light backgrounds, text on dark) · Mid Gray #b0aea5 · Light Gray #e8e6dc
Accents: Orange #d97757 (primary) · Blue #6a9bcc (secondary) · Green #788c5d (tertiary)
Type: Poppins for headings (Arial fallback) · Lora for body (Georgia fallback)
Application rules: 24pt and larger counts as a heading and takes Poppins, everything else takes Lora; non-text shapes cycle orange → blue → green; colors are applied through python-pptx's RGBColor
That is the whole skill. No scripts, no reference directory, no template files. Which is precisely the part worth stealing: the floor for a usable style skill is compressing the guide into one decidable table — seven colors, two fonts, one size threshold, one cycling rule.
When not to install it: when you want your own company's brand. These hex codes are Anthropic's, so installing it as-is stamps someone else's identity on your output. The right move is to copy it and swap the values — with no scripts inside, forking costs almost nothing.
Mechanism: there are only three ways to write a style skill
Claim: adjectives in a skill file are the same as writing nothing. The three forms that work each swap "looks good" for something else — for numbers, for a menu, for a list of prohibitions.
Form one · Numeric: compress the brand into greppable constants
brand-guidelines is the reference implementation. Three design moves are worth lifting: (a) every constraint is a literal, so hex codes and font names leave no room for interpretation; (b) every constraint carries a degradation path (Poppins→Arial, Lora→Georgia), because a style rule has to stay executable when the font is missing, or it breaks on the first new machine; (c) it names the execution layer, stating that colors go through RGBColor, which turns "apply the brand" into a post-processing pass instead of improvisation during generation.
Form two · Menu: narrow to a finite set first, then execute
theme-factory does not guess your taste; it hands the choice back to a human. Its SKILL.md prescribes four steps: display theme-showcase.pdf unmodified → ask which theme → get explicit confirmation → only then apply that theme's colors and fonts. The ten presets are one markdown file each under themes/: ocean-depths · sunset-boulevard · forest-canopy · modern-minimalist · golden-hour · arctic-frost · desert-rose · tech-innovation · botanical-garden · midnight-galaxy, each holding a palette with hex codes plus a font pairing. You can generate a new theme on the fly, but it has to follow the same file structure and be shown for review first.
When not to install it: when you already have a brand book. theme-factory solves "nobody has decided what this should look like". On a team that has decided, it just asks a question that already has an answer.
Form three · Prohibition list: say what not to look like
frontend-design gives you zero hex codes. What it gives is a callout of five clusters of default AI looks: cream backgrounds with terracotta accents, dark backgrounds with bright accents, broadsheet layouts, SaaS card kits, and template chrome. Its process is inverted too — draft a design plan first (color, type, layout, principles), check it against the brief for distinctiveness, and only then write code. web-artifacts-builder plays the same card, naming its own "AI slop" list: excessive centering, purple gradients, uniformly rounded corners, and the Inter typeface.
Prohibition lists work because the failure mode is concentrated: the model does not fail randomly, it slides systematically toward the same defaults. Block those few exits and what remains stops reading as a template. When not to install: non-visual work — it will push the model into a design pass even when you only wanted a paragraph rewritten.
Real usage and limits: four production lines, and a review with no exit code
Claim: installing a style skill in the wrong slot is more common than installing the wrong brand. Deck post-processing, web implementation, pure visual output and building a brand from zero are not the same job.
Where each line lands
Deck and document post-processing → brand-guidelines (your forked copy) plus pptx from document-skills. Generate content first, apply the brand second, then run python scripts/thumbnail.py deck.pptx for a labeled grid of every slide and look at it. When not to install: if you never build decks — the image-conversion command below lifts out on its own, no need for all of document-skills.
Web and artifacts → direction from frontend-design, implementation from web-artifacts-builder: scripts/init-artifact.sh scaffolds a React 18 + TypeScript + Vite + Tailwind + shadcn/ui project, and scripts/bundle-artifact.sh collapses it into a single self-contained HTML file. When not to install: if you only need a static page, that bundling chain is pure overhead.
Pure visual output (posters, covers) → canvas-design, which forces two steps: first write an aesthetic manifesto as a .md file (name the movement in one or two words, then four to six paragraphs on what it is), then produce the .pdf or .png from it, using its bundled canvas-fonts directory, with text kept to roughly a tenth of the composition. When not to install: if you need an interface, it will turn your buttons into artwork.
No brand at all yet → cofoundy/brand-skills, fifteen skills chained from naming to brand book (naming · brand-positioning · brand-voice · brand-guidelines · brand-audit among them). Install with npx skills add cofoundy/brand-skills, or /plugin marketplace add cofoundy/brand-skills plus /plugin install brand-skills@brand-skills. Per its GitHub page, about 35 stars as of 2026-09, MIT. When not to install: you already have a brand book — what you lack is execution, not another generated one.
No oracle: three workable approximations
Turn values into checkable items. Every hex code, font name and size threshold in the skill can be searched for in the output. One grep -o '#[0-9a-fA-F]\{6\}' out.html | sort -u shows whether an off-palette color slipped in — the closest thing this category has to an exit code.
Convert the visual back into images. The chain in the pptx skill lifts out whole: scripts/office/soffice.py --headless --convert-to pdf deck.pptx, then pdftoppm -jpeg -r 150 output.pdf slide, then walk every image against a fixed checklist — overflow, overlap, alignment, contrast, leftover placeholders. The checklist has to be fixed, or the judgment is not reproducible.
Replace adjectives with examples. Three input/output pairs beat ten rules; this is the recipe shared with writing skills, and Skill 18 takes it apart on its own.
The limit: none of the three judges whether the design is any good. They only judge whether a written constraint was violated. Aesthetic judgment stays with people — a style skill was never meant to choose the direction, only to guarantee the chosen direction gets executed every time.
Primary sources · skills/pptx/SKILL.md (thumbnail / soffice / pdftoppm and the visual QA checklist) · cofoundy/brand-skills (the fifteen skills and both install paths)
// 04
Costs and alternatives: most people should not install one
Claim: with fewer than three style rules, a skill is over-engineering. Its entire value comes from having more rules than you can bear to restate — and that bar is higher than it sounds.
Four honest costs
You are installing someone else's brand. The official palette belongs to Anthropic; using it unforked stamps another company's identity on your work.
The trigger is wide. Its description says any artifact that may benefit from the look and feel — so it can show up to colorize a plain table you wanted plain. Narrow the description, or make it manual-invocation only.
The context tax is continuous. Per the Claude Code docs, a skill's description always sits in context, and once invoked its body stays in context and costs tokens on every following turn; auto-compaction keeps only the first 5,000 tokens of each skill's most recent invocation, 25,000 across all skills. Style skills are rarely short, and what they crowd out is your actual working context.
Subjective review stretches the loop. No exit code means more rounds, so cost per unit of output is structurally higher than in the document category.
Four ways to not install it
Put it in CLAUDE.md or AGENTS.md. When there are three rules (primary color, font, no gradients), a repo-level convention is cheaper and steadier than a skill.
Use a design token file. Turn colors and fonts into CSS variables or a theme JSON, and leave one line in the prompt: read it, use it. Style now lives in the codebase instead of the model's memory.
Just pick a theme-factory preset. With no brand to honor, choosing one of ten cards is far more controllable than free improvisation.
Use skill-creator to encode your own book (it ships in example-skills too). This is the route this issue actually recommends: copy the structure of brand-guidelines, fill in your own values.
// ONE-PAGE BUYING CARD
Install these three first: (1) brand-guidelines — but cp -r it and replace the seven hex codes and two font names with yours; treat it as a template, not a finished product. (2) pptx from document-skills — not mainly because it builds decks, but for scripts/thumbnail.py, the slide grid that is the only half of style review you can automate. (3) frontend-design — the prohibition list for web work; nearly all of its value is in those five "do not look like this" clusters.
Fourth, conditionally: install web-artifacts-builder only if you build claude.ai artifacts (two scripts plus shadcn/ui); install canvas-design only for posters and covers. If you have no brand yet, run brand-voice and brand-guidelines from cofoundy/brand-skills to produce one, then come back and turn it into your own numeric skill.
When to install none of them: your style rules fit in three lines. Put them in CLAUDE.md — the context you save is worth more than the typing.
// GLOSSARY
oracle
The thing that can independently rule a result right or wrong. For document skills it is the XSD; style has none, and every technique here is a stand-in for it.
post-processing
Generating content first and applying style in a separate pass. brand-guidelines takes this route, which lets content and style be revised and checked independently.
fallback font
What takes over when the target typeface is missing (Poppins→Arial, Lora→Georgia). A style constraint without a fallback stops working on the next machine.
design token
Colors, sizes and spacing extracted into named variables. It is how style moves into the codebase, and the main way to make a style skill thinner.
AI slop
The cluster of defaults an unconstrained model keeps sliding toward — purple gradients, uniform rounded corners, Inter, everything centered. Prohibition-list skills exist to block exactly this.
skills/theme-factory/SKILL.md — the showcase → ask → confirm → apply sequence, and the structure a custom theme must follow
skills/theme-factory/themes/ — the ten theme files themselves; copying one and swapping in your palette is the fastest start
skills/frontend-design/SKILL.md — the five default-look clusters, typographic rules such as line lengths under 80 characters, and the plan-then-build pass
skills/pptx/SKILL.md — the visual QA chain (thumbnail.py · soffice.py · pdftoppm) and the per-slide checklist
anthropics/skills · marketplace.json — the marketplace is named anthropic-agent-skills; all five official skills named here ship in the example-skills plugin
Claude Code Docs · Skills — descriptions always loaded, bodies billed every turn after invocation, the 5,000 / 25,000 token compaction budget, and the ~/.claude/skills/ vs .claude/skills/ install locations
cofoundy/brand-skills — a fifteen-skill brand pipeline; per its GitHub page, about 35 stars as of 2026-09, MIT
brand-guidelines has no code at all. Why isn't that laziness?
Because the job has no deterministic algorithm to begin with. Document skills script their deterministic steps because those steps should be identical every time; in style work the executor is the model itself, and the guide only has to be compressed into literals that cannot be reinterpreted. The lazy version is writing "keep it professional and modern" — a line that can be neither executed nor checked.
Numeric form or prohibition list — which do you write first?
The prohibitions. Numbers only cover the cases you thought of, while the directions a model drifts in are few and easy to enumerate. In practice: three to five prohibitions as the floor, then harden the recurring problems into numbers over time.
How do you tell whether your own style skill is still worth keeping?
Two numbers: how many rounds of verbal correction you still need with it installed, and how long its body is. If corrections have not dropped, the rules were written as adjectives. If the body is long and it fires constantly, the context it eats may exceed what it saves — time to split it into a design token file plus one line of reference.