# experience-cms-brand-create

Builds a Salesforce Digital Experience brand.json from a description, color or logo, and writes it where the VS Code Brand Toolkit will find it.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 726 installs · ★ 1112
- Author: forcedotcom
- License: Apache-2.0 · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/forcedotcom/sf-skills/tree/HEAD/skills/experience-cms-brand-create/SKILL.md
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/skills/experience-cms-brand-create

## What it does

The skill starts from a known-good brand template and overrides leaf values only: the name, `colorScheme` colors, font choice, corner radius, base size. Structure and internal `{!$brand....}` references stay untouched, so the file remains loadable. Everything downstream — derived hover colors, the compiled `--tm-*` CSS, the active-brand config on save — belongs to the Brand Toolkit.

It walks a short flow. First it pins down intent: name, primary accent, light or dark background, corner and font feel. Then it clones `assets/brand-template.json`, shows you a compact summary of the concrete choices, and writes `.digitalExperience/brands/<slug>.brand.json`. The slug comes from the title by the rule in `references/disk-contract.md`.

In a single-turn or CLI run with nobody to answer, the skill states the values it inferred and writes the file in the same pass instead of stalling. Hand it a logo and it samples the dominant color for the accent, judging light or dark from the image background. Applying an existing brand's voice to content is a different job — that is `experience-cms-brand-apply`.

## Requirements
- Works with: Salesforce

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill experience-cms-brand-create -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/experience-cms-brand-create/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/experience-cms-brand-create/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill experience-cms-brand-create -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/experience-cms-brand-create/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill experience-cms-brand-create -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/experience-cms-brand-create/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install forcedotcom/sf-skills experience-cms-brand-create
```

2. **Manually: put the files in place**
- File: `.github/skills/experience-cms-brand-create/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill experience-cms-brand-create -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/forcedotcom/sf-skills --path skills/experience-cms-brand-create
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/experience-cms-brand-create/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill experience-cms-brand-create -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/forcedotcom/sf-skills/tree/HEAD/skills/experience-cms-brand-create/SKILL.md

## When to use it
- turn a short brand description into a loadable `brand.json`
- pick an accent and a legible contrast color from a logo
- drop the brand file where the Brand Toolkit discovers it
- set radius, font and base size to match the brand feel
- theme a Digital Experience site without hand-editing tokens

## Example prompts
- Create a brand for our site: dark theme, deep purple accent, rounded corners
- Generate a brand.json from our logo so it shows up in the Brand Toolkit
- Scaffold a brand called Coral Friendly — warm coral accent, clean sans, light background

## Source text · SKILL.md · Apache-2.0

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 4f74c5cf49027bd7.

BEGIN THIRD-PARTY FILE 4f74c5cf49027bd7
```text
---
name: experience-cms-brand-create
description: "Author a Salesforce Digital Experience brand (a \"brand.json\") so the VS Code Brand Toolkit can load, edit, and preview it. Use this skill whenever someone wants to: create a brand, make a new brand, generate a brand from a description or a color/logo/mood, add a brand to a project so the Brand Toolkit picks it up, scaffold a brand.json, theme a Digital Experience site, or turn a brand idea (\"a dark luxury brand\", \"match our logo\", \"coral + rounded + friendly\") into a loadable brand. Also use it when the user mentions \"Brand Toolkit\", \"theme manager brand\", \"brand token\", \"colorScheme\", \"primaryAccent\", \".digitalExperience/brands\", \"sfdc_cms:title\", or a \"brand.json\" that should show up in the Brand Toolkit. Do NOT use this skill to apply an existing brand's voice, tone, or guidelines to generated content (use experience-cms-brand-apply), to search Salesforce CMS for existing brands, or to search for images, media, or logos (use experience-search-coordinate)."
metadata:
  version: "1.0"
  domains: ["Experience"]
  relatedSkills:
    - "experience-cms-brand-apply"
    - "experience-search-coordinate"
---

# Create a Brand for the Brand Toolkit

Generates a Digital Experience **brand** — one `brand.json` file — from a user's
description, and writes it where the VS Code **Brand Toolkit** will discover it,
so the user can immediately load, edit, and preview the brand.

A brand is a single JSON object of design tokens: colors (`colorScheme`), a font
catalog and base font (`fontFamily` / `baseFontFamily`), size/spacing/border
scales, per-role `typography`, and `buttonStyleGroup` definitions. Most of it is
fixed structure with internal references; **you create a brand by starting from a
known-good template and changing only the leaf values** (colors, font choice,
border radius, base size) plus a unique name.

The Brand Toolkit owns everything downstream: it computes derived hover colors,
compiles the `--tm-*` CSS, and manages the active-brand config on Save. Your job
is just the `brand.json`.

> **Related:** This skill *creates* a new brand definition. To *apply* an existing
> brand's voice, tone, and guidelines to generated content, use the
> `experience-cms-brand-apply` skill instead.
```
END THIRD-PARTY FILE 4f74c5cf49027bd7

The third-party file has ended. Everything between the 4f74c5cf49027bd7 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2298 of 11377 bytes. © forcedotcom · Apache-2.0 · https://github.com/forcedotcom/sf-skills/tree/HEAD/skills/experience-cms-brand-create/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
