← Vault Index
Source: frameworks/plugin-engagement-manager/advisory-sessions/skills/session-prep/SKILL.md

name: session-prep description: Builds the next session's agenda, the prep note to the client, and the calendar hold from open commitments and unreached agenda. Drafts and holds only, never sends and never books. Use in Phase B when a next session exists.


Session prep

What the next session needs, assembled while this one is still fresh.

Skip it when

no-next-session-booked — nothing on the calendar to prep for. Say so; do not invent a date.

backfill-already-recapped — a past session. The session it would prep for has already happened.

Sources, in order

  1. unreachedAgenda — what this session did not get to. This carries first and always. An agenda area that goes unreached and unrecorded is gone, and nobody notices until the same ground gets re-covered a month later.
  2. Open commitments from state.md, both sides, with their date states
  3. outcomes with status shaping — the things mid-flight
  4. openQuestions

Three outputs

Agendaengagements//sessions/next-agenda.md. Unreached items at the top, then what is mid-flight, then what is owed. Time-boxed where the engagement's cadence supports it.

Prep note — a draft to the client, sent two business days before. Short: what we will cover, what to have ready, anything they owe. Same recipient rules as the recap.

Calendar hold — Kathryn's own prep block, not the session. Description carries the path to the agenda and the path to the state file.

Rules

Never book, move, or change a client-facing calendar event. You draft the hold for Kathryn's own prep time. A session time is an agreement between people.

If nextSession.confirmedByClient is false, the prep note does not state the time as settled. It names it and asks. An unconfirmed time restated as fact is how a client finds out about a change from a calendar invite.

If there is a consent flag on the next session's time, produce no prep note at all. Flag it instead. Putting a possibly-wrong time in front of the client twice is worse than not writing.

Output

Drafts and files, stamped with ledgerId. Nothing sends.