coaching-session-summarizer
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCoaching Session Summarizer
教练会话总结器
Overview
概述
Analyzes a coaching/therapy session transcript and appends a structured summary
(key insights, decisions, action items, deep analysis, connected trails) to the
note.
The agent (Claude Code) performs the analysis directly — reading the
transcript and writing the summary in this session. There is no Anthropic API
call and no billing; it runs entirely on the active subscription. A legacy
API-based script is kept only as a headless fallback (see bottom).
分析教练/治疗会话记录,并在笔记末尾添加结构化总结(关键见解、决策、行动项、深度分析、关联线索)。
由Agent(Claude Code)直接执行分析——在当前会话中读取记录并撰写总结。无需调用Anthropic API,也不会产生费用;完全基于当前订阅运行。仅保留一个基于API的旧版脚本作为无界面备用方案(见底部)。
When to Use This Skill
使用场景
- A new Fathom/Granola transcript was synced to the vault (coaching or therapy)
- User asks to summarize/analyze a session (or similar)
/summarize-session [file] - After or a Granola export, when a new
calendar-sync,*-coaching.md, or*-therapy.mdfile appears — offer to summarize it*-session.md
- 新的Fathom/Granola记录已同步到知识库(教练或治疗类)
- 用户请求总结/分析会话(或类似指令)
/summarize-session [file] - 在或Granola导出后,当出现新的
calendar-sync、*-coaching.md或*-therapy.md文件时——主动提供总结服务*-session.md
Workflow (agent-driven — default)
工作流程(Agent驱动——默认方式)
Do this in-session with native tools. No API key required.
使用原生工具在会话内完成操作,无需API密钥。
Step 1 — Gather context
步骤1 — 收集上下文
Run the deterministic helper to get the transcript text, previous sessions, and
the trail list in one shot:
bash
python3 ~/.claude/skills/coaching-session-summarizer/scripts/gather_context.py \
<transcript-file> --vault ~/Brains/brainIt prints:
- Previous sessions with the same participant (paths) — these only in deep mode, for cross-session pattern detection
Read - Available trails — pick 2–4 most relevant to link
- Session content — the summary + transcript to analyze (any prior AI-Generated Summary is stripped so re-runs stay clean)
Pass if the filename doesn't encode the person
(e.g. Granola exports titled by topic): .
--participant <name-slug>--participant gleb-kalinin运行确定性辅助工具,一次性获取记录文本、历史会话和线索列表:
bash
python3 ~/.claude/skills/coaching-session-summarizer/scripts/gather_context.py \
<transcript-file> --vault ~/Brains/brain该工具会输出:
- 历史会话:同一参与者的过往会话路径——仅在深度模式下读取,用于跨会话模式检测
- 可用线索:选择2-4个最相关的线索进行关联
- 会话内容:待分析的总结+记录文本(会移除之前的AI生成总结,确保重新运行时分析内容干净)
如果文件名未包含参与者信息(例如Granola导出的文件按主题命名),请传入参数,例如:。
--participant <name-slug>--participant gleb-kalininStep 2 — Analyze
步骤2 — 分析
Read the session content and extract, in the analytical voice of a session
analyst (objective, using the speaker's authentic language where it matters):
- Key Insights — 3–5 main realizations / breakthroughs / observations
- Decisions Made — concrete choices or commitments
- Action Items — specific next steps; prefix time-sensitive ones with
and scheduling items with
[URGENT][SCHEDULING] - Session Themes — 2–3 recurring topics or patterns
Deep mode (default for therapy and milestone sessions) — also the
previous sessions and add:
Read- Pattern Detection — themes recurring across sessions
- Progress Assessment — movement on earlier commitments
- Energy/Motivation Markers — shifts in energy, resistance, affect
- Potential Obstacles — what might block progress
读取会话内容,以会话分析师的客观视角进行提取(必要时使用发言者的真实表述):
- 关键见解:3-5个主要的领悟/突破/观察结果
- 已做出的决策:具体的选择或承诺
- 行动项:明确的下一步计划;对时间敏感的项前缀标注,需安排时间的项前缀标注
[URGENT][SCHEDULING] - 会话主题:2-3个反复出现的话题或模式
深度模式(治疗会话和里程碑会话默认启用)——同时读取历史会话并添加:
- 模式检测:跨会话反复出现的主题
- 进度评估:对先前承诺的进展情况
- 精力/动力指标:精力、抵触情绪、情感状态的变化
- 潜在障碍:可能阻碍进展的因素
Step 3 — Append with Edit
步骤3 — 编辑追加
Append the summary to the end of the transcript file using (never
overwrite existing content). Match this exact structure:
Editmarkdown
undefined使用功能将总结追加到记录文件的末尾(切勿覆盖现有内容)。严格遵循以下结构:
Editmarkdown
undefinedAI-Generated Summary
AI-Generated Summary
Generated: YYYY-MM-DD
Generated: YYYY-MM-DD
Key Insights
Key Insights
- ...
- ...
Decisions Made
Decisions Made
- ...
- ...
Action Items
Action Items
- [URGENT] ...
- ...
- [URGENT] ...
- ...
Session Themes
Session Themes
- ...
- ...
Deep Analysis
Deep Analysis
- Pattern Detection: ...
- Progress Assessment: ...
- Energy/Motivation Markers: ...
- Potential Obstacles: ...
- Pattern Detection: ...
- Progress Assessment: ...
- Energy/Motivation Markers: ...
- Potential Obstacles: ...
Connected Trails
Connected Trails
- [[Trails/Trail - <Name>|<Name>]]
- [[Trails/Trail - <Name>|<Name>]]
Use the current date (`date +%Y-%m-%d`) in the Generated line. Omit the Deep
Analysis section in quick mode. Verify trail link names against the printed
trail list — case and exact wording matter for Obsidian links.- [[Trails/Trail - <Name>|<Name>]]
- [[Trails/Trail - <Name>|<Name>]]
在Generated行中使用当前日期(`date +%Y-%m-%d`)。快速模式下省略Deep Analysis部分。请对照输出的线索列表验证关联线索的名称——Obsidian链接对大小写和精确表述有严格要求。Modes
模式
- quick — Key Insights, Decisions, Action Items, Themes. Skip Deep Analysis and previous-session reads.
- deep (recommended for therapy / milestones) — everything, including reading previous sessions for pattern detection.
- quick(快速模式):包含关键见解、决策、行动项、主题。跳过深度分析和历史会话读取。
- deep(深度模式)(推荐用于治疗/里程碑会话):包含所有内容,包括读取历史会话进行模式检测。
Integration with Sync
同步集成
After or a Granola/Fathom export, check for new session files
(, , ). If one appears, offer:
"New session detected — summarize now?" Default to deep mode for therapy.
calendar-sync*-coaching.md*-therapy.md*-session.md在或Granola/Fathom导出完成后,检查是否出现新的会话文件(、、)。如果检测到新文件,主动询问:“检测到新会话记录——是否立即总结?”治疗会话默认启用深度模式。
calendar-sync*-coaching.md*-therapy.md*-session.mdNotes
注意事项
- Preserves the original transcript intact; the summary is always appended.
- Trail linking requires the directory in the vault root.
Trails/ - Cross-session comparison works best with consistent naming:
/
YYYYMMDD-name-coaching.md.YYYYMMDD-name-therapy.md - Re-running is safe: strips any prior AI-Generated Summary before printing, so the agent analyzes only the raw session. (Delete the old
gather_context.pyblock from the file before re-appending if you want to replace rather than stack summaries.)## AI-Generated Summary
- 完整保留原始记录内容;总结始终追加在末尾。
- 线索关联要求知识库根目录存在文件夹。
Trails/ - 跨会话对比在命名一致时效果最佳:/
YYYYMMDD-name-coaching.md。YYYYMMDD-name-therapy.md - 重新运行是安全的:在输出前会移除所有先前的AI生成总结,因此Agent仅分析原始会话内容。(如果希望替换而非堆叠总结,请在重新追加前删除文件中旧的
gather_context.py块。)## AI-Generated Summary
Resources
资源
scripts/
scripts/
- gather_context.py — (default path) deterministic context gatherer, no API. Prints transcript text + previous sessions + trail list for the agent to analyze in-session.
- summarize_session.py — legacy / headless fallback. Calls the Anthropic
API directly (model via , default
SUMMARIZER_MODEL) and bills a fundedclaude-sonnet-4-6. Use only when no interactive agent is available (e.g. cron). Exits with a clear message if the key has no credit.ANTHROPIC_API_KEY
- gather_context.py — (默认路径) 确定性上下文收集工具,无需API。输出记录文本+历史会话+线索列表,供Agent在会话内分析。
- summarize_session.py — 旧版/无界面备用方案。直接调用Anthropic API(模型通过指定,默认
SUMMARIZER_MODEL),并从已充值的claude-sonnet-4-6扣费。仅在无交互式Agent可用时使用(例如定时任务cron)。如果密钥余额不足,会输出清晰提示信息。ANTHROPIC_API_KEY