Claude design brand
DEPRECATED — use Acta (acta-design) at https://github.com/erenisci/acta. Detect the project's character from its repo (project type, audience, voice) and produce a complete brand foundation — palette, typography, mood, motion, voice, accessibility — with type-specific recommendations the user can accept or override. Writes docs/design/BRAND.md + .claude/design-system.md + a CLAUDE.md block. Run this FIRST. Trigger on /claude-design-brand or "set up brand", "init brand", "design foundation".From its SKILL.md
npx -y skills add erenisci/claude-design-prompter --skill claude-design-brandAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
7.6 KB, ~1.7k tokens by cl100k_base, as published. Nobody here has run it
Claude Design Brand
The first step of the design pipeline. Reads the project, infers what kind of thing it is, and produces a brand foundation with opinionated recommendations. Output is the input to claude-design-prompter — every later artifact (logo, pages, landing) inherits these decisions.
Localization
User-facing strings (questions, options, summaries) MUST be in the language the user is conversing with you in right now. Detection: current conversation language → README/CLAUDE.md dominant language → English. Translate canonical English strings on the fly. Internal artifacts (file names, frontmatter keys, template keys) stay in English.
Flow
-
Deep scan (read-only) to understand the project's character:
README.md,CLAUDE.md,AGENTS.md,docs/,docs/architecture.md,docs/PRD.md,docs/adr/package.json(name, description, deps — auth lib, UI lib, ORM, etc.)requirements.txt/pyproject.tomlfor backend hints- Existing palette/font hints in
tailwind.config.*,theme.*,tokens.json .claude/design-system.mdif exists — those decisions are LOCKED
-
Detect project type using
project-types.md(the static catalog of types + their signals + their recommendations). Common types:- hacker / cybersec / dev-tool, SaaS app, e-commerce, portfolio, marketing site, dashboard / data, docs, content/blog, fintech, social/community
- Pick the single best match. If ambiguous, list the top two and let the user confirm.
- Show what was detected and on what evidence:
Detected: <type> — signals: <2–4 short bullets>. The user can correct via the first question.
-
Build a recommendation set from the type: for each brand decision (mood, palette, typography, motion, voice, …), pull the type-specific recommended value from
project-types.md. These appear as(recommended)in the AskUserQuestion options with a one-line WHY. -
Ask only what's missing (LOCKED items skipped, ≤4 questions per
AskUserQuestioncall, recommended option always first and labeled). Round 1 is the most blocking 4; Round 2 is run only if essentials remain unresolved. Translate all strings to user language.Round 1 (max 4):
- Project type (only if ambiguous; pre-checked recommendation visible)
- Mood / character — recommendation comes from type
- Default theme — recommendation from type (e.g. hacker → Dark; e-commerce → Light)
- Primary palette direction — recommendation from type (e.g. hacker → terminal green mono; SaaS → indigo cool)
Round 2 (only if still ambiguous):
- Typography family direction — recommendation from type (mono for hacker, sans-serif geometric for SaaS, serif editorial for portfolio)
- Motion intensity — recommendation from type
- Voice / tone — recommendation from type
- Special-effect call (e.g. matrix-rain for hacker, parallax for marketing) — recommendation; mark "off" by default unless type strongly implies it
For anything unresolved beyond the asked rounds, apply the type's recommendation and mark
(auto)in the output so the user can audit. -
Print a Claude Design prompt block (fenced, copy-able) describing the brand. This is what the user pastes into Claude Design to generate brand visuals (mood board, type sample, palette swatches). Structure:
# <Project> — Brand Foundation ## Project & character - Type: <detected-type> - Audience: <from-readme> - Voice: <chosen voice> - Mood: <chosen mood> ## Palette - Primary: <hex> - Accent: <hex or "derive from primary"> - Neutrals: <warm/cool slate scale> - Semantic: success / warning / danger / info (desaturated to fit mood) ## Typography - Heading: <font> - Body: <font> - Mono: <font> - Scale: 12 / 14 / 16 / 18 / 20 / 24 / 30 / 36 ## Shape & motion - Radius character: <character> - Elevation: <flat/layered> - Motion intensity: <intensity>; durations 150 / 250 ms; ease-out entrance ## Special character <type-specific notes — e.g. "monospace-feel even in body, occasional terminal-style cursor blink on hero", "editorial pull-quotes with serif", "data-dense surfaces with chart-friendly palette"> ## Accessibility WCAG AA, reduced-motion respected. -
Persist:
docs/design/BRAND.mdfromtemplates/BRAND.md.tmpl(human-readable, prose)..claude/design-system.md— create or update; this skill owns the## Brandsection. Other sections (Logo, Pages, Landing) are owned by the prompter skill.CLAUDE.md— inject (or update, marker-delimited, never duplicate) a "Design system" block pointing atdocs/design/and.claude/design-system.md. IfCLAUDE.mddoesn't exist, create it with a header + the design block.docs/design/README.md— index file; create or update entries.
-
End with:
- Brand prompt block (above) for the user to paste into Claude Design.
- One-line summary: "Brand done. Next:
/claude-design-prompterto generate Logo / All-Pages / Landing — all will inherit these brand decisions." - If any
(auto)defaults remain in BRAND.md (Quick mode was used or rounds were skipped), call them out explicitly:> N decisions were filled from project-type defaults and marked (auto). Run /claude-design-prompter → Answer to confirm or override individual ones, or re-run /claude-design-brand to revisit.
Persistence rules
BRAND.mdis rendered fromtemplates/BRAND.md.tmpl. Every value gets a real string; if the user didn't confirm and no recommendation applies, writeTBD(never fabricate).(auto)suffix marks values defaulted fromproject-types.mdwithout explicit confirmation. The downstream prompter modes propagate this flag (see prompter SKILL.md(auto) propagation)..claude/design-system.md— own ONLY the## Brandsection. Do not touch## Logo,## Pages.*,## Landing(those are owned by prompter).docs/design/README.md— render fromtemplates/docs-readme.md.tmpl. List every file currently indocs/design/(initially justBRAND.md).CLAUDE.md— rendertemplates/claude-md-section.md.tmplbetween the markers; create the file if missing. Idempotent.
Safety
- Never overwrite
BRAND.mdwithout confirmation (offer merge / overwrite / skip). - Never invent brand assets the user hasn't approved. Unknown values →
TBD, never fabricate hex codes or font choices outside the recommendation set. - Recommendations are opinions from
project-types.md— always show WHY, never present as absolutes. - Translate user-facing strings; keep internal keys English.
Agent Usage
On invocation, the FIRST action is the deep scan + type detection (no AskUserQuestion yet — gather evidence first). Then present the detection in 2–4 lines and immediately move to Round 1 questions. No preamble like "let me scan the repo" — just do it and report findings together with the first question.
If .claude/design-system.md already has a ## Brand section: ask once whether to "View existing / Update specific decisions / Re-run from scratch". Default to View.
What ships with it: 4 files
10.5 KB alongside SKILL.md
templates/
- BRAND.md.tmpl1.3 KB
- claude-md-section.md.tmpl685 B
- docs-readme.md.tmpl858 B
- project-types.md7.7 KB