Social Image Builder — Skill
Purpose: Generate standalone, screenshot-ready HTML image files for social media posts When to use: Creating images for LinkedIn, Facebook, or Instagram posts across AOS or CYP brands Output: 1 HTML file per image, ready for Chrome DevTools screenshot
Inputs
- Brand:
AOSorCYP - Platform:
linkedin,facebook,instagram - Content: What goes on the image — headline, subtext, output rows, CTA, logo, etc.
Platform Dimensions
| Platform | Size | Ratio | Body CSS |
|---|---|---|---|
| 1080 x 1350 | 4:5 portrait | width: 1080px; height: 1350px; | |
| Facebook (square) | 1080 x 1080 | 1:1 | width: 1080px; height: 1080px; |
| Facebook (feed) | 1200 x 630 | 1.91:1 landscape | width: 1200px; height: 630px; |
| 1080 x 1350 | 4:5 portrait | width: 1080px; height: 1350px; | |
| Meta ad (square) | 1080 x 1080 | 1:1 | width: 1080px; height: 1080px; |
| Meta ad (vertical) | 1080 x 1920 | 9:16 | width: 1080px; height: 1920px; |
Brand Systems
AOS (Advisory OS)
Background: #0a0a0a (or #1a1a1a for cards/rows)
Text primary: #f8f7f4
Text secondary: #bbb or #ccc
Text muted: #999 or #666
Accent/gold: #b79d64
Row background: #1a1a1a
Row border-left: #b79d64
Borders: #444
Fonts:
Headlines: 'Cormorant Garamond', serif (400-500 weight)
Body: 'Inter', sans-serif (300-500 weight)
Google Fonts:
<link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&family=Inter:wght@300;400;500&display=swap" rel="stylesheet">
Logo text: "Advisory OS" in Cormorant Garamond, #666
CYP (Creating Your Plan / Practice Builders)
Background: #0f2d3e (or gradient #0f2d3e → #1a3f52 or #3e666e)
Text primary: #f1ede6
Text secondary: rgba(241,237,230,0.7) or rgba(241,237,230,0.55)
Text muted: rgba(241,237,230,0.5)
Accent/gold: #b79d64
Row background: rgba(241,237,230,0.06)
Row border: rgba(183,157,100,0.25)
Light bg: #f1ede6 (cream) or #f7f5f0 (off-white)
Dark text on light: #0f2d3e or #334155
Fonts:
Headlines: 'Fraunces', serif (700-900 weight)
Body: 'Montserrat', sans-serif (300-700 weight)
Google Fonts:
<link href="https://fonts.googleapis.com/css2?family=Fraunces:wght@400;600;700;800;900&family=Montserrat:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
Logo text: "Practice Builders" in Fraunces, #b79d64
HTML Template
Every output file follows this exact structure:
<!DOCTYPE html>
<html><head>
<meta charset="UTF-8">
<link href="[GOOGLE_FONTS_URL]" rel="stylesheet">
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { width: [WIDTH]px; height: [HEIGHT]px; overflow: hidden; }
/* All other styles go here — no external CSS, no var() */
</style>
</head>
<body>
<div class="card">
<!-- Image content — fills entire body -->
</div>
</body></html>
Rules:
bodyhas ONLY width, height, overflow: hidden- Zero margin, zero padding on body
- No background color on body — the
.carddiv covers the full area .cardhas same width/height as body- All styles are in
— no inline style soup - No
var()CSS — hardcode all hex values - No production notes, labels, or content outside the card
- Google Fonts loaded via
in
File Naming
screenshot-[number]-[name]-[platform].html
Examples:
screenshot-04-content-from-delivery-linkedin.htmlscreenshot-04-content-from-delivery-fb-feed.htmlscreenshot-04-content-from-delivery-ig.htmlscreenshot-build-find-prove-close-fb.html
Common Image Types
Handraiser / Skill Announcement (AOS)
Standard layout for Practice Command Center skills. Canvas: 1080x1350 (LinkedIn 4:5 portrait).
These sizes are fixed. Do not deviate.
| Element | CSS Property | Value |
|---|---|---|
| Card | padding | 86px |
| Campaign label | font-family | 'Inter', sans-serif |
| font-size | 23px | |
| font-weight | 500 | |
| color | #999 | |
| text-transform | uppercase | |
| letter-spacing | 0.3em | |
| margin-bottom | 43px | |
| text-align | center | |
| Skill name | font-family | 'Cormorant Garamond', serif |
| font-size | 76px | |
| font-weight | 400 | |
| color | #f8f7f4 | |
| text-align | center | |
| margin-bottom | 14px | |
| Skill description | font-family | 'Inter', sans-serif |
| font-size | 27px | |
| color | #bbb | |
| text-align | center | |
| margin-bottom | 58px | |
| Input bar | background | #1a1a1a |
| border | 1px solid #444 | |
| padding | 25px 36px | |
| text-align | center | |
| margin-bottom | 29px | |
| border-radius | 5px | |
| Input bar text | font-family | 'Inter', sans-serif |
| font-size | 25px | |
| color | #bbb | |
| Arrow | text-align | center |
| color | #b79d64 | |
| font-size | 36px | |
| margin-bottom | 29px | |
| letter-spacing | 4px | |
| Output row | display | flex |
| align-items | flex-start | |
| background | #1a1a1a | |
| border-left | 5px solid #b79d64 | |
| padding | 22px 32px | |
| margin-bottom | 11px | |
| Output number | font-family | 'Cormorant Garamond', serif |
| font-size | 40px | |
| color | #b79d64 | |
| min-width | 50px | |
| line-height | 1.2 | |
| Output label | font-family | 'Inter', sans-serif |
| font-size | 25px | |
| font-weight | 500 | |
| color | #f0ead8 | |
| text-transform | uppercase | |
| letter-spacing | 0.08em | |
| Output text | font-family | 'Inter', sans-serif |
| font-size | 23px | |
| color | #ccc | |
| line-height | 1.4 | |
| Output list | margin-bottom | 43px |
| Time badge | font-family | 'Cormorant Garamond', serif |
| font-size | 47px | |
| color | #b79d64 | |
| text-align | center | |
| margin-bottom | 43px | |
| CTA bar | text-align | center |
| padding-top | 36px | |
| border-top | 1px solid #444 | |
| CTA text | font-family | 'Inter', sans-serif |
| font-size | 27px | |
| color | #f8f7f4 | |
| margin-bottom | 7px | |
| CTA keyword | font-family | 'Inter', sans-serif |
| font-size | 36px | |
| font-weight | 500 | |
| color | #b79d64 | |
| letter-spacing | 0.1em | |
| Logo | font-family | 'Cormorant Garamond', serif |
| font-size | 25px | |
| color | #666 | |
| text-align | center | |
| margin-top | 43px |
Reference file: campaigns/practice-command-center/screenshot-04-linkedin.html — the standard all handraiser LinkedIn images must match.
Handraiser / Skill Announcement — CYP Instagram (1080x1350)
Standard layout for Practice Command Center skills on Instagram. Canvas: 1080x1350 (4:5 portrait). CYP brand.
These sizes are fixed. Do not deviate.
| Element | CSS Property | Value |
|---|---|---|
| Card | background | linear-gradient(135deg, #0f2d3e 0%, #3e666e 100%) |
| padding | 64px 56px | |
| font-family | 'Montserrat', sans-serif | |
| Campaign label | font-size | 13px |
| font-weight | 600 | |
| color | #b79d64 | |
| text-transform | uppercase | |
| letter-spacing | 0.3em | |
| margin-bottom | 32px | |
| text-align | center | |
| Skill name | font-family | 'Fraunces', serif |
| font-size | 48px | |
| font-weight | 800 | |
| color | #f1ede6 | |
| text-align | center | |
| margin-bottom | 10px | |
| Skill description | font-size | 16px |
| color | rgba(241, 237, 230, 0.7) | |
| text-align | center | |
| margin-bottom | 48px | |
| Input bar | background | rgba(255,255,255,0.06) |
| border | 1px solid rgba(241,237,230,0.15) | |
| padding | 18px 24px | |
| text-align | center | |
| margin-bottom | 20px | |
| border-radius | 4px | |
| Input bar text | font-size | 15px |
| color | rgba(241,237,230,0.7) | |
| Arrow | text-align | center |
| color | #b79d64 | |
| font-size | 24px | |
| margin-bottom | 20px | |
| Output rows | margin-bottom | 32px |
| Output row | display | flex |
| align-items | flex-start | |
| background | rgba(255,255,255,0.04) | |
| border-left | 3px solid #b79d64 | |
| padding | 16px 22px | |
| margin-bottom | 8px | |
| Output number | font-family | 'Fraunces', serif |
| font-size | 26px | |
| color | #b79d64 | |
| min-width | 32px | |
| line-height | 1.2 | |
| font-weight | 700 | |
| Output label | font-size | 15px |
| font-weight | 600 | |
| color | #f1ede6 | |
| text-transform | uppercase | |
| letter-spacing | 0.08em | |
| Output text | font-size | 14px |
| color | rgba(241,237,230,0.7) | |
| line-height | 1.4 | |
| Time badge | font-family | 'Fraunces', serif |
| font-size | 30px | |
| color | #b79d64 | |
| font-weight | 700 | |
| text-align | center | |
| margin-bottom | 32px | |
| CTA bar | text-align | center |
| padding-top | 24px | |
| border-top | 1px solid rgba(241,237,230,0.15) | |
| CTA text | font-size | 16px |
| color | #f1ede6 | |
| margin-bottom | 6px | |
| CTA keyword | font-size | 22px |
| font-weight | 700 | |
| color | #b79d64 | |
| letter-spacing | 0.1em | |
| Logo | font-family | 'Fraunces', serif |
| font-size | 15px | |
| color | rgba(241,237,230,0.4) | |
| text-align | center | |
| margin-top | 32px | |
| font-weight | 700 |
Reference file: campaigns/practice-command-center/screenshot-04-content-from-delivery-ig.html
Handraiser / Skill Announcement — CYP Facebook Feed (1200x630)
Standard layout for Practice Command Center skills on Facebook. Canvas: 1200x630 (1.91:1 landscape). CYP brand. Uses a two-column layout (input left, outputs right).
These sizes are fixed. Do not deviate.
| Element | CSS Property | Value |
|---|---|---|
| Card | background | linear-gradient(135deg, #0f2d3e 0%, #3e666e 100%) |
| padding | 48px 64px | |
| font-family | 'Montserrat', sans-serif | |
| Campaign label | font-size | 11px |
| font-weight | 600 | |
| color | #b79d64 | |
| text-transform | uppercase | |
| letter-spacing | 0.3em | |
| margin-bottom | 16px | |
| text-align | center | |
| Skill name | font-family | 'Fraunces', serif |
| font-size | 36px | |
| font-weight | 800 | |
| color | #f1ede6 | |
| text-align | center | |
| margin-bottom | 6px | |
| Skill description | font-size | 13px |
| color | rgba(241, 237, 230, 0.7) | |
| text-align | center | |
| margin-bottom | 32px | |
| Columns | display | flex |
| gap | 32px | |
| Input column | flex | 0 0 320px |
| Input bar | background | rgba(255,255,255,0.06) |
| border | 1px solid rgba(241,237,230,0.15) | |
| padding | 16px 20px | |
| border-radius | 4px | |
| margin-bottom | 12px | |
| Input bar text | font-size | 12px |
| color | rgba(241,237,230,0.7) | |
| text-align | center | |
| Arrow | text-align | center |
| color | #b79d64 | |
| font-size | 24px | |
| margin-bottom | 12px | |
| Time badge | font-family | 'Fraunces', serif |
| font-size | 22px | |
| color | #b79d64 | |
| font-weight | 700 | |
| text-align | center | |
| Output column | flex | 1 |
| Output row | display | flex |
| align-items | flex-start | |
| background | rgba(255,255,255,0.04) | |
| border-left | 3px solid #b79d64 | |
| padding | 10px 16px | |
| margin-bottom | 5px | |
| Output number | font-family | 'Fraunces', serif |
| font-size | 20px | |
| color | #b79d64 | |
| min-width | 24px | |
| font-weight | 700 | |
| Output label | font-size | 12px |
| font-weight | 600 | |
| color | #f1ede6 | |
| text-transform | uppercase | |
| letter-spacing | 0.08em | |
| Output text | font-size | 11px |
| color | rgba(241,237,230,0.7) | |
| Footer | margin-top | 24px |
| padding-top | 16px | |
| border-top | 1px solid rgba(241,237,230,0.15) | |
| display | flex | |
| justify-content | space-between | |
| align-items | center | |
| CTA text | font-size | 13px |
| color | #f1ede6 | |
| CTA keyword | font-size | 16px |
| font-weight | 700 | |
| color | #b79d64 | |
| letter-spacing | 0.1em | |
| margin-left | 12px | |
| Logo | font-family | 'Fraunces', serif |
| font-size | 12px | |
| color | rgba(241,237,230,0.4) | |
| font-weight | 700 |
Reference file: campaigns/practice-command-center/screenshot-04-content-from-delivery-fb-feed.html
Quote Card (CYP or AOS)
- Eyebrow label (small caps, gold)
- Quote headline (large, serif, centered)
- Gold rule divider
- Subtext (smaller, muted, centered)
- Footer (brand name or URL)
Event / Workshop Card (CYP)
- Eyebrow (event type or date)
- Event name (large, serif)
- Gold rule
- Session breakdown (day: description format)
- Details (date, time, price)
- Footer (URL)
Screenshot Instructions
- Open the HTML file in Chrome on Chromebook
- Ctrl+Shift+I — opens DevTools
- Click three dots (⋮) top-right of DevTools panel
- Click "Run command"
- Type "screenshot"
- Select "Capture full size screenshot"
- PNG saves to Downloads at 2x resolution (Chromebook 2x display)
QC Before Delivery
- [ ] File is standalone — body has only width/height/overflow
- [ ] Card fills entire body — no white space, no extra background
- [ ] Correct dimensions for target platform
- [ ] Correct brand system (fonts, colors, accents)
- [ ] No
var()CSS - [ ] No production notes or labels
- [ ] Google Fonts loaded in
- [ ] Content is readable at target size (font sizes proportional)
- [ ] Gold (#b79d64) not used as text on light backgrounds (WCAG fail — use #6b5d3e instead)
Reference files:
- AOS visual style:
business-aos/reference/brand/visual-style.md - CYP visual style:
business-aos/reference/brand/visual-style-cyp.md - Screenshot guide:
advisory-os-vault/content/business/marketing/skills/html-image-screenshot-guide.md