← Vault Index
Source: frameworks/kit-post-session-production/05-post-session-production-build-skill.md

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

  1. Session transcript (.txt) — the raw speech-to-text output. Blocking — do not proceed without it.
  2. Reference data file — the client's canonical proper nouns. Blocking — read first, every time.
  3. Prior advisory email — last email sent to this client, for voice matching. In client repo archive/.
  4. Engagement context — CPM, project plans, master plan. For understanding what the engagement is working on.
  5. 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:

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:

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:

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:

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)

ComponentInclude When
Opening (1-2 sentences)Always — reference one specific moment
Quote ReflectionOnly 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 ItemsAlways — "Before our next session:" framing, specific, grouped
Kathryn's Action ItemsAlways — third person
Outstanding Items from Prior SessionsWhen 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

  1. Transcript is the source. Every factual claim must trace to it.
  2. Action items are AOS engagement work only. Not the client's own business operations — unless it became a constraint.
  3. One idea per paragraph. Dense blocks get skimmed.
  4. State stakes, don't set conditions. "The close cycle is the window" not "if you approve before Monday."
  5. Report the interaction, don't frame it. "Showed" not "previewed." "Understands that" not "understands now."
  6. No coaching language. No narrating behavior, no grading progress, no motivational framing.
  7. 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 &amp; 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:


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:

  1. What is the action?
  2. Is it tied to a build? Which one?
  3. What is the friction level? (Low / Medium / High)
  4. Can Kathryn reduce the friction? How?

Kathryn's Action Items

For each item:

  1. What is the action?
  2. Can it be drafted right now in this session?
  3. Does it require deep work (a scheduled block)?
  4. Does it require research or external input?
  5. What is the deadline or urgency?

Triage Output

ItemOwnerTied ToAction NowSchedule 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

For Kathryn's Immediate Items

For Follow-Up Reminders


Step 9: Archive and Schedule

Archive

Calendar

Propose calendar events to the advisor for approval:

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:

  1. [ ] Reference data was read first — before transcript, before anything
  2. [ ] Transcript was the source — not a recap
  3. [ ] Prior email was read and voice was matched
  4. [ ] Email draft passes Gate 2 QC (all checks)
  5. [ ] Every proper noun verified against reference data
  6. [ ] Action items extracted, triaged, and grouped by owner
  7. [ ] Client friction points identified with specific offers to help
  8. [ ] Kathryn's items triaged: draft now vs. schedule deep work vs. research needed
  9. [ ] Follow-up items drafted where possible
  10. [ ] Calendar events proposed (not created) for follow-ups and deep work
  11. [ ] Email is in HTML format, Gmail-ready
  12. [ ] 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

StepCallsFor
Step 5Advisory Client Email SkillVoice, structure, and formatting rules for the email
Step 5Session Recap SkillIf the recipient is a coachee (not paying client) — route to this skill instead
Step 6Post-Session Production Quality (this kit's file 04)QC checklist
Step 8Any relevant build kitWhen a Kathryn action item triggers a build (e.g., concept brief, SOP, project plan update)