Skip to content
Back to skills

Retro Lost

BSecurity

Run a retrospective for an abandoned agent session (untouched for over 24 hours, never closed with a retro): rebuild context cold from the transcript, list what was built, sort Keep/Drop/Try and file the durable parts. Use from a nightly routine or on demand. Triggers: /retro-lost, retro for an abandoned session.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 25, 2026
ai-agentspythonbashnodegit

Works with

  • claude desktop
  • mcp

Security analysis

B75/100
  • criticalAccesses sensitive system or user directories

Pro shows the line behind each finding and how to fix it

Scanned October 6, 2026

npx -y skills add tonydzi/second-brain-starter-kit --skill retro-lost --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Retro Lost?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Retro Lost
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/tonydzi-retro-lost/badge)](https://www.skillsdirectory.com/skills/tonydzi-retro-lost)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: retro-lost
description: "Run a retrospective for an abandoned agent session (untouched for over 24 hours, never closed with a retro): rebuild context cold from the transcript, list what was built, sort Keep/Drop/Try and file the durable parts. Use from a nightly routine or on demand. Triggers: /retro-lost, retro for an abandoned session."
license: MIT
consumer: "рутина auto-hub-260811-retro-lost-nightly · Антон/агент по команде /retro-lost · /retro шаг 6a-бис"
version: 1.0.0
---

# /retro-lost — ретро потерянных сессий

## ⭐ ОСЬ ВОЗРАСТА: когда сессия — потеряшка и какое ретро ей положено (anton 02.09.2026)
Потеряшка = сессия без касания **>24 часов** (было 5 дней; сканер `retro_lost_scan.py`,
`MIN_AGE_DAYS=1`). Возраст решает ГЛУБИНУ ретро — поле `retro_mode` в строке кандидата:

- **1–5 дней (`classic`)** — контекст ещё тёплый, мир не успел далеко уйти → **классическое
  качественное ретро**: полный набор шагов профиля узла (см. таблицу профилей ниже),
  включая контрибьют-тест, тесты панелью и docstring-паспорта на хабе.
- **>5 дней (`lite`)** — поезд ушёл (в другом или том же направлении — неважно, догонять
  дорого) → **облегчённое ретро**: шаги 0/0-бис/1/2/3/7/8, БЕЗ шагов 4/5/6/7-бис/9.
  RECALL при этом ПОЛНЫЙ — это не то, что режется (опасность №1 никуда не делась).

Ось возраста ⊥ оси профилей (хаб/пир): сначала возраст выбирает classic/lite, потом профиль
узла режет своё. Итог = ПЕРЕСЕЧЕНИЕ (пир-лайт + classic всё равно без панели ломателей —
она хабовая рельса; хаб + lite не делает панель даже при живой рельсе). MAX_AGE_DAYS=30
(амнистия) не тронут.

## Чем отличается от живого /retro и почему
Сессия брошена дни назад: контекст холодный, автора нет, мир УШЁЛ ВПЕРЁД. Отсюда три сдвига:
1. **RECALL — главный шаг, а не разминка.** Опасность №1 (Антон: «чтобы не суммаризировать
   старьё»): торжественно записать урок, который соседняя сессия уже записала, или судить
   артефакт, который с тех пор переписан/удалён. Каждый вывод сверяется с СЕГОДНЯШНИМ
   состоянием: память + MEMORY.md, grep волта, реестр задач, git log затронутых файлов
   ПОСЛЕ даты сессии. Урок уже записан → строка «уже в домах, дубль не создаю». Артефакт
   переписан позже → судим текущую версию, не сессионную.
2. **Часть живого ритуала НЕ нужна.** Compact-блок Антону — некому жать. Growth-log — только
   если в сессии был реальный спор/решение. Биты дня — протухли (сюжетно ценное → черновик
   в content-mine, не в канон задним числом). Drift-audit с подъёмом дочерних сессий — только
   если RECALL доказал, что направление ещё живо и не подхвачено.
3. **Сессия не отвечает** — все вердикты со степенью уверенности; «зачем это строили» без
   улики в транскрипте = 🤔 гипотеза, не факт.

## Шаги (на одну сессию-кандидата)
0-пре. **ВЗЯТЬ кандидата ДО разбора** (иначе вторая ночная сессия возьмёт того же):
   ```bash
   python -B "$HOME/.claude/scripts/retro_lost_scan.py" take <sessionId> --holder "<taskId>" --json --receipt-out "<absolute-receipt.json>"
   ```
   Путь receipt обязан быть абсолютным и вне репозитория. `rc=0` доверяй только когда durable
   receipt exists и JSON содержит непустые `question_id`, `session_id`, `logical_file_id`,
   `holder` и `epoch` как positive integer. Receipt сохрани до подтверждённого DONE для replay
   после crash. `exit 7` — **его разбирают прямо сейчас**, бери следующего. `exit 3` — уже
   закрыт. Захват снимается сам в `mark-done`; умерла сессия — протухает за 3 часа и кандидат
   возвращается в очередь. `list` занятых больше не показывает и пишет их число в stderr.
   Зачем: маркер done ставится только В КОНЦЕ, а разбор идёт минуты — между «взял из списка»
   и «пометил» две сессии спокойно брали один sessionId и правили одни файлы (§7.7). Класс
   «дедуп покрывает прошлое, но не летящее», `Breakage-Journal` 13.08 / 22.08 / 22.08.
   ⚠️ В БАТЧЕ (шаг 0-бис) захватывать НАДО КАЖДОГО участника батча, а не только первого.
   ⚠️ **ТОЛЬКО ПОЛНЫЙ sessionId** (замер 13.09): `take` принимает ОБРЕЗАННЫЙ id из 8 символов,
   печатает «взял: cd8e196d» и отдаёт `exit 0` — захват ложится на несуществующий ключ, а
   реальный кандидат остаётся свободным для соседней ночной сессии. Списки и группировки
   удобно печатать короткими id, но в `take`/`mark-done` подставляй полный — резолви его
   из выдачи `list` (`sessionId`), а не из своей таблички.
0. **Вход**: строка кандидата от сканера (path, project, sessionId, hint). Прочитать транскрипт
   ЭКОНОМНО (§6.1) готовым прибором: `python ~/.claude/scripts/retro_lost_extract.py <path> [N]`
   — отдаёт первый промпт, стройку, bash-команды и хвост, файл в контекст не тянет. Точечное
   дознание — grep. Транскрипт >2 МБ целиком не читать никогда; свой экстрактор не переизобретать
   (грабля «сид назвал цель, не назвал рельсу», журнал 21.08 строка 876).
   ⭐ **0-бис — БАТЧ ОДНОЙ РУТИНЫ (anton 22.08, «переработай рутину»):** у кандидатов теперь
   есть `hint` (первые слова первого промпта). Кандидаты с одинаковым hint = прогоны ОДНОЙ
   рутины → разбирать ОДНИМ батчем: один инвентарь по образцу + сверка судьбы находок каждого
   прогона, ОДНА ретро-заметка на батч (source_sessions списком), mark-done КАЖДОМУ участнику.
   Причина цифрой: очередь 640 при 10/ночь и окне 25 дней = большинство сессий выпадает из окна
   неразобранными; батч рутинных прогонов закрывает 20-30 за ночь без потери качества
   (прогон 22.08: 10 сессий легли в 3 батч-заметки).
   ⚠️ **ЛОЖНЫЙ БАТЧ ПО СЛУЖЕБНОМУ ПРЕФИКСУ (находка 11.09.2026):** `hint` — это первые ~55 символов
   первого промпта, и у части сессий там стоит ОБЩАЯ служебная строка, а не суть работы. Известные
   склейки: `Base directory for this skill: [путь владельца]` (одинакова у ВСЕХ скиллов —
   11.09 склеила триаж, полосу тизеров и подачу на вакансии в один «батч» из 6 сессий),
   `--- name: <рутина> description:` (сид рутины — тут склейка ЧЕСТНАЯ, это правда одна рутина),
   `Use the Write tool to create ...` (однострочные пробы). Проверка перед разбором дешёвая: у
   истинного батча совпадает не только hint, но и ПРОЕКТ плюс набор тронутых файлов из экстрактора.
   Не совпало — разбирай по отдельности внутри одной заметки, единица при этом остаётся одна.
   ⭐ **0-тер — ОДИН И ТОТ ЖЕ БАТЧ ТРЕТЬЮ НОЧЬ ПОДРЯД = ДЕФЕКТ ПРИБОРА, А НЕ ЕДИНИЦА РАБОТЫ
   (оплачено 23.09.2026, [машина флота]).** Перед разбором батча посмотри заголовки своих же
   последних заметок (`ls -t .../Retros/retro-lost-*<узел>* | head -6`). Тот же батч в них
   третий раз → ⛔ НЕ тратить на него единицу снова: единица уходит на вопрос **«почему этот
   шум вообще доезжает до очереди»**, и корень чинится в том же заходе.
   Замер, породивший правило: батч «8 проб `Reply with exactly: ok`» брался 14, 15, 16, 17,
   19 и 21.09 — шесть ночей, шесть раз честно записан как «шум, не работа», шесть съеденных
   единиц из десяти. Корень лежал в одной строке сканера: `BUILD_PAT` считал стройкой
   `"name":"Write"` из ОПИСАНИЯ ТУЛОВ, которое едет в каждом транскрипте, поэтому условие
   «>=100 КБ И есть стройка» было на деле просто «>=100 КБ» (16% очереди — сессии без единого
   `tool_use`). Свой `selftest` дефект не ловил: его фикстура «стройки» была той же формой
   объявления — [[red-first-or-the-test-is-fake]].
   Мораль шире одного бага: **прибор рутины — такой же claim, как вывод** ([[instrument-is-a-claim-too]]).
   Повторяющаяся «находка» — это не находка, а счётчик собственной слепоты.
   Границы лайта это НЕ нарушает: чинится СВОЙ инструмент рутины, а не код брошенной сессии,
   и не канон-дома. Починка закрывается красным тестом и уезжает посылкой на флот (гейт
   `deploy_register` требует verify-ПРОБУ, а не тест: тест пишет state, проба только читает).
1. **ИНВЕНТАРЬ**: какие файлы сессия создала/правила → существуют ли СЕЙЧАС, кто их трогал
   после (git log/mtime). Исчез/переписан → в отчёт строкой, не в работу.
   ⭐ **ЧЕК-ЛИСТ ПРИБОРОВ (урок 22.08: кривой прибор чуть не записал в дома ложное «всё
   сгнило», поправка в журнале):** судьба пункта/просьбы = по РЕЕСТРУ `10-Tasks` (grep по
   ключевым словам) и git log, НЕ по mtime перевалочных файлов (план шины — перевалка, работа
   уезжает в карточки); установка MCP = конфиг Claude Desktop, НЕ `.claude.json`; «рутина
   жива» = хартбит `_cron_heartbeat/` И свежий ВЫХОД у потребителя, не одно из двух. Прибор —
   такой же claim, как вывод (§5.4): удобный вывод «брошено/сгнило» проверяется вторым прибором.
   ⚠️ **ИНВЕНТАРЬ ПИШИ ФАЙЛОМ, А НЕ HEREDOC'ОМ (оплачено 20.09.2026, три отбитых вызова подряд).**
   `constitution_guard` отбивает bash-вызов за одно УПОМИНАНИЕ лизованного каталога в тексте
   команды — даже когда команда ничего туда не пишет (считает mtime, обходит каталог, пишет
   строку в журнал про сам гейт). Пока сосед держит lease на общий каталог, любой инвентарь
   через heredoc мёртв. Рабочий путь: скрипт инвентаря создать `Write`-тулом в скретчпаде и
   запустить одной командой, а корни путей внутри собирать из кусков в рантайме
   (`"[путь владельца]" + "_imports"`). В тексте строки журнала лизованный путь не называть.
   Класс: `gejt-lizinga-blokiruet-chtenie-po-upominaniyu-puti`.

   ⭐ **ПРОГОНИ ТЕСТ, КОТОРЫЙ НАПИСАЛА САМА БРОШЕННАЯ СЕССИЯ (находка 16.09.2026).** Сессия оставила
   `_test_*.py` рядом со своим артефактом — запусти его ПЕРВЫМ, до любого чтения кода: это самая
   дешёвая дверь к находке (один вызов, 0 токенов на чтение). Красный тест у брошенной сессии почти
   никогда не значит «сессия сделала плохо» — значит, мир уехал ПОСЛЕ неё. 16.09 красный
   `_test_people_value_tester.py` вывел на откат 491 файла в `~/.claude/scripts`, который шесть часов
   лежал молча; ни одна другая проверка инвентаря его бы не показала. Зелёный тест — тоже улика:
   он подтверждает Keep без панели ломателей.
2. **RECALL-сверка** (см. выше) по каждому потенциальному выводу.
3. **КЛАССИФИКАЦИЯ** уцелевшего: Keep-&-reuse / one-off / брошено-навсегда.
4. **Контрибьют-тест 4🌍** для каждого Keep (3 вопроса; канон в rep-reply § «Пополнение
   карты») → строка в карту rep-reply / кандидат release-slice.
5. **ТЕСТЫ — внешними LLM** (Антон 11.08): живой непокрытый артефакт → панель ломателей
   `secondop.py panel` (Codex+Grok+Gemini), НЕ свой полный /tt — своих токенов на 10 сессий
   за ночь не напасёшься, и внешняя пара глаз на холодном коде честнее. Панель мертва →
   явный log-skip, артефакт в отчёт с ⚠️.
6. **ДОКА — только В КОД** (Антон, дважды: 07.08 и 11.08): живому непокрытому артефакту —
   docstring-паспорт в сам файл (что · вход/выход · кто дёргает · как чинить). Отдельные
   .md-паспорта НЕ создавать.
7. **Хвосты**: недоделанное и ценное → карточка в реестр задач (10-Tasks) со ссылкой на
   sessionId; недоделанное и мёртвое → строка в отчёте, без карточки.
   ⭐ **7-бис — законнектить с решателем (anton 21.08, грань 6 Connect):** карточка без
   копателя = жалоба. На КАЖДУЮ созданную карточку в том же заходе поднять видимую
   сессию-копателя (taskId=`auto-<узел>-<ГГММДД>-dig-<суть>`, не «в чёрную»).
   ⚠️ **ЧЕМ поднимать — решает, кто тебя позвал (CLAUDE.md §9.2, канон бьёт этот скилл):**
   живая сессия (человек за клавиатурой) → `create_scheduled_task`; **РУТИННЫЙ прогон
   (тебя позвал scheduled-task — это обычный случай ночной догонялки) → ТОЛЬКО
   `python ~/.claude/scripts/spawn_queue.py add --task-id … --prompt-file …`**.
   Из рутинной сессии `create/update_scheduled_task` = принудительное апрув-окно Антону,
   нажать некому, сессия виснет посреди хода и держит слот часами (93 из 101 блока апрува —
   эти вызовы; 02.09 три зависшие сессии остановили спавн на 6ч42м).
   ПЕРЕД подъёмом: `selfheal.py repairs --json` — класс уже queued/raised
   → копателя НЕ плодить (решатель существует). ⚠️ Проверяй не только НАЛИЧИЕ строки, но и
   её ВОЗРАСТ: `repairs` печатает «⚠️ДВЕРЬ МОЛЧИТ» у починок, поднятых и не побежавших
   (замер 08.09: `bash-tool-eats-windows-backslashes` — 238.9ч молчания, класс тем временем
   дошёл до 5/3). Молчащий решатель — не решатель: пиши это строкой в отчёт, дубль всё равно не плоди.
   ПОСЛЕ подъёма зарегистрируй его:
   `python ~/.claude/scripts/selfheal.py repairs --commit <класс> --task <taskId> --why "..."`.
   Мандат в сид: (1) проверить реальность проблемы уликами с диска; не подтвердилась →
   карточка dropped + опровержение в журнал; (2) счёт класса <3 → только статистировать,
   корень НЕ чинить; (3) счёт ≥3 → та же сессия чинит корень, сперва суммировав все
   предыдущие кейсы серии (5почему→ТРИЗ→АК-47). Все строки журнала — ТОЛЬКО дверью
   `selfheal.py journal --class ... --what ...` (опровержение — с `--status "опровергнуто: <чем>"`);
   рукописная строка НЕВИДИМА счётчику §5.10 и не заводит починку. Финал копателя:
   счёт <3 → `selfheal.py repairs --close <класс> --why "копатель: статистировано, счёт <3"`
   (иначе висячий raised подавит будущую починку); строка исхода dig_closed в
   `~/.claude/scripts/_dig_usage.jsonl` (ts·node·actor·event·outcome·class·taskId, §5.8).
   Tier-2 внутри копания → аск в 02.
   Канон: `reglament-pravilo-connect-esafeta-otvetstvennosti` грань 6,
   память `problem-connects-to-solver-session`.
8. **ФИНИШ**: короткая ретро-заметка в волт (шаблон живого /retro, секции пустых шагов
   опускать) → `python -B "$HOME/.claude/scripts/retro_lost_scan.py" mark-done "<receipt.session_id>" --question-id "<receipt.question_id>" --logical-file-id "<receipt.logical_file_id>" --holder "<receipt.holder>" --epoch "<receipt.epoch>" --note "<retro-note>"`.
   Передавай значения дословно; do not recompute identity по пути или sessionId. Wrong/missing
   identity обязана завершиться fail-closed без DONE/release; точный replay идемпотентен.
9. ⭐ **ЛИЧИНКА: СПОТЫКАНИЯ СВОЕГО ЖЕ ПРОГОНА → В ЖУРНАЛ ДВЕРЬЮ (shadow с 22.08, урожай
   29.08, Shadow-First-Queue).** Перед финишем всего прогона вспомни СВОИ спотыкания за ночь
   (упавшая команда · кривой флаг · кривой путь · права · лимит · обход) — каждой СЕМЬЕ одна
   строка дверью `python ~/.claude/scripts/selfheal.py journal --class <семантический-класс>
   --what "..."`. 0 спотыканий = ничего не писать, не выдумывай. Дверь сама считает и сама
   заводит починку на 3-й строке — это и есть «рутина, которая чинит рутину», новых роботов
   не плодим. ⚠️ Дедуп двери: exit 3 + печать «СТРОКА НЕ ЗАПИСАНА» = класс уже журналился
   недавно, это штатно. Свой скрипт по ходу ретро всё равно не чинить (границы ниже) — чинит
   сессия починки от двери.

## Бюджет ночного прогона (рутина)
10 ЕДИНИЦ работы за ночь **на КАЖДОМ узле** (Антон 11.08 «по 10, три маловато»; 02.09:
«оставил бы десять сессий за ночь» — пир-лайтовые 5 подняты до 10; лимиты узла не тянут →
честно меньше, с числом в отчёте). Порядок ВНУТРИ ночи (Антон 02.09): приоритет — самым
СВЕЖИМ потеряшкам (25ч назад, потом 26ч, потом 27ч…) — сканер уже сортирует так; но
старьё не бросаем: **≥2 единицы из 10 — хвосту очереди** (lite-старьё; доля моя, не
Антона — по замеру можно двигать).
⚠️ **ДЕСЯТКУ СОБИРАЙ ДО `take`, а не после** (грабля 09.09): `list` умеет только
`--top N` (свежие первыми), а `release` для уже взятого НЕ имеет — взял top-10, и квота
хвоста на эту ночь стала недостижима. Порядок: `list --top 200` → глазами выбрать
8 свежих + 2 с хвоста → и только теперь `take` каждого. 22.08: батч одной рутины по hint = ОДНА единица,
mark-done всем её сессиям — так ночь закрывает 20-30 сессий. На единицу: чтение ≤
экстрактор+греп, вердикты Opus. Не уложился в 10 до 06:00 — остановиться, очередь подождёт
(сканер отдаст завтра). Отчёт рутины: одна строка в 03 «retro-lost: закрыто N, очередь M»
— по правилу §7.4 суточного ритма, без спама.

## Границы
- ⛔ Не чинить код брошенной сессии по ходу ретро (это отдельная задача с владельцем) —
  исключение: карв-ауты Breakage-Journal (потеря данных/безопасность/секреты) → сразу.
- ⛔ Не поднимать дочерние сессии без RECALL-доказательства «ещё нужно и никем не подхвачено» (сессия-копатель по 7-бис — не исключение: её RECALL-доказательство = сама карточка, созданная в этом прогоне; на чужие/старые карточки копателей не плодим — дедуп по taskId).
- ⛔ Не переписывать историю: ретро-заметка судит, что вышло, а не редактирует сессию.
- Tier-2 находки (секрет в транскрипте открытым текстом и т.п.) → аск в 02 немедленно.

## ⭐ ДВА ПРОФИЛЯ: ХАБ-ПОЛНЫЙ и ПИР-ЛАЙТ (anton 22.08, голосовые hub:5697+hub:5699)
Приказ дословно: «рутина, которая обязана быть на КАЖДОМ пире… она действительно должна быть
на каждом компьютере, потому что на каждом компьютере свои юзеры, свои пиры… не централизовано
на хабе, а у каждого… 5-10 потеряшек в сутки… по упрощённому варианту… но полное рекол».

**Почему децентрализация вообще возможна и обязана быть — ЗАМЕР 22.08:** транскрипты
`~/.claude/projects/*/*.jsonl` НЕ синкаются между узлами (строка `/projects` в `~/.claude/.stignore`;
проверено — в общих project-папках на хабе и на Якорье по 0 `.jsonl`), маркеры done в
`~/.claude/logs/` тоже не в whitelist синка. Значит: узел физически видит ТОЛЬКО свои сессии,
хаб чужие потеряшки разобрать не может НИКОГДА, два узла не подерутся за одну сессию и общий
реестр маркеров не нужен (single-writer-shard не требуется — шард и так один на узел).
Очереди на 22.08: хаб 627, Якорь 88 при 0 маркеров (то есть 88 сессий Якорьа не разбирал никто).

⚠️ **ИСКЛЮЧЕНИЕ, найдено 10.09.2026 (хаб, прогон ночной догонялки): проекты `ssh-*` видны ДВУМ
узлам.** Сессия `b1398d37` работала на Якорье в `/root/Obsidian/…`, а её транскрипт лежит на хабе
в проекте `ssh-b1398d37-…`, потому что ssh-сессию открыли отсюда. Якорь разобрал её 23.08 и
поставил СВОЙ локальный маркер, хаб об этом маркере не знает и получил её в очередь снова
17 дней спустя. Значит утверждение «два узла не подерутся» верно для обычных проектов и НЕВЕРНО
для `ssh-*`: там от дубля спасает только RECALL (шаг 2), поэтому у кандидата с проектом `ssh-*`
RECALL по слову из первого промпта в `01-Conversations/Claude/Retros` обязателен ДО разбора, а не
после. Строка класса в журнале: `ssh-sessii-vidny-dvum-uzlam-dedup-tolko-recall`.

**Какой профиль сейчас работает — говорит РУТИНА, а не хостнейм.** Гейт явный: сид рутины
пишет «профиль ПИР-ЛАЙТ» или «профиль ХАБ-ПОЛНЫЙ». Нет строки профиля в сиде → ПИР-ЛАЙТ
(безопасный дефолт: дешевле и ничего не пишет в канон), но **ВСЛУХ**: первая строка отчёта =
«⚠️ профиль не назван в сиде → взял ПИР-ЛАЙТ». Молчаливый дефолт = тихая деградация хаба, если
строка профиля из его сида когда-нибудь пропадёт (находка панели ломателей 22.08, Grok #1).
⛔ Не угадывать профиль по hostname — неизвестный узел молча получил бы дорогой профиль.

| | ХАБ-ПОЛНЫЙ (`auto-hub-260811-retro-lost-nightly`) | ПИР-ЛАЙТ (каждый узел) |
|---|---|---|
| объём | 10 единиц/ночь | **10 единиц/сутки** (anton 02.09: «оставил бы десять»; было 5) |
| шаги 0, 0-бис, 1, 2, 3 | да | **да, без урезания — RECALL полный** («полное реку») |
| 4 контрибьют-тест | да | ⛔ нет |
| 5 тесты панелью ломателей | да | ⛔ нет (панель — хабовая рельса) |
| 6 docstring-паспорта | да | ⛔ нет (правка чужого кода = не задача лайта) |
| 7 хвост → карточка | да | да |
| 7-бис сессия-копатель | да | ⛔ нет — только карточка со ссылкой на sessionId |
| 8 заметка + mark-done | да | да |
| 9 личинка спотыканий | да | ⛔ нет (shadow хаба) |
| модель | Opus | Opus (вердикт уезжает в библиотеку = суждение, §6.2) |
| рельса | подписка узла | **подписка ЭТОГО узла** — на пирах баки простаивают, §6.3 «жги оплаченное» |

**Что лайт НЕ режет:** RECALL (иначе получаем пересказ старья — та самая опасность №1),
проверку судьбы артефакта по реестру и git, честное «🤔 гипотеза» без улики.

### Имя файла заметки лайта — с КЛЮЧОМ УЗЛА, иначе sync-conflict
`01-Conversations/Claude/Retros/retro-lost-<ГГГГ-ММ-ДД>-<MACHINE_KEY>-<слаг>.md`.
Причина: волт общий на 6 узлов, у всех своя пятёрка потеряшек в один день; имя без ключа узла
= драка Syncthing за файл (три ломателя из трёх назвали это первым риском 22.08).
То же для карточек `10-Tasks`: слаг несёт узел. Хаб пишет как раньше (его имя уже уникально).

### Ветка «это была КНИГА / длинный текст» (anton hub:5699)
Дословно: «может, книгу даже не дописали нужную… это была важная книга, нужно хотя бы сделать
саммари, о чём она была, и поставить точку… и сложить в нашу гигантскую библиотеку, возможно
эти куски книги понадобятся». Признак: сессия писала главы/лонгрид/книгу и оборвалась.
Действие лайта: ⛔ не дописывать. Саммари «о чём это было + где куски лежат + почему встало»
+ точка с запятой (что нужно, чтобы продолжить) → в библиотеку волта, и строка в отчёте.
Механизм для этой ветки держит сессия-сестра `auto-hub-260822-lost-retro-decentralized-scale`
(голосовая hub:5699) — если она уже отдала прибор, лайт зовёт ЕГО, а не изобретает свой.

### Границы лайта (сверх общих)
- ⛔ Не писать в канон-дома (CLAUDE.md, Библия, MEMORY.md) — правило из чужой брошенной
  сессии проходит через хаб; лайт только кладёт заметку и карточку.
- ⛔ Узел коллеги разбирает СВОИ сессии; чужое личное в общий волт не выносить (обобщённо).
- Ноутбук ночью спит → слот дневной (Антон: «или там днём, учитывая, что в ноутбуке у кого-то
  ночью спят»). Слот выбирает узел под своего человека, не хаб.


<!--kit-footer-->

---

**Like this skill?** It is one of 100 in [second-brain-starter-kit](https://github.com/tonydzi/second-brain-starter-kit): the second brain we built for ourselves and run every day at Palo Alto AI Research Lab. Install the whole set with `npx skills add tonydzi/second-brain-starter-kit`. Everything is open source and free, so take what you need.

Flagships worth a look on their own: [secondop-panel](https://github.com/tonydzi/secondop-panel) (a second opinion from a panel of external models), [claude-memory-tidy](https://github.com/tonydzi/claude-memory-tidy) (stop your agent's memory from rotting), [telegram-mcp-kit](https://github.com/tonydzi/telegram-mcp-kit) (your own Telegram over MCP in about 15 minutes).

Author: **Anton Dziatkovskii**, Palo Alto AI Research Lab. Telegram [@tonydzi](https://t.me/tonydzi) - WhatsApp [+1 341 222 9178](https://wa.me/13412229178) - X [@Tony_Stef_](https://x.com/Tony_Stef_)

**Engineers: want to test-drive this setup?** Message me. I hand out free starter seeds to engineers who test and report back, and custom skill requests are welcome.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…