← All examples
Know your unknowns · Post-implementation

The buy-in doc

After the work is done, the last unknown is other people — ask Claude to package the prototype, spec, and notes into one skimmable doc that answers objections before they're raised.

The prompt
“Package the prototype, the spec, and the implementation notes into a single doc I can drop in Slack to get buy-in on shipping annotation export. Lead with the demo.”
What Claude produced
Ship proposal · Acme
90-second read

Annotation export is ready to ship

Prototype, spec, and rollout plan in one place. Ask: four sign-offs by Friday, flag ramp starts Monday.

01 Watch it work

Acme — q3_launch_teaser_v4.mp4 · Review
00:42 / 02:05
Annotations0 selected
Maya R. 00:23
Logo lands too late — pull in 8 frames?
Devon P. 00:51
Color shift here vs. the master grade
Maya R. 01:30
Approved — final CTA reads great
Exporting 3 annotations
Collecting annotations…
Export ready q3_teaser_notes.srt · 3 cues
select → export → done · loops automatically

02 The pitch

Reviewers leave feedback in Acme, then retype it into email, Notion, and edit-bay software — the single most-cited gap in churn interviews (41% of departed teams). Annotation export turns any selection of comments and drawings into SRT, CSV, or PDF in one click, using infrastructure we already run. It's built, flagged, load-tested to 12k annotations per session, and reversible in one toggle. The only thing between here and shipped is the four sign-offs below.

03 What reviewers will ask

Q1Can this leak internal-only comments to a client?
No. Export runs through the same visibility resolver as the review page: annotations marked internal are excluded unless the exporter holds workspace:admin and explicitly opts in via a labeled checkbox. Covered by 14 permission-matrix tests.
↗ spec §4.2 — Visibility & permissions
Q2What happens on a monster session — thousands of annotations?
Export paginates at 500 annotations per batch and streams the file. Stress run against the largest real session in prod (a 12,400-annotation agency review) finished in 3.1s; p95 for typical sessions is 340ms.
↗ implementation notes, 06-24 — load test results
Q3Why file formats instead of a public API?
SRT + CSV + PDF cover 83% of the 212 support tickets tagged export-request over the last two quarters. An API is the right phase 2 — it needs auth scoping work this doesn't. Files unblock users now without foreclosing the API design.
↗ metric — support tag analysis, Q1–Q2
Q4Does this add new infrastructure we have to operate?
Zero new services. SRT/CSV render inline in the existing worker pool (services/render-workers); PDF reuses the report service already generating weekly digests. No new queues, no new datastore, no schema migrations.
↗ spec §5.1 — Architecture
Q5What's the compliance story for exported customer content?
Every export is stamped with workspace ID, requesting user, and timestamp in file metadata, and written to the audit log (audit.annotation_export). Files are served via expiring signed URLs (24h) and never stored beyond that window.
↗ spec §6 — Audit & retention

04 Spec at a glance

AreaDecisionRef
FormatsSRT (timecoded cues), CSV (flat, incl. drawing bounding boxes), PDF (frame thumbnails + comments)§2
Entry pointAnnotation panel → multi-select → Export selected; also “Export all” in session menu§3.1
PermissionsRequires session:comment or above; internal annotations excluded by default§4.2
Limits500 annotations/batch, streamed; 25k hard cap per export with clear error state§5.3
Telemetryexport_started, export_completed (format, count, duration), export_failed§7
Feature flagannotation_export — off → 5% → 50% → 100% over two weeks§8

05 Risk, rollback, and what I need from you

Risk & rollback

  • Rollback is one toggle. Flip annotation_export off — no schema migrations shipped, nothing to unwind.
  • Blast radius is bounded. Export runs in the shared worker pool with a 30s per-job timeout; a runaway job cannot starve review playback.
  • Worst credible failure: orphaned export files if the signed-URL cleanup lags — they self-expire in 24h regardless.
  • Known gap: drawing annotations flatten to bounding boxes in CSV (full vectors are PDF-only). Documented in-product; phase 2 item.

What I need from you

PN
Priya NatarajanEng lead, Playback & Review
Sign off on reusing the render worker pool (spec §5.1) — the only shared-infra dependency.
ES
Elena SorokinSecurity
Approve the visibility rules and audit-log shape (spec §4.2, §6).
MW
Marcus WebbDesign
Final pass on the export modal and error states — prototype above is current.
DK
Dana KimPM, Collaboration
Approve the flag ramp schedule (spec §8) and own the changelog entry.
Everything above is built and tested behind the flag. Reply with a ✓ on your piece, or grab 15 minutes on my calendar — target: ramp starts Monday.