# Groundwork Brand

> Interactive brand-direction picker/evolver. Writes brand.md tokens the visual skills use. D1 "The Terminal" is the starter direction; users can evolve palette, typography, and accent.

- Skill: `glebis/groundwork-brand` (Agent Skill)
- Install (CLI): `npx skillmds@latest add glebis/groundwork-brand`
- Raw SKILL.md: https://api.skillmd.com/api/skills/glebis/groundwork-brand/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Design & Media
- Author: glebis (https://skillmd.com/u/glebis)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/glebis/groundwork-brand

---


# groundwork-brand

Picks or evolves the user's brand tokens. D1 "The Terminal" is shipped as the default starter direction.

## When to use

- First run (via `groundwork-intake` → brand prompt).
- User wants to tweak colors, accent, or typography: `groundwork-brand`.

## What you do

1. **Read current brand.md.** If it's the default D1 version, offer the starter palette picker (Scriptorium / Studio / Fern / Ember / Ice). If the user has already customized, offer to evolve, not replace.

2. **Picker flow.**
   - Show each palette as a swatch row (mono chars in Geist Mono) with a one-line aesthetic note.
   - User picks one. Update `brand.md` palette section and `tokens.css` CSS variables.

3. **Evolver flow.**
   - Ask which aspect to change: color / typography / accent / personality words.
   - For color: ask for a single hex or a named accent. Validate contrast against the background.
   - For typography: constrain to Google Fonts families (to avoid missing-font rendering). Offer the approved list: Geist, Geist Mono, Instrument Serif, Space Mono, JetBrains Mono, Fraunces, Inter, Inconsolata.
   - For accent: enforce the "one accent per surface" rule by warning if the user tries to define multiple.
   - For personality words: free-text; stored as brand.md's "feel" paragraph.

4. **Always write both files.** `brand.md` (human-readable) and `tokens.css` (machine-readable) must stay in sync. Regenerate `tokens.css` from `brand.md`.

5. **Never silently replace.** Any change is confirmed before write.

## Tiers

- **line**: `"brand updated: {changed}"`
- **brief**: palette + accent + font stack after change
- **full**: the above + a regenerated sample card preview (ASCII, not HTML — for terminal surfaces)

## Failure modes

- User picks a palette not in the starter set → accept it as custom; mark `direction: custom` in brand.md.
- Font not on the approved list → warn; require explicit confirmation before writing.
- Accent contrast ratio against background < 4.5:1 → warn but allow.

