Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
glebis avatar

Coaching Session Summarizer

  • 56 installs
  • 339 repo stars
  • Updated August 4, 2026
  • glebis/claude-skills

Summarize a coaching or therapy session transcript in-session and append structured insights, decisions, action items, and cross-session patterns to the note.

About

Reads a synced Fathom/Granola transcript, analyzes it directly on the subscription with no API call, and appends key insights, decisions, action items, and optional deep cross-session analysis. A developer uses it after a session syncs to their Obsidian vault to get a structured summary linked to trails.

  • Agent-driven analysis, no Anthropic API key or billing
  • Quick vs deep mode with cross-session pattern detection

Coaching Session Summarizer by the numbers

  • 56 all-time installs (skills.sh)
  • Ranked #1,583 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/glebis/claude-skills --skill coaching-session-summarizer

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs56
repo stars339
Last updatedAugust 4, 2026
Repositoryglebis/claude-skills

What it does

Summarize a coaching or therapy session transcript in-session and append structured insights, decisions, action items, and cross-session patterns to the note.

Files

SKILL.mdMarkdownGitHub ↗

Coaching 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).

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 (/summarize-session [file] or similar)
  • After calendar-sync or a Granola export, when a new *-coaching.md,

*-therapy.md, or *-session.md file appears — offer to summarize it

Workflow (agent-driven — default)

Do this in-session with native tools. No API key required.

Step 1 — Gather context

Run the deterministic helper to get the transcript text, previous sessions, and the trail list in one shot:

python3 ~/.claude/skills/coaching-session-summarizer/scripts/gather_context.py \
  <transcript-file> --vault ~/Brains/brain

It prints:

  • Previous sessions with the same participant (paths) — Read these only in

deep mode, for cross-session pattern detection

  • 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 --participant <name-slug> if the filename doesn't encode the person (e.g. Granola exports titled by topic): --participant gleb-kalinin.

Step 2 — Analyze

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

[URGENT] and scheduling items with [SCHEDULING]

  • Session Themes — 2–3 recurring topics or patterns

Deep mode (default for therapy and milestone sessions) — also Read the previous sessions and add:

  • 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

Step 3 — Append with Edit

Append the summary to the end of the transcript file using Edit (never overwrite existing content). Match this exact structure:

## AI-Generated Summary

*Generated: YYYY-MM-DD*

### Key Insights
- ...

### Decisions Made
- ...

### Action Items
- [URGENT] ...
- ...

### Session Themes
- ...

## Deep Analysis

- **Pattern Detection**: ...
- **Progress Assessment**: ...
- **Energy/Motivation Markers**: ...
- **Potential Obstacles**: ...

## 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.

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.

Integration with Sync

After calendar-sync or a Granola/Fathom export, check for new session files (*-coaching.md, *-therapy.md, *-session.md). If one appears, offer: "New session detected — summarize now?" Default to deep mode for therapy.

Notes

  • Preserves the original transcript intact; the summary is always appended.
  • Trail linking requires the Trails/ directory in the vault root.
  • Cross-session comparison works best with consistent naming:

YYYYMMDD-name-coaching.md / YYYYMMDD-name-therapy.md.

  • Re-running is safe: gather_context.py strips any prior AI-Generated Summary

before printing, so the agent analyzes only the raw session. (Delete the old ## AI-Generated Summary block from the file before re-appending if you want to replace rather than stack summaries.)

Resources

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.pylegacy / headless fallback. Calls the Anthropic

API directly (model via SUMMARIZER_MODEL, default claude-sonnet-4-6) and bills a funded ANTHROPIC_API_KEY. Use only when no interactive agent is available (e.g. cron). Exits with a clear message if the key has no credit.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.