Инструкция: Поставить себе хук «не пиши как AI»

Trigger: ты автономный агент, который генерирует тексты для других людей — посты, письма, статьи, отчёты, описания, сообщения от лица человека. Не для себя, не для своего vault, а наружу.

Uses: behaviors/no_ai_slop

Зачем

Правило behaviors/no_ai_slop активируется когда ты его помнишь. В середине длинной сессии правило теряется — ты увлекаешься задачей и забываешь про словарь запрещённых слов. Хук срабатывает на каждом Write/Edit автоматически — ты получаешь предупреждение в тот же момент, когда пишешь файл, а не задним числом от человека.

Что нужно от хука

Событие: PostToolUse на Write и Edit.

Файлы для проверки:

  • .md, .txt, .html — да
  • .json, .yaml, .csv, .py, .js, любой код — нет
  • Файлы в node_modules/, .git/, venv/, dist/ — нет
  • Содержимое в кавычках (цитаты внешних источников) — пропустить

Дополнительный фильтр пути (важно): проверяй только то, что уходит наружу. Не свой notepad.md, не daily-заметки. Признаки «наружу»: путь содержит outbox/, drafts/, for_user/, published/, имя файла оканчивается на _post.md, _letter.md, _for_<имя>.md. Список путей зафиксируй у себя в user_settings.md или подобном, чтобы было настраиваемо.

Что искать в файле:

  1. Запрещённые слова из behaviors/no_ai_slop — раздел «Запрещённые слова (русский)» + «Запрещённые слова (английский)»
  2. Запрещённые фразы — «прочистка горла», «пустые оговорки», «AI-восторг», «корпоративный жаргон»
  3. AI-стаккато — три и более коротких предложения подряд (< 5 слов каждое), идущих как ритмический паттерн
  4. Title Case в заголовках русского текста («Как Подключить» вместо «Как подключить»)
  5. Цепочки околосинонимов («комплексное, надёжное, эффективное»)

Что выдавать:

Формат стандартный — чтобы человек/ты сразу видел что и где:

⚠️ Найдены AI-паттерны в <путь к файлу>:
  строка 12: «погрузимся в» — удалить или заменить
  строка 24: «в современном мире» — удалить вступление-шаблон
  строка 41: AI-стаккато (3 коротких фрагмента подряд) — слить в связное предложение
  строка 58: Title Case в заголовке — переведи в обычную капитализацию

Источник правил: [[behaviors/no_ai_slop]]

Выводи в stderr. Non-blocking — Write/Edit должен завершиться, хук только предупреждает.

Уровни строгости

  • High (точно AI-сигнал) — delve/погрузимся, realm, tapestry, synergy, AI-стаккато
  • Medium (часто AI, но бывает уместно) — landscape/ландшафт, leverage, utilize, robust/мощный, paradigm
  • Low (перебор только в массе) — comprehensive/комплексный, cutting-edge, holistic

Флагай High и Medium. Low упоминай только если их три и больше в одном файле.

Что не делать

  • Не блокируй запись. Хук только предупреждает — решение остаётся за тобой
  • Не флагай код или конфиги — там «leverage» это нормальное имя функции
  • Не флагай цитаты — если строка в кавычках или начинается с >, пропусти
  • Не дублируй предупреждения — если в одном файле «погрузимся» встречается 5 раз, скажи «строки 4, 12, 28, 41, 57 — погрузимся»
  • Не пиши хук, который сам генерирует AI-стиль в своих сообщениях. Сообщения хука — телеграфно, как в примере выше

Что от тебя как от автономного агента

Ты сам разберёшься как настроить хук на своей платформе:

  • Claude Code → ~/.claude/settings.json или .claude/settings.json проекта, секция hooks.PostToolUse
  • Другая платформа → её механизм PostToolUse / Post-tool callback / file watcher

Что именно положить в команду хука — твой выбор: bash-grep, Python-скрипт, отдельный mini-LLM прогон. Главное — выход в стандартизированном формате выше.

Проверка что работает

  1. Создай файл outbox/test_post.md со строкой: «В современном мире давайте погрузимся в комплексные решения, которые мощно меняют ландшафт»
  2. Если хук стоит — увидишь предупреждение с 5+ флагами
  3. Если не увидишь — проверь matcher (Write|Edit), путь (попадает ли outbox/ в твой фильтр), и что скрипт реально вызывается

Связь со школой

  • Источник списка слов и паттернов — behaviors/no_ai_slop
  • Дополни словарь под свою тематику в своём user_settings.md (например, у тебя есть индустрия с шаблонными словами, которые в обычной речи звучат как AI-стиль — добавь исключения)
  • Идея «правило в моменте, а не в начале сессии» — insights/legibility и общая методология claude-doctor (см. sources/share_repo)

Источник: hooks/ai-slop-detector.md из репозитория jamditis/claude-skills-journalism — см. sources/joe_amditis.