本文へ移動
cccskills
無料GitHub で公開

teach-podcast

Учебные аудиоподкасты для Антона в NotebookLM: выбирает, чему учить (труба собеседований, дыры сверки), пишет пакет и промпт ведущим, генерирует аудио RU+EN через CLI notebooklm, кладёт в волт, ведёт учебный план и YouTube-очередь. Триггеры: /teach-podcast, /teach, сделай подкаст, обучи меня, подкаст в машину, что мне послушать. НЕ /notebooklm (общий слой артефактов).

インストール方法を見る

含まれるファイル(1)

  • SKILL.md33.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

/teach-podcast — Антон учится в машине, я готовлю уроки

🧒 Доклад Антону кончается блоком «Простыми словами» ([[eli5-always]]). Пакеты и промпты — без ELI5, это сырьё для диктора.

Родился 17.09.2026 из подкаста про Lambda (блокнот e7b1d6e9, a2@): Антон похвалил, сам догрузил контент и попросил скилл, «к которому ты будешь часто возвращаться». Его слова: «Люди нужно быстро загрузить информацию в мозг… когда я за рулём, мне идеально послушать такой подкаст… Твоя задача меня обучать, так же, как я обучаю тебя… чтобы у меня в мозге утром бывало очень много нового контента».

Что это: обратная петля обучения. Антон учит меня голосовыми и ДР; я учу Антона подкастами. У него 30–40 минут в день в машине. Один эпизод = одна тема, которую он должен знать к ближайшему собеседованию.

Граница с соседями: /notebooklm = общий слой артефактов над волтом (любая тема, любой формат). Этот скилл = учебная программа + генерация урока + доставка + учёт. Он зовёт ту же рельсу CLI. /interview-prep = шпаргалка к конкретному звонку; отсюда берём дыры сверки (❌/⚠️) как темы уроков.

⛔ Законы

  1. Ученик — не инженер. Бывший директор по продажам и фаундер. Каждый термин объясняется бытовой аналогией в самом промпте ведущим. Жаргон без объяснения = брак урока.

  2. По умолчанию русский, формат deep-dive, длина long. Короткий эпизод не заполняет дорогу. ⭐ Поправка 20.09.2026 (Антон голосом, урок про Kubernetes): «на английском на русском языке» — английский эпизод законен и делается ПО ЗАПРОСУ, вторым прогоном на ТОМ ЖЕ блокноте. Русский не отменён и остаётся дефолтом: язык без просьбы = ru. Механика: отдельный файл промпта <слаг>.en.prompt.txt (перевод, а не копия: ведущим по-английски), затем generate audio --language en с явным -n <id> блокнота, второй прогон запускать ТОЛЬКО после того, как первый скачан (две генерации разом на одном блокноте не проверялись). Файлы получают суффикс языка: -ru.m4a / -en.m4a. В учебный план и в YouTube-очередь идут ДВЕ строки, по одной на язык. ⚠️ Суточная квота аудио одна на оба эпизода.

    ⭐⭐ ПОПРАВКА 21.09.2026 (Антон голосом, урок про PyTorch, tg:-[id]) — ТРИ ДЕФОЛТА ПЕРЕВЁРНУТЫ. Дословно: «сделать в NotebookLM подкаст на английском и русском языке; максимальная длительность; всегда выбирать максимальную длину результата; при генерации аудио/видео добавлять уточняющие вопросы/комментарии, чтобы NotebookLM дал более точный ответ». (а) ДВА ЯЗЫКА — ДЕФОЛТ, А НЕ ПРОСЬБА. Эпизод считается сделанным только когда есть RU и EN. Поправка 20.09 «EN по запросу» этим ОТМЕНЕНА (superseded_by = эта строка). Один язык законен только с названной причиной (квота кончилась · Антон сказал «только русский»), и причина пишется в доклад; молчаливый один язык = урок сделан наполовину. (б) ДЛИНА ВСЕГДА МАКСИМАЛЬНАЯ. --length long не обсуждается ни для аудио, ни для видео, ни для любого будущего формата с выбором длины. Короче — только по прямому слову Антона. (в) УТОЧНЯЮЩИЕ ВОПРОСЫ В ПРОМПТЕ ОБЯЗАТЕЛЬНЫ. В каждом промпте ведущим — блок «задавайте друг другу вопросы умного новичка и тут же отвечайте» + блок «опирайтесь на источники, называйте, откуда факт, расхождение источников произносите вслух». Промпт без этих двух блоков = брак урока. Образец обоих блоков: _packets/teach-2026-09-21-pytorch-tensorflow-v2.prompt.txt (хвост файла).

  3. Публичность по умолчанию. Всё это потом уходит на YouTube Антона («всё является контентом»). Поэтому в пакет и в источники НЕ идут: имена рекрутёров и интервьюеров, письма, вилки денег из приватных писем, наши ответы на анкеты, CRM, секреты. Идут: публичные сайты, доки, вакансии, white papers, наш обобщённый разбор. Сомнение → в пакет не кладу, урок остаётся полезным и без этого.

  4. Тема = дыра, не тема = «интересно». Урок закрывает то, чего Антон НЕ знает и что спросят. Источник дыр: таблица сверки в шпаргалке /interview-prep (❌/⚠️), вопросы интервью, семьи ролей из <база вакансий>.

  5. Цифры в пакете только доказанные. Пакет — наш текст, он попадёт в уши Антона и потом в мир.

  6. Квота аудио суточная. Тестовые прогоны не жгут её; проверка рельсы = notebooklm auth check + list.

  7. ⭐ ГЕЙТ «спрашивать или нет» (anton 20.09.2026, голосом). Развилка ровно одна, и она по ТЕМЕ: трудоустройство (интервью · вакансия · компания · роль · оффер · переговоры о деньгах · техническая планка работодателя) → урок делается САМ, БЕЗ ВОПРОСА Антону, дословно «это делаем однозначно и без вопросов Антону»; любое другое обучение (инструмент, рынок, наука, быт, стройка) → одна строка вопроса, сказал «да» → делаю, дословно «можно спрашивать, если он согласился, делаем подкаст». Сомнение «это про найм или нет» → считать найм и делать молча. ⭐ Объём под целое собеседование = 3–5 эпизодов, не один: его заказ 20.09 «сделай мне там 3-5 подкастов, которые меня на все вещи натренируют». Один эпизод на незнакомую компанию = правило исполнено на четверть. Канон: reglament-uchim-antona-podkastom-na-notebooklm + [[teach-anton-by-podcast-default]], CLAUDE.md §9.13.

Рельса (проверено 17.09.2026 на [машина флота]; на хабе с 04.07)

  • [машина флота]: ~/.local/bin/notebooklm (uv tool, notebooklm-py[browser,cookies] 0.8.2, Python 3.12 внутри). Хаб: [путь владельца]. Аккаунт a2@ (NotebookLM PRO).
  • Auth протухает раз в несколько недель. notebooklm auth check красный → notebooklm login --browser-cookies firefox --account you.assistants@example.com (Firefox должен быть залогинен в a2@; на [машина флота] профиль default-release). CLI подхватил не тот профиль → python3 ~/.claude/scripts/_shared/firefox_cookies.py --profile <папка профиля> --domain google.com --export ~/.notebooklm/profiles/default/storage_state.json.
  • Фолбэк: Chrome-MCP на notebook.google.com под a2@: Add sources → Websites (URL построчно) → Insert → Studio → Audio «>» → язык русский, промпт → Generate. Так был сделан Lambda-эпизод 16.09.
  • ⚠️⚠️ ЛИМИТ = СМЕНИ БАК, А НЕ ЖДИ СУТОК (приказ Антона 21.09.2026, голосом, tg:-[id]). Дословно: «когда у нас кончаются лимиты youraccount.a2 в Gmail'е… Иди на другой аккаунт, на youraccount.a и генери там подкасты». С 02.09 у Google лимит «вычислительный» НА АККАУНТ, обновляется каждые 5 часов; CLI отвечает RateLimitError … Audio generation rate limited by Google. Прослушивание готового не лимитируется. Аккаунт = бак; баков три, и они независимы:
    профиль CLIпочтасостояние 21.09
    default (= youraccount-a2)you.assistants@example.com, AI Proрабочий, в лимите с ~08:34
    [рабочий аккаунт][рабочий аккаунт]@gmail.comрабочий, проверен боем 21.09 12:15
    youraccount-ayou@example.com, AI ProЖИВОЙ с 21.09 15:33 — проверен боем, вытащил урок 16 RU, когда оба соседа были в лимите
    Порядок работы: блокнот принадлежит a2@, поэтому чужой бак надо сперва впустить —
    notebooklm share add <почта> --permission editor -n <id> (шаринг лимитом не режется). Дальше
    notebooklm -p <профиль> generate audio … -n <id>: артефакт ложится в ТОТ ЖЕ блокнот, счёт идёт на бак того,
    кто нажал. Ссылка для телефона — с ?authuser=<почта>.
  • ⭐ a@ СТАЛ БАКОМ 21.09 15:33 — прежняя строка «сессии у CLI нет» ОТМЕНЕНА. Она описывала ТОЛЬКО путь через Chrome (App-Bound Encryption, rookie-rs: CryptUnprotectData returned a null pointer). Firefox-путь работает: notebooklm --profile a login --browser-cookies firefox --all-accounts → «Found 1 accounts → youraccount-a → you@example.com». Дальше notebooklm -p youraccount-a generate audio ... -n <id>.
    • ⚠️⚠️ ИМЯ ПРОФИЛЯ = youraccount-a, НЕ a. В ~/.notebooklm/profiles/ лежат пять папок, и две из них — мёртвые двойники: a/ и youraccount-a2/ держат протухшие куки и падают «Authentication expired or invalid. Redirected to accounts.google.com». Живых три: default (=a2@) · [рабочий аккаунт] · youraccount-a. Перепутал имя → получишь ложное «бак мёртв» и уйдёшь ждать сутки на ровном месте.
    • ⭐ Правило вместо вывода «все баки пусты»: сперва прогнать login --browser-cookies firefox --all-accounts ЗАНОВО. Список аккаунтов в браузере меняется без нашего участия (21.09 a@ появился между 15:02 и 15:33). «Баков нет» — claim, и он протухает за полчаса ([[ban-is-a-claim-recheck-before-workaround]]).
    • Апгрейд тарифа = деньги = Tier-2, жмёт Антон.
  • ⛔⭐ СРОЧНЫЙ ЭПИЗОД ИДЁТ МИМО ОЧЕРЕДИ (замер 21.09 15:22–15:30). teach_backlog.py run --loop работает строго FIFO, приоритета у него НЕТ. 21.09 он молотил баки заданиями Hugging Face и выжег bb@, пока готовился урок под звонок, до которого оставалось два часа; встань эпизод в очередь — он был бы девятым. Правило: эпизод под звонок/дедлайн сегодня гонится напрямую generate audio -p <живой бак>, очередь остаётся для фонового потока. Кто держит бак: tail -3 ~/.claude/state/teach_backlog.log.
  • ⛔ ФОНОВАЯ ЦЕПОЧКА НЕ УМИРАЕТ ОТ TaskStop (грабля 21.09 15:31). Остановил фоновую задачу харнесом — обёртка снялась, а сам bash hm_chain.sh остался жив и через 13 минут запустил ВТОРУЮ генерацию в тот же блокнот — ровно тот веер, от которого предостерегает грабля 20.09. Убивать надо процесс через Get-CimInstance Win32_Process + Stop-Process -Force по совпадению в CommandLine, и удалить сам .sh, иначе он переживёт сессию. Проверка, что дубля не случилось: artifact list -n <id> — аудио должно быть ровно столько, сколько эпизодов заказывал.
  • Хаб = резидентный IP, без VPN (анти-абьюз). [машина флота] в поездке — работает, проверено из США 17.09.

Шаг 1. Чему учить — учебный план (0 LLM сначала, потом суждение)

  1. Труба: sqlite3 ~/.claude/state/jobs-hub-snapshot.db "select company,title,status,answer from ats_jobs where status in ('interview','scheduled','next-stage','pending')" (хаб: [путь владельца]). Ближайший звонок = урок №1.
  2. Семьи ролей по поданным: …where status='applied' → FDE / Solutions / DevRel / GTM / PM. Что спрашивают в каждой семье — отдельный урок, раз и навсегда.
  3. Дыры: открыть шпаргалки $OBSIDIAN_VAULT/04-Projects/Pipe-A-Batches/interview-prep-*.md, взять строки ❌/⚠️ из таблиц сверки и «опасные вопросы» — это и есть темы.
  4. Учебный план живёт в $OBSIDIAN_VAULT/05-Resources/NotebookLM/_teach-curriculum.md: строка = тема · зачем (какой звонок/семья) · статус (план / сгенерирован / прослушан / на YouTube) · блокнот · файл. Уже сгенерированное не повторяем; смотреть план ПЕРЕД выбором темы.
  5. Порядок: ближайший звонок → самая большая семья ролей без урока → фундамент (LLM-стек для не-инженера, GPU-рынок, американское behavioral-интервью). Один эпизод в день, не больше, чем он успеет прослушать.

Шаг 2. Пакет — сырьё для диктора (половина качества)

Файл $OBSIDIAN_VAULT/05-Resources/NotebookLM/_packets/teach-<дата>-<слаг>.md, 1–3 страницы, по-русски:

  • Кому и зачем (2 строки): ученик, к какому звонку/роли.
  • Что должен уметь после урока — 5–7 пунктов проверяемых («объяснить, чем FDE отличается от SE»).
  • Тело: наш разбор своими словами, факты с источником, аналогии, типичные вопросы интервью с правильной логикой ответа (без личных историй Антона — их он расскажет сам).
  • Словарь: 10–15 терминов → бытовая аналогия.
  • ⛔ Без имён людей из переписки, без денег из писем, без Майкрофта. Проверка глазами перед source add.

Шаг 3. Источники — ПОЛ 10-15, ПОТОЛКА НЕТ (приказ Антона 21.09.2026, голосом)

Дословно: «минимум 10-15 источников про PyTorch; по возможности добавлять как можно больше источников». Правило шире PyTorch: у любого урока пол = 10-15 источников, считая наш пакет за один. Меньше — только с названной причиной в докладе (тема узкая, живых ссылок физически нет). Один источник на урок, как было у PyTorch-блокнота a743aafb до 21.09, = урок на песке: NotebookLM пересказывает нас самих.

  • Пакет (--type file) + 10-25 публичных URL: официальная документация, официальные туториалы по каждому механизму урока, научные статьи (arXiv), инженерные блоги, репозитории, сайты соседних инструментов. Каждый URL сперва проверить живым кодом 200: while read u; do echo "$(curl -s -o /dev/null -w '%{http_code}' -L --max-time 20 "$u") $u"; done < urls.txt Мёртвый не добавляем. Готовый пул по PyTorch/TensorFlow (25 живых ссылок, проверены 21.09): _packets/teach-2026-09-21-pytorch-tensorflow-v2.sources.txt.
  • Доп. поиск самим NotebookLM: notebooklm source add-research "<запрос по-английски>" --import-all --cited-only (fast). Даёт свежие статьи, которых нет у нас. Проверить source list: мусорные (форумы, SEO) удалить.
  • Дождаться Status=ready у всех: notebooklm source list (⚠️ source wait без SOURCE_ID падает, 17.09; проверять списком, URL-источники обычно ready за минуту).

Шаг 4. Промпт ведущим — шаблон (эталон Lambda 16.09)

Объясни простыми словами для человека без инженерного бэкграунда (бывший директор по продажам и
фаундер), который идёт на собеседование в <компания> на роль <роль>:
1) <вопрос-дыра №1>; 2) <№2>; 3) <№3>; 4) <№4>; 5) <№5>.
Много бытовых аналогий, каждый термин объясняй сразу. Разбирай типичные вопросы интервью и логику
хорошего ответа. Не пересказывай вакансию, учи думать как <роль>.

Пять нумерованных пунктов = то, что он должен знать в первую очередь. Больше семи — второй эпизод.

Шаг 5. Генерация (CLI)

export PATH="$HOME/.local/bin:$PATH"
notebooklm auth check || notebooklm login --browser-cookies firefox --account you.assistants@example.com
notebooklm create "Учёба: <тема>" --use
notebooklm source add "<packet.md>" --type file --title "Разбор: <тема>"
notebooklm source add "<url>"            # по одному, только живые
notebooklm source add-research "<query>" --import-all --cited-only
sleep 60; notebooklm source list       # все ready? иначе подождать ещё
notebooklm generate audio --prompt-file <prompt.txt> --language ru --format deep-dive --length long --wait --timeout 1800 --retry 2   # --length long ВСЕГДА (Закон 2в)
notebooklm download audio "$OBSIDIAN_VAULT/05-Resources/NotebookLM/artifacts/audio/teach-<дата>-<слаг>-ru.m4a"
# EN-эпизод (ОБЯЗАТЕЛЕН с 21.09, не «по запросу»; только ПОСЛЕ скачивания RU; -n обязателен, контекст мог смениться):
notebooklm generate audio --prompt-file <prompt>.en.prompt.txt --language en --format deep-dive --length long --wait --timeout 1800 --retry 2 -n <id блокнота>
notebooklm download audio "$OBSIDIAN_VAULT/05-Resources/NotebookLM/artifacts/audio/teach-<дата>-<слаг>-en.m4a"
notebooklm list --json | python3 -c "import sys,json;print(json.load(sys.stdin)['notebooks'][0]['id'])"   # id блокнота (ключ notebooks, 0.8.2)

Генерация 5–15 минут → запускать в фоне (run_in_background), не держать сессию. Готовая обёртка на один эпизод (ждёт источники → генерит → скачивает, с уликами в логе): bash ~/.claude/scripts/_shared/teach_gen_one.sh <id блокнота> <prompt.txt> <out.m4a> [сек ожидания].

⭐ БОЛЬШЕ ОДНОГО ЭПИЗОДА → ОЧЕРЕДЬ С РОТАЦИЕЙ БАКОВ (teach_backlog.py, рождён 21.09.2026 под приказ «кончились лимиты — иди на другой аккаунт»). Она делает ровно то, что руками делать нельзя: упёрлась в rate limited — ставит ЭТОТ бак остывать и отдаёт задание следующему, эпизоды идут строго по одному:

python ~/.claude/scripts/_shared/teach_backlog.py add --slug <слаг>-<ru|en> --notebook <id> \
    --prompt <prompt.txt> --out "$OBSIDIAN_VAULT/05-Resources/NotebookLM/artifacts/audio/teach-<дата>-<слаг>-<ru|en>.m4a" --lang ru
python ~/.claude/scripts/_shared/teach_backlog.py run --cooldown 45 --loop   # в фоне; порядок баков уже вшит
python ~/.claude/scripts/_shared/teach_backlog.py status    # что готово, что ждёт, какой бак остывает

Состояние — ~/.claude/state/teach_backlog.json, журнал — ~/.claude/state/teach_backlog.log (не в синкаемой папке, §4.5-бис). Регресс: python ~/.claude/scripts/_shared/_test_teach_backlog.py (5 тестов; красным показан на сломанной ветке RATE_PATTERNS).

⭐⭐ ПРИОРИТЕТ БАКОВ НАЗВАН АНТОНОМ ГОЛОСОМ 23.09.2026 И ВШИТ В ДЕФОЛТ. Дословно: «если на одном аккаунте закончились время, ты идёшь генерировать другой аккаунт… сначала youraccount.a2, потом youraccount.a, потом [рабочий аккаунт]». Порядок = DEFAULT_ACCOUNTS в teach_backlog.py, флаг --accounts теперь можно НЕ писать:

приоритетпрофиль CLIпочтасостояние 23.09
1defaultyou.assistants@example.com (AI Pro)✅ живой
2youraccount-ayou@example.com✅ живой
3[рабочий аккаунт][рабочий аккаунт]@gmail.com✅ живой
⛔a, youraccount-a2—мёртвые двойники, куки протухли

Проверено прогоном notebooklm -p <профиль> list 23.09; два двойника отвечают «Authentication expired or invalid». Класть их в --accounts = получить ложное «бак мёртв» и уйти ждать сутки на ровном месте.

⛔⛔ АУДИО ГЕНЕРИТСЯ ТОЛЬКО ЧЕРЕЗ ОЧЕРЕДЬ. Прямой notebooklm generate audio в обход teach_backlog запрещён для любой партии больше одного эпизода: он сидит на ОДНОМ баке, при rate limited просто падает, и ротация из приказа Антона не срабатывает вообще. ⚠️ Замер 23.09: восемь эпизодов по конспектам [человек] Liu ушли прямым вызовом веером — и мимо ротации, и мимо запрета параллелить ниже. Прошло только потому, что квота a2@ в то утро не кончилась; это везение, а не работающая рельса.

⛔ ГЕНЕРАЦИИ НЕ ПАРАЛЛЕЛИТЬ — ДАЖЕ В РАЗНЫХ БЛОКНОТАХ (замер 20.09.2026, хаб, диагноз уточнён вторым заходом). Запустил пять эпизодов веером на аккаунте a2@ — три дошли, два упали с Artifact <id> disappeared from list (consecutive=5 not-found polls) — treating as removed и сообщением CLI «quota/rate limit or transient».

⚠️ Провал был ложным, и это главное в этой грабле. Перезапустив оба эпизода поодиночке и потом сверив artifact list, нашёл в обоих блокнотах ПО ДВА completed-аудио: первый (объявленный «снятым») сервер спокойно доделал, просто поллер CLI потерял его из списка, пока рядом шли другие генерации. То есть при веере ты платишь дважды — генерацией и перегенерацией — и получаешь в блокноте дубли, которые потом путают Антона. Сообщение про квоту читается как «квота кончилась», хотя квота ни при чём.

Правило: один эпизод за раз, следующий стартует после скачивания предыдущего (цепочка в фоне: until grep -qE "DONE bytes|FAIL" <лог первого>; do sleep 20; done; teach_gen_one.sh <второй>). И перед тем как объявить эпизод провалившимся — сверь artifact list -n <id>: артефакт может быть готов, а провалилось только слежение за ним. Пять эпизодов последовательно = примерно час, это нормальная цена. Ссылка для телефона: https://notebook.google.com/notebook/<id>?authuser=you.assistants@example.com — Антон слушает в приложении NotebookLM под a2@, файл нужен для волта и YouTube. Расширение честное: .m4a (внутри AAC).

Шаг 6. Доставка и учёт (тем же заходом)

  1. Антону в чат сессии: тема · зачем · ссылка на блокнот · длительность · «что проверить после прослушивания» (3 вопроса — он сам поймёт, усвоил ли). Нет его в сессии → строка в 03 через bus_send.py.

  2. Строка в _teach-curriculum.md (статус «сгенерирован», блокнот, файл, дата) и в artifacts/_NotebookLM-Audio.md (как все аудио). Индекс _NotebookLM-Index.md — строка блокнота.

  3. YouTube-очередь $OBSIDIAN_VAULT/05-Resources/NotebookLM/_youtube-queue.md: строка = файл · заголовок RU/EN · описание (3–5 строк, «Как я готовлюсь к собеседованиям в AI-компании: урок про …») · теги · статус ждёт. Публичность обеспечена Законом 3.

    ⭐ ВЫГРУЗКУ ДЕЛАЕТ /youtube-publish (скилл родился 21.09.2026 из голосовой Антона «выкладывать на личный YouTube-канал... как только появляется новый материал»). Контракт односторонний: мы КЛАДЁМ строку, он ВЫЧЕРПЫВАЕТ. Канал [аккаунт], движок ~/.claude/scripts/youtube_publish.py, леджер ~/.claude/state/youtube_ledger.jsonl. Заголовок с номером урока («(урок 3)») ставить обязательно: по нему серия выходит в правильном порядке, а не по дате файла. Строку забыли — эпизод всё равно найдётся свободным сканом папки артефактов, но уйдёт с машинным заголовком из имени файла вместо человеческого. Поэтому строку пишем.

  4. Шпаргалка звонка (interview-prep-*.md): строка «Подкаст: <ссылка>» рядом с разбором.

  5. Вердикт о скилле одной строкой: 🔧 / 📝 / ✅ с причиной (§9.3-бис).

Шаг 7. Проверка (§4.3-бис, второй заход другим методом)

  • Файл на диске >1 МБ, длительность из контейнера (python3 -c по mvhd или afinfo <файл>), язык русский (первые 30 с транскрипта или artifact list), источники = только наши (source list без чужих).
  • Не прослушал сам = так и пишу: «сгенерирован, не прослушан».

Потребители

  • Антон: /teach-podcast или «сделай подкаст про …» — перед любым собеседованием и по плану.
  • /interview-prep Шаг 6: после шпаргалки — один урок по дырам сверки (строка-указатель туда).
  • Кандидат в рутину teach-podcast-daily (ночное окно, следующая тема плана без статуса «сгенерирован») — ставится после того, как Антон прослушает первые 3 эпизода и скажет, что формат работает (§5.7 shadow-first).
<!--kit-footer-->

Like this skill? It is one of 100 in 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 (a second opinion from a panel of external models), claude-memory-tidy (stop your agent's memory from rotting), telegram-mcp-kit (your own Telegram over MCP in about 15 minutes).

Author: Anton Dziatkovskii, Palo Alto AI Research Lab. Telegram @tonydzi - WhatsApp +1 341 222 9178 - X @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.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

03

無料

Run an autonomous consensus round between agent peers on several machines: they negotiate a decision over a shared channel and execute it without a human relaying messages. Use when multiple machines must agree on a change. Triggers: "/03", "work it out among yourselves", "find consensus". Wakes the human only for irreversible actions or a deadlock.

日本語の概要は準備中です。原文の説明を表示しています。

tonydzi/second-brain-starter-kit82026年10月12日 更新

1

無料

Recover a session after a hard crash (app died, machine rebooted, context lost mid-work): replay the turn-state ledger for the last requests, files and decisions, run a green/red health ping over the system map, file sync and MCP connectors, then rebuild the previous session history for pickup. Triggers: "/1", "resume after crash", "wake".

日本語の概要は準備中です。原文の説明を表示しています。

tonydzi/second-brain-starter-kit82026年10月12日 更新

agenda

無料

Show the operator's day: today's calendar plus what needs them personally (leads due, people awaiting a reply, deadlines), pulled from Calendar and Telegram and ranked. Read-only: sends and commits nothing. Triggers: "/agenda", "what's on today", "my agenda".

日本語の概要は準備中です。原文の説明を表示しています。

tonydzi/second-brain-starter-kit82026年10月12日 更新

ai-slop

無料

Rewrite machine-written text so it reads like a busy human wrote it: cut 50-70%, break the even rhythm, drop AI-tell words and filler, keep facts and protected terms. Use before publishing any post, reply or email drafted by a model. Triggers: /ai-slop, /slop, humanize, anti-slop, make it shorter and alive.

日本語の概要は準備中です。原文の説明を表示しています。

tonydzi/second-brain-starter-kit82026年10月12日 更新

Decision protocol for strategic work: recall the knowledge vault, run a gap analysis, emit a deep-research prompt for external tools, then synthesize the returned reports into a decision memo. Use before any new product, feature, market, pricing, GTM or architecture call, where local recall alone is not enough. Triggers: "/alfa-search-recall-deepresearch", "alpha protocol", "R+DR".

日本語の概要は準備中です。原文の説明を表示しています。

tonydzi/second-brain-starter-kit82026年10月12日 更新

- КРЕДИТ АВТОРУ ИДЕИ: совет из комментария (TG @ClawRus / @ClawInga, комменты под постами Антона в FB, треды и issue на… Триггеры: “/alpha-credit“, “/credit“, “кто нам это посоветовал“, “запиши совет“, “поблагодари советчиков“, “кому мы должны спасибо“, “кредит автору“, “чей это был совет“, “credit the author“

日本語の概要は準備中です。原文の説明を表示しています。

tonydzi/second-brain-starter-kit82026年10月12日 更新

tonydzi のスキルをすべて見る

このスキルの問題を報告する