| name | bc-gov-pptx |
| description | Use this skill when creating a PowerPoint presentation aligned to the B.C. Government Design System. Triggers: BC Government deck, government slide deck, BC Sans presentation, BC Gov branding in PowerPoint, design system PPTX template, government briefing deck, BC government slide template.
|
| user-invocable | true |
| allowed-tools | Bash, Read, Write |
BC Government PowerPoint Skill
You are creating a PowerPoint presentation aligned to the B.C. Government Design System v0.7.0.
The reference generator is at assets/generate.js. The canonical token reference is in references/REFERENCE.md.
How to generate a deck
- Copy
assets/generate.js into the project output folder (e.g. temp/bc-gov-pptx/)
- Copy
assets/bc-logo.png into the same folder
- Install dependency:
npm install pptxgenjs (local) or npm install -g pptxgenjs
- Edit the script to replace placeholder content with real content
- Run:
node generate.js
- QA:
python -m markitdown output.pptx — check all slides extracted correctly
Color tokens (no # prefix — pptxgenjs requirement)
| Token | Hex | Use |
|---|
013366 | Navy primary | Slide header bars, stat panels, section dividers |
1E5189 | Navy hover | Section number large type, accent tints |
FBD389 | Indigenous amber | Title/closing band, quote accent, stat numbers on navy |
252423 | Dark surface | Closing slide background |
FAFAF8 | Off-white surface | Content slide background, alternating table rows |
2D2D2D | Text primary | Body text |
474543 | Text secondary | Supporting text, captions, attribution |
FFFFFF | White | Text on dark/navy backgrounds |
CADCFC | Ice blue | Subtitle, secondary text on navy |
9BBAD6 | Muted blue | Tertiary text on navy, contact lines |
D8D8D8 | Border | Table borders, divider rules |
2E5DD7 | Focus/info blue | Info icon circles |
42814A | Success green | Success icon circles |
CE3E39 | Danger red | Error icon circles |
Typography
- Font: Calibri (BC Sans substitute — install BC Sans for production)
- Slide titles: 36–44pt bold
- Section headers: 18–24pt bold
- Body: 13–16pt regular
- Captions/labels: 10–13pt, color
474543
- Large stats: 48pt bold, color
FBD389 on navy backgrounds
Slide library
Title slide
- Full navy (
013366) background
- BC logo top-left (
bc-logo.png, 1.66" × 0.64")
- Amber band at bottom (
FBD389, 0.18" tall)
- Title: 40pt bold white
- Subtitle: 16pt
CADCFC
- Presenter line: 13pt
9BBAD6
Agenda / contents
- White background, navy top bar
- Numbered circles (navy fill, white number)
- Divider rules between items (
D8D8D8)
Section divider
- Two-panel layout: navy left (3.2"), off-white right (6.8")
- Large section number on navy in
1E5189 at 72pt
- Section title 32pt bold on right panel
- Amber bottom strip on navy panel
Content with icon rows
- White background, navy top bar
- Card per item: off-white fill,
D8D8D8 border, left accent bar, icon circle
- Use
mkShadow() factory — never reuse shadow objects
Two-column stat + bullets
- Navy stat panel left (3.8"): 48pt stats in
FBD389, labels in CADCFC
- Bullet list right (5"): 14pt body,
paraSpaceAfter: 10
Data table
- Navy header row (white bold text)
- Alternating
FAFAF8 / white rows
D8D8D8 borders, 1pt
Quote / callout
- Off-white background
FBD389 left accent bar (0.1" wide)
- Quote text 22pt italic, attribution 13pt bold secondary
Closing / next steps
- Dark (
252423) background
FBD389 amber band at top
- BC logo
- Numbered steps with amber circles
- Contact line bottom-left:
9BBAD6
Non-negotiable rules
- Never use
# in hex colors — corrupts pptxgenjs output
- Never encode opacity in hex — use
opacity property; 8-char hex corrupts files
- Never reuse option objects — use factory functions like
mkShadow(); pptxgenjs mutates objects
- No accent lines under titles — use background color or whitespace instead
- No gradients — flat government aesthetic; use solid fills only
- Never use
ROUNDED_RECTANGLE with accent border overlays — corners won't align; use RECTANGLE
- Never use unicode bullets (
•) — use bullet: true in pptxgenjs
- Use
breakLine: true between array text items, not newlines
- Sentence case throughout — "Next steps" not "Next Steps"
- Indigenous acknowledgment — amber band on title and closing slides is mandatory
Do NOT
- Use fonts other than Calibri (or BC Sans if installed)
- Use colors outside the token map above
- Create text-only slides — every slide needs a visual element (shape, table, or logo)
- Use Title Case for headings or slide titles
- Add emoji anywhere in the deck