From dev-pomogator
Аудит черновика на жаргон, внутренние коды, multi-select >3 опций и отсутствие микроистории. Триггеры (RU): "проверь черновик", "ревью ответа", "answer simple"; (EN): "audit draft", "check response", "answer-simple draft". Slash invocation `/answer-simple <черновик>` возвращает блоки "Переформулировано:" и "Найдено проблем:". Без аргумента — usage hint.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dev-pomogator:answer-simpleThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Skill дополняет always-apply правило `clear-questions-to-user.md` явным slash-command интерфейсом для аудита произвольного черновика. Правило работает молча перед каждым ответом агента; skill даёт on-demand аудит когда пользователь хочет явный feedback по конкретному тексту.
Skill дополняет always-apply правило clear-questions-to-user.md явным slash-command интерфейсом для аудита произвольного черновика. Правило работает молча перед каждым ответом агента; skill даёт on-demand аудит когда пользователь хочет явный feedback по конкретному тексту.
Skill не делает runtime enforcement (Claude Code не имеет hook на финальный agent message). Он анализирует переданный текст и возвращает структурированный отчёт по 4 критериям.
Активируйся когда:
/answer-simple <черновик> в чатеПереформулировка использует ТОЛЬКО факты, явно присутствующие в исходном черновике. Запрещено:
добавить → добавлю, надо → требуется) или сдвигать subject perspective (3rd person → 1st person) — это меняет authorship источника30 минут → примерно 30 минут, 12 сервисов → около 12) — это добавляет неопределённость которой нет в источникепоявилась, возникла, было сделано если в источнике их нет) — это interpretation, не translationsrc/config/loader.ts → "файл загрузчика конфига") — оставлять proper nouns byte-as-isЕсли в исходнике короткая фраза без контекста — переформулировка тоже короткая. Skill не дополняет фразу до полноценной микроистории если фактов для 5 опорных точек нет.
Антипаттерн (как НЕ надо):
Исходник: "Готово. Обновил FR-12 и подключил VARIANT_COVERAGE category."
❌ Плохой output (всё выделенное — выдумка):
"Ты просил доработать требование к покрытию вариантов. Я обновил это требование (FR-12) и подключил автоматическую проверку покрытия вариантов (audit category VARIANT_COVERAGE), которая теперь срабатывает на STOP #3 в specs-workflow. В результате теперь при создании spec с polymorphic FR audit заблокирует переход, если матрица вариантов не построена. Дальше — прогон на реальной спеке."
Что выдумано: "ты просил доработать" (нет в источнике), "что именно делает категория", "STOP #3", "polymorphic FR", "блокировка перехода", "матрица вариантов", "прогон на реальной спеке". Всё это hallucination.
✅ Правильный output (faithful):
"Готовы изменения: обновлено требование (в проекте называется FR-12) и подключена категория проверок VARIANT_COVERAGE."
Только то что явно есть в источнике — изменено требование, подключена категория. Контекста нет — не добавляем.
Перед переформулировкой определи тип источника:
Если пользователь набрал /answer-simple без аргумента (пустая команда) — вернуть usage hint (см. формат ниже). НЕ генерить пустой output или Audit-блоки на пустоту.
Если в "Переформулировано:" skill сам расшифровал термин inline (например, "AJV → валидатор JSON-схем"), finding для этого термина должен звучать иначе, чем для нерасшифрованных:
Finding описывает состояние исходника, не результат работы skill. Если расшифровка от skill — явно отмечай.
Различай project-specific internal codes (flag) и общеупотребительную engineering лексику (НЕ flag для технической аудитории).
✅ Flag (project-specific):
FR-N, AC-N, Wave-N, PLUGIN-N, CHK-FR-N-NN, Issue [A-Z], @feature1 — project numbering/tagsfoo-bar, baz-quux, answer-simpleVARIANT_COVERAGE, MATRIX_COMPLETE, gates (если project-specific)❌ НЕ flag (общий engineering vocabulary):
staging, prod, dev, qa, prod deploy, migration, deploy, rollbackCI, CD, QPS, RPS, SLO, SLA, downtime, planned downtimehelper, validator, schema, module, service, component, librarymerge, commit, PR, review, branch, hotfixJSON, YAML, regex, API, SDK, CLI, JSON schema, JSON schema validationЗдравый смысл: если термин знаком engineer/dev/ops — НЕ flag. Если нужен domain-specific контекст проекта — flag.
Исключение: если контекст явно non-technical reader (PM / маркетинг / бизнес) — flag wider vocabulary.
Переформулировано: <BYTE-FAITHFUL версия в формате микроистории если применимо, иначе короткая faithful версия>
Найдено проблем:
- <Конкретная проблема 1 с цитатой из source — категория: жаргон / внутренний код / multi-select / отсутствие связки>
- <Конкретная проблема 2 ...>
Переформулировано: <простой вопрос на бытовом языке + ≤2 опции (или свободной формой)>
Найдено проблем:
- <как в случае выше>
Проблем не найдено
Пройденные критерии:
- Микроистория с 5 опорными точками присутствует (либо: критерий неприменим — текст слишком короткий)
- Нет внутренних кодов без расшифровки
- Multi-select ≤2 опций (либо отсутствует)
- Причинно-следственные связки между предложениями (либо: критерий неприменим)
Usage: /answer-simple <ваш черновик>
Skill анализирует текст по 4 критериям (микроистория с 5 опорными точками, внутренние коды без расшифровки, multi-select >3 опций, причинно-следственные связки) и возвращает (a) BYTE-FAITHFUL переформулировку и (b) список найденных проблем.
Примеры:
- /answer-simple "Готово. Обновил FR-12."
- /answer-simple "Wave 14 vs Wave 11 — Keep / Swap?"
Текст должен иметь narrative shape (см. правило .claude/rules/answer-simple/clear-questions-to-user.md step 4):
Связки обязательны: "потому что / поэтому / в итоге / дальше / после того как / в результате".
Детектор: ищу хотя бы 3 из 5 опорных точек + минимум 2 причинно-следственные связки. Если меньше — flag "отсутствует структура микроистории". Если текст слишком короткий (1-2 слова) — критерий неприменим, не flag.
Regex-кандидаты на внутренний код:
Wave\s*\d+ (Wave 14, Wave-14)FR-?\d+ (FR-12, FR12)AC-?\d+CHK-FR\d+-?\d*Issue [A-Z]\b (Issue B)@feature\d+ (если в prose, не в feature spec)PLUGIN\d+Детектор: для каждого match проверь — есть ли расшифровка в скобках или предыдущем предложении? Если нет — flag "внутренний код <match> без расшифровки".
Паттерн: вопрос (предложение с ?) followed by bullet list (- / * / number) с >3 items, либо текстом с разделителем " / " содержащим >2 элементов.
Детектор: если найден — flag "multi-select с N опциями (порог 2)".
Markers: "потому что", "поэтому", "в итоге", "дальше", "после того как", "из-за этого", "следовательно", "тогда", "в результате".
Детектор: в тексте длиннее 3 предложений должно быть минимум 2 связки. Меньше — flag "отсутствует причинно-следственная структура". Для коротких текстов (1-3 предложения) — критерий неприменим.
User input:
/answer-simple "Wave 14 (gates+OpenRouter) ПЕРЕД Wave 11 — Keep / Swap / Parallel?"
Skill output (Правило 2 — это вопрос с 3 опциями; BYTE-FAITHFUL — не додумываем что значат Wave 14/11):
Переформулировано: У нас две большие фичи (в проекте их называют "Wave 14" и "Wave 11"). Что делать первым — Wave 14 или Wave 11?
(если хочешь сокращённый вариант — "сделать первой одну из двух, какую?")
Найдено проблем:
- Внутренний код "Wave 14" без расшифровки — читатель не знает что это
- Внутренний код "Wave 11" без расшифровки
- Технический термин "gates" без объяснения
- Технический термин "OpenRouter" без контекста (что это за сервис)
- Multi-select с 3 опциями (Keep / Swap / Parallel) — превышение порога 2; сократи до 2 или дай выбор свободной формой
User input:
/answer-simple "Готово. Обновил FR-12 и подключил VARIANT_COVERAGE category."
Skill output (BYTE-FAITHFUL — короткая faithful версия, не выдумываем "STOP #3" / "матрицу вариантов"):
Переформулировано: Готовы изменения: обновлено требование (в проекте называется FR-12) и подключена категория проверок VARIANT_COVERAGE.
Найдено проблем:
- Внутренний код "FR-12" без расшифровки — читатель не знает что это за требование
- Внутренний код "VARIANT_COVERAGE" без расшифровки — читатель не знает что это за категория
- Отсутствует структура микроистории — нет "откуда пришли" (какой запрос), нет "что дальше"
- Отсутствуют причинно-следственные связки между двумя изменениями
User input:
/answer-simple "После того как ты сказал переделать правило на шаблон самопроверки, я переписал на 5 шагов — что понял, черновик, самооценка, шаблон ответа, переписать если не прошло. Сейчас правило в .claude/rules/answer-simple/. Дальше — применяю в каждом ответе."
Skill output:
Проблем не найдено
Пройденные критерии:
- Микроистория с 5 опорными точками присутствует (откуда: "ты сказал переделать"; что сделал: "переписал на 5 шагов"; где: ".claude/rules/answer-simple/"; дальше: "применяю в каждом ответе")
- Нет внутренних кодов без расшифровки
- Multi-select отсутствует
- Причинно-следственная связка "После того как..." присутствует
User input: /answer-simple
Skill output:
Usage: /answer-simple <ваш черновик>
Skill анализирует текст по 4 критериям (микроистория с 5 опорными точками, внутренние коды без расшифровки, multi-select >3 опций, причинно-следственные связки) и возвращает (a) BYTE-FAITHFUL переформулировку и (b) список найденных проблем.
Примеры:
- /answer-simple "Готово. Обновил FR-12."
- /answer-simple "Wave 14 vs Wave 11 — Keep / Swap?"
.claude/rules/answer-simple/clear-questions-to-user.md — full шаблон самопроверки, описание триггера инцидента, integration с octocode MCP~/.claude/projects/<encoded-cwd>/memory/feedback_no-jargon-questions-to-user.md — historical context (пользовательский фидбек который привёл к созданию extension).claude-plugin/hooks.json; tool at tools/answer-simple/.specs/answer-simple/ — full 4-phase spec с FR/NFR/AC/Design/TASKSallowed-tools: Read)npx claudepluginhub stgmt/dev-pomogator --plugin dev-pomogatorGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.