Cairo deepening — the design
Prepared by Cairo
Approach A, one approval pass. Six sections, per the build framework. Everything below touches only Cairo's files; the parallel sessions' work stays untouched.
1 · Files
What gets built
skills/cairo/SKILL.md — gains a short router section ("which reference to load when") right after the four commitments. Existing logo/wordmark content stays as-is; minimal churn.
skills/cairo/references/decks.md — deepest of the four (see §3).
skills/cairo/references/social.md, print.md, motion.md — same discipline, surface-specific numbers.
skills/cairo/scripts/social_sizes.json — one manifest of per-platform dimensions + safe zones, each entry stamped with a verified date. Researched at build time, never from memory.
docs/cairo-spec.md — the spec, following the claire-spec.md / aidan-spec-parked.md precedent.
Not touched: fleet.json (Cairo's entry needs no change — skill path is the same, status stays live — and skipping it avoids colliding with the other sessions' uncommitted edits) · agents/cairo.md and identity/cairo.md (contract and identity already stand; the SKILL.md router handles discovery) · brand-direction + pinterest-board-review (shared with Craig — any ripple gets flagged, and this design creates none).
2 · The spine
SKILL.md changes only where they earn it
The four commitments (measure · render · look · prove) and the five phases already generalize — they stay word-for-word. New router, ~10 lines: logo/mark work continues in this file; decks, social, print, motion each point to their reference. The export contract in Phase 5 gains one line noting each reference carries its own file contract.
3 · The four references
What each file actually teaches
- decks.md (deepest). The slide as a fixed 1920×1080 canvas — safe margins, one grid. A master-layout system: 5–7 layouts defined once, no per-slide improvisation. One type scale with projection floors (nothing below ~24px at 1080p). One idea per slide; the squint/thumbnail test. Data slides inherit the chart discipline, never twelve-datapoint dashboards. Production method: slides as HTML at canvas size, screenshot each, view at presentation distance. Projector-crushed blacks → contrast headroom above AA. Export: PDF to send, editable template + USAGE.md when the client maintains it. A worked-example slot left explicitly empty, to be filled by the first training run.
- social.md. Reads sizes from the manifest, never re-researches inline. Master-art + focal-point rule: one artwork adapted per crop, not stretched. Crop survival: circular avatar test, story UI zones, feed preview crop. Text floors at phone scale — grade at 200px thumbnail, not full screen. Batch variants via templated HTML + screenshot. sRGB, platform-correct formats.
- print.md. Bleed/trim/safe numbers, 300dpi at final size, type floors in points. CMYK: rich black vs 100K text, why screen colour shifts, when spot colour matters. Reproduction ladder (one colour, laser, embroidery) ties into the existing Phase 4. Export: press-ready PDF, outlined type, packaged source. Proof physically at real size before calling it done.
- motion.md (leanest — rules only). Durations that read (200–500ms UI, 1–3s logo sting), no linear easing ever, seamless-loop test, hold frames. Export: MP4 H.264 default, GIF only when a platform demands it, CSS/SVG for web (handover to Craig).
prefers-reduced-motion honoured; no strobing. Production surface = browser animation + ffmpeg — the tools that actually exist here.
4 · Testing
How the work gets proven
- Privacy gate:
python3 scripts/check_fleet.py before every commit — hard requirement.
- Parameterization audit: grep the new files for business names, client details, platform handles — the skill is the sellable artifact and ships clean.
- Manifest honesty: every number in
social_sizes.json traces to a source checked at build time and carries its verified date.
- Load test: invoke the skill fresh and confirm the router actually routes — a reference nobody reaches is documentation, not a skill.
5 · Git, alongside the other sessions
Small commits, Cairo files only
One commit per reference file plus one for spine + manifest + spec — each a clean unit, each gated, pushed as they land, pull --rebase on rejection. All paths are new files or skills/cairo/-only edits, so nothing collides with the Aidan or Claire work in flight.
6 · What waits, and the first training run
After this lands
- First training run (next session): the hi! Two-Chair deck template, built as instance work in the hi! tree, through your per-item approval. Its lessons harden
decks.md with a worked example — the way COCKPIT hardened the type-measurement section. No status change; Cairo is already live.
- Handed to the Aidan session via a note in the spec: AI-influencer content + Instagram data collection.
- Still parked: Cairo's face/visual identity (yours to author) · motion asset library · deeper Canva/Adobe wiring.
- Close the loop (framework step 10): tracker + status board updated, memory updated, session closes with the record straight.
← Roundup