comments · diff

git:20260814.5023d8c to git:20260814.06fa906

13 added, 0 removed. Audit A to A.

---
name: comments
description: >
Handle comments under OUR published content in one pass — show unanswered ones (default = stay
silent; reply only where a reply is genuinely expected, max 3 per pass), list top commenters
(candidates for a warm DM), and on approval prepare a batch of reply drafts (draft-first, tone
per channel). Trigger on "/comments", "unanswered comments", "who is commenting".
license: MIT
---
# /comments — комменты под нашим контентом (показать · ответить · вырастить в личку)
> 🧒 Отчёт Антону заканчивай простым «Простыми словами». (память `eli5-always`)
Один заход: показать комменты и **точечно** ответить там, где ответ ждут. Собирает и показывает; **отправляет ответы только по «+» Антона**. Тонкая надстройка (AK-47) над движками в `$IMPORTS_ROOT/content-factory\registry\`.
> 🔴 **УРОК БОЯ 15.07.2026** (память `bulk-replies-cringe-one-offer-converts`). Цель «ни одного неотвеченного» **ОТМЕНЕНА**: пачка из 16 ответов на старые комменты была удалена Антоном целиком («мой код разошелся… самому неловко»), автопостинг комментов выключен, аккаунт @work_acct_b потерял доступ к чужой группе. В ту же ночь ОДИН публичный пост-зов дал партнёра за 30 часов.
> → **Дефолт = молчать.** Отвечаем, только если: адресовано нам ИЛИ тред живой (моложе ~недели) ИЛИ человек ждёт ответа лично. Старше — skip, и это НЕ долг.
> → **Потолок ≤3 ответа за заход**, никогда серией подряд в чужой группе: темп и объём читаются как бот независимо от качества текста.
> → Ценность меряем людьми, которые сдвинулись, а не счётчиком unanswered.
**Границы:** это про комменты к НАШИМ опубликованным постам (pubmetrics.db). Клуб «СОСТАВ» = `/sostav-comments` (другой корпус). FB-комменты подтянутся после Graph-токена — сейчас источник = TG.
## 1. Свежий сбор (0 токенов)
Сначала обнови базу, чтобы не отвечать на устаревшее:
- `python tg_comments_collect.py` (идемпотентно; exit 3 = рельса @work_acct_a занята → скажи «повтори позже», не падай).
## 2. Показать состояние
- `python pub_metrics.py status` — сколько неотвеченных всего.
- `python pub_comments_report.py` — дайджест неотвеченных (спам-боты из `spam_authors.txt` уже помечены 🤖 и отсеяны).
- `python pub_metrics.py top-commenters --n 15` — кто комментит чаще всех.
Покажи Антону компактно: N неотвеченных по площадкам · топ-5 комментаторов · ссылка на дашборд `_Dashboards\Pub-Registry-Metrics.html`.
## 3. Если Антон просит ответить («ответь на комменты» / «+»)
Draft-first, отправка руками/по «+»:
1. **RECALL по автору** перед каждым ответом человеку: `/find <имя>` (namesearch) + grep волта + tg-профиль (`get_full_user` по author_id из comments). Знать, кому пишешь.
2. **Тон по каналу** ([[short-text-when-unreviewed]]): TG = осмысленный ответ по теме, с контекстом (НЕ FB-шутка на 5 слов). Голос Антона = Opus+.
3. **Что пропустить:** спам-боты 🤖 (не отвечаем); старые треды, где ответ уже неуместен (решить явно).
4. Покажи пачку таблицей «коммент → черновик → от какого аккаунта» и жди «+». После отправки — `pub_metrics.py mark-replied --cid <id>` (или следующий `tg_comments_collect.py` сам проставит `replied`).
## 4. Топ-комментаторы → публичный зов в группе, личка вдобавок
Активный без CRM-карточки = кандидат. Заведи карточку (Platinum-CRM), сделай RECALL. ⭐ Оффер (тестеры/звонок/ранний доступ) по правилу anton 14.07 идёт **публично в группе**, не личкой — личка только как персональный пинг после публичного зова (канон: Библия `reglament-offer-aktivnym-publichno-v-gruppe-ne-v-lichke`, память `public-offer-in-group`). Личку без «+» не слать ([[telegram-account-identities]]). Клан (напр. Artem Arsyonov) — не лид.
## Границы / безопасность
- READ по умолчанию. Массовый ответ задним числом = **hard-stop**: только пачкой, с «+».
- Спам-фильтр: новую волну ботов добавляй в `spam_authors.txt` (`author_id # причина`).
- Ничего приватного из комментов не утекает в другие каналы.
## Связано
Утренний автопинг неотвеченных в чат 03 (05:35, задача «Pub-Comments-Morning-03») и ночной сбор (03:40, `collect_pub_metrics.cmd`) — это ручной, on-demand двойник тех рутин. Канон: `00-System\Pub-Metrics-Registry.md`, память `content-pub-registry`.
+ ---
+
+ <!-- CONTACT-FOOTER -->
+ ## About & contact
+
+ Built and battle-tested at **Palo Alto AI Research Lab** — a fleet of Claude Code machines
+ running 24/7 as a second brain and synthetic cofounder. Every skill here survived real
+ production use before publication.
+
+ - 📦 All 101 skills: https://github.com/tonydzi/second-brain-starter-kit
+ - 👤 Author: **Anton Dziatkovskii** — 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. Custom skill requests welcome.
+