| name | presentation-factory-slalom-brand |
| description | The Slalom brand authority for the Presentation Factory. Owns Slalom-specific tokens, typography (Lora italic titles, Avenir Next subs, Slalom Sans body), the signature italic-emphasis pattern, gradient discipline (strip-only), icon-family rules, and the anti-patterns Slalom decks must avoid. Loaded by Frame for any deck on the Slalom brand (the default). Consumed by content-author, design-layout, and slide-composer as the source of truth for visual register.
|
| type | skill |
| plugin | presentation-factory |
| tags | ["type/skill","plugin/presentation-factory","scope/specialty","topic/brand"] |
| status | active |
Goal
Apply Slalom brand consistently across every slide in a deck. Be the source of truth for tokens, typography, gradient discipline, and the named bans. When in doubt about a Slalom visual decision, this skill answers it.
When to invoke
- Frame stage, when the brand answer is "Slalom" (the default for almost every deck)
- Compose stage, before
presentation-factory-slide-composer renders templates
- Any time a deck-in-progress needs a brand audit
Required context
references/presentation-factory-foundations.md (typography and gradient sections) and references/slalom-brand-patterns.md (the May 2026 brand crawl synthesis). Do not re-explain those rules. Cite them.
What this skill owns
Tokens (load from resources/tokens/slalom.css)
Copy to WIP/[deck]/brand/tokens.css at Frame time. The token file defines:
- Color:
--brand-primary (Slalom Blue #0C62FB), --brand-ink (#000A25), --brand-navy (#0F1C41), --brand-cyan (#1BE1F2), plus the five accent gradient stops
- Typography family variables:
--font-display (Lora), --font-sub (Avenir Next), --font-body (Slalom Sans)
- Type scale (slide-relative):
--size-title, --size-sub, --size-eyebrow, --size-body, --size-stat, --size-stat-unit
- Spacing scale:
--space-1 through --space-12
- Hero background tokens:
--gradient-hero-navy, --gradient-hero-ink, --gradient-hero-blue
- Image-overlay tokens:
--image-overlay-bottom, --image-overlay-left
- The 28px gradient-strip token:
--gradient-strip
Logo files
Copy from 70_Templates/Slalom_Brand_Assets/:
slalom-logo.svg (default, dark on light)
slalom-logo-white.svg (for dark heroes)
- Save to
WIP/[deck]/brand/
Typography rules
Cite the table in presentation-factory-foundations.md (Typography rules v0.3). The non-negotiable rules:
- Titles are Lora italic. The whole title. Every slide.
<em> inside bumps to italic 600 + recolor to brand-primary (or brand-cyan on dark).
- Subtitles and eyebrows are Avenir Next bold. Sentence case for subtitles. UPPERCASE letter-spacing 0.16em for eyebrows.
- Body is Slalom Sans regular. Line-height 1.55.
- Stat numbers are Lora italic semibold to bold. Never light. The unit suffix (k, M, %) is 0.45em of the number, in brand-primary.
- Pull quotes are Lora italic 500. Larger than body. No quotation marks if visually distinct.
The signature italic-emphasis pattern
Every Slalom title uses Lora italic for the whole title, with <em> around the emphasis phrase. The <em> bumps weight to italic 600 and recolors:
- Brand-primary blue on white backgrounds
- Brand-cyan on dark (navy or ink) backgrounds
Examples (cite these in content authoring):
- Eliminating content bottlenecks
- AI that drives real impact
- Three principles that shape how we work
If a slide title doesn't use the pattern, flag it during content review.
Gradient discipline
The multi-color gradient is strip-only:
- Right-edge accent strip, 28px wide (
--gradient-strip)
- Top or bottom band, 56px tall, used sparingly between deck sections
Never use the multi-color gradient as a hero or full-bleed background. For heroes:
- Flat Slalom navy or ink
- Same-family subtle gradient (
--gradient-hero-navy, --gradient-hero-ink, --gradient-hero-blue)
- Background image with darker-fade overlay
Icon family
Default to Lucide for Slalom decks (geometric, single-stroke, brand-friendly). Acceptable alternatives: Phosphor, Flaticon Linear set. Pick one per deck. Never mix.
Slalom's own illustration-style icons are banned by user mandate.
Footer chrome
Every non-title slide includes:
- Slalom logo bottom-left (small, 24px tall)
- Slide number bottom-right (Avenir Next regular, tabular-nums)
- Deck title (optional, small, centered) for long decks
What this skill enforces (audit checks)
When called as an audit, this skill checks each rendered slide for:
| Check | Pass criterion |
|---|
| Title font | Whole title is Lora italic |
<em> emphasis | At least 60% of titles use <em> for an emphasis phrase |
| Body font | Slalom Sans (not Inter, not Helvetica) |
| Eyebrow casing | UPPERCASE, letter-spacing >= 0.14em |
| Gradient placement | Strip-only. No multi-color full-bleed backgrounds |
| Icon family | Single family across the deck |
| Slalom icons | None present (banned) |
| Footer chrome | Present on non-title slides |
| Filler words | None: elevate, leverage, seamless, unleash, next-gen, best-in-class |
| Em-dashes | None in body prose |
Output: pass/fail per check with the slide number where the violation lives.
What this skill does not do
- Does not author content (that's
presentation-factory-content-author)
- Does not pick templates (that's
presentation-factory-design-layout)
- Does not render HTML (that's
presentation-factory-slide-composer)
- Does not handle Composable DXP or Client brand (separate skills or in-orchestrator routing)
Output
When invoked at Frame: WIP/[deck]/brand/tokens.css and WIP/[deck]/brand/logo.svg populated.
When invoked as an audit: a markdown report WIP/[deck]/brand_audit.md with pass/fail per check and per-slide violations.