sostav-reply · v1.0.0 · 2026-10-20 · sha256 eb40cb4a38548577
sostav-reply v1.0.0A
Immutable. This exact content never changes and is served at /api/v1/blob/eb40cb4a38548577.
--- name: sostav-reply description: "Ответы Антона в топики клуба СОСТАВ полным циклом: показать черновик ВМЕСТЕ с исходным диалогом (на что отвечаем) → Антон выбирает основной/запасной/свой текст → отправить в клуб ДОСЛОВНО через дверь sostav_reply_send.py на хабе (@[рабочий аккаунт],… Триггеры: '/sostav-reply', 'ответь в составе', 'отправь в состав', 'шли в состав', 'запость в топик состава', разбор утренней партии SostavDailyVoice из Saved" version: 1.0.0 --- # /sostav-reply — показать с диалогом, дождаться выбора, отправить дословно ## Контракт (anton 03.09.2026, голосом) 1. Черновик НИКОГДА не показывается голым: рядом всегда исходный диалог (2-5 сообщений треда с авторами и датами), чтобы Антон видел, НА ЧТО отвечаем. 2. Всегда два варианта: основной + запасной (Антон часто берёт запасной - там юмор). 3. Антон выбирает: «основной» / «запасной» / свой текст / «скип». Его текст = закон, дословно, без подшлифовки (§9.7). 4. Отправка только через дверь на хабе (сессии клуба живут там): `python ~/.claude/scripts/hubrun.py -c "python [путь владельца] --topic '<Топик>' --reply-to <msg_id> --text '<текст>'"` (текст с кавычками/апострофами -> payload-файлом через /hubrun, не инлайн). Дверь пишет журнал `_imports\sostav\_reply_log.jsonl` и честно падает (2 = топик неизвестен, 5 = телега не подтвердила). ## Форма реплики (правка Антона голосом 03.09.2026) - **Максимум ТРИ слова** (было пять). Предлоги и частицы тоже слова. - **Знаков препинания нет вообще.** Исключения ровно два: `)` в конце, если реплика правда шутка; многоточие из **двух** `..` или **четырёх** `....` точек. Три точки `...` запрещены. - Строчными, без ё, без тире, без эмодзи. Утверждения, не вопросы. - Скобка не должна стоять в большинстве реплик — иначе она сама станет роботным паттерном. - **Контекст = последние ~12 сообщений треда**, а не одно сообщение: «чтобы быть в теме». - Угол Антона: криптан, трейдер, венчур, всё сводит к LLM и агентам. Локация в клубе — **Пало-Альто**, про Лиссабон в клубе не пишем. - Проверка формы — прибором, не глазами: `python [путь владельца] <файл черновиков>` (0 LLM; печатает, что именно посчитал; exit 1 = есть нарушения). Тест `_test_voice_lint.py` доказанно краснеет на сломанном линтере. ## Шаги 0. Источник черновиков: утренняя партия SostavDailyVoice в Saved @[рабочий аккаунт] (формат уже несёт строку «отвечаю на»), либо свежая таблица из сессии. Свежесть корпуса = дверью: `corpus_fresh.py --max-age-h 30` (сборщик бежит 03:30). 1. Для каждого черновика найти msg_id сообщения-цели в sostav.db (`SELECT msg_id, from_name, text FROM messages WHERE topic=? ORDER BY unixtime DESC`) и показать диалог + оба варианта. 2. Дождаться выбора Антона по каждой строке. Молчание = не шлём. 3. Отправить одобренное дверью (шаг 4 контракта), reply_to = msg_id цели, если ответ адресный; общая реплика в тред - без reply_to. **Пачка (больше 2-3 топиков) — только через** `sostav_reply_batch.py <plan.json> [--live]`: паузы 30-50 сек между группами, дедуп по дню, сначала сухой прогон без `--live` и сверка текста в поле (§3.6). Залп 13 групп за минуту = бот. ⛔ Топик **Участники** закрыт на запись (замер 04.09) — план туда не строим. 4. Отчитаться: топик, msg_id отправленного, счётчик за день. ## Стоп-краны - ⛔ Ничего не шлём без явного выбора Антона по КОНКРЕТНОЙ строке (плюс на таблицу = шлём основные варианты; правка строки = шлём правку). - ⛔ Серые треды (обнал/суммы/схемы): робото-черновиков туда нет (SKIP из _voice_rules.md); свой текст Антона туда - его право, шлём молча. - ⛔ Темп: не больше 1-2 сообщений на топик в день; DM-знакомства (говоруны) - 3-4 в день, не пачкой. - ⛔ Анти-леак: содержимое клуба не покидает приватный слой; наружу ничего. - Деньги/обязательства/секреты в тексте от робота = вырезано ещё правилами; у Антона - его решение. ## Связанное - Рутина-производитель: SostavDailyVoice (хаб 05:45) - `sostav_voice_daily.py` + `_voice_rules.md` (душа, правь смело). - Соседи: `/sostav-comments` (черновики по альфа-шортлисту), `/hubrun` (транспорт), память sostav-community-import. - Голос: [[concept-anton-voice-profile]], золотой эталон «сардины», не выскочка, **≤3 слова, загадочно и с юмором, тоном очень занятого человека** (правка Антона голосом 03.09; было ≤5). <!--kit-footer--> --- **Like this skill?** It is part of [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.