Третья неделя в новой компании. Меня спрашивают, кто в соседней команде отвечает за конфиги админки и где лежит контракт по realtime-интеграции с витринами партнёров. Я отвечаю без открытия браузера.
Не потому что гений. Просто всё это уже лежит у меня в одном каталоге, и я быстрее читаю свой файл, чем переключаюсь между Slack и Confluence.
Контекст
Я тимлид в B2B-компании с довольно типичным для продуктовой разработки обвесом: Jira, GitLab-группа с несколькими десятками подгрупп и сотней репозиториев, Confluence с кучей спецификаций по архитектуре, Slack с парой десятков активных каналов и транскрипты звонков через свою поделку.
Классический тимлидский день в такой конфигурации выглядит так:
-
20 вкладок Jira (спринт, мой борд, чужие борды, несколько тикетов команды)
-
15 вкладок Confluence (спеки, ADR, онбординг-гайд)
-
GitLab на каждый репозиторий отдельной вкладкой
-
Slack с уведомлениями из пяти каналов параллельно
-
Jira-комментарии по QWER-123 пишешь в одной вкладке, а спек из Confluence — в соседней
Через неделю такого ты уже не помнишь, договорились ли вы про вынос фронта в отдельный бандл на онбординге или на архитектурном синке. Через две — забываешь, что обсуждение вообще было.
Вариант “я буду внимательнее” я пробовал. Не сработало. Поэтому попробовал другое.
Идея
Перестать открывать браузер как основной интерфейс работы. Вместо этого — директория проекта с документацией и Claude Code с подключёнными интеграциями.
Каталог устроен так:
docs/ people/ # Профиль на каждого человека в контуре meetings/ # Саммари встреч по датам 1on1s/ # Заметки с 1:1 plans/ # Планы спринтов, roadmap, execution plans adrs/ # Architectural Decision Records processes/ # Как у нас устроены ретро, релизы, дежурства knowledge-base/ # Research, discovery, сложные технические вопросы reviews/ # Чеклисты и заметки по MR-ревьюsprint-cheatsheet.mddaily-teleprompter.mdCLAUDE.md # Правила работы для Claude
На человека в people/ лежит файл: Jira-handle, GitLab-handle, роль, области ответственности, свежая активность в репозиториях, ключевые фразы из онбординга, текущие TODO по общению с этим человеком. Не HR-карточка. Операционный профиль, который я читаю перед разговором.
Реальная цитата одного ex-тимлида, которую я записал в его файл после онбординга:
«У тебя хорошая команда — у меня отобрали самые сливки. Не влезай в процессы сразу, наблюдай.»
На следующем синке я её не забыл — она лежит в файле, рядом с “глубокое знание Kafka, schema-registry, кеширования; принимает решения по крупным техническим направлениям”. Это меняет тон разговора сильнее, чем кажется.
Интеграции
Никакой магии. Всё собирается из штатных инструментов Atlassian и GitLab.
Jira — через acli jira. CLI от Atlassian, умеет то же что и веб, только отдаёт JSON. У Claude Code правило в CLAUDE.md: дефолтный проект и борда прописаны в конфиге, если не указан спринт — берёт текущий открытый, если не указан статус — всё кроме Done.
Confluence — тоже acli. Логинишься один раз, дальше поиск по спейсам, чтение страниц, создание новых. По референсу на страницу Claude подтягивает её содержимое — не надо copy-paste из браузера.
GitLab — git через HTTPS с токеном, glab для всего остального. Все операции — от поиска открытых MR до чтения диффа и комментариев ревью — идут из терминала.
Slack — через MCP-сервер. Чтение каналов, поиск обсуждений, отправка сообщений. В правилах у Claude прописаны дефолтные каналы — “не спрашивать в какой отправлять, если из контекста ясно (основной канал команды / канал инфры)”.
Записывалка звонков — приложение, которое записывает и транскрибирует звонки локально. Сессии лежат в ~/Documents/Calls/sessions/. Claude их читает и раскладывает по файлам. Я как-то писал свою, ей и пользуюсь. Подойдет любая.
Всё это обёрнуто в пару своих скиллов — команд, которые Claude знает как выполнить.
Подготовка к дейлику
За 10 минут до дейлика: Подготовь дейли или /standup.
Claude собирает docs/daily-teleprompter.md, где на каждого человека структура:
-
Active Tasks: номер тикета + описание + кликабельная ссылка в Jira
-
Open MRs: номер MR + заголовок + кликабельная ссылка в GitLab
-
Questions: 2-3 конкретных вопроса по статусу
-
Blockers: список заблокированных задач с причинами
Правило жёсткое: никогда не показывать тикет PROJ-XXX или MR !XXX без текстового описания и прямой ссылки. Потому что “PROJ-447 висит” — бесполезно, а “PROJ-447: вынос секции в отдельный бандл, MR ждёт ревью 3 дня” — уже конкретика.
На сам дейли я прихожу с листом конкретных вопросов по конкретным людям вместо общего “ну что там у тебя”.
Обработка транскрипта после звонка
После любого звонка я говорю: Ну мы там созвонились, подтяни. Дальше Claude:
-
Обновляет
docs/meetings/YYYY-MM-DD-<тема>.md— саммари с решениями и action items -
Если это был 1:1 — дополняет
docs/1on1s/<имя>-<дата>.md -
Если узнали что-то новое о человеке — обновляет его файл в
people/ -
Если обсуждались статусы или блокеры — предлагает оставить комментарий в Jira или поменять статус
-
Если изменились приоритеты — обновляет
sprint-cheatsheet.md
Раньше я это делал через раз, а через раз просто забывал. Теперь не забываю — потому что протокол прописан в файле, а не держится в моей голове.
Два кейса где это реально окупилось
Онбординг
Моя первая неделя выглядела как марафон звонков. Человек пятнадцать, все рассказывают своё, контекстов — сотни.
Я всё это наговорил через Spokenly и вместе с Claude разложил по people/*.md. Через две недели, когда на очередном синке спросили “а ты уже в курсе кто у нас ведёт вот этот сервис?” — я сходил в файл, а не в память. Там было: имя, последние коммиты, что человек делал на последнем релизе и в каких каналах Slack он активен.
Это не “справочник глубже чем у всех остальных”. Это маленькая компенсация того факта, что я две недели назад впервые услышал имя половины людей вокруг.
Код-ревью с полным контекстом
Стандартное тимлидское ревью выглядит так: открываешь MR, смотришь дифф, пытаешься вспомнить “а мы же что-то обсуждали про это”. Идёшь в Slack искать по ключевым словам. Потом в Jira — смотреть связанные тикеты. Потом в Confluence — искать спеку. К моменту когда всё нашёл, уже забыл зачем начинал.
Сейчас я говорю: “Разбери MR !473 в таком-то репо, проверь на соответствие обсуждению в канале команды и плану из docs/plans/<план-фичи>.md”. Claude подтягивает дифф, находит релевантный тред в Slack, сверяет с планом, и выдаёт мне список точек — что соответствует, что расходится, какие вопросы к автору.
Я даже ввел шуточного персонажа, от лица которого все эти комменты потом публикуются после моего ревью (ревью ревью, получается, хех)
То есть я всё ещё принимаю решение по каждому комменту сам и проверяю на адекватность. Но вводные — со ссылками на реальные сообщения/доки/детали транскриптов и тд — уже собраны. Без этого я бы половину обсуждений пропустил, потому что они происходили неделю назад в треде, в котором меня не тегнули.
Возражения
“Нормальный тимлид держит всё в голове.” Возможно. Я видел тимлидов которые “держат всё в голове” и пропускают критический блокер после трёх дней отпуска. Мне проще положить это в файл.
“Это слишком просто чтобы делегировать ИИ.” Простое плюс регулярное выжирает больше всего времени в неделю. Разложить транскрипт на пять файлов вручную — не сложно, просто долго и скучно, и поэтому ты этого не делаешь.
“Это слишком сложно чтобы делегировать ИИ, он напутает.” Иногда путает. Поэтому он не принимает решений, а готовит вводные. Решения я принимаю сам.
И одно возражение от самого себя: “работает пока у тебя 20 человек и 100 реп, в большой компании не масштабируется”. Не знаю. Пока работает. Когда сломается — напишу об этом отдельно.
Чего Claude тут не делает
Не принимает решений. Не пишет за меня комменты в MR которые я подписываю не глядя (ладно, кого я обманываю — иногда все же пишет). Не выдаёт план спринта, который я транслирую команде слово в слово.
Он достаёт контекст. Не умнее меня — просто быстрее и не пропускает то, что я уже один раз видел и поэтому у меня “а, знаю, дальше”.
Иногда подсвечивает пересечения, которые я и команда пропустили на самостоятельно: “в плане написано X, в Slack на прошлой неделе обсуждали что X не подходит из-за Y, в MR сделано X, вопрос автору”. Ничего магического: просто перечитывает все пять источников вместо того чтобы довериться своей памяти на втором из них.
Человеческий фактор в работе никуда не делся. Я всё так же могу принять спорное решение, поссориться на ретро или неловко провести 1:1. Просто контекст вокруг этих решений собран полнее, чем я бы собрал сам.
Минимальная версия для себя
Если хочется попробовать:
-
Папка в git, рядом с кодом (важно: и документация, и репозитории — в одной директории, чтобы Claude видел обе стороны)
-
CLAUDE.mdв корне — правила (проект Jira по умолчанию, борда, имена каналов Slack, язык по каналам) -
docs/people/— один файл на человека в команде и в соседних, с которыми общаешься -
docs/meetings/— саммари встреч, даже если сначала просто копипаста транскрипта -
Atlassian CLI,
glab, любой транскрибатор звонков (SummitNotes / Cluely / Granola / whisper.cpp локально)
Дальше — наращиваешь правила по мере того как замечаешь повторяющиеся операции.
Мой опыт работы с такой конфигурацией — пока несколько месяцев, три из них на текущем месте с нуля. Это не универсальный ответ и я не обещаю что это решит кризис тимлидства. Но мне стало спокойнее жить.
А у вас как устроена работа с контекстом команды — вручную, в голове, или тоже что-то собрали вокруг себя?
ссылка на оригинал статьи https://habr.com/ru/articles/1028198/