- Зачем: Claude Code с v2.1.273 при старте сессии скачивает скиллы аккаунта
claude.ai в ~/.claude/skills/synced/; ~/.claude/skills — симлинк на
agents/.agents/skills, поэтому кэш попадал в репозиторий как
неотслеживаемый каталог.
- Что: agents/.agents/skills/synced/ добавлен в .gitignore.
- Проверка: git status после правки чистый, кроме самого .gitignore.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Зачем: не было скилла про содержание описания PR — только gh-команды
в github. Формат humanlayer/visual-pr совпадает с принятой структурой
коммитов «Зачем / Что / Проверка» и опирается на уже установленный show-me.
- Что: адаптированная копия humanlayer/skills visual-pr. Убраны привязки
к платформе HumanLayer (.humanlayer/tasks, permalink из хука), дубль
show-me заменён ссылкой на установленный скилл, финальный отчёт свёрнут
в одну строку. Скилл хостинг-независимый (glab, tea, gh), ручной вызов
через disable-model-invocation, язык описания — по истории коммитов.
Шаблон references/pr_description_template.md — без изменений.
В .skill-lock.json не добавлен, чтобы npx skills update не перезатёр
правки.
- Проверка: SKILL.md вычитан по правилам writing-for-agents (кэш --help
и дубли шаблона убраны); ссылка ../show-me/SKILL.md резолвится через
~/.claude/skills. Прогон на реальном PR ещё не выполнен.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Зачем: новому агенту нужна точка продолжения работы без пересказа существующих артефактов.
- Что: навык переименован в session-handoff; уточнены содержание записки и выбор пути, сохранён вызов из других навыков.
- Проверка: YAML и git diff --check пройдены; quick_validate.py отклоняет сохранённые поля argument-hint и disable-model-invocation.
- Зачем: сохранён общий стиль сообщений без избыточных ограничений для модели.
- Что: тело стало гибким, уточнены условия вызова и требования к amend; убраны повторения и пошаговые инструкции.
- Проверка: quick_validate.py и git diff --check пройдены.
- Зачем:
- retro входит в набор Matt Pocock и не должен храниться в этом репозитории.
- Что:
- в agents/.agents/skills/.gitignore добавлен retro/.
- Проверка:
- git status не показывает agents/.agents/skills/retro/.
- Зачем:
- после прерывания или сжатия контекста нужна возможность продолжить работу в новой сессии.
- Что:
- создан agents/.agents/skills/session-state-handoff/SKILL.md.
- скилл формирует документ-передачу и список скиллов для следующей сессии.
- Проверка:
- вызвать скилл session-state-handoff и проверить созданный документ.
- Зачем:
- Профили на пути установки Codex ломались после переустановки, а прежние проверки могли давать ложный успех.
- Что:
- Штатный профиль системного bwrap выбран основным способом настройки; исторические обходы ограничены подтверждёнными случаями.
- Уточнены диагностика, переход со старых профилей и проверки режимов и границ записи.
- Обновлены связанные инструкции и записан результат применения на Ubuntu 24.04.4 с Codex 0.154.0.
- Проверка:
- Пройдены quick_validate, проверка ссылок, синтаксиса Bash и git diff --check.
- Штатный профиль применён; старые профили выгружены. Оба режима и запреты записи проверены из процесса unconfined; подтверждены метки AppArmor у bwrap и дочерней команды.
- Зачем:
- продолжение треда не должно получать неподходящие модель и effort из конфига.
- Что:
- добавлено предупреждение явно указывать модель и effort при resume.
- Проверка:
- git diff --cached --check.
- Зачем:
- уточнены границы ответственности координатора и правила работы с effort.
- Что:
- добавлено принятие результата как обязанность координатора.
- уточнена рекомендация по смене effort внутри треда.
- сохранены выводы из прогона t2-ml-forecast.
- Проверка:
- git diff --check.
- Зачем:
- README писался моделью, и в нем остались знаки, которых нет на
клавиатуре: их некому было подставить, потому что markdown правят
в редакторе кода, а не в Word с автозаменой.
- декоративные эмодзи в заголовках в русском тексте вне переписки
не ставят вовсе, это самый однозначный след генерации.
- Что:
- сняты эмодзи с шести заголовков и из комментария в блоке кода.
- 21 длинное тире заменено на дефис, 3 пары елочек на прямые кавычки,
7 стрелок на ->, буква "е" приведена к авторскому стилю в 14 словах.
- в разделе "Дизайн-решения" отглагольные существительные развернуты
в глаголы: "форсирование и изменение может сломать" стало
"если форсировать и менять, можно сломать".
- Проверка:
- якорных ссылок на заголовки ни внутри README, ни снаружи нет,
переименование ничего не ломает.
- блоки кода не тронуты: ни одно тире не попало внутрь фенсов,
10 фенсов и 62 строки таблиц на месте.
Co-Authored-By: Claude <noreply@anthropic.com>
- Зачем:
- калибровка была неверной в обе стороны: скилл снимал находку в
статье, считая, что текст прошел через редактор с автозаменой, и
одновременно ловил букву «ё», которая маркером не является вовсе.
- в режиме правки не было запрета доводить текст до идеала, поэтому
вычитка делала его ровнее и машиннее исходника.
- Что:
- линза Клавиатура переписана вокруг простой причины: этих знаков нет
на клавиатуре. Главным тестом стало не наличие тире, а равномерность:
умный редактор подставляет неровно, модель безупречно везде.
- markdown отделен от статьи в Word: подставлять знаки там нечему,
поэтому тире и елочки в .md машинные сразу.
- «ё» выведена из маркеров как личная стилистика; вместо нее записано
предпочтение владельца скилла ее не писать, с исключениями на
смыслоразличение и имена.
- эмодзи вне переписки подняты до безусловного маркера и вместе с
тире в markdown вынесены в блок «везде, среда роли не играет».
- в Решетку добавлен третий слой, ровность правильности; в границы
правки добавлены «не вычищать до блеска» и запрет добавлять ошибки.
- Проверка:
- прогон скилла на секции «Дизайн-решения» из README.md, который и
вскрыл обе ошибки калибровки.
Co-Authored-By: Claude <noreply@anthropic.com>
- Зачем:
- каталог из 29 паттернов писался, когда модели были слабее; сейчас
потребители скилла — Opus 5 и GPT 5.6 Sol, которые знают эти правила
по умолчанию, и 578 строк платили контекстом за no-op.
- каталог закрыт: он стареет вместе со slop'ом и провоцирует checklist
theater вместо суждения.
- Что:
- references/patterns.md удалён, 29 ID сведены к пяти линзам:
Клавиатура, Голос, Решётка, Вода, Ассистент; скилл ужался с 661
строки до 145.
- severity 29x3 сжата в профили трёх сред: красные ячейки
группируются по среде, а не по паттерну, плюс «не X, а Y» везде.
- основным режимом стала правка, отчёт вынесен во вторую ветку;
Голос не правится молча и предъявляется первым, потому что требует
мнения, случая и цифр автора, которых у скилла нет.
- каталожную проверку заменил гейт человеческого дубля, плотность
переведена из гейта в интерпретацию вердикта.
- Проверка:
- слепой прогон новой версии на трёх входах: AI-проза для статьи,
AI-сообщение в мессенджер, живое человеческое сообщение.
- на человеческом тексте ноль ложных находок; десять дефектов
инструкции, найденных прогоном, исправлены до коммита.
Co-Authored-By: Claude <noreply@anthropic.com>
- Зачем:
- линтер умел только вычитать маркеры, а текст без авторского голоса
палится не хуже текста с em dash'ами: после чистки оставался
безлико правильный результат.
- у прогона не было критерия завершения, поэтому проверка сводилась
к тому, что бросилось в глаза.
- Что:
- T03 развёрнут в три срабатывания (перечисление без вывода, безличные
конструкции, абстрактная оценка) с требованием назвать, что конкретно
добавить, вместо совета «добавить позицию автора».
- добавлен шаг самоаудита поверх закрытого каталога: находки X01, X02
с тестом «нельзя записать ни под один ID» и разрешением нулевого
результата.
- Шаг 2 получил критерий «каждый паттерн применён к тексту», quick scan
сведён к паттернам с механической детекцией.
- S04 стал единственным владельцем однородности ритма; удалены дубль
T03b, неоперационализируемый T03e, шаг «Ответить на вопросы» и девять
перефразировок одной ветки в description.
- Проверка:
- тестов на скиллы в репозитории нет, прогон ручной: вызвать скилл
на абзаце AI-прозы и на коротком сообщении в мессенджер.
- git show --stat HEAD: SKILL.md и references/patterns.md.
Co-Authored-By: Claude <noreply@anthropic.com>
- Зачем:
- предыдущая запись предлагала написать тест сверки копий NO_PROXY, хотя
tests/test_proxy_env_sync.py делает ровно это с момента появления копий.
- Что:
- запись переписана: дублирование под охраной, но на Windows проверка
падает с ModuleNotFoundError: fcntl, потому что грузит proxy-client
через runpy.
- задача заменена на «дать тесту читать константу без исполнения модуля».
- сохранён нерешённый вопрос про замещение no_proxy_extra: эта ветка не
покрыта тестом вообще.
- Проверка:
- python tests/test_proxy_env_sync.py -v — 1 ok, 1 ERROR (fcntl), то есть
поведение, описанное в записи.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Зачем:
- машинный конфиг, собранный копированием примера, молча выкидывает
из обхода .concept-software.ru и Gitea, а обрыв всплывает как TLS-ошибка.
- Что:
- в README уточнено, что no_proxy_extra замещает DEFAULT_NO_PROXY_EXTRA
целиком, а не дополняет его.
- предупреждение продублировано в обоих примерах конфига, рядом с полем.
- в TODO.md записано дублирование списка в пяти windows-файлах и
отсутствие теста синхронности с источником.
- Проверка:
- bash tests/test_proxy_launchers.sh — 8 проверок пройдено.
- configparser читает оба примера, значение no_proxy_extra не изменилось.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Зачем:
- нужен отдельный запуск Claude Desktop через hproxy.local без системного прокси.
- Что:
- добавлен PowerShell-скрипт с переменными прокси и параметрами Electron.
- добавлено идемпотентное создание ярлыка Claude Proxy через chezmoi.
- описано правило полного закрытия уже запущенного Claude.
- Проверка:
- проверены PowerShell-синтаксис, аргументы запуска и WSLENV через подмену Start-Process.
- двумя прогонами с подменой COM проверена идемпотентность создания ярлыка.
- выполнены chezmoi managed и git diff --cached --check.
- Зачем:
- прогон предразметки показал два сбоя: тикеты созданы мимо критериев /to-tickets, а текст тикета трижды проходил через контекст оркестратора.
- Что:
- этап 1: разбиение по критериям /to-tickets, мерка «тикет берётся в отдельной сессии без общего контекста».
- этап 2: правило «одно ревью на версию артефакта» и шкала риска вместо безусловного ревью постановки.
- согласованы шапка скилла, роли, критерии закрытия этапов и список соседних скиллов; урок записан в references/lessons.md.
- Проверка:
- вычитка SKILL.md: новые правила не противоречат этапам 3-6.
- Зачем:
- origin/master обновился во время отправки локальных коммитов.
- Что:
- добавлена удалённая эмпирика Claude-плейбука.
- сохранены локальные изменения Codex-плейбука и handoff.
- Проверка:
- отсутствие конфликтов и последующая проверка состояния ветки.
- Зачем:
- ревью высокоуровневых документов могло требовать преждевременных деталей и постоянно блокировать одобрение.
- Что:
- находки ограничены дефектами на уровне самого документа.
- существенные отложенные риски отделены от блокирующих замечаний.
- уточнено, что APPROVED допускает открытые вопросы будущей реализации.
- Проверка:
- quick_validate.py, git diff --check и проверка локальных Markdown-путей.
- Зачем:
- нужно сохранить контекст координатора и устранить расхождения с зеркальным playbook.
- Что:
- закреплены делегирование, маршрутизация моделей и ограничение кругов ревью.
- добавлены файловый договор ревью и согласованная эмпирика прогонов.
- исправлены сборка слепых линий и компактные статусы находок.
- Проверка:
- quick_validate.py, git diff --check и проверка локальных Markdown-ссылок.
- Зачем:
- зафиксировать уроки прогона тикета 06 (t2-presale) до их поглощения
в SKILL.md.
- Что:
- главный урок: карта прогресса для пользователя на границах этапов.
- блок «Модели»: переоценка Sol, боевое подтверждение medium,
роли Опус/Codex, наводка gpt-5.6-terra с пометкой «не обкатано».
- Проверка:
- чтение references/lessons.md, запись «Прогон 2026-07-13».
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- ретро трёх циклов конвейера показало: находки ревью проходили через
контекст оркестратора до шести раз, review-промпт дублировался, ~7
пустых ходов на idle-пингах teammate-ревьюера.
- Что:
- SKILL.md: механика «индекс у оркестратора, нагрузка файлами» — вердикты
в файлы обменного temp-каталога, fix-промпт конкатенацией, один
канонический review-промпт на обоих ревьюеров, idle-пинги как шум;
- новый references/prompt-templates.md — скелеты четырёх промптов;
- codex-exec.md: сборка промптов cat'ом, боевая модель gpt-5.5 явно
(фронтир из конфига не наследовать);
- codex-sandbox-fix-handover: рабочий AppArmor-фикс (ловушка memfd,
профиль на бинарь codex), проверен на обоих режимах;
- lessons.md: датированные записи ретро, казуса Sol и memfd.
- Проверка:
- чтение SKILL.md и references/, следующий прогон конвейера.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- прогон 2026-07-10 (mws-data-test-t2-presale) дал новую эмпирику
этапов 1–2, не отражённую в скилле.
- Что:
- этап 2: для крупной постановки — второе слепое ревью Кодексом с
рамкой «постановку, не реализацию»; классы находок родословных;
- этап 1: постановка через /to-tickets, когда репозиторий настроен
под скиллы Мэтта Покока;
- lessons.md: запись прогона с цифрами и ретро-оговоркой про
companion-канал (issue #158).
- Проверка:
- вычитка диффа свежим взглядом; ссылки ведут на существующие
файлы references/.
- Зачем:
- рецепт AppArmor-фикса требует sudo, а инициатива агента (диагностика
до прогона, передача команд пользователю) держалась на здравом смысле,
не на тексте скилла.
- Что:
- в правило про линукс-ловушку codex-exec.md дописано: фикс сам не
применяй — дай пользователю готовые команды с `!`-префиксом; после
профиля напомни убрать use_legacy_landlock; перед первым прогоном на
новой Linux-машине прогони диагностику превентивно.
- Проверка:
- чтение правила в references/codex-exec.md.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- другая сессия на Ubuntu 24.04 задиагностировала молчаливую поломку
песочницы Codex CLI 0.144.1 (bwrap+userns против AppArmor); знание
нужно основной линии скилла — Linux-прогон конвейера впереди.
- Что:
- перенесён references/codex-sandbox-fix-handover-2026-07-10.md
(диагностика, обход use_legacy_landlock, AppArmor-профиль);
раздел «Связанные записи» перенацелен с удалённого codex-companion.md
на codex-exec.md.
- в codex-exec.md добавлено сквозное правило про линукс-ловушку
(сигнатура «гуглит, но не может ls»), в lessons.md — датированная
запись, в handoff — кавеат к пункту про Linux-прогон.
- Проверка:
- git show origin/codex-sandbox-fix-20260710 — содержимое перенесено
полностью; перекрёстные ссылки codex-exec.md ↔ handover резолвятся.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- read-only-конфайн обеднял ревью Codex (без тестов, поиска,
первоисточников), а плотность SKILL.md и дефолты модели/усилия
из config.toml накопили риски по итогам трёх прогонов.
- Что:
- ветка «ревьюер» в codex-exec.md переведена на запись + авто-аппрув,
защита — мандат промптом; в рецепты добавлены --strict-config и
явные -m / model_reasoning_effort.
- SKILL.md: правило «мандат промптом» для обоих ревьюеров, правило
моделей субагентов (Опус/Sonnet, не Fable), /tdd и /research +
Context7 в этапе 1, таймер-подстраховка ScheduleWakeup; уборка
плотности и инлайн-дат.
- handoffs 07-06/07-07/07-09 поглощены запиской 2026-07-10; в lessons.md
добавлены правило дистилляции и блок 2026-07-10; правки прошли слепое
ревью Опусом, все находки закрыты.
- Проверка:
- оверрайды -m/-c проверены живым codex exec --strict-config;
перекрёстные ссылки и команды сверены ревьюером с codex --help.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- код и конфигурации читают люди с разным уровнем экспертизы, текст должен быть доступен без дополнительных пояснений.
- Что:
- добавлен абзац про простые слова, короткие фразы и пояснение сложных мыслей при первом упоминании.
- Проверка:
- cat AGENTS.md — новый абзац присутствует в разделе «Язык и рассуждения».
- Зачем:
- `{baseDir}` не является стандартным placeholder и может сбить с толку.
- Что:
- путь заменён на `references/patterns.md` с пояснением «в папке этого скилла».
- Проверка:
- cat agents/.agents/skills/ai-text-lint/SKILL.md | grep patterns
- Зачем:
- автоматизировано создание ~/.env.secrets при chezmoi apply на Windows.
- Что:
- добавлен chezmoi/create_dot_env.secrets с заглушками для CONTEXT7_API_KEY и ZAI_API_KEY.
- Проверка:
- chezmoi apply и проверка наличия ~/.env.secrets
- Зачем:
- устранена дублирующая сводная матрица severity, которая устаревала при изменении паттернов.
- улучшена навигация по документу за счёт группировки паттернов в категории.
- Что:
- добавлены разделы категорий: Структура и форматирование, Тон и авторская позиция, Резюме-специфичные паттерны.
- переупорядочены паттерны S05 и S06 внутри категории Структура.
- обновлена ссылка на severity в SKILL.md с указанием inline-таблиц.
- Проверка:
- git diff agents/.agents/skills/ai-text-lint/
- Зачем:
- гравитация скилла тянула к «выдать артефакт»; управляющие документы
раздувались деталями реализации (диагностировано на живом тесте — ADR
с инлайном SQL).
- Что:
- gate/stop: «готово» = общее понимание + рекомендованное направление,
записанное минимально-достаточно, а не «артефакт произведён»; определение
в одном месте (stop_condition), gate на него ссылается.
- core_rules: минимально-достаточный артефакт + барьер высоты (без инлайна
исполняемых артефактов) + single source of truth; приоритет над
конвенциями репозитория.
- шаг 2: артефакт(ы) выбираются ПОСЛЕ понимания, набором по жанрам.
- adr.md/spec.md: Lifetime test → Scope test (ADR↔spec по охвату, не сроку);
detailed plan — transient и вне scope скилла.
- description + README: формулировки-цели ведут пониманием, не артефактом.
- Проверка:
- grep: старый framing (lifetime/transient) убран; cross-ref Scope test
сходится; определение «готово» не дублируется; витрина не artifact-first.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>