CtrlK
BlogDocsLog inGet started
Tessl Logo

metis-strategy/metis-premier-proposal

Build premier landscape PDF proposals for Metis Strategy business development. Use whenever the user asks to create, build, draft, rebuild, refine, or iterate on a proposal, BD follow-up document, pitch document, or client-facing document to be sent to an external prospect after a discovery call. Output is a 16:9 landscape PDF (13.33" x 7.5") combining full-bleed photography, branded graphic devices, and coordinate-based ReportLab layout. Do NOT use for PowerPoint decks (use metis-pptx), whitepapers (use metis-whitepaper), one-pagers or internal reports (use metis-pdf-creator), or SOWs/MSAs (use metis-legal-drafting).

94

Quality

94%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

metis-premier-proposal

Skill for building premier landscape PDF proposals for Metis Strategy business development and client work. Uses ReportLab coordinate-based placement with separation between Python layout logic and YAML content.

Contents

metis-premier-proposal/
├── SKILL.md                            ← Main skill definition (when to use, workflow)
├── README.md                           ← This file
├── tile.json                           ← Tessl tile metadata
├── references/
│   ├── architecture.md                 ← Why ReportLab, why measure-first, why YAML
│   ├── page-patterns.md                ← 9 layout templates with code snippets
│   ├── brand-standards.md              ← Colors, fonts, logos, graphic devices
│   ├── content-rules.md                ← Editorial standards
│   ├── qa-process.md                   ← Two-pass verification workflow
│   └── failure-modes.md                ← 18 failure cases and fixes from Citi engagement
└── scripts/
    ├── helpers.py                      ← Reusable layout helpers
    ├── verify.py                       ← Overlap + fill + render + content checks
    ├── crop_slide.py                   ← Crop PPTX slide screenshots
    ├── starter_build.py                ← Minimal skeleton for a new proposal
    └── example-proposal-copy.yaml      ← Content file template

How to Use This Skill

First time setup on a new proposal

  1. Create project folder: G:\My Drive\Vault\_working\<project-slug>\
  2. Copy scripts/example-proposal-copy.yaml to <project-slug>-copy.yaml in that folder
  3. Copy scripts/starter_build.py to build_<project>.py in that folder
  4. Update PROJECT_SLUG, CLIENT_NAME, COPY_PATH, OUT in the build script
  5. Fill in the YAML with your content (see references/content-rules.md for editorial standards)
  6. Add page builders to the build script (see references/page-patterns.md for templates)
  7. Build: python build_<project>.py
  8. Verify: python verify.py --pdf <output.pdf> --mode all --out verify/
  9. Visually review every PNG in verify/
  10. Deploy: copy the final PDF to G:\Shared drives\BizDev Collaboration\<Client>\<Year>\

Referring back to this skill

When building a new proposal, these are the files to load:

  • SKILL.md — overall workflow and activation rules
  • references/failure-modes.md — read first, avoid all 18 mistakes
  • references/page-patterns.md — pick layouts for your page plan
  • references/brand-standards.md — get colors and font specs
  • references/content-rules.md — apply editorial discipline

Reference Implementation

The first engagement that used this skill was the Citi CRS Proposal (April 2026).

  • Content: G:\My Drive\Vault\_working\citi-crs-proposal\citi-proposal-copy.yaml
  • Final PDF: G:\Shared drives\BizDev Collaboration\Citi\2026\Citi CRS Proposal - Metis Strategy 2026-04-15.pdf

The Citi build went through eight major iterations before reaching a publishable state. Every issue that surfaced during those iterations is documented in references/failure-modes.md so future proposals can skip the learning curve.

Key Principles (the short version)

  1. ReportLab, not HTML + Playwright. Fixed-page documents need coordinate-based placement. CSS flexbox is not reliable in print mode.
  2. Measure first, size second. Measure text height before placing containers. Use Paragraph.wrap() and stringWidth().
  3. YAML for content, Python for layout. Never hardcode strings in the build script.
  4. Crop slide images before embedding. Never embed a slide with its original title visible.
  5. Render to PNG and look at every page. Bbox checks alone are insufficient. Visual verification catches duplicated titles, cropping issues, missing logos, and whitespace problems.
  6. Module sections must have consistent page counts. Structural consistency is part of the content.
  7. Working files stay in _working/. Only the final PDF goes to the shared drive.
  8. Mirror the buyer's language from the transcript. Generic consulting language loses deals.

What This Skill Does Not Cover

  • PowerPoint deck creation → use metis-pptx
  • Long-form whitepapers (>30 pages) → use metis-whitepaper
  • Simple markdown-to-PDF → use metis-pdf-creator
  • SOW/MSA drafting → use metis-legal-drafting
  • Capability maps → use metis-capability-map

This skill is specifically for landscape 16:9 proposal documents that need premium design: photography, graphic devices, framework diagrams, and precise layouts.

Workspace
metis-strategy
Visibility
Public
Created
Last updated
Publish Source
CLI
Badge
metis-strategy/metis-premier-proposal badge