| name | lab-review |
| description | Use when the user wants a coaching-style review of a Claude Code session — either the current live session, the most recent one, or a specific session by ID. Triggers on "review this session", "audit my prompts", "analyse my last session", "review session abc123", "разбери эту сессию". Produces feedback on prompt quality, agent interaction patterns, and missed opportunities. Saves the review as markdown into the lab vault. |
Lab Review
Reviews a Claude Code session and produces coaching-style feedback.
Language
Default: English. Switch to Russian if the user wrote to you in Russian. Keep the written review in one language — whichever matches the current conversation.
Где лежат сессии
Транскрипты Claude Code: ~/.claude/projects/<cwd-slug>/<session-id>.jsonl. Каждая строка — событие (type: user | assistant | tool_use | tool_result). cwd-slug — это рабочая директория с / заменёнными на -.
Режимы запуска
1. Текущая сессия (in-session)
Пользователь говорит: «разбери эту сессию», находясь внутри активной сессии.
Найди её так:
slug=$(pwd | sed 's|/|-|g')
ls -t ~/.claude/projects/${slug}/*.jsonl 2>/dev/null | head -1
Последний изменённый файл — текущая сессия. Читай его частично (последние 200-500 строк достаточно для обзора).
Важно: при анализе активной сессии отфильтруй собственное сообщение-вызов skill — оно не часть того, что нужно разбирать.
2. Последняя завершённая сессия
«Разбери мою последнюю сессию» без уточнения — бери второй по свежести JSONL в той же директории (первый это текущая).
3. По ID
«Разбери сессию abc123...» — ищи через find ~/.claude/projects -name "abc123*.jsonl".
Что читать
JSONL большой. Эффективная стратегия:
- Прочитай первые 50 строк — контекст начала.
- Прочитай последние 200 строк — финал и итоги.
- Если сессия длинная (>1000 строк), выбери 2-3 случайных фрагмента по 50 строк в середине.
Извлекай только type: user и type: assistant с полем message.content. Tool calls интересны только если агент буксовал (много повторных вызовов).
Рубрика разбора
Оценивай сессию по четырём осям. Для каждой — 1-3 конкретных наблюдения со ссылкой на фрагмент, не общие советы.
1. Качество промптов пользователя
- Есть ли контекст (что уже пробовали, что нужно)?
- Цель ясна или размыта?
- Просит решение или просит исследовать?
- Где пользователь задал вопрос, хотя мог сразу дать инструкцию (или наоборот)?
2. Взаимодействие с агентом
- Где агент ушёл не туда — и пользователь это заметил / не заметил?
- Были ли моменты, когда стоило остановить агента и перепланировать?
- Использованы ли подходящие инструменты (skills, subagents, plan mode)?
3. Упущенные возможности
- Какие skills/tools подошли бы, но не были вызваны?
- Где можно было запараллелить независимые задачи?
- Что стоило сохранить в memory/профиль?
4. Что получилось хорошо
Обязательно. Минимум 1 пункт. Без этого разбор превращается в придирки.
Формат выхода
Сохраняй в <vault>/reviews/YYYY-MM-DD-<session-short-id>.md:
---
session_id: <полный id>
date: <YYYY-MM-DD>
duration_turns: <число обменов>
topic: <одно предложение о чём была сессия>
---
# Разбор сессии <короткий id>
## О чём была сессия
<2-3 предложения>
## Что получилось хорошо
- <наблюдение + цитата/номер turn>
## Качество промптов
- <наблюдение>
## Взаимодействие с агентом
- <наблюдение>
## Упущенные возможности
- <наблюдение>
## Одна вещь на следующий раз
<самая важная рекомендация, одно действие>
Правила
- Никогда не выдумывай цитаты. Если цитируешь — это должна быть реальная строка из JSONL.
- Не морализируй. Тон — коллега, а не ментор-всезнайка.
- Связывай с профилем: если в
<vault>/goals.md есть цель, к которой сессия относится — упомяни. Если в tools-learned.md был инструмент, который подошёл бы — сошлись через [[tools-learned#...]].
- Если vault не настроен — предложи сначала запустить
lab-context, но разбор всё равно выдай (просто без ссылок на профиль, и сохрани во временный файл в подпапке проекта, а не в $HOME).
- Никогда не пиши в
$HOME напрямую — только в подпапки ~/claude-lab-vault/ или аналог.