Files
dev-skills/av-dev-pm/skills/tasks/references/task-chore.md
T
avandClaude Opus 5 47a2f3de63 язык скиллов av-dev-pm: проход упрощения пятью агентами и разбор находок
Эксперимент: по сабагенту на каждый скилл av-dev-pm, задача — переписать текст
более простыми словами, но только там, где уверен и без потери смысла и
точности. Нормой служил устав языка самого проекта, language.md, включая его
раздел «Порог правки»: правка без нарушенного правила не делается.

36 правок в двенадцати файлах, +64/-63 — почти строго замена, а не
переписывание. Правили залог (пассив с названным деятелем в творительном),
отглагольные существительные, параллельность перечней, канцелярит «является»,
пару garden-path и одно двойное отрицание. Контракт не задет нигде: в диффе нет
изменённых строк-заголовков, а код-спаны встречаются ровно парой минус-плюс,
то есть ни имя, ни флаг, ни путь не переписаны.

Отчёты «что рассматривал и не тронул» вышли длиннее отчётов о правках у всех
пятерых, и это главный результат прогона. Самый частый повод остановиться —
слово, живущее в четырёх файлах: конфляция, интейк, провенанс, непоймание.
Правка в одном месте развела бы словарь, а править все — уже не упрощение
текста скилла, а сквозной проход по репозиторию. Второй повод — формулировка,
дословно повторённая в соседнем плагине: декорреляция, материализация
нерешённого, «при расхождении прав текст».

Шестой агент проверил все 36 правок и нашёл четыре.

Перестановка слов в task-research.md развела формулу с её домом: «число без
источника проход ревью обязан читать как условие» стоит в canon.md и в уставе
doc-consistency, который прямо ссылается на канон как на источник. Откачено —
это ровно тот класс расхождения, который сам doc-consistency и ловит.

«Держит H1, мету и индекс в согласии» — управление требует дополнения, а
language.md в разделе англицизмов прямо оговаривает: русский аналог звучит
коряво — остаётся термин. Взят третий вариант, «согласованными».

В skeletons.md «правка тянет запись, и она называет» — местоимение указывает
на два женских существительных сразу. Стало «и запись называет».

Четвёртая находка не откачена: правка в init/SKILL.md хорошая, но развела
конструкцию с близнецом в canon/SKILL.md — выровнена вторая половина.

Побочно найдена старая логическая инверсия в DECISIONS.md, решение U:
«становится неотличимым, только если отрицание обязательно» — смысл вывернут,
в docs/SKILL.md и во второй записи журнала он правильный. Починено.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-05 14:49:03 +03:00

4.8 KiB
Raw Blame History

🧹 chore — обслуживание, наблюдаемое поведение не меняется

Зависимости, сборка, перенос, чистка, оснастка. Отвечает на «что нужно сделать», глаголом в неопределённой форме.

Общая форма записи (мета, слаг, строка индекса) — task-format.md. Здесь только то, что у этого типа своё.

Схема

Заголовок отвечает на что нужно сделать
Обязательные разделы Затрагивает, Критерии приёмки
Допустимые сверх того Рамки, Вопросы
Поле места Категория — полка домена беклога
Цель (goal:<слаг>) нет: цель — это возможность, а здесь её не появляется
Индекс BACKLOG.mdSPRINT.md
Берётся в спринт да

Адресат — разработчик, и это законно

Тест готовности спрашивает «что станет наблюдаемо иначе». У chore ответ адресован разработчику, а не пользователю: «перестанет собираться два раза», «уедет последний вызов устаревшего API», «проверки гоняются одной командой». Это ответ, а не отговорка.

У chore тест готовности слабее честно, а не молча. Пока типа не было, такие задачи либо не заводились вовсе, либо формулировались как выдуманная пользовательская польза — и то и другое хуже, чем сказать прямо, для кого работа.

Отсюда же граница: если после задачи меняется то, что видит пользователь, — это не chore. Тип, оставшийся от первой формулировки, врёт ровно там, где по нему отбирают.

Алгоритм

  1. Проверить, что поведение не меняется. Меняется — это feature или fix, и у неё другие требования (цель, воспроизведение).
  2. Назвать, что перестанет мешать — одной фразой, адресуясь разработчику. «Прибраться в модуле X» — не ответ: непонятно, что изменится.
  3. Назвать границы в Затрагивает. У обслуживания они часто не в коде: конфиг и его образцы, версия зависимости, команда сборки, файл CI. Границей считается то, у чего есть внешняя сторона и цена изменения.
  4. Написать критерии приёмки — 2–5 утверждений с оракулами. У chore оракул обычно самый дешёвый из всех типов: команда, которая раньше падала или требовала трёх шагов, теперь отрабатывает одним.
  5. Проверить, что это не «заодно». Обслуживание любит склеиваться в пачку («обновить зависимости и переписать сборку и убрать мёртвый код»). Не мерджится порознь — это несколько задач (split.md).
  6. Цель не проставлять. chore служит работоспособности, а не направлению, и в набор спринта входит помимо его цели. Работа по сопровождению проекта при этом видна в роадмапе — секцией Сопровождение, но целью не становится.

Что видит машина, а что человек

check и sprint take смотрят на наличие непустого Затрагивает и на число критериев — ровно то же, что у feature. Разница между типами здесь не в строгости проверки, а в том, кому адресован ответ на «что станет наблюдаемо иначе», — и это судит человек.