Agentman PPTX Style Reference
Overview
This skill adapts the Agentman design system for PowerPoint presentations built with pptxgenjs. All brand colors, voice/tone guidelines, and anti-pattern rules are defined in the prerequisite skill agentman-styleguide — this skill covers only PPTX-specific implementation details.
The brand identity is quiet confidence — charcoal suits, not fire trucks. Carbon and warm neutrals do the heavy lifting. Terracotta appears as a rare, deliberate accent.
When to Use
- Creating any
.pptxfile for Agentman or Agentman clients - Building pitch decks, sales presentations, or workshop materials
- Reviewing slide designs for brand consistency
- Any task that triggers the
pptxskill AND involves Agentman branding
Always load agentman-styleguide first for the canonical color palette, voice/tone rules, and anti-patterns.
Core Design Principles
Visual Weight Distribution
- 70% Carbon/Charcoal — the backbone
- 20% Warm Neutrals — warmth without color
- 10% Terracotta Accent — sparingly
Key Color Roles (Quick Reference)
| Role | PPTX Hex | Usage |
|---|---|---|
| Dark slide backgrounds | 141413 |
Primary dark (charcoal-950) |
| Light slide backgrounds | FFFFFF |
Clean white |
| Cream slide backgrounds | F0EEE6 |
Warm transitions (brand-75) |
| Primary accent | CC785C |
Stat numbers, CTAs, accent bars (brand-500) |
| Highlight text | D97757 |
Key phrases on dark (brand-400) |
| Body text (dark bg) | 94a3b8 |
Readable slate |
| Body text (light bg) | 475569 |
Strong slate |
| Footer text | 64748b |
Muted slate-500 |
Complete color mapping: See references/colors.md
Typography Essentials
Two fonts — one rule:
- Inter — slide titles only (
fontFace: "Inter") - Calibri — all other text (
fontFace: "Calibri")
Inter must be embedded via pres.defineFontFace() at project init. Calibri is a system font — do not embed.
Key Sizes:
- Slide title (Inter): 26-30pt bold
- Body text (Calibri): 10.5-12pt regular
- Card title (Calibri): 11-13pt bold
- Stat numbers (Calibri): 30-36pt bold
- Footer (Calibri): 8pt
Complete type scale: See references/typography.md
Background Alternation Pattern
Never use the same background for consecutive slides. Follow this rhythm:
Dark (charcoal-950) → Dark (opening) → Cream (brand-75) →
Dark → White → Cream → Dark → White → Dark → Cream → Dark (close)
Rules:
- Open dark, close dark (sandwich structure)
- Never two consecutive cream slides
- Dark-to-dark acceptable only for opening (slides 1-2)
Full pattern details: See references/layouts.md
File Organization
This skill uses progressive disclosure — detailed information is in reference files that you load only when needed:
References (Load as Needed)
- references/colors.md - Complete hex mapping, banned colors, context rules
- references/typography.md - Full type scale, Inter setup, alignment rules, character spacing
- references/layouts.md - Cards, tables, flows, callouts, spacing system
- references/graphics.md - Nanobanana templates, prompt framework, placement
- references/anti-patterns.md - What never to do in PPTX
- references/narrative.md - Slide sequencing, title conventions
- references/setup.md - Technical setup, dependencies, checklist
Assets (Use Directly)
- assets/code-templates/ - Reusable JavaScript functions for common patterns
- assets/examples/ - Complete example implementations
Implementation Workflow
Step 1: Load Foundation
1. Load agentman-styleguide (prerequisite)
2. Read this SKILL.md for overview
3. Check references/setup.md for technical requirements
4. Embed Inter font via pres.defineFontFace() before any slides
Step 2: Plan Slide Structure
1. Review references/narrative.md for sequencing logic
2. Determine background alternation using pattern above
3. Sketch slide types needed (data, comparison, flow, etc.)
Step 3: Implement Slides
For color decisions:
- Check references/colors.md for exact hex values
- Verify usage context (dark vs light backgrounds)
- Review references/anti-patterns.md for banned colors
For layout patterns:
- Check references/layouts.md for card, table, flow patterns
- Use assets/code-templates/ for ready-to-use functions
- Verify spacing using the spacing system table
For graphics:
- Check references/graphics.md for when to use graphics
- Select appropriate category template (metaphor, before/after, process, people)
- Follow prompt construction framework for Nanobanana generation
For typography:
- Check references/typography.md for complete type scale and Inter setup
- Use
fontFace: "Inter"for slide titles,fontFace: "Calibri"for everything else - Verify minimum sizes (8pt for footer)
Step 4: Validate
1. Check references/anti-patterns.md for violations
2. Run through pre-delivery checklist (references/setup.md)
3. Verify brand-500 appears on ≤3 elements per slide
4. Verify Inter is used only for slide titles
Quick Reference: Common Patterns
Title Text
s.addText("Slide Title Here", {
x: 0.5, y: 0.3, w: 9, h: 0.6,
fontFace: "Inter", fontSize: 28, bold: true,
color: "FFFFFF" // or "141413" on light bg
});
Card with Shadow
s.addShape(pres.shapes.RECTANGLE, {
x, y, w, h,
fill: { color: "FFFFFF" },
shadow: { type: "outer", blur: 4, offset: 1, angle: 135,
color: "000000", opacity: 0.06 }
});
Footer
s.addText("agentman.ai", {
x: 0.5, y: 5.18, w: 4, h: 0.3, fontSize: 8,
color: "64748b", fontFace: "Calibri", italic: true
});
s.addText(`${slideNum} / ${totalSlides}`, {
x: 5.5, y: 5.18, w: 4, h: 0.3, fontSize: 8,
color: "64748b", fontFace: "Calibri", align: "right"
});
Stat Block
// Stat number - always brand-500, always Calibri
s.addText(statValue, {
x, y, w, h: 0.5, fontSize: 32, bold: true,
fontFace: "Calibri", color: "CC785C", align: "center"
});
// Label below
s.addText(statLabel, {
x, y: y + 0.5, w, h: 0.3, fontSize: 11, bold: true,
fontFace: "Calibri", color: isDark ? "FFFFFF" : "141413", align: "center"
});
Complete patterns: See assets/code-templates/ for copy-paste functions
Critical Reminders
Always
- Load agentman-styleguide first
- Embed Inter via
pres.defineFontFace()before creating slides - Use
fontFace: "Inter"for slide titles,fontFace: "Calibri"for all other text - Alternate slide backgrounds (never consecutive cream)
- Left-align all body text (except stat numbers)
- Include footer on every slide except title
- Keep SKILL.md token usage minimal by loading references only when needed
Never
- Use Inter for anything other than slide titles
- Use Calibri as a title font (defeats the dual-font hierarchy)
- Use brand-500 on more than 3 elements per slide
- Use green/red outside comparison table ✓/✗ symbols
- Use gradients anywhere
- Center body text
- Use text smaller than 8pt
- Place graphics on consecutive slides
- Mix outlined and filled cards on same slide
Complete anti-patterns: See references/anti-patterns.md
Search Patterns
When you need specific information, use these grep patterns:
# Find color hex for a token
grep "brand-500" references/colors.md
grep "charcoal-950" references/colors.md
# Find layout pattern
grep "Card Patterns" references/layouts.md
grep "Horizontal Flow" references/layouts.md
# Find graphic template
grep "Iceberg" references/graphics.md
grep "Bridge" references/graphics.md
# Find anti-pattern
grep "centered body text" references/anti-patterns.md
Dependencies
npm install pptxgenjs react react-dom react-icons sharp
Inter font files (download separately): https://fonts.google.com/specimen/Inter
Setup details: See references/setup.md