Produce Metis Strategy whitepapers — 15–28 page thought leadership PDFs with a specific structure, visual style, and editorial voice. Use this skill whenever a user asks to create, draft, or structure a whitepaper, thought leadership paper, playbook, or long-form research report for Metis Strategy. Also trigger when the user mentions "whitepaper," "white paper," "playbook," "thought leadership piece," "long-form report," or asks to produce a publishable document that looks like existing Metis research. Output is a polished, print-ready PDF generated from HTML via Playwright — matching the look and feel of published Metis whitepapers. Always use this skill for whitepaper requests, even if the user just says "write a whitepaper on X" without further specification.
94
94%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Metis whitepapers are published thought leadership documents that establish Metis as the authoritative voice on a strategic topic for technology and digital executives. The output is a print-ready PDF rendered from HTML via Playwright, closely matching the visual style of published Metis whitepapers.
Read all three reference files before producing output:
references/content-patterns.md — narrative structure, page templates, voice/tone, writing rulesreferences/page-layouts.md — HTML/CSS templates for every page type, photo handling, renderingreferences/diagram-builders.md — SVG code for Metis framework diagrams (maturity ladders, matrices, phase flows, etc.)The scripts/ folder contains the rendering helper — use it directly rather than rewriting from scratch each time.
| Layer | Tool | Notes |
|---|---|---|
| Layout | HTML + CSS | Full-bleed photos, multi-column text, dark navy pages, gradients |
| Typography | Google Fonts (Open Sans) | Loaded from CDN in the HTML head |
| Diagrams | Inline SVG | Built from code in references/diagram-builders.md |
| PDF export | Playwright (Node.js) | scripts/render-whitepaper.js handles this |
One-time setup (if Playwright is not yet installed in the working directory):
npm install playwright
npx playwright install chromiumAll Metis brand assets live on the shared drive. Reference them using absolute file:// paths in the HTML so Playwright can resolve them regardless of where whitepaper.html is saved.
Brand root: G:\Shared drives\Knowledge Management\New Brand Assets
| Asset | File | Usage |
|---|---|---|
| Trajectory device | Graphic Devices\Metis Trajectory Device RGB.png | Cover + section dividers as full-page background overlay at 30–35% opacity |
| Energy device | Graphic Devices\Metis Energy Device RGB.png | Background texture on content pages, 20–40% opacity |
| Arrow device (single) | Graphic Devices\Metis SnglArrow Device RGB.png | Inline callouts, pointing right only |
| Metis logo (white) | Metis Strategy Logo\Metis Strategy White RGB logo.png | Cover page, credits page |
| Metis logo (white-mint) | Metis Strategy Logo\Metis Strategy White-Mint RGB Logo.png | Credits/closing page (centered) |
| Metis logo (black-mint) | Metis Strategy Logo\Metis Strategy Black-Mint RGB Logo.png | Top-right corner on light-background pages |
In HTML src attributes, use the full file:// URI with forward slashes and %20 for spaces:
file:///G:/Shared%20drives/Knowledge%20Management/New%20Brand%20Assets/Graphic%20Devices/Metis%20Trajectory%20Device%20RGB.pngOr use the helper constant defined at the top of each generated HTML file:
<script>
const BRAND = "file:///G:/Shared%20drives/Knowledge%20Management/New%20Brand%20Assets";
</script>Then reference assets as template literals in inline styles, or pre-resolve them before writing the HTML.
Logo fallback: If the logo cannot be resolved, render the wordmark as <span style="font-size:13px;font-weight:700;color:rgba(255,255,255,0.7);letter-spacing:0.06em;">METIS STRATEGY</span>.
Trajectory device rules (from brand guidelines):
linear-gradient(135deg, #20216f 0%, #256ba2 35%, #1a8a7a 60%, #3cdbc0 100%))position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.3;pointer-events:none;Metis logo on every page:
Metis Strategy Black-Mint RGB Logo.pngMetis Strategy White-Mint RGB Logo.png.metis-m { position: absolute; top: 22px; right: 28px; height: 22px; width: auto; }<span style="font-size:13px;font-weight:700;color:rgba(255,255,255,0.7);letter-spacing:0.06em;">METIS STRATEGY</span>The user provides a source folder. Typical structure:
whitepaper-source/
├── config.json ← title, authors, orientation, short_title
├── brief.md ← overall outline and notes (optional)
├── content/ ← one .md or .txt file per section
│ ├── 00-abstract.md
│ ├── 01-section1.md
│ └── ...
├── assets/
│ ├── photos/ ← .jpg/.png photos for page backgrounds/banners
│ ├── diagrams/ ← pre-made diagram images (optional)
│ └── data/ ← data files if charts need to be generated
│ └── brand/ ← auto-populated from skill bundle (trajectory_device, etc.)
└── (output goes here)On first run, copy the brand assets into the source folder:
cp -r <skill-path>/assets/brand/ whitepaper-source/assets/brand/This ensures Playwright can resolve assets/brand/trajectory_device.png relative to whitepaper.html.
config.json format:
{
"title": "AI Smart: Maximizing AI Value with a Balanced Strategy",
"subtitle": "The Metis Strategy framework to guide technology executives through the ambiguity of AI",
"short_title": "AI Smart",
"orientation": "landscape",
"authors": [
{ "name": "Chris Davis", "title": "West Coast Partner", "email": "chris.davis@metisstrategy.com", "phone": "+1 (609) 529-6452" }
],
"contributors": ["Ben Calder", "Jasmeet Singh"],
"cover_photo": "assets/photos/cover.jpg",
"year": 2025
}If the user has not organized their source folder this way, help them structure it before proceeding.
| Page(s) | Type | Key Elements |
|---|---|---|
| 1 | Cover | Teal-to-navy gradient, B&W photo at 25% opacity, trajectory device overlay at 35%, eyebrow text, large title, Metis logo |
| 2 | Abstract / Introduction | Photo banner (no trajectory device), rule + SnglArrow + eyebrow, hook headline, 2-col body |
| 3–N | Section divider | Teal-to-navy gradient + trajectory device overlay at 30%, white section title text (no pill/background), bold pull statement |
| 4–N | Content pages | Various layouts — see references/page-layouts.md |
| N-1 | Conclusion | Recap eyebrow, insight headline, summary body |
| N | Credits / Closing | Dark navy, centered Metis Strategy White-Mint logo, info@metisstrategy.com, copyright line |
| N+1 | References / Endnotes | Numbered endnote entries (1–N) with author, title, year, and URL |
| Orientation | Page size | Use when |
|---|---|---|
| Portrait (default) | 816 × 1056px (8.5" × 11" at 96dpi) | Default for all whitepapers — dense, Word-document feel |
| Landscape | 1280 × 720px (or 13.33" × 7.5" at 96dpi) | Only when user specifically requests landscape or paper is diagram-forward |
/* Copy directly into <style> tags */
:root {
--dark-blue: #20216f;
--green: #3cdbc0;
--med-blue: #256ba2;
--gray: #7b8692;
--white: #ffffff;
--light-bg: #f4f6fa;
--teal-light: #e8f8f5;
}Footer format on every interior page: Page X | [Short Title] — right-aligned, var(--gray), 9pt.
Top-right corner: Small Metis M icon on every interior page.
Never use the BrandLine footer (Driving change. Elevating leaders.) inside a whitepaper.
Ask the user the following questions before proceeding:
Read config.json and all content files in the source folder (if provided). Take inventory of available photos and assets. If content files are absent, ask the user for the content or offer to generate it from the brief.
Produce a page-by-page outline table before writing any content or HTML. This is mandatory, not optional — even when the prompt seems detailed. Format:
| Page | Type | Layout | Headline / Content |
|---|---|---|---|
| 1 | Cover | Gradient + photo + trajectory overlay | Title, eyebrow, subtitle |
| 2 | Abstract | Photo banner + 2-col (no trajectory device) | Hook: "..." |
| 3 | Section I Divider | Gradient + trajectory overlay | "I. [Title]" / Pull statement |
| 4 | Content | Photo-left + text-right | "..." + pull quote + callout |
| ... | ... | ... | ... |
| N | Credits / Closing | Dark navy, centered logo + email | Metis Strategy logo, info@metisstrategy.com |
| N+1 | References | Numbered endnotes | Sources 1–N with URLs |
The Layout column is required. It prevents the common failure of defaulting to identical two-column text pages throughout the whitepaper. Ensure layout variety: no more than two consecutive pages should share the same layout type. See "Visual Density Rules" below for the full list of layout types.
In addition to the outline, present the user with a numbered list of all external sources you plan to cite, including title, author/publisher, year, and URL. This allows the user to approve, remove, or request additional sources before drafting begins.
Wait for user approval of both the outline and the source list before proceeding to step 4. Do not begin drafting until the user confirms.
For each section, follow the writing rules in references/content-patterns.md:
[PULL QUOTE]...[/PULL QUOTE][PHOTO: description of ideal image]Match available photos from assets/photos/ to page placements. For missing photos, use a dark navy gradient placeholder — do not leave blank white space.
For each diagram in the content, use the SVG generators in references/diagram-builders.md. If a diagram image already exists in assets/diagrams/, use it as an <img> tag instead.
Build a single HTML file (whitepaper.html) with one .page div per page. Use the CSS templates from references/page-layouts.md. Ensure:
<sup class="fn">N</sup> superscript numbersBefore rendering the final PDF, the user may want to edit wording, swap data points, or adjust phrasing. The HTML file is the editable source. Guide them:
How to spot-edit whitepaper.html:
Ctrl+F) to locate the text you want to change — search for a unique phrase from the sentenceCtrl+S), then re-render the PDFWhat's safe to edit in the HTML:
> and < tags — this is the contentWhat to leave alone (or ask the agent to change):
style="" attributes — these control layout<head> section — this loads fonts and base stylesIf the user has many edits, it's faster to give them back as a list and have the agent apply them all at once, then re-render.
Run the renderer after edits are complete. Use Playwright (Node.js or Python):
node scripts/render-whitepaper.js whitepaper.html output.pdf portraitOr with Python Playwright if Node.js is unavailable:
from playwright.sync_api import sync_playwright
# See scripts/render-whitepaper.js for equivalent Python setupThe script handles page sizing, print backgrounds, and output path.
Open the PDF. Verify: no text overflow, photos loaded, trajectory device visible on cover/dividers only, Metis logo on every page, diagrams rendered, footer and page numbers correct, endnote numbers match References page. Fix any issues in the HTML, re-render, and deliver.
Source: Metis Strategy caption below every framework diagram — always.[Company], as an example, [action]. [outcome].Page X | [Short Title] — not the BrandLine.https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swapG:\Shared drives\Knowledge Management\New Brand Assets\Graphic Devices\Metis Trajectory Device RGB.png (referenced via file:// URI in HTML), never a hand-drawn SVG.references/content-patterns.md for examples.<sup class="fn">N</sup>. A dedicated References/Endnotes page at the end lists all sources with numbered entries (1–N) including author, title, year, and URL.These rules prevent the most common failure mode: text-only pages with large empty areas that look unfinished compared to published Metis whitepapers.
A page with only two-column body text and a headline will look empty at 1280×720. Every content page must include at least one of the following in addition to body text:
Most published pages include two or more of these elements. When in doubt, add more visual material rather than less. Empty white space reads as unfinished draft.
Do not use the same two-column text layout for every content page. A published whitepaper alternates across at least four layout types:
| Layout | When to use |
|---|---|
| Photo left (40%) + text right (60%) | Opening page of a new section, or when the topic shifts |
| Photo banner top (35%) + two-column text below | Abstract/intro pages, conclusion pages |
| Two-column text + pull quote + callout box | Core argument pages with supporting evidence |
| Full-width diagram page | Framework introductions, maturity models |
| Dark navy with step list or metric cards | Data-heavy pages, phase descriptions, key lists |
Plan layout variety during the outline step (Step 2). Annotate each page with its intended layout type so the HTML build step does not default to uniform text-only pages.
Use real photos, not just gradient placeholders. Gradient-only pages look visibly sparse and unpolished compared to published Metis whitepapers. Use the firm's B&W stock photo library:
Stock photo path: G:\Shared drives\Knowledge Management\New Brand Assets\PPT Assets\Metis PPT Images\
Available photos (B&W, ready to use as file:// URIs):
pexels-divinetechygirl-1181311-bw.jpg — woman at computer (covers, tech topics)pexels-thecoachspace-2977547-bw.jpg — coaching/collaboration (people, team topics)chris-linnett-Rl8gOeq0xNM-unsplash-bw.jpg — abstract/atmosphericpexels-pixabay-276299-bw.jpg — architecture/building (structure topics)Metis_flatiron_bw2.jpg — Flatiron building (conclusion, NYC brand identity)pexels-pixabay-63320-bw.jpg — office environment (intro, workplace topics)Metis_leap_bw_2.jpg — action/movement (transformation topics)curated-lifestyle-tRkGpRU1K90-unsplash-bw.jpg — lifestyle/professionalpexels-pixabay-358530-bw.jpg — additional atmosphericPhoto rules:
rgba(0,0,0,0.40) to rgba(0,0,0,0.50)) on photos used
behind text for legibilityIf the user provides their own photos, use those. Only fall back to gradients when no photos are available at all, and note this in the output as a limitation.
On dark navy pages, overlay the Energy device PNG at 7–10% opacity as a full-width background texture. This adds visual depth without competing with content:
<img src="file:///G:/Shared%20drives/Knowledge%20Management/New%20Brand%20Assets/Graphic%20Devices/Metis%20Energy%20Device%20RGB.png"
style="position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0.08;pointer-events:none;" alt="" />Named company examples that span 2+ sentences should be styled as callout boxes, not left as inline body text:
<div class="callout">
<div class="callout-label">DBS Bank</div>
CEO Piyush Gupta mandated the bank operate as a technology startup. The GANDALF
framework and Agile operating model now deliver 45 million hyper-personalized
nudges monthly.
</div>For data-heavy sections, present key statistics as large-number cards rather than inline text. Pattern: large teal number (36–42px) + small gray label (9–10px) below:
<div style="display:flex;gap:32px;margin:20px 0;">
<div style="text-align:center;">
<div style="font-size:38px;font-weight:700;color:var(--green);">+154%</div>
<div style="font-size:9px;color:var(--gray);margin-top:4px;">Pull Request Size</div>
</div>
<!-- ... more cards ... -->
</div>All whitepapers use numbered endnote citations. Do NOT use inline parenthetical citations or footnotes at the bottom of individual pages.
In-text citation markup:
<!-- On light-background pages -->
<sup class="fn">1</sup>
<!-- On dark-background pages -->
<sup class="fn on-dark">1</sup>Required CSS (include in base styles):
sup.fn {
font-size: 8px; font-weight: 700; color: var(--green);
vertical-align: super; line-height: 0; margin-left: 1px;
}
sup.fn.on-dark { color: var(--green); }References/Endnotes page: The final page of every whitepaper must be a dedicated References page listing all cited sources as numbered entries (1–N). Each entry includes: author/publisher, title (italicized), year, and URL. Use the two-column layout on this page to fit more entries.
Example endnote entry:
1. Stack Overflow. 2025 Developer Survey: AI Tools & Developer Experience. 2025.
https://survey.stackoverflow.co/2025/Landscape orientation bug: When using the render-whitepaper.js script with explicit
width: '1280px' and height: '720px' (already landscape dimensions), do NOT also set
landscape: true in the page.pdf() call. Playwright interprets landscape: true as
"swap width and height," which produces a 720×1280 portrait page. The render script has
been patched to avoid this, but if writing a custom renderer, omit the landscape flag
when providing explicit landscape dimensions.
Expected file sizes: A whitepaper with embedded B&W photos will be 8–12 MB. A text-only draft without photos will be ~0.5 MB. The large size is normal and expected.