Skip to content
cccskills
FreePublished on GitHub

taste-check

Review content quality before anything is shown or sent (vault notes, outgoing drafts, dedup merges, service files) and return an explicit pass, fail or manual-review verdict. The counterpart of a post-build test gate: that one asks whether the build works, this one whether the writing is fit to show. Triggers: "/taste-check <path|text>", "/taste", "check this note".

The English summary is being prepared. Showing the original description.

Works withTelegram
See how to install

Files included (1)

  • SKILL.md39.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

/taste-check — вкусовой гейт для контента

Гейт по Арсёнову: рубильник, не галочка. Три исхода, у каждого владелец и последствие:

ИсходКритерийПоследствие
❌ FAILнарушен хоть один ⛔-принципартефакт НЕ показывается как готовый; вернуть автору со списком нарушений
⚠️ MANUAL⛔ чисты, но ≥2 ⚠️-нарушения ИЛИ проверку нельзя выполнить (неизвестен класс/язык лида/авторство)показать Антону С флагом «⚠️ manual review: причина»
✅ PASSостальноепоказывать/отправлять можно

Владелец гейта = этот агент (первый фильтр). Финальный судья = Антон. Ревьюер read-only: в волт не пишет, контент не правит, только вердикт.

Порядок

  1. Класс входа (определи первым, от него зависят применимые принципы):
    • A заметка волта · B черновик исходящего от лица Антона · C дедуп-мердж · D служебный файл (memory/CLAUDE.md/skill/дашборд-текст) · E AI-документ-для-решения (DR-отчёт, Decision Memo, стратегия, PRD, спека, ресёрч — всё, по чему будут «спорить, покупать или строить»).
  2. Юрисдикция: судим только то, что произвёл AI/пайплайн. Verbatim-текст Антона, внешние оригиналы (_originals), его собственные правки — вне гейта (не «вычищать живость» из его голоса). _drafts, _originals, 08-Templates, inbox = intentional orphans (P6 не применять).
  3. Детерминированные проверки (Grep/PowerShell, 0 токенов) — P4, P5, P6, P7, P9, P17, P18, P33 (paragraph_lint.py).
    • ⚠️ vanilla_scan.py и slop_detect.py гоняются на ВЫРЕЗАННОМ куске класса B, а не на файле целиком. Класс входа задаёт юрисдикцию (п.2), но приборы её не знают: на заметке-обёртке с анализом, таблицами и ##-заголовками они выдают ложный FAIL по P30 («заголовки ## в теле поста») и по «лексикону Антона», потому что судят аналитику как его авторский пост. Замер 08.09.2026: карта сообществ (класс A с черновиками класса B внутри) — файл целиком ❌ FAIL по 4 маркерам, вырезанный черновик ✅ PASS. Вырезай черновик во временный файл и меряй его.
    • ⚠️ Прибор может сработать на ДОСЛОВНЫХ словах Антона. Маркер yo (буква «ё») в slop_detect бьёт по его цитате так же, как по нашему тексту. Убирать = редактировать его формулировку = нарушить P31/P10, которые старше прибора. Такое нарушение не «чиним», а называем в вердикте с причиной.
  4. LLM-проверки по остальным принципам — только по куску, не по корпусу. 4-бис. ВТОРОЙ ЗАХОД перед вердиктом (⭐⭐ CLAUDE.md §4.3-бис, приказ Антона 13.09.2026). Вердикт вкусового гейта, это такой же CLAIM, как «готово» у сборщика, и доказывается вторым заходом, который ОБЯЗАН отличаться от первого методом. Три дешёвые проверки:
    • От ТРЕБОВАНИЯ, а не от прибора. Выпиши класс входа (п.1) и список принципов, применимых к этому классу. Против каждого стоит либо улика (строка, счёт, цитата), либо имя в строке «Не проверялось» с причиной; принцип без того и другого считается НЕ проверенным, и вердикт тогда максимум ⚠️.
    • Другим методом, чем в первый раз. Прибор дал FAIL, прочитай глазами сами строки, на которые он указал (ложный FAIL по P30 на заметке-обёртке, замер 08.09, уже стоил нам вердикта). Прибор дал чисто, посчитай маркер сам грепом по тому же куску: зелёный прибор, наведённый на ФАЙЛ вместо вырезанного куска, врёт в обе стороны.
    • Ровно тот кусок, что судил. Убедись, что мерялся именно вырезанный черновик класса B, а не файл целиком, и что путь в вердикте совпадает с путём, который реально читал прибор. ⛔ До второго захода слова «✅ PASS», «чисто», «можно отправлять» запрещены; максимум «первый проход чистый, иду на перепроверку». ⭐ Класс B (уходит наружу от лица Антона) и класс E (по нему принимают решение) критичны по §4.3-бис: им положен ТРЕТИЙ заход чужими глазами (панель /secondop, другой узел или другой инструмент).
  5. Вердикт-блок (формат ниже). Ничего не чинить.

Принципы (сигнал → принцип → проверка)

Веса: ⛔ = хардстоп (fail) · ⚠️ = предупреждение (2+ → manual). Классы в скобках.

Провенанс

  • P1 ⛔ (A,C) Не вешать на Антона чужое. Сигнал: «ВСЕГДА если ты нашёл что источник знания НЕ Я … не вешай на меня то что Я НЕ ПИСАЛ» (2026-06-08). Проверка: origin: anton/#anton-original при признаках внешнего или AI автора (чужие self-ID, кросс-хэндлы, AI-дистилляция) → FAIL.
  • P2 ⛔ (A,C) AI-соавторство = mixed + конкретный ИИ. Сигнал: «если автор — ИИ, пиши ВСЕГДА конкретно КАКОЙ именно ИИ» (2026-06-09). Проверка: authored_by: ai|hybrid требует ai_author: с конкретной моделью и origin: mixed|external; generic «ai» или origin: anton → FAIL. ⭐ Карв-аут (Антон 2026-07-02): на reglament-*/protocol-* пара origin: anton + authored_by: hybrid легальна — origin там означает «чьё правило» (авторитет Библии), authored_by «кто оформил»; ai_author обязателен, #anton-original не вешаем.
  • P3 ⚠️ (A,C) Две оси провенанса на месте. Сигнал: two-axis mandate (vault-conventions, operating-agreement). Проверка: в frontmatter есть origin: И authored_by:; нет → warn (легаси-заметки не валим).
  • P5 ⛔ (все) Метка машины на месте. Сигнал: приказ Антона голосом 08.10.2026 — «если агент в Mycroft, Codex, Cursor, Grok или любом другом инструменте что-то пишет, он всегда должен добавлять: с какой машины это написано». Проверка: python ~/.claude/scripts/machine_stamp.py lint <путь> → exit 1 = FAIL. Нет метки → поставить готовой строкой machine_stamp.py apply <файл> (форму не сочинять: ключ Machine: уже живёт в git-трейлерах, в change_ledger и во frontmatter заметок). ⛔ Карв-аут: артефакт, уезжающий НАРУЖУ целиком (письмо лиду, пост, коммент в чужом репозитории), метку в теле НЕ несёт — гонять его как lint --outbound <файл>, вердикт тогда «не могу судить», а не FAIL. ⚠️ Метка чужого узла при правке здесь (копия шаблона) = FAIL, лечится apply --force. Канон: Библия reglament-pomechat-mashinu-na-kazhdoy-sessii §Поправка 08.10 + память agent-writes-carry-their-machine.
  • P4 ⛔ (все) Секретов нет. Сигнал: пароли живут в secrets\, не в волте/always-loaded (credential-store; прецедент «запомни tonydzi … 2fa 83…» → ушло в store). Проверка: grep парол|password|2fa|api[_-]?key|token|secret[_-]?key + похожие на кред строки → hit по реальному секрету = FAIL.

Граф и структура

  • P5 ⛔ (A,C — новые файлы) Имя файла = латинский kebab-slug. Сигнал: «никакой кириллицы в именах НИГДЕ» (2026-06-08). Проверка: basename ASCII-only; кириллица → FAIL (старые ≈3.9k = frozen legacy, не валим — только новые).
  • P6 ⛔ (A,C — новые заметки живого волта) Не сирота: ≥1 входящая ссылка. Сигнал: «ВСЕГДА … дотянули перелинковку» (2026-06-13). Проверка: Grep "\[\[<basename>\]\]|\[\[<basename>\|" path=$OBSIDIAN_VAULT ≥1 вне самой заметки; 0 → FAIL («незакрытый хвост, не готово»). Исключения — п.2 юрисдикции.
  • P7 ⚠️ (A,C) Wikilinks резолвятся. Сигнал: «0 broken links перед staging→vault» (vault-conventions). Проверка: каждый [[target]] существует как файл/alias; битые → warn.
  • P8 ⚠️ (A) Префикс соответствует папке. Сигнал: prefix = класс заметки (vault-conventions). Проверка: concept-*→06-Concepts, person-*→07-People, insight-*→03-Insights, reglament-*→Protocols/Operations; мимо → warn.

Текст и голос

  • P9 ⏸ ОТКЛЮЧЁН (Антон 2026-07-02: «наплевать на тире, ПОХЕР, забудь пока»). Гейт тире НЕ судит и на вердикт они не влияют; кампаний по чистке старого не ведём. Правило стиля для НОВОГО моего текста остаётся ([[no-long-dashes]]) — просто пишу без них, бесплатно. Вернуть вес может только Антон.
  • P10 ⛔ (B,C) Текст Антона дословен, не «улучшен». Сигнал: «транслитерируем ИМЕНА, никогда не переводим текст Антона» + supersede-политика дедупа. Проверка: сравнить мердж с источниками; перевод/пересказ/сглаживание его формулировок → FAIL («кривенько - значит живенько»). ⭐ 05.08.2026 класс расширен с C на B: до этого дня дословность требовалась от дедуп-мерджей, но НЕ от постов, написанных его голосом — то есть ровно там, где смягчение и происходило. См. P31.
  • P11 ⚠️ (A,D) Без воды. Сигнал: «сухо, по делу, БЕЗ воды» (повторяющийся, 15 сессий, digest 2026-06-23) + write-service-files-tight. Проверка (LLM): вводные абзацы, повторы, риторика → warn.
  • P12 ⚠️ (A,D — для Антона) Русский язык, англ. тех-термины ок. Сигнал: «по-русски» 15/15 сессий. Проверка: внутренний документ для Антона целиком на английском → warn.
  • P13 ⚠️ (D) Без капс-агрессии. Сигнал: замер 2026-07-01 (капс/«ОБЯЗАН/НИКОГДА» = overtriggering на 4.6+; де-капс CLAUDE.md одобрен Антоном). Проверка: капс-императивы в служебном тексте → warn.

Данные и честность

  • P14 ⛔ (все) Никаких выдуманных данных. Сигнал: «лучше не надо понарошку ничего накидывать — возьми те данные и клиентов что есть» (сессия 36a792df). Проверка (LLM): цифры/факты/примеры без источника, поданные как реальные → FAIL.
  • P15 ⚠️ (A,D — предложения) ДО→ПОСЛЕ на реальных данных. Сигнал: standing show-before-after. Проверка: черновик-предложение без до→после на данных Антона → warn.
  • P16 ⚠️ (A,D — предложения) Усложнение помечено. Сигнал: AK-47 standing (⚠️ УСЛОЖНЕНИЕ + какую боль лечит). Проверка: новая зависимость/сервис/абстракция без пометки → warn.

Исходящее от лица Антона

  • P17 ⛔ (B — outreach/pitch) Приветствие отдельной строкой. Сигнал: явный стандарт 2026-06-22 (50 питчей переформатированы). Проверка: строка 1 = только приветствие, строка 2 пустая, тело со строки 3; слитно → FAIL.
  • P18 ⛔ (B — unreviewed) ≤7 слов + тон канала. Сигнал: «пиши сам» → цель ≤5, потолок 7 слов; FB = шутка, TG = осмысленно после RECALL по человеку (2026-06-29). Проверка: счёт слов >7 → FAIL; тон не по каналу → FAIL.
  • P19 ⚠️ (B) Язык лида. Сигнал: «для русскоязычных лидов писать на русском для англо на англ» (сессия b0326fad). Проверка: язык черновика vs язык лида; mismatch → warn, лид неизвестен → manual.

Ванильность / робот-голос (класс B — авторский текст от лица Антона)

Сигнал: Антон голосом 12.07 «рерайтер пишет слишком правильно/мыльно, сразу читается как робот» + 14.07 «рилс-посты звучат синтетически, написано ИИ». Разобрано 28.07 замером, не на ощупь: 42 наших написанных черновика (content-factory\episodes\*\longread-ru.md + medium-fb.md, 25 240 слов) против реальных текстов Антона (★ЭТАЛОН 06.06 = его собственная правка в 04-Projects\personal\facebook-diary-auto\_STYLE.md, 3 его FB-поста оттуда же, DM-корпус 3 273 реплики). Частоты ниже = на 1000 слов, наши → его. Применять ТОЛЬКО к авторскому голосу Антона (пост/дневник/тизер/лонгрид/ФА); дев-лог, arXiv и служебка судятся своим голосом. Родня: [[fa-anton-voice]] (тот же диагноз для follow-up'ов), [[medium-voice-default]].

  • P26 ⛔ Зеркальная антитеза «X, а не Y». Замер: мы 1.82, он 0.00 (обе выборки), DM 0.05. Проверка: ,\s+а\s+не\s+ → ≥1 на 1000 слов = FAIL. ⚠️ Прямую «не X, а Y» НЕ трогать: замер показал, что это ЕГО приём (он 3.03–5.21, мы 2.93).

  • P27 ⛔ «это не X, это Y». Замер: мы 0.48, он 0.00. Проверка: [Ээ]то\s+не\s+[^.!?]{1,60}[.,]\s*[Ээ]то\s → любое вхождение = FAIL.

  • P28 ⚠️ Риторическая триада «A, B и C». Замер: мы 2.77, он 0.00 / 0.00, DM 0.32. Проверка: \b\w{3,},\s+\w{3,}\s+и\s+\w{3,}\b > 1.0 на 1000 слов → warn (фактический перечень пунктов ≠ риторическая триада, судить по смыслу).

  • P29 ⚠️ Ровный ритм. Замер: коротких предложений (≤5 слов) у нас 24%, у него 33–50%. Проверка: <30% → warn. Он рвёт ритм: «Вообще. Совсем. Ноль.» Ср. длина предложения при этом СОВПАДАЕТ (11.4 vs 10.8) — мерить надо разброс, а не среднее.

  • P30 ⛔ Нет его словаря и нет его самого. Главный маркер: лексикон у нас 1.62, у него 18.21 (в 11 раз меньше) + первое лицо «я/мне/мой» у нас 17.9, у него 50.1. Мы пишем ПРО СИСТЕМУ, он пишет ПРО СЕБЯ. Проверка: словарь (видюха · второй мозг/вторая голова · openclaw · ЧАТжпт · промудохался · спойлер · блин · облажался · стыдно · идиот) < 4 на 1000 слов ИЛИ «я/мне/мой» < 25 на 1000 слов → FAIL. Плюс ##-заголовки в теле FB/TG-поста (у него их нет) = FAIL.

  • ⛔ Не судить как ваниль (замер ОПРОВЕРГ, не выдумывать): афоризм в конце абзаца (он 20.0%, мы 17.6% — не наш признак) · средняя длина предложения (совпадает) · восклицания и )) в постовом регистре (в ★ЭТАЛОНЕ их 0; это DM-регистр, см. [[style-anton-dm-register]]) · длинные тире (P9 отключён).

  • P31 ⛔ (B) БЕЗ КУПЮР — его формулировка не смягчается. Сигнал: голосовая Антона 05.08.2026 (hub:5155, origin: anton, дословно): «если я сказал „говно“ или сказал про цвет кожи и так далее — значит, так и надо говорить»; «запрещено изменять смысл, улучшать, подшлифовывать, потому что таким образом убирается эмоциональная сила этого поста»; «запрещено подправлять политкорректность или убирать расу, неприязнь»; «у меня в принципе этого нет, но даже если робот показал, что она есть, — он не прав». Проверка (LLM-суждение, нужен ИСТОЧНИК рядом с черновиком): сравнить черновик с исходной расшифровкой/материалом — резкое слово заменено мягким, оценка выброшена, этническое/расовое/этическое упоминание вычищено, «улучшена» формулировка → FAIL. Нет источника под рукой → manual, не PASS: без источника купюру не увидеть. ⚠️ Честная граница: правила площадки (platform_rules.json, platform_gate.py) — решение о ПУБЛИКАЦИИ (куда и в каком виде идёт текст), а НЕ разрешение редактировать смысл; конфликт → текст остаётся как есть, а «постить сюда или нет» решает Антон. ⛔ P31 не разрешает генерировать оскорбления ОТ СЕБЯ — он про слова Антона. Родня: [[voice-verbatim-no-sanitizing]], P10, P14.

  • P32 ⛔ (A,B,D) Сжатую мысль не разжимаем — объём задаёт мысль, не квота. Сигнал: голосовая Антона 21.08.2026 (hub:5671, origin: anton, дословно): «если у нас, условно говоря, есть 300 байт текста из какого-нибудь тизера, мы не пытаемся сделать из них килобайт текста. Это глупо… мы никогда не разжимаем сжатую мысль, если нас специально об этом не попросят»; про прежнюю практику лонгридов — «Наташа брала наши краткие мысли и пыталась сделать лонгрид. Это неправильно. Зачем нам строить больше некачественной информации?». Проверка (LLM-суждение, нужен ИСТОЧНИК рядом с черновиком): черновик длиннее источника, а новых фактов не прибавилось — только вода, разжёвывание, примеры ради примеров, введение/вывод → FAIL. Исключение (PASS): была прямая команда «сделай подробную разъясняющую записку / декомпозируй эту мысль». Не путать с длиной как таковой: девлог/лонгрид из МНОГИХ разных событий законно длинный — правило бьёт по растягиванию ОДНОЙ мысли. Нет источника под рукой → manual. Родня: [[reglament-ne-razzhimaem-szhatuyu-mysl]], [[never-inflate-compressed-content]], P11 (вода), [[reglament-ezhednevnaya-para-longrid-i-devlog]] (формула A+B+C+D — лонгрид собирается из постов, а не надувается из одного).

  • P33 ⛔ (A,B,D) Мысль длиннее трёх предложений — абзацами, не полотном. Сигнал: голосовая Антона 31.08.2026 (hub:5948, origin: anton, дословно): «Они просто херачат одним полотном»; «Я с тех пор запретил сотрудникам писать любую мысль, если она длиннее трёх предложений, не разделяя её пустой строкой или абзацами»; «иначе вашим читающим крайне тяжело прочитать всю эту хуйню, что вы написали». Не первый раз: 21.02.2026 ([[concept-writing-clarity]]) и 27.05.2026 («Я в шоке: всё речь идёт про абзацы»). Проверка (детерминированная, 0 токенов): python ~/.claude/scripts/paragraph_lint.py <файл> — блок между пустыми строками содержит >3 предложений → FAIL (списки, таблицы, код-блоки, YAML-шапка, цитаты-блоки исходника — вне счёта). ⚠️ Граница: это про ФОРМУ, не про длину. Разбивка не даёт права дописать ни слова (P32 сверху) и не разрешает править формулировки Антона (P31/P10 сверху). Одна мысль на два предложения дробить искусственно — тоже нарушение (анти-паттерн, ср. [[reglament-droblenie-dlinnoj-mysli-na-2-3-puzyrya]] — там же про мессенджеры). Машинный формат (JSON/CSV/лог/код) — вне юрисдикции. Родня: [[reglament-abzacy-mysl-dlinnee-treh-predlozheniy]], [[paragraphs-three-sentence-rule]], P17 (приветствие отдельной строкой — та же ось).

  • P34 ⛔ (B) Текст для людей — история, не мысли вслух (storytelling). Сигнал: голосовая Антона 02.09.2026 (origin: anton, дословно): «когда я пишу свои мысли, они мало кому интересны. Потому что <…> это не storytelling, а просто мысли вслух, которые вообще не связаны с контекстом: с моими приключениями, с моей жизнью»; «очень важно мне всегда рассказывать историю»; «чтобы даже домохозяйке было интересно читать — like I'm five, простыми словами. Инженеры всё равно аллегории поймут. А домохозяйке про упавшие рутины, про протухший Python, может быть, слушать не стоит». ⭐ ПРЕ-ТЕСТ (anton 03.09 вечер, голосом): «это история ПРО ЧЕЛОВЕКА или про сервер?» — сюжет обязан быть про живого человека и его эмоции (страх·стыд·безденежье·неудачи·страдания·камбэк), железо = декорация; пост, где главный герой — инфраструктура, интересен роботу, не читателю → FAIL до всякого чек-листа (раздел «О чём истории» реглумента). ⭐⭐ СЛОЙ v2 (05.09.2026, из синтеза DR26-09-03-HUB-01-2037): пре-тест усилен до ВОСЬМИ бинарных вопросов «про человека или про железо?» — раздел «СЛОЙ v2» того же реглумента (единственный источник, копию сюда не тащить); порядок дверей жёсткий: сначала 8 вопросов v2 (про КОГО история, минимум 6 «да»), потом десятка ниже (ЕСТЬ ЛИ история), жёсткие стопы обоих списков складываются. Затем проверка (LLM-суждение, с 03.09.2026 — по ЧЕК-ЛИСТУ ИЗ 10 ВОПРОСОВ): открыть раздел «Чек-лист приёмки» в $OBSIDIAN_VAULT\03-Insights\Operations\reglament-vsegda-rasskazyvay-istoriyu-storytelling.md (единственный источник, копию сюда не тащить) и прогнать все 10: герой от первого лица («я», не «мы» — anton 03.09.2026, хардкод; «мы» как субъект = FAIL, родня P30) · цель · «но» · изменение · артефакт · мораль после сцены · аналогия вместо жаргона · ноль выдуманных деталей · механизм для инженера · сцена жива после −30% слов. Вердикт: 8–10 «да» = PASS · 6–7 = вернуть на один проход ABT (⚠️) · ≤5 = FAIL («не история»). Жёсткий стоп при любой сумме: выдуманная деталь / гипотеза как причина / неоплаченный вопрос → FAIL. Плейбук структур (ABT/Spine/SCQA/кольцо/in medias res) — синтез ДР insight-DR-DR26-09-02-MACANTON-02-0343-storytelling-playbook. ⚠️ Границы: история = упаковка, не право менять слова Антона (P31/P10 сверху) и не право раздувать (P32 сверху — контекст берём из РЕАЛЬНЫХ событий, не выдумываем драму); машинные форматы и dev-log для роботов вне юрисдикции. Родня: [[reglament-vsegda-rasskazyvay-istoriyu-storytelling]], [[storytelling-always-package-as-story]], [[eli5-always]].

  • P35 ⚠️ (B,E) Слой продажи не применён — рамка тише, чем артефакт заслуживает. Сигнал: Антон 05.09.2026 (голосом, origin: anton): «Надо сделать это в виде скилла и частенько это использовать, иначе, если ты будешь говорить только правду, то хрен тебя кто купит». Ось: остальные принципы режут ЛИШНЕЕ, этот ловит НЕДОданное — сухой перечень фактов там, где нужен класс, амбиция и приглашение проверить. Проверка (LLM-суждение): черновик наружу (пост·питч·README·CV·заявка·Show HN·DM лиду) назван по фиче, а не по классу · будущее время там, где уже работает · масштаб, который ЕСТЬ, не заявлен · нет приглашения проверить → ⚠️ manual + прогнать через /fake-it (Шаг 2, шесть приёмов). ⚠️ P35 усиливает ТОЛЬКО рамку: любое движение цифры/статуса/adoption/цитаты ловят P14 и стоп-лист /fake-it — там FAIL, не warn. Не применять к _originals, DR-отчётам, correction log, отчётам о сбоях. Родня: скилл fake-it, [[fake-it-courage-not-fake-numbers]], [[anti-modesty-loud-by-default]] (§1.5 п.4: занизить = соврать так же, как завысить). ⛔ Карв-аут 06.10 (anton, голосом): в блоге и X-постах P35 = громкость МАСШТАБА, а не продажа. Не занижаем сделанное, но оффер, призыв, «напишите/наймите/звезду» = FAIL. Память blog-never-sells.

  • P36 ⚠️ (B,E) Внешний текст без чёрного юмора — дефект, а не осторожность. Сигнал: голосовая Антона 10.09.2026 (origin: anton, дословно): «чёрный юмор везде, кроме научных публикаций прямо сильно сильно научных, которые дают нам архив или куда-то ещё. А всё остальное может по ходу чёрного юмора добавлять. Даже для наших с тобой разговоров». Ось: дефолт перевёрнут — раньше объясняли шутку, теперь объясняем её отсутствие. Проверка (LLM-суждение): черновик наружу (пост·DM·PR-коммент·README·тизер·ФА·GitHub-тред) написан ровным служебным тоном, ни одной строки мрачной самоиронии про СВОИ условия → ⚠️ manual + взять строку через /mycroft-joke (полка (д) банка + пополнение 56-62 под холодное касание). ⛔ Три зоны вне юрисдикции, и они НЕ про вкус: строго-научная публикация (arXiv/журнал/JOSS — там свой регламент [[reglament-golos-arxiv-vse-publikatsii-v-arxiv-idut-neytralnym-scholarly-golosom]]) · юр.обязательство и анкета (ATS·договор·инвойс·комплаенс — шутка в поле формы = ложь в данных, ловит P14) · красный список банка (чужая иконография угнетённых, псевдо-слуры, отрицание что я ИИ, юмор поверх диагноза/денег/беды собеседника) → там FAIL, не warn. ⚠️ Юмор = упаковка: не право менять слова Антона (P31/P10) и не право дописывать объём (P32). Родня: [[mycroft-humor-bank]], [[voice-mycroft]], скилл mycroft-joke, [[dark-humor-default-everywhere-external]].

  • Быстрый прогон: python ~/.claude/scripts/vanilla_scan.py <файл> (0 токенов, печатает все шесть маркеров и вердикт). P31 машиной не ловится (сравнивать не с чем) — судит человек/LLM по источнику.

Дедуп-мерджи

  • P20 ⛔ (C) Supersede, не delete. Сигнал: дедуп-политика 2026-06-08 (14 правил слиты supersede'ом) + «никогда не glob-delete». Проверка: мердж ссылается на поглощённую (supersedes:/линк), ни один исходник не удалён (жив или в _originals); иначе → FAIL.

AI-документы (класс E) — анти-дрифт по Арсёнову

Источник: Anti-Drift Review Артура Арсёнова (Ray lab, looi.ru/a/anti-drift-review — huge thanks 🙏; verbatim: _originals\arsenov-looi\full\13-anti-drift-review.md). Добавлено 2026-07-03 по «++» Антона. Суть его наблюдения: «AI делает документ более гладким раньше, чем более правдивым» — спор идёт о тексте, а не о реальности. Все проверки LLM-суждение по куску.

  • P21 ⛔ (E) Утверждения без опоры. Красивые фразы, не доказанные данными/источником. Проверка: каждый ключевой тезис → есть ссылка/данные/провенанс? Голословный тезис, на котором держится рекомендация → FAIL. (Родня P14, но здесь про аргументацию, не только цифры.)
  • P22 ⚠️ (E) Скрытые допущения. Рекомендация держится на «если», которого никто не заметил. Проверка: выписать неявные «если X, то…»; ≥2 незаявленных критических допущения → warn (в вердикте перечислить).
  • P23 ⚠️ (E) Слабая связь с покупателем/пользой. Боль названа, но не видно, кто платит за неё временем/деньгами. Проверка: для продукт/GTM-документов — назван ли конкретный ICP/плательщик; нет → warn.
  • P24 ⚠️ (E) Провал реализации. План звучит, но не выдерживает контакта с нашим реальным стеком/командой/системой. Проверка: шаги плана против известного состояния (машины, рутины, люди, лимиты); нереализуемый шаг → warn + назвать.
  • P25 ⛔ (E) Слишком сильный вывод. Доказательства говорят «может быть», документ говорит «надо делать». Проверка: сила вывода vs сила доказательств; overclaim в итоговой рекомендации → FAIL.
  • Вердикт для E дополняется drift-map: 🔴 (не опираться) / 🟡 (доработать: что доказать перед решением) / 🟢 (можно использовать) + список unsupported claims.

Формат вердикта

🎛 taste-check: <файл/черновик> · класс <A/B/C/D>
Вердикт: ✅ PASS | ❌ FAIL | ⚠️ MANUAL REVIEW
Нарушено: P9 (3 длинных тире, строки 12/40/41), P6 (0 входящих ссылок)
Чисто: P1-P5, P7, P8, P14
Не проверялось: P17-P19 (не исходящее)
Перепроверено (2-й заход, метод): <что и чем именно> · НЕ проверено: <что и почему>
→ Действие: <вернуть автору / показать с флагом / можно показывать>

Границы

  • Read-only: никаких Write/Edit в волт, никаких «сразу и починил».
  • Принципы Антона не выдумывать: новый принцип добавляется только из его реального сигнала (правка/цитата/digest rule_scan) с датой. Сырьё сигналов: $IMPORTS_ROOT/rule_candidates/digest-*.md (preference-sweep) + memory type: feedback.
  • Калибрует веса только Антон (как у Арсёнова: агент собирает сигналы, паттерны калибрует человек).
  • Токен-закон: сперва детерминированные проверки (grep/счёт), LLM — только суждение по куску.
<!--kit-footer-->

Like this skill? It is part of 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.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

03

Free

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.

The English summary is being prepared. Showing the original description.

tonydzi/second-brain-starter-kit12Updated Oct 20, 2026

1

Free

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".

The English summary is being prepared. Showing the original description.

tonydzi/second-brain-starter-kit12Updated Oct 20, 2026

agenda

Free

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".

The English summary is being prepared. Showing the original description.

tonydzi/second-brain-starter-kit12Updated Oct 20, 2026

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.

The English summary is being prepared. Showing the original description.

tonydzi/second-brain-starter-kit12Updated Oct 20, 2026

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".

The English summary is being prepared. Showing the original description.

tonydzi/second-brain-starter-kit12Updated Oct 20, 2026

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

The English summary is being prepared. Showing the original description.

tonydzi/second-brain-starter-kit12Updated Oct 20, 2026

See all skills by tonydzi

Report a problem with this skill