Skip to content

LeanScaleTeam/qbr-builder-skill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QBR Builder Skill

Diagnostic-driven Quarterly Business Review (QBR) site builder for LeanScale client engagements. Ships two artifacts from one source: an interactive web app (cream + Inter + client brand) for the call walkthrough, and a PDF for the formal record.

Built and refined on the Patlytics Q2 2026 QBR. Designed to be reused across any LeanScale client.

What it produces

Live reference exemplar: Patlytics Q2 2026 — internal team can request access.

Every QBR uses this locked-in 9-section + Appendix narrative arc:

01 Summary          — Score + Quarter Recap + Forward Look + summary bar
02 The Wins         — momentum bullets (carrying into Q[N+1])
03 Revenue          — KPI cards from HubSpot
04 Funnel           — LEAD → MQL → SAL → SQL → Won
05 Conversion       — Q-over-Q deltas + interpretive reads
06 Channel · Reps   — Channel mix · motion split · all-rep leaderboard
07 GTM Diagnostic   — 6 pillars + 4 depts with score drivers · gaps + strengths
08 Data Integrity   — compressed hygiene-flag grid
09 Q[N+1] Plan      — single-quarter forward roadmap + Gantt + Capacity Math
Appendix            — 5 collapsible reference rows

Flow: celebrate wins → numbers → diagnosis → prescription → appendix.

What's in the repo

File Purpose
SKILL.md Locked-in narrative arc · Q[N+1] Plan framework · Capacity Math · Do/Don't patterns
QUICK_START.md First-time setup guide
config.example.json Per-engineer config template — Teamwork user, Netlify team, per-client tokens/brand
references/customization.md Section-by-section content rules · brand variable map · locked-in DON'Ts
references/new-client-setup.md How to add a new client (brand scrape, Netlify site creation, config entry)
references/new-quarter-workflow.md How to ship a new quarter for an existing client
assets/template.html Starting-point HTML with Patlytics-style aesthetic (cream + Inter + brand-color ink)
scripts/pull_teamwork_data.sh Teamwork API data pull (tasks + time entries)
scripts/restructure.py Post-processor that splits sections by HTML comments, renumbers eyebrows, wraps overflow into Appendix accordions
scripts/deploy_netlify.py Netlify API deploy with SHA-reuse to preserve historical quarter sub-paths
scripts/create_client_site.sh Provision a new persistent Netlify site for a client
scripts/update_landing.py Regenerate the client's landing page index after adding a new quarter

How to build a QBR

  1. Pull data — Teamwork tasks/time, HubSpot Deals (for rep leaderboard), Vasco context graph (for funnel/conversion/integrity)
  2. Pull diagnostic from the GTM Diagnostic tool (Patlytics example: clients.leanscale.team/c/<client>/diagnostic/gtm)
  3. Build HTML using assets/template.html as starting point, fill all sections per the narrative arc
  4. Run scripts/restructure.py to renumber eyebrows + wrap appendix items
  5. Render PDF via Chrome headless: chrome --headless --no-pdf-header-footer --print-to-pdf
  6. Deploy via scripts/deploy_netlify.py (uses SHA-reuse to preserve historical quarters)

Full step-by-step in SKILL.md.

Critical patterns (Do's)

  • Pull rep data live from HubSpot Deals API — don't infer from tenure
  • Use HubSpot Companies count for customer totals (Vasco LIVE event has data bugs)
  • Every Q[N+1] deliverable maps 1:1 to a diagnostic competency gap with named score lift
  • "Why this score" breakdown under every pillar + department score
  • Single-quarter forward roadmap — punt future quarters to their own QBRs
  • Patlytics-POV framing in Quarter Recap + Forward Look (lead with client's numbers, not LeanScale's actions)
  • Appendix accordion uses balanced-div parser to strip section-headers (regex non-greedy fails — leaves orphan h2/lede)

DON'Ts (locked in)

  • No stars (★) in section headers or list items
  • No "sourced 1:1 from the diagnostic" — say "Source: diagnostic"
  • No Teamwork ticket numbers in client-facing narrative (Appendix task lists OK)
  • No salesy Capacity Math language ("top up Q3 with project capacity" → "this requires extra hours")
  • No unverifiable data claims (e.g., "X ↔ Y reconciled" without an actual data check)
  • No placeholder quotas without disclaimer
  • No engagement-end dates that may have shifted

Config

Each engineer maintains their own ~/.claude/qbr-builder-team.config.json (or wherever). Template in config.example.json.

Includes:

  • Your Teamwork user ID + subdomain
  • Your Netlify team slug + shared site password
  • Per-client: Teamwork project ID, Netlify site ID, monthly budget, brand colors, logo URL, HubSpot portal/token

Two artifacts, same data

Every QBR ships:

  1. Interactive HTML site — for the call walkthrough · client brand · charts, collapsible appendix
  2. PDF — rendered from the HTML · for email/archive

Reference contributors

Built by Izzy Navin, LeanScale GTM Architect. Patterns refined through Patlytics Q2 2026 QBR build with Joe Zaghloul + Cameron Legge.

License

Internal LeanScale tooling. Contact Izzy for distribution outside the LeanScale team.

About

Diagnostic-driven QBR site builder for LeanScale client engagements — 9-section narrative arc + Appendix + 2 artifacts (HTML + PDF). Built and refined on the Patlytics Q2 2026 QBR.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors