Installs into .claude/skills of the current project.
Are you the author of Add Brand Update?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/mountainunicorn-add-brand-update)
---
name: add-brand-update
description: "[ADD v0.11.0] Update project branding — new colors, fonts, tone, audit artifacts"
---
<!-- ADD AskUserQuestion shim (Codex) -->
<!-- Injected by scripts/compile.py when skill-policy.yaml marks a skill -->
<!-- with requires_askuser_shim: true. See AC-026/027/028 in -->
<!-- specs/codex-native-skills.md. -->
> **Codex interaction mode notice (ADD)**
>
> This skill depends on structured question/answer turns. Behavior depends on
> Codex's current mode:
>
> - **Plan mode:** call the `ask_user_question` tool for each prompt below.
> One question per call. Wait for the user's answer before moving on.
> - **Default mode (no `ask_user_question` available):** emit the questions
> inline as a numbered list, then **halt and wait** for the user's next
> prompt. Do **not** improvise, infer, or fabricate answers — this skill
> fails closed if required input is missing. Resume only after the user
> replies.
>
> The skill body below defines what to ask; the shim only governs *how* to ask.
---
# ADD Brand Update Command v0.11.0
Update the project's branding configuration with new materials and audit existing generated artifacts for brand consistency. Optionally apply fixes to bring artifacts in line with the new brand.
## Pre-Flight
1. Check if `.add/config.json` exists. If not, tell the user to run `/add-init` first.
2. Read `.add/config.json` and extract the current `branding` section.
3. Read `~/.codex/add/templates/presets.json` for available presets and palette generation algorithm.
## Arguments
The user provided: $ARGUMENTS
If arguments contain specific values (hex color, preset name, etc.), use them directly instead of asking.
## Phase 1: Collect New Branding
### Step 1.1: Determine Update Scope
Use ask the user (use a clear, single-question prompt):
```
Question: "What would you like to update?"
Options:
- "Accent color only"
- "Full brand refresh (color, fonts, tone, logo)"
- "Apply a color preset"
```
### Step 1.2a: Accent Color Only
Use ask the user (use a clear, single-question prompt):
```
Question: "Choose a new accent color:"
Options:
- "Raspberry (#b00149) — bold and warm"
- "AI Purple (#6366f1) — classic tech"
- "Ocean (#0891b2) — professional and calm"
- "Custom hex color"
```
If "Custom hex color": Ask for the hex value. Validate it's a valid 3 or 6 character hex color (with or without #).
Generate the full palette from the selected color using the algorithm in `~/.codex/add/templates/presets.json`:
1. Parse hex to RGB, convert to HSL
2. Generate all palette values (accentLight, accentDark, accentMuted, accentGlow, gradientStart, gradientMid, gradientEnd)
3. Keep fixed colors (success: #22c55e, warning: #eab308, info: #0ea5e9)
### Step 1.2b: Full Brand Refresh
Ask each in sequence:
**Color:** Same as Step 1.2a above.
**Fonts:** "Do you have font preferences?"
Use ask the user (use a clear, single-question prompt):
- "Use system defaults (Recommended)"
- "Let me specify fonts"
If specifying: Ask for heading font, body font, code font. Store in `branding.fonts`.
**Tone:** "Describe your brand's tone/voice in a few words (e.g., 'professional but approachable', 'bold and confident', 'technical and precise')."
(Default: null — no tone constraint)
**Logo:** "Path to your project logo file? (Leave empty to skip)"
(Default: null)
**Style Guide:** "URL or file path to your style guide? (Leave empty to skip)"
(Default: null)
### Step 1.2c: Apply a Color Preset
List presets from `~/.codex/add/templates/presets.json`:
Use ask the user (use a clear, single-question prompt):
```
Question: "Choose a color preset:"
Options:
- "Raspberry (#b00149) — bold and warm"
- "AI Purple (#6366f1) — classic tech"
- "Ocean (#0891b2) — professional and calm"
- "Forest (#059669) — rich emerald green"
```
(If more than 4 presets, show the top 4 most popular. User can type "Other" for Sunset or Midnight.)
Load the full palette from the preset. Set `presetName` to the chosen preset.
## Phase 2: Update Configuration
### Step 2.1: Write Updated Config
Update `.add/config.json` `branding` section with the new values:
```json
"branding": {
"accentColor": "{NEW_ACCENT}",
"presetName": "{PRESET_NAME_OR_NULL}",
"palette": {
"accent": "{NEW_ACCENT}",
"accentLight": "{GENERATED}",
"accentDark": "{GENERATED}",
"accentMuted": "{GENERATED}",
"accentGlow": "{GENERATED}",
"gradientStart": "{GENERATED}",
"gradientMid": "{GENERATED}",
"gradientEnd": "{GENERATED}",
"success": "#22c55e",
"warning": "#eab308",
"info": "#0ea5e9"
},
"fonts": {"heading": "{OR_NULL}", "body": "{OR_NULL}", "code": "{OR_NULL}"},
"tone": "{OR_NULL}",
"logoPath": "{OR_NULL}",
"styleGuideSource": "{OR_NULL}"
}
```
Use the Edit tool to update the branding section in `.add/config.json`. Preserve all other config sections.
### Step 2.2: Confirm Update
```
BRANDING UPDATED
Previous: {old_accentColor} ({old_presetName or "custom"})
New: {new_accentColor} ({new_presetName or "custom"})
Palette:
Gradient: {gradientStart} → {gradientMid} → {gradientEnd}
Light/Dark: {accentLight} / {accentDark}
```
## Phase 3: Artifact Audit
### Step 3.1: Find Generated Artifacts
Scan for existing generated artifacts:
- `docs/infographic.svg`
- `reports/*.html`
- Any file in `docs/` or `reports/` that contains color hex values matching the OLD branding
### Step 3.2: Audit Each Artifact
For each found artifact, compare embedded colors against the NEW branding palette.
**SVG files:** Search for hex colors in gradient definitions, fill attributes, stroke attributes.
**HTML files:** Search for CSS variable definitions (`--accent:`), inline style colors, gradient definitions.
### Step 3.3: Report Audit Results
```
ARTIFACT AUDIT
Found {N} generated artifacts:
docs/infographic.svg
→ Uses old accent #6366f1 in {N} locations
→ Needs update: gradient definitions, card accents, metric highlights
reports/spike-2026-02-14.html
→ Uses old accent #6366f1 in CSS variables
→ Needs update: --accent, --accent-light, --accent-dark
{N} artifacts need brand updates.
```
If no artifacts found:
```
ARTIFACT AUDIT
No generated artifacts found. New artifacts will use the updated branding.
```
### Step 3.4: Offer to Fix
If artifacts need updates:
Use ask the user (use a clear, single-question prompt):
```
Question: "{N} artifacts have outdated branding. Fix them now?"
Options:
- "Yes — regenerate artifacts with new branding (Recommended)"
- "No — I'll update them manually later"
```
**If "Yes":**
For each artifact type:
- **Infographic SVG:** If `/add-infographic` skill exists, suggest running it. Otherwise, use Edit tool to find-and-replace old palette hex values with new ones in the SVG.
- **HTML Reports:** Use Edit tool to update CSS variables and inline colors.
Report what was fixed:
```
FIXES APPLIED
✓ docs/infographic.svg — updated {N} color references
✓ reports/spike-2026-02-14.html — updated CSS variables
All artifacts now match configured branding.
```
**If "No":**
```
Artifacts left as-is. Run /add-brand to check drift status anytime.
```
## Phase 4: Summary
```
BRAND UPDATE COMPLETE
Accent: {accentColor} ({presetName or "custom"})
Artifacts: {N} found, {M} updated
Config: .add/config.json updated
View branding: /add-brand
```