← Vault Index
Source: business/marketing/skills/linkedin-image-SKILL.md

LinkedIn Image Skill — Advisory OS

Purpose

Create scroll-stopping LinkedIn images for Advisory OS campaigns. One image format. Repeatable. Readable at mobile feed size. Brand-consistent across campaigns.


The Image's One Job

Stop the scroll. That's it.

The image does NOT deliver the concept. The image does NOT summarize the post. The image does NOT replicate what the post says. It makes someone stop scrolling and read the text below.


The 2-Second Test

Would someone scrolling their phone at 6am — who has never heard of you, has not read the post, and has zero context — understand this image in 2 seconds?

If no → simplify until the answer is yes.


Three Layers of Depth (Never Duplicate)

LayerTimeJob
Image2 secondsStop the scroll. Create curiosity or tension.
Post60 secondsDeliver the insight, proof, framework.
Article5 minutesFull interactive experience.

If the image tries to do the post's job, it fails at its own. If the post is redundant with the image, the reader stops early.


The Format: Quote Card

Every LinkedIn image uses the same structure:

[Campaign Label — top center, small tracked uppercase]

[Context Line — optional, one line that frames the quotes]

[Primary Text — center, large, ivory]

[Gold Divider — horizontal line]

[Secondary Text — center, medium, gold]

[Logo — bottom center]

This is the only approved format. No data visualizations. No charts. No diagrams. No infographics. No multi-element layouts. Quote cards only.


What Goes in the Two Text Slots

The primary and secondary text create tension. Together they form an incomplete thought the reader must read the post to resolve.

Patterns That Work

Recognition + Reframe. Primary asks or states something the reader recognizes. Secondary reframes it in a way that challenges their assumption.

Example: "Do you know what your clients actually value?" / "You rank by effort. They rank by experience."

Quote + Score. Primary is something a prospect or client says. Secondary reveals what it actually means.

Example: "This is exactly what we need." / "Scored a 2."

Inversion. Two parallel quotes or statements that contradict each other. The contradiction is the tension.

Example: "This is exactly what we need." (Scored a 2.) / "I'm skeptical, but the problem is real." (Scored a 5.)

Patterns That Fail

Entire post compressed into an image. Too many elements. Nothing dominates. Unreadable at feed size.

Novel frameworks as visuals. If the concept requires the post to make sense, it can't carry the image. 80/20 works because everyone knows it. "The Politeness Premium" as a visual concept does not — use it as the campaign label instead.

Data visualizations. Crossing lines, ranked lists, tables, charts. These require context the viewer doesn't have. They look like spaghetti or spreadsheets.

Numbers without context. Just "6" and "1" with labels. Too abstract without the post.


When to Add a Context Line

If the primary and secondary text create tension ON THEIR OWN (the reader understands what they're looking at without explanation), no context line needed.

If the quotes need framing to make sense (the reader would think "what does that mean?"), add ONE line between the campaign label and the primary text. This line sets the scene in under 10 words.

Example: "Two things you hear on every triage call." — now the reader knows the quotes are from prospect conversations, and the scores land as the surprise.

The context line is NOT a subtitle. NOT an explanation. NOT a second campaign label. It's the minimum viable frame that makes the quotes land cold.


Visual Brand Specs

These are fixed. Do not deviate.

ElementSpec
Canvas1200x1200px (square)
Background#0a0a0a (near-black)
Primary text#f8f7f4 (ivory), Cormorant Garamond serif
Primary size108px minimum at 1200px canvas. Err larger.
Secondary text#b79d64 (gold), Cormorant Garamond serif
Secondary size68px minimum at 1200px canvas
Context lineCormorant Garamond, ~36px, rgba(248,247,244,0.4)
DividerGold line, rgba(183,157,100,0.5), 100px wide, 2px tall
Campaign labelInter sans-serif, 16px, #6a6a6a, uppercase, letter-spacing 0.3em, top center
Logo"Advisory OS", Cormorant Garamond, 24px, #4a4a4a, bottom center
Score/verdict textCormorant Garamond, 48px, rgba of the section color at 0.4-0.5

Colors Used — Complete List

No red. No green. No other colors. Two-color system only (ivory + gold on black).


Mobile Readability Rule

LinkedIn renders feed images at roughly 400-500px on mobile. Every font size divides by ~2.5x.

Canvas sizeMobile renderReadable?
108px~43pxYes
68px~27pxYes
48px~19pxMarginal
36px~14pxBarely (context line only)
24px~10pxNo (logo only — fine, it's branding)
16px~6pxNo (label only — fine, it's subtle)

If content text renders below ~19px on mobile, it's too small to carry meaning. Only labels, logos, and context lines can be that small.


Build Process

  1. Identify the campaign name (becomes the label)
  2. Identify the tension point from the post — the single moment of inversion, surprise, or reframe
  3. Write two text elements that capture that tension
  4. Test: does a stranger understand these two elements with zero context?
  5. If no → add a context line (one line, under 10 words)
  6. If still no → choose different text elements. The tension point may not be visual.
  7. Build the HTML using the specs above
  8. Open in browser at 100% and at 40% zoom (simulates mobile)
  9. At 40%: can you read both text elements? Does the tension land?
  10. Screenshot the card only (gray body is for cropping)

Common Mistakes

MistakeWhy It HappensFix
Putting the entire post in the imageReacting to "needs more context" feedbackThe image needs the tension POINT, not the full argument
Multiple opacity levels creating "gray soup"Trying to create hierarchy with too many shadesTwo colors max. Hierarchy through size, not opacity.
Text too smallTrying to fit too many elementsFewer elements, larger text. If it doesn't fit at 108px+, you have too much.
Data visualizationThinking "this would look cool"Quote cards only. The concept is earned by the post, not shown in the image.
Redundant with the postImage summarizes the post's argumentImage creates the question. Post delivers the answer.
No context line when neededTwo quotes that don't make sense coldAdd one framing line. Under 10 words.

File Delivery