Claude design brand
Two Claude Code skills that turn your repo into paste-ready Claude Design prompts — brand-aware, project-type-tuned, language-aware, file-persisted.
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.
What its author says it does
Copied from the file, not written here
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".
SKILL.md
7.6 KB, 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.