Brand Theme Pack
Use this skill to build a reusable brand theme pack. A brand theme pack is the single source of truth that downstream skills (ad-creative-builder, social-asset-batch, visual-copy-pairing, campaign-variant-generator) consume to keep visual decisions consistent.
Read ../../references/platform-specs.md, ../../references/channel-tone.md, and ../../references/variant-axes.md before assembling the pack so the theme decisions match downstream consumers.
Use when
- The workspace has a current normalized brand context but no theme pack yet.
- A campaign needs a seasonal, festival, partnership, or limited-time theme delta.
- Visual primitives in the brand context have changed and the previous theme pack is now out of date.
- Multiple campaigns need to share a single visual system across batches.
Do not use when
- The brand context itself has not been normalized (route to
marketing-context-normalizer).
- The request is for a single ad or social asset and no other skills will reuse the theme.
- The task is product UI theming or design-system tokens (route to
Design Director).
Failures to avoid
- redefining brand identity instead of building on the normalized brand context
- inventing palette, typography, or motif values not present in the brand context
- letting a campaign theme overlay overwrite the base brand identity instead of layering as a delta
- producing a theme pack that downstream skills cannot consume because sections are missing
Workflow
1. Confirm the brand context input
Read the normalized brand context from docs/brand/ (or from the operator-provided source). If the brand context is missing or stale, stop and route to marketing-context-normalizer.
2. Decide theme scope
Decide whether the pack is:
- a base theme (covers the brand long-term, expected to be the default for all campaigns)
- a campaign theme overlay (seasonal, festival, partnership, limited-time)
A campaign overlay must declare its base theme parent and only encode the delta from the base.
3. Assemble the theme primitives
Produce these stable sections, sourced from the brand context:
- palette tokens (semantic roles: primary, accent, surface, text, on-color, status)
- typography stack (display, headline, body, caption, monospace where relevant)
- motif library (shapes, textures, photographic style notes, illustration style notes)
- composition rules (grid, safe zones, hero anchor, hierarchy rules)
- treatment rules (effects, shadows, gradients, do-not-do treatments)
4. Map theme to channels
For each prioritized channel from the brand context, document:
- which palette roles dominate
- which typography roles are allowed at which size
- which motifs are channel-appropriate
- channel-specific compliance overlays
5. Write back to the workspace
When a workspace is linked, write the theme pack into:
docs/brand/themes/<theme-id>/theme.md
docs/brand/themes/<theme-id>/palette.md
docs/brand/themes/<theme-id>/typography.md
docs/brand/themes/<theme-id>/motifs.md
docs/brand/themes/<theme-id>/channel-mapping.md
Stamp every file with the brand context version it was built from.
6. Surface unresolved gaps
End with an explicit list of:
- primitives that the brand context did not cover
- assumed values that need confirmation
- channels that need a real platform spec validation pass
Output format
Return:
1. Theme scope
- base theme or overlay, with parent reference if overlay
- brand context version source
2. Theme primitives
- palette
- typography
- motifs
- composition rules
- treatment rules
3. Channel mapping
- per-channel palette, typography, motif, compliance overlay
4. Workspace write-back plan
- the files to write or update
- the diff or summary for each file
5. Unresolved gaps
- missing primitives
- assumed values
- channels needing spec validation
Use together with
marketing-context-normalizer
ad-creative-builder
social-asset-batch
visual-copy-pairing
campaign-variant-generator
1---2name: brand-theme-pack3description: Build a reusable brand theme pack from the normalized brand context so downstream creative skills share one visual system.4---56# Brand Theme Pack78Use this skill to build a reusable brand theme pack. A brand theme pack is the single source of truth that downstream skills (`ad-creative-builder`, `social-asset-batch`, `visual-copy-pairing`, `campaign-variant-generator`) consume to keep visual decisions consistent.910Read `../../references/platform-specs.md`, `../../references/channel-tone.md`, and `../../references/variant-axes.md` before assembling the pack so the theme decisions match downstream consumers.1112## Use when1314- The workspace has a current normalized brand context but no theme pack yet.15- A campaign needs a seasonal, festival, partnership, or limited-time theme delta.16- Visual primitives in the brand context have changed and the previous theme pack is now out of date.17- Multiple campaigns need to share a single visual system across batches.1819## Do not use when2021- The brand context itself has not been normalized (route to `marketing-context-normalizer`).22- The request is for a single ad or social asset and no other skills will reuse the theme.23- The task is product UI theming or design-system tokens (route to `Design Director`).2425## Failures to avoid2627- redefining brand identity instead of building on the normalized brand context28- inventing palette, typography, or motif values not present in the brand context29- letting a campaign theme overlay overwrite the base brand identity instead of layering as a delta30- producing a theme pack that downstream skills cannot consume because sections are missing3132## Workflow3334### 1. Confirm the brand context input3536Read the normalized brand context from `docs/brand/` (or from the operator-provided source). If the brand context is missing or stale, stop and route to `marketing-context-normalizer`.3738### 2. Decide theme scope3940Decide whether the pack is:4142- a base theme (covers the brand long-term, expected to be the default for all campaigns)43- a campaign theme overlay (seasonal, festival, partnership, limited-time)4445A campaign overlay must declare its base theme parent and only encode the delta from the base.4647### 3. Assemble the theme primitives4849Produce these stable sections, sourced from the brand context:5051- palette tokens (semantic roles: primary, accent, surface, text, on-color, status)52- typography stack (display, headline, body, caption, monospace where relevant)53- motif library (shapes, textures, photographic style notes, illustration style notes)54- composition rules (grid, safe zones, hero anchor, hierarchy rules)55- treatment rules (effects, shadows, gradients, do-not-do treatments)5657### 4. Map theme to channels5859For each prioritized channel from the brand context, document:6061- which palette roles dominate62- which typography roles are allowed at which size63- which motifs are channel-appropriate64- channel-specific compliance overlays6566### 5. Write back to the workspace6768When a workspace is linked, write the theme pack into:6970- `docs/brand/themes/<theme-id>/theme.md`71- `docs/brand/themes/<theme-id>/palette.md`72- `docs/brand/themes/<theme-id>/typography.md`73- `docs/brand/themes/<theme-id>/motifs.md`74- `docs/brand/themes/<theme-id>/channel-mapping.md`7576Stamp every file with the brand context version it was built from.7778### 6. Surface unresolved gaps7980End with an explicit list of:8182- primitives that the brand context did not cover83- assumed values that need confirmation84- channels that need a real platform spec validation pass8586## Output format8788Return:8990### 1. Theme scope9192- base theme or overlay, with parent reference if overlay93- brand context version source9495### 2. Theme primitives9697- palette98- typography99- motifs100- composition rules101- treatment rules102103### 3. Channel mapping104105- per-channel palette, typography, motif, compliance overlay106107### 4. Workspace write-back plan108109- the files to write or update110- the diff or summary for each file111112### 5. Unresolved gaps113114- missing primitives115- assumed values116- channels needing spec validation117118## Use together with119120- `marketing-context-normalizer`121- `ad-creative-builder`122- `social-asset-batch`123- `visual-copy-pairing`124- `campaign-variant-generator`