05 — BUILD SKILL: Post-Session Production Workflow
Scope
Produces: Advisory email (HTML, Gmail-ready) + action item extraction + friction analysis + follow-up drafts + calendar events Consumer: Kathryn (advisor) — reviews and sends the email, approves calendar events Lifecycle: Runs after every advisory session with a paying client
Required Inputs
- Session transcript (.txt) — the raw speech-to-text output. Blocking — do not proceed without it.
- Reference data file — the client's canonical proper nouns. Blocking — read first, every time.
- Prior advisory email — last email sent to this client, for voice matching. In client repo
archive/. - Engagement context — CPM, project plans, master plan. For understanding what the engagement is working on.
- Session JSON — optional, for speaker attribution on ambiguous passages.
Step 1: Read Reference Data
Before anything else. Before the transcript. Before the prior email. Before any context doc.
Read the client's reference data file (reference-data/[client]-reference-data.md). Note:
- Every team member's correct name and spelling
- Every tool's correct name
- Every organization's correct name and abbreviation
- Every transcript override (speech-to-text corrections)
Keep this file open mentally for the entire run. Every proper noun in every output must match.
Step 2: Read the Transcript
Read the full session transcript. Not a summary. Not a relay.app recap. Not the JSON. The transcript.
As you read, extract:
- Decisions made or confirmed — what was agreed to
- Wins and progress — what moved forward since last session
- Topics covered — what was discussed substantively (skip pure check-ins)
- Action items — what each person committed to doing (must be explicit, not inferred)
- Dates mentioned — next session, deadlines, follow-up timing
- Quotes worth anchoring — only if the client said something notable that's worth reflecting back
- Personal details — upcoming events, travel, family — for the closing line
- Gaps — anything referenced that isn't clear (ambiguous dates, unclear ownership, hedged commitments)
Cross-check every proper noun against reference data as you read. If the transcript says "Corey" and reference data says "Cory" — reference data wins.
Step 3: Read the Prior Advisory Email
Open the most recent advisory email to this client from archive/. Study:
- Opening style (how specific, how long)
- Section structure (which sections were used, in what order)
- Sentence length and paragraph density
- Level of warmth
- How action items were framed
- Closing style
Your draft should feel like the next email in the sequence — not a different voice.
Step 4: Read Engagement Context
Load the relevant context documents:
- CPM — what constraints are active, what patterns are emerging
- Project plans — what builds are in progress, what's next, what's blocked
- Master plan — the strategic framing
This step informs which topics in the transcript deserve emphasis in the email. A topic that advances an active build gets more weight than a tangential discussion.
Step 5: Draft the Advisory Email
Use the advisory client email skill (content/frameworks/client-email/advisory-client-email-SKILL.md) and the golden example (03-post-session-production-golden-example.md).
Email Structure (Assemble What Fits)
| Component | Include When |
|---|---|
| Opening (1-2 sentences) | Always — reference one specific moment |
| Quote Reflection | Only if the client said something notable worth anchoring |
| Wins & Progress (bullets) | Always — factual, no editorializing |
| What We Covered (numbered, compressed) | Always — one line per topic |
| Client Action Items | Always — "Before our next session:" framing, specific, grouped |
| Kathryn's Action Items | Always — third person |
| Outstanding Items from Prior Sessions | When carryforward items exist |
| Next Meeting (one line) | Always |
| Proposed Agenda (bullets) | Always — phrased as topics or questions |
| Closing (one line) | Always — warm, specific, not motivational |
Content Rules
- Transcript is the source. Every factual claim must trace to it.
- Action items are AOS engagement work only. Not the client's own business operations — unless it became a constraint.
- One idea per paragraph. Dense blocks get skimmed.
- State stakes, don't set conditions. "The close cycle is the window" not "if you approve before Monday."
- Report the interaction, don't frame it. "Showed" not "previewed." "Understands that" not "understands now."
- No coaching language. No narrating behavior, no grading progress, no motivational framing.
- The agenda test. If it's not actionable before the session OR requires more context than the email provides → agenda, not email body.
Format
Produce the email as HTML that renders correctly when pasted into Gmail. Use the template skeleton below. The email must look like a formatted email, not a raw HTML document.
HTML Template Skeleton
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Advisory Email — {{CLIENT_NAME}} — {{MONTH}} {{DAY}}, {{YEAR}}</title>
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
font-size: 14px;
line-height: 1.6;
color: #1a1a1a;
max-width: 680px;
margin: 40px auto;
padding: 0 20px;
}
.subject {
font-size: 13px;
color: #555;
margin-bottom: 24px;
padding-bottom: 12px;
border-bottom: 1px solid #e0e0e0;
}
.subject strong { color: #1a1a1a; }
h3 {
font-size: 14px;
font-weight: 600;
margin: 28px 0 8px 0;
color: #1a1a1a;
}
ul {
margin: 4px 0 16px 0;
padding-left: 20px;
}
li { margin-bottom: 4px; }
ol {
margin: 4px 0 16px 0;
padding-left: 20px;
}
ol li { margin-bottom: 4px; }
.section-divider {
border: none;
border-top: 1px solid #e0e0e0;
margin: 24px 0;
}
p { margin: 0 0 12px 0; }
.closing { margin-top: 24px; }
</style>
</head>
<body>
<div class="subject"><strong>Subject:</strong> {{SUBJECT_LINE}}</div>
<p>Hi {{CLIENT_FIRST_NAME}},</p>
<p>{{OPENING — 1-2 sentences, specific moment from the session}}</p>
<!-- OPTIONAL: Quote Reflection — only if the client said something notable -->
<!-- <p>One thing you said: "{{QUOTE}}." {{One sentence on why it matters.}}</p> -->
<h3>Wins & Progress</h3>
<ul>
<li>{{Win — factual, no editorializing}}</li>
<!-- Add as many as the session warrants. Typically 3-6. -->
</ul>
<h3>What We Covered</h3>
<ol>
<li>{{Topic}} — {{key point, one line}}</li>
<!-- One line per topic. No sub-bullets. Drop low-substance topics. -->
</ol>
<!-- OPTIONAL: Section divider + embedded content block -->
<!-- Use when the email includes a structured list, spec, or detailed ask -->
<!-- <hr class="section-divider"> -->
<!-- <h3>{{Embedded Section Title}}</h3> -->
<!-- <p>{{Context paragraph}}</p> -->
<hr class="section-divider">
<h3>{{CLIENT_FIRST_NAME}}'s Action Items</h3>
<p>Before our next session:</p>
<ul>
<li>{{Action — specific, tied to a build or engagement work}}</li>
<!-- AOS engagement work only. Not the client's own business operations. -->
</ul>
<h3>Kathryn's Action Items</h3>
<ul>
<li>{{Action — third person}}</li>
</ul>
<!-- OPTIONAL: Outstanding Items from Prior Sessions -->
<!-- <h3>Outstanding Items</h3> -->
<!-- <ul><li>{{Item}} <em>(from {{date}} session — still outstanding)</em></li></ul> -->
<h3>Next Meeting</h3>
<p>{{Day}}, {{Month}} {{Date}}, {{Year}}{{— any special notes (extended session, location change)}}</p>
<h3>Proposed Agenda</h3>
<ul>
<li>{{Topic or question — tied to action items and open threads}}</li>
</ul>
<div class="closing">
<p>{{Warm, specific closing — not motivational, not generic}}</p>
<p>Kathryn</p>
</div>
</body>
</html>
Template rules:
{{PLACEHOLDERS}}are replaced with real content. No placeholder should survive into the final output.- Optional sections (quote reflection, embedded content, outstanding items) are included only when the session warrants them. Delete the comment blocks if not used.
- The embedded content block (after the section divider) is for structured asks like the golden examples list. Most emails won't need it.
- Add
.category-labeldivs only if the embedded content has logical groupings. CSS:font-size: 12px; font-weight: 500; color: #777; text-transform: uppercase; letter-spacing: 0.05em; margin: 20px 0 8px 0;
Step 6: Run Gate 2 QC
Before presenting the email to the advisor, run the full Gate 2 checklist from 04-post-session-production-quality.md.
Voice check → Reference data compliance → Content accuracy → Structure check → AI tell scan → Format check.
Fix every issue before proceeding. After fixing, re-run the checks that were affected. A fix may introduce a new issue.
Do not declare "ready for review" without completing this step. Read every section of the email. Cross-check every proper noun. Verify every date against the transcript.
Step 7: Extract and Triage Action Items
After the email draft passes QC, extract the full action item inventory:
Client Action Items
For each item:
- What is the action?
- Is it tied to a build? Which one?
- What is the friction level? (Low / Medium / High)
- Can Kathryn reduce the friction? How?
Kathryn's Action Items
For each item:
- What is the action?
- Can it be drafted right now in this session?
- Does it require deep work (a scheduled block)?
- Does it require research or external input?
- What is the deadline or urgency?
Triage Output
| Item | Owner | Tied To | Action Now | Schedule For |
|---|---|---|---|---|
| [item] | [name] | [build/project] | [yes/no] | [date or "next session"] |
Step 8: Produce Follow-Up Items
Based on the triage:
For Client Friction Reduction
- Draft a follow-up email or addition to the advisory email offering specific help
- Be concrete: "For anything that needs candidate names redacted — just drop the original. I'll handle the redaction."
- Not vague: not "let me know if you need help with any of those"
For Kathryn's Immediate Items
- Items that can be drafted now → draft them
- Items that require research → start the research
- Items that require deep work → propose a calendar block
For Follow-Up Reminders
- Identify any items that need a follow-up check (e.g., "check in two weeks on planner adoption")
- Propose calendar events with specific dates
Step 9: Archive and Schedule
Archive
- Move the accepted email from
drafts/toarchive/ - Move any standalone drafts (separate follow-up emails) to
archive/after they're sent
Calendar
Propose calendar events to the advisor for approval:
- Follow-up check-ins (e.g., "Follow up with Jenn on planner adoption" — 2 weeks out)
- Deep work blocks for Kathryn's production items
- Reminders for items with specific deadlines
- Pre-session prep time for the next session
Do not create calendar events without advisor confirmation. Propose them, get approval, then create.
Delivery Checklist
Before presenting the full production run to the advisor:
- [ ] Reference data was read first — before transcript, before anything
- [ ] Transcript was the source — not a recap
- [ ] Prior email was read and voice was matched
- [ ] Email draft passes Gate 2 QC (all checks)
- [ ] Every proper noun verified against reference data
- [ ] Action items extracted, triaged, and grouped by owner
- [ ] Client friction points identified with specific offers to help
- [ ] Kathryn's items triaged: draft now vs. schedule deep work vs. research needed
- [ ] Follow-up items drafted where possible
- [ ] Calendar events proposed (not created) for follow-ups and deep work
- [ ] Email is in HTML format, Gmail-ready
- [ ] Full self-QC completed — every section re-read, not just spot-checked
After Every Run: Update the Kit
If the advisor changed anything in the email before sending → update the golden example (file 03) and adjust the build skill if needed.
If QC missed something → add the check to file 04.
If the process needs a new step → update this file.
Change log convention: Append changes to a ## Change Log section at the bottom of the modified file. Format: YYYY-MM-DD: [what changed and why].
When This Kit Calls Other Kits
| Step | Calls | For |
|---|---|---|
| Step 5 | Advisory Client Email Skill | Voice, structure, and formatting rules for the email |
| Step 5 | Session Recap Skill | If the recipient is a coachee (not paying client) — route to this skill instead |
| Step 6 | Post-Session Production Quality (this kit's file 04) | QC checklist |
| Step 8 | Any relevant build kit | When a Kathryn action item triggers a build (e.g., concept brief, SOP, project plan update) |