Advisory Sessions
One team, one member. The engagement manager owns the post-session function of a 1:1 advisory practice.
What it produces
| Skill | Output | Lands |
|---|---|---|
session-ledger | gated claims JSON — every fact quoted, timestamped, modality-tagged | the engagement folder |
session-digest | your readable review page, rendered from the JSON | the engagement folder |
internal-record | the internal record of the session — advisor only | the engagement folder |
session-recap | the client email — gated by cross-client-check, then kathryn-email-voice | a draft, never sent |
engagement-state | rolling state — decided, open, gaps, commitments | updated in place |
session-prep | next session's agenda, prep note, calendar hold | drafts and holds |
run-report | what ran, what did not and why, what needs you | the engagement folder |
The run has two phases and one seam
Phase A — capture. session-ledger, then session-digest. Stop. You read the digest. Approving the digest approves the source every later document derives from.
Phase B — produce. Everything else, in a fresh context, reading the approved JSON and nothing else.
The seam is deliberate. Phase B never re-reads the transcript, so it cannot drift toward what it half-remembers. It also gives the compose work a clean context window, which is where long single-pass runs quietly go wrong.
What makes it reliable
Judgment alone does not. Three mechanical gates do:
- The claim gate (
gate_claims.py) — a fact with no quote does not enter the ledger. Fails closed. - The run manifest — the agent declares RUN or SKIP for every step before producing anything, and a skip must name a reason from a closed list.
- The run verifier (
verify_run.py) — checks the manifest against the filesystem. Every RUN produced a real artifact stamped with the ledger id; every SKIP used a legal reason. Exit 1 blocks the report.
Install
Customize, then Plugins, add the .plugin file, install. The agent lives under the plugin, not in the main skills list.
First run
"The Saunders session is done. Handle it."
You did not name a skill. It reads the engagement record, works out what this session was, and produces what that session actually needs.