Спецификация из разговора
Превращает текущий разговор в спецификацию и публикует её в трекере задач проекта без лишних вопросов.
- Что делает
- Превращает текущий разговор в спецификацию и публикует её в трекере задач проекта без лишних вопросов.
- Когда брать
- Когда функциональность уже обсуждена и нужно оформить её в спецификацию для разработки: с пользовательскими историями и решениями по тестам.
- Когда не брать
- Если обсуждение ещё не состоялось: этот скилл не интервьюирует, а только обобщает уже сказанное.
- Пример запроса
- Оформи наш разговор о личном кабинете клиента в спецификацию и опубликуй её в трекере задач.
- Нужно подключить
- репозиторий с кодом, трекер задач проекта
- Работает лучше с
- словарь терминов и ADR проекта
Как включить
- Скачайте архив и распакуйте его.
- Положите папку
to-specв~/.agents/skills/. - Вызовите скилл командой
$to-specили найдите его через/skills.
Текст
---
name: to-spec
description: "Преврати текущий разговор в спецификацию и опубликуй её в трекере задач проекта: без интервью, только обобщение того, что вы уже обсудили."
disable-model-invocation: true
---
Этот скилл берёт контекст текущего разговора и твоё понимание кодовой базы и составляет по ним спецификацию. НЕ опрашивай пользователя; просто обобщи то, что ты уже знаешь.
Трекер задач и словарь меток для разбора тикетов (triage) должны были тебе передать. Если нет — скажи пользователю запустить /setup-matt-pocock-skills.
Процесс
- Изучи репозиторий, чтобы понять текущее состояние кодовой базы, если ещё этого не сделал. Используй в спецификации лексику словаря терминов проекта (domain glossary) и учитывай ADR в той области, которой касаешься.
- Наметь швы (seams), на которых будешь тестировать функциональность. Существующие швы предпочтительнее новых. Выбирай самый высокий из возможных швов. Если нужны новые швы, предлагай их в самой высокой из возможных точек. Чем меньше швов по всей кодовой базе, тем лучше — идеальное число равно одному.
Сверься с пользователем, совпадают ли эти швы с его ожиданиями.
- Напиши спецификацию по шаблону ниже, затем опубликуй её в трекере задач проекта. Поставь метку
ready-for-agent— дополнительный разбор тикета не нужен.
<spec-template>
Постановка проблемы
Проблема, с которой сталкивается пользователь, — с его точки зрения.
Решение
Решение проблемы — с точки зрения пользователя.
Пользовательские истории
ДЛИННЫЙ нумерованный список пользовательских историй. Каждая история — в формате:
- Как <действующее лицо>, я хочу <функцию>, чтобы <выгода>
<user-story-example>
- Как клиент мобильного банка, я хочу видеть остаток на своих счетах, чтобы принимать более взвешенные решения о тратах
</user-story-example>
Список пользовательских историй должен быть предельно обширным и охватывать все стороны функциональности.
Решения по реализации
Список принятых решений по реализации. В него могут входить:
- модули, которые будут созданы или изменены
- интерфейсы изменяемых модулей
- технические уточнения от разработчика
- архитектурные решения
- изменения схемы
- контракты API
- конкретные взаимодействия
НЕ включай конкретные пути к файлам и фрагменты кода. Они очень быстро могут устареть.
Исключение: если прототип дал фрагмент, который кодирует решение точнее, чем проза (конечный автомат, редьюсер, схема, форма типа), вставь его внутрь соответствующего решения и коротко отметь, что он взят из прототипа. Оставь только те части, где заключено решение, — не рабочую демонстрацию, а самое важное.
Решения по тестированию
Список принятых решений по тестированию. Включи:
- описание того, что делает тест хорошим (тестируй только внешнее поведение, а не детали реализации)
- какие модули будут тестироваться
- прецеденты тестов (то есть похожие тесты в кодовой базе)
Что не входит в задачу
Описание того, что выходит за рамки этой спецификации.
Дополнительные заметки
Любые другие заметки о функциональности.
</spec-template>
Перевод: iiuniversitet. Оригинал: https://github.com/mattpocock/skills/tree/main/skills/engineering/to-spec, лицензия MIT. Изменения: перевод на русский язык.
Оригинал на английском
--- name: to-spec description: "Turn the current conversation into a spec and publish it to the project issue tracker: no interview, just synthesis of what you've already discussed." disable-model-invocation: true --- This skill takes the current conversation context and codebase understanding and produces a spec. Do NOT interview the user; just synthesize what you already know. The issue tracker and triage label vocabulary should have been provided to you. If not, tell the user to run `/setup-matt-pocock-skills`. ## Process 1. Explore the repo to understand the current state of the codebase, if you haven't already. Use the project's domain glossary vocabulary throughout the spec, and respect any ADRs in the area you're touching. 2. Sketch out the seams at which you're going to test the feature. Existing seams should be preferred to new ones. Use the highest seam possible. If new seams are needed, propose them at the highest point you can. The fewer seams across the codebase, the better - the ideal number is one. Check with the user that these seams match their expectations. 3. Write the spec using the template below, then publish it to the project issue tracker. Apply the `ready-for-agent` triage label - no need for additional triage. <spec-template> ## Problem Statement The problem that the user is facing, from the user's perspective. ## Solution The solution to the problem, from the user's perspective. ## User Stories A LONG, numbered list of user stories. Each user story should be in the format of: 1. As an <actor>, I want a <feature>, so that <benefit> <user-story-example> 1. As a mobile bank customer, I want to see balance on my accounts, so that I can make better informed decisions about my spending </user-story-example> This list of user stories should be extremely extensive and cover all aspects of the feature. ## Implementation Decisions A list of implementation decisions that were made. This can include: - The modules that will be built/modified - The interfaces of those modules that will be modified - Technical clarifications from the developer - Architectural decisions - Schema changes - API contracts - Specific interactions Do NOT include specific file paths or code snippets. They may end up being outdated very quickly. Exception: if a prototype produced a snippet that encodes a decision more precisely than prose can (state machine, reducer, schema, type shape), inline it within the relevant decision and note briefly that it came from a prototype. Trim to the decision-rich parts, not a working demo, just the important bits. ## Testing Decisions A list of testing decisions that were made. Include: - A description of what makes a good test (only test external behavior, not implementation details) - Which modules will be tested - Prior art for the tests (i.e. similar types of tests in the codebase) ## Out of Scope A description of the things that are out of scope for this spec. ## Further Notes Any further notes about the feature. </spec-template>
Источник: skills / to-spec ↗. Ссылка проверена 2026-10-11.