Когда это нужноWhen to reach for itКоли це потрібно
Тикет стоит на Tactical или In Progress, и его нужно собрать или продолжить: «spec-dev», «реализуй этот план», «продолжи тикет». Остановленный запуск продолжается с первого невыполненного шага.A ticket sits at Tactical or In Progress and you want it built or continued: 'spec-dev', 'implement this plan', 'continue the ticket'. A run that stopped picks up from the first step that is not done.Тікет стоїть на Tactical або In Progress, і його треба зібрати чи продовжити: «spec-dev», «реалізуй цей план», «продовж тікет». Зупинений запуск продовжується з першого невиконаного кроку.
ТребованияRequirementsВимоги
- Где доступноAvailable inДе доступно
- Каждая загрузка kitEvery download of the kitКожне завантаження kit
- К чему обращаетсяWhat it touchesДо чого звертається
- Читает файлы проектаReads the files of your projectЧитає файли проєкту
- Правит файлы проектаEdits files in your projectЗмінює файли проєкту
- Запускает команды (проверки, git)Runs commands (checks, git)Запускає команди (перевірки, git)
- Работает сWorks withПрацює з
- Сделано для Claude Code; другие агенты адаптируютBuilt for Claude Code; other agents adapt itЗроблено для Claude Code; інші агенти адаптують
- Где выполняются шагиWhere the steps happenДе виконуються кроки
- Чат вашего агента и ваши собственные файлы. Ни то ни другое не интерфейс этого сайта, поэтому шаги описаны текстом, а не скриншотами.Your agent's chat and your own files. Neither is an interface of this site, so the steps are text and not screenshots.Чат вашого агента і ваші власні файли. Ні те, ні інше не є інтерфейсом цього сайту, тому кроки описано текстом, а не скриншотами.
- Где это лежит в kitWhere it lives in the kitДе це лежить у kit
.claude/skills/spec-dev/SKILL.md
Он ничего не угадывает и останавливается с докладом на неоднозначной подсказке, проваленной проверке шага или фазы, зоне только для чтения, нарушении бюджета размера, недоописанной смене схемы или связок, отсутствующем символе, невыполненной зависимости, обращении к внешней системе, пробеле в локализации и отсутствии внешней зависимости.It never guesses. On an ambiguous prompt, a failed step or phase check, a read-only zone, a size budget violation, an unspecified schema or dependency-injection change, a missing symbol, an unmet dependency, an external-system touch, a localization gap or a missing external dependency, it stops and reports.Він нічого не вгадує і зупиняється з доповіддю на неоднозначній підказці, проваленій перевірці кроку чи фази, зоні лише для читання, порушенні бюджету розміру, недоописаній зміні схеми чи зв'язків, відсутньому символі, невиконаній залежності, зверненні до зовнішньої системи, прогалині в локалізації та відсутності зовнішньої залежності.
ШагиStepsКроки
- Запустите
/spec-dev T0042, чтобы продолжить с первого невыполненного шага. Варианты:--phase NNдля всех оставшихся шагов одной фазы,--step NN.Mдля одного шага,--dry-run, чтобы напечатать план и ничего не записывать,--prove-smoke, чтобы после всех фаз и до смены статуса запустить/prove.Run/spec-dev T0042to continue from the first step that is not done. Variants:--phase NNfor all remaining steps of one phase,--step NN.Mfor a single step,--dry-runto print the plan and write nothing,--prove-smoketo run/proveafter all phases and before the status flips.Запустіть/spec-dev T0042, щоб продовжити з першого невиконаного кроку. Варіанти:--phase NNдля всіх решти кроків однієї фази,--step NN.Mдля одного кроку,--dry-run, щоб надрукувати план і нічого не записувати,--prove-smoke, щоб після всіх фаз і до зміни статусу запустити/prove. - Он проверяет статус.
TacticalиIn Progressидут дальше, первый выполненный шаг переводитTacticalвIn Progress.DraftиApprovedпрерывают работу: тактического каталога нет, нужен/spec-tech(Draftсперва/spec <ID>:/spec-techего отклоняет).ImplementedиVerifiedпрерывают: фича закрыта.BlockByOtherTask,BlockQuestionsиBlockExternalпрерывают, пока блокировка не снята.BlockNeedUserTestостанавливает с заметкой: подтвердите результат ручной проверки.It checks the status first.TacticalandIn Progressproceed, and the first executed step movesTacticaltoIn Progress.DraftandApprovedabort because there is no tactical folder: run/spec-techfirst, after/spec <ID>for aDraft, which/spec-techrefuses.ImplementedandVerifiedabort, the feature is closed.BlockByOtherTask,BlockQuestionsandBlockExternalabort until resolved.BlockNeedUserTeststops with a note: you must confirm the manual result first.Він перевіряє статус.TacticalіIn Progressідуть далі, перший виконаний крок переводитьTacticalвIn Progress.DraftіApprovedпереривають роботу: тактичного каталогу немає, потрібен/spec-tech(Draftспершу/spec <ID>:/spec-techйого відхиляє).ImplementedіVerifiedпереривають: фічу закрито.BlockByOtherTask,BlockQuestionsіBlockExternalпереривають, доки блокування не знято.BlockNeedUserTestзупиняє із нотаткою: підтвердьте результат ручної перевірки. - При
PartialилиBrokenзапустите/spec-fixили примените пункты действий аудита и перечитайте статус; если он всё ещё сломан, команда перечисляет оставшиеся FAIL и останавливается. Каждый блокер до реализации вINDEX.mdдолжен быть отмечен, иначе запуск прерывается с текстом блокера.ForPartialorBroken, run/spec-fixor apply the audit's action items, then re-read the status; if it is still broken, it lists the remaining FAILs and stops. Every pre-implementation blocker inINDEX.mdmust be ticked, otherwise the run aborts with the blocker text.ЗаPartialабоBrokenзапустіть/spec-fixчи застосуйте пункти дій аудиту й перечитайте статус; якщо він усе ще зламаний, команда перелічує решту FAIL і зупиняється. Кожен блокер до реалізації вINDEX.mdмає бути відмічений, інакше запуск переривається з текстом блокера. - Перед каждым шагом он перечитывает файл фазы (шаг, который уже не
[ ]и не[~], пропускается как решённый заранее), убеждается, что шаг изDepends on:отмечен[x] doneи что каждый символ из подсказки существует по указанному пути. Неразрешённый заполнитель прерывает работу и требует обновить спеку; если нужен ваш ответ, статус становитсяBlockQuestions. Зона только для чтения прерывает работу, а файл сверх бюджета сначала копируется в каталог черновиков.Before each step it re-reads the phase file (a step no longer[ ]or[~]is skipped as pre-resolved), confirms theDepends on:step is[x] doneand that every symbol the prompt names exists at the stated path. An unresolved placeholder aborts and asks for a spec update; if it needs your input, the status becomesBlockQuestions. A read-only zone aborts, and an over-budget file is first backed up to the scratch directory.Перед кожним кроком він перечитує файл фази (крок, що вже не[ ]і не[~], пропускається як вирішений заздалегідь), переконується, що крок ізDepends on:відмічений[x] doneі що кожен символ із підказки існує за вказаним шляхом. Нерозв'язаний заповнювач перериває роботу й вимагає оновити спеку; якщо потрібна ваша відповідь, статус стаєBlockQuestions. Зона лише для читання перериває роботу, а файл понад бюджет спершу копіюється до каталогу чернеток. - Он ставит шагу
[~] in progressи вносит правку строго в рамках подсказки: без рефакторинга вокруг, без лишних комментариев, без чистки посторонних импортов, без имён, которых нет в подсказке. Затем запускает предикатыVerification:этого шага. Все PASS - шаг получает[x] doneи строку в Step Log; любой FAIL оставляет[~], дописывает заметку о провале и жёстко останавливает работу.It sets the step to[~] in progressand applies the edit scoped strictly to the prompt: no surrounding refactor, no extra comments, no unrelated import cleanup, no name the prompt does not state. Then it runs the step'sVerification:predicates. All PASS makes the step[x] donewith a Step Log line; any FAIL leaves it at[~], appends the FAIL note and stops hard.Він ставить кроку[~] in progressі вносить правку суворо в межах підказки: без рефакторингу довкола, без зайвих коментарів, без чистки сторонніх імпортів, без імен, яких немає в підказці. Потім запускає предикатиVerification:цього кроку. Усі PASS - крок отримує[x] doneі рядок у Step Log; будь-який FAIL лишає[~], дописує нотатку про провал і жорстко зупиняє роботу. - Когда шаги фазы выполнены, он проверяет каждый критерий готовности фазы, включая самую узкую осмысленную проверку, которую называет фаза (компиляция или проверка типов, точечный тест или полная сборка, только если фаза затрагивает упаковку, ресурсы или связки). Код 0 ставит отметку; ненулевой дописывает хвост вывода и останавливает работу. Только когда отмечены все пункты, фаза помечается в
INDEX.mdкак Done.When a phase's steps are done it runs each phase done criterion, including the narrowest meaningful check the phase names (a compile or type-check, a targeted test, or the build only when the phase touches packaging, resources or wiring). Exit 0 ticks the box; non-zero appends the output tail and stops. Only when every box is ticked is the phase marked Done inINDEX.md.Коли кроки фази виконано, він перевіряє кожен критерій готовності фази, зокрема найвужчу змістовну перевірку, яку називає фаза (компіляція чи перевірка типів, точковий тест або повна збірка, лише якщо фаза зачіпає пакування, ресурси чи зв'язки). Код 0 ставить позначку; ненульовий дописує хвіст виводу й зупиняє роботу. Лише коли відмічено всі пункти, фаза позначається вINDEX.mdяк Done. - Если ручное тестирование входит в приёмку, последняя фаза в объёме сначала получает теги проверки: по одному на каждом входе изменённого потока во всех фазах, последними правками кода, до проверки фазы, чтобы один запуск проверил и код, и теги. С
--prove-smokeпосле всех фаз один раз запускается/prove --build, и его вердикт решает, можно ли менять статус (см. советы).If manual testing is part of the acceptance, the last in-scope phase gets the verification tags first: one at each changed-flow entry across all phases, as the final code edits, before the phase check, so one run validates code and tags. With--prove-smoke,/prove --buildthen runs once after all phases, and its verdict decides whether the status may flip (see the tips).Якщо ручне тестування входить до приймання, остання фаза в обсязі спершу отримує теги перевірки: по одному на кожному вході зміненого потоку в усіх фазах, останніми правками коду, до перевірки фази, щоб один запуск перевірив і код, і теги. З--prove-smokeпісля всіх фаз один раз запускається/prove --build, і його вердикт вирішує, чи можна змінювати статус (див. поради). - Статус становится
Implementedс датой или, если в приёмку входит ручное тестирование,BlockNeedUserTestс заметкой, что проверить, и разделом## Manual checksв стратегической спеке: по строке[ ]на всё, что должен увидеть человек. Затем запускается/spec-check, если только статус не сталBlockNeedUserTest: тогда работа останавливается и ждёт ручного результата либо запускает/prove, если есть цель.The status becomesImplementedwith a date or, when manual testing is part of the acceptance,BlockNeedUserTestwith a note on what to verify and a## Manual checkssection in the strategic spec, one[ ]line per thing a human must see. Then it runs/spec-check, unless the status went toBlockNeedUserTest: that stops and awaits the manual result, or runs/proveif a target is available.Статус стаєImplementedіз датою або, якщо до приймання входить ручне тестування,BlockNeedUserTestіз нотаткою, що перевірити, і розділом## Manual checksу стратегічній спеці: по рядку[ ]на все, що має побачити людина. Потім запускається/spec-check, хіба що статус ставBlockNeedUserTest: тоді робота зупиняється й чекає на ручний результат або запускає/prove, якщо є ціль.
Каждый шаг плана отмечен [x] done и имеет строку в Step Log, каждая фаза Done, а тикет стоит на Implemented или на BlockNeedUserTest с заметкой, что проверить, и разделом ## Manual checks. Если запуск остановился, провалившийся шаг остаётся на [~], а причина записана.Every step of the plan is [x] done with a Step Log line, every phase is Done and the ticket stands at Implemented, or at BlockNeedUserTest with a note on what to test and a ## Manual checks section. If the run stopped, the failing step is left at [~] and the reason is written down.Кожен крок плану позначено [x] done і має рядок у Step Log, кожна фаза Done, а тікет стоїть на Implemented або на BlockNeedUserTest із нотаткою, що перевірити, і розділом ## Manual checks. Якщо запуск зупинився, провалений крок лишається на [~], а причину записано.
СоветыTipsПоради
--prove-smokeдействует по вердикту одного запуска/prove --buildпосле всех фаз. PASS - идём дальше. DEFECT или COULD NOT VERIFY отменяют смену статуса и оставляютIn Progress, потому что недостижимая цель ничего не доказывает. NOT APPLICABLE - идём дальше, но записывается, что в этой конфигурации сценария нет, а не что проверка пройдена.--prove-smokeacts on the verdict of one/prove --buildrun after all phases. PASS proceeds. DEFECT or COULD NOT VERIFY cancels the status flip and leavesIn Progress, since an unreached target proves nothing. NOT APPLICABLE proceeds and is recorded as no scenario in this configuration, not as a pass.--prove-smokeдіє за вердиктом одного запуску/prove --buildпісля всіх фаз. PASS - ідемо далі. DEFECT або COULD NOT VERIFY скасовують зміну статусу й лишаютьIn Progress, бо недосяжна ціль нічого не доводить. NOT APPLICABLE - ідемо далі, але записується, що в цій конфігурації сценарію немає, а не що перевірку пройдено.- Этот навык никогда не выполняет
git commit,pushиrebase: коммиты - работа/git. Шаги нарезаны так, чтобы их можно было коммитить независимо, поэтому вы или/gitможете коммитить по шагу или по фазе, когда работа внесена.This skill never runsgit commit,pushorrebase: committing is the job of/git. Steps are sized to be independently committable, so you or/gitcan commit per step or per phase once the work is in.Ця навичка ніколи не виконуєgit commit,pushіrebase: коміти - робота/git. Кроки нарізано так, щоб їх можна було комітити незалежно, тож ви або/gitможете комітити по кроку чи по фазі, коли роботу внесено. - Теги проверки относятся только к
BlockNeedUserTest: никогда наImplemented, никогда по шагам, никогда после финальной сборки. Снимает их/spec-checkпри переходе вVerified.Verification tags belong only toBlockNeedUserTest: never atImplemented, never per step, never after the final build. Removal is the job of/spec-checkon theVerifiedtransition.Теги перевірки стосуються лишеBlockNeedUserTest: ніколи наImplemented, ніколи по кроках, ніколи після фінальної збірки. Знімає їх/spec-checkпід час переходу уVerified. - Если шаг оставляет без владельца код, ресурсы или зависимости, остаток удаляется в том же шаге. Перед удалением того, на что нет ссылок, поищите в каталоге планов заготовки активных тикетов, чтобы работа другого тикета не пропала. Сломанный вспомогательный скрипт репозитория, нужный шагу, чинят, а не обходят.When a step orphans code, resources or dependencies, the remnant is deleted in the same step. Before deleting anything with zero references, search the plan directory for active-ticket scaffolding so another ticket's in-flight work survives. A broken repo helper script that a step needs gets fixed, not worked around.Якщо крок залишає без власника код, ресурси чи залежності, залишок видаляється в тому самому кроці. Перед видаленням того, на що немає посилань, пошукайте в каталозі планів заготовки активних тікетів, щоб робота іншого тікета не зникла. Зламаний допоміжний скрипт репозиторію, потрібний кроку, лагодять, а не обходять.
- Step Log только дописывается: его не переписывают и не обновляют одной пачкой за несколько шагов. Шаг получает
[x]только когда каждый предикат вернул PASS в текущем запуске, а не когда это было задумано.The Step Log is append-only: never overwritten, and never one batched update for several steps. A step is[x]only when every predicate returned PASS in the current run, not when it was intended to.Step Log лише дописується: його не переписують і не оновлюють однією пачкою за кілька кроків. Крок отримує[x]лише коли кожен предикат повернув PASS у поточному запуску, а не коли це було задумано. - Завершение шага выполняется один раз на весь шаг, а не по файлам: добавьте его файлы в единственную запись журнала изменений тикета (если проект его ведёт), один раз перегенерируйте индекс или каталог, если изменился публичный интерфейс, и запустите самую узкую осмысленную проверку.A step's closure runs once for the whole step, not per file: add its files to the ticket's one changelog entry (if the project keeps one), regenerate the index or catalog once if a public interface changed, and run the narrowest meaningful check.Завершення кроку виконується один раз на весь крок, а не по файлах: додайте його файли до єдиного запису журналу змін тікета (якщо проєкт його веде), один раз перегенеруйте індекс чи каталог, якщо змінився публічний інтерфейс, і запустіть найвужчу змістовну перевірку.
- Обновления документации для пользователя идут после сборки и никогда не вызывают пересборку; какие из них требует изменение, заметное пользователю, перечисляет
/surfaces.User-facing doc updates run after the build and never trigger a rebuild;/surfaceslists which ones a user-visible change owes.Оновлення документації для користувача йдуть після збірки й ніколи не викликають перезбирання; які з них потребує зміна, помітна користувачеві, перелічує/surfaces. - Комментарий, который правка действительно требует, пишется на языке
<ARTIFACT_LANGUAGE>, объясняет зачем и касается только неочевидной логики. Если у проекта несколько вариантов форм-фактора, проверка перед каждой правкой убеждается, что шаг охватывает парный вариант того, что он правит.A comment the edit warrants is written in<ARTIFACT_LANGUAGE>, explains why, and covers only non-obvious logic. If the project has several form-factor variants, the guard before each edit confirms that the step covers the counterpart of the variant it edits.Коментар, якого правка справді потребує, пишеться мовою<ARTIFACT_LANGUAGE>, пояснює навіщо і стосується лише неочевидної логіки. Якщо проєкт має кілька варіантів форм-фактора, перевірка перед кожною правкою пересвідчується, що крок охоплює парний варіант того, що він править.
Связанные функцииRelated functionsПов'язані функції
- Разбить утверждённую спеку на поэтапный план с проверкой каждого шагаTurn an approved spec into a phased plan with a check on every stepРозбити затверджену спеку на поетапний план із перевіркою кожного кроку
/spec-techпишет тактический план: индекс и файлы фаз, каждый шаг кончается статической проверкой, а порядок фаз сам проверяется до смены статуса./spec-techwrites the tactical plan: an index and phase files, each step ending in a static check, with the phase order self-reviewed before the status flips./spec-techпише тактичний план: індекс і файли фаз, кожен крок закінчується статичною перевіркою, а порядок фаз сам перевіряється до зміни статусу. - Проверить реализацию по спеке и выставить статус тикета по фактуAudit a build against its spec and set the ticket status from realityПеревірити реалізацію за спекою й виставити статус тікета за фактомСверяет тикет с тем, что реально лежит в файлах, и выставляет статус: Verified, Partial или Broken, а пока открыта ручная проверка, BlockNeedUserTest.Audits a ticket against what the files really contain and sets its status: Verified, Partial or Broken, or BlockNeedUserTest while a manual check is open.Звіряє тікет із тим, що справді лежить у файлах, і виставляє статус: Verified, Partial чи Broken, а поки відкрита ручна перевірка, BlockNeedUserTest.
- Закрыть механические замечания аудита и перепроверить тикетClose the mechanical audit findings and re-audit the ticketЗакрити механічні зауваження аудиту й перевірити тікет зновуВыполняет пункты аудита, не требующие решений, остальные оставляет вам и, если что-то сдвинулось, возвращает тикет в /spec-check за новым вердиктом.Applies the audit action items that need no decision, lists the rest for you, and hands the ticket back to /spec-check for a fresh verdict once something moved.Виконує пункти аудиту, що не потребують рішень, решту лишає вам і, якщо щось зрушило, повертає тікет до /spec-check по новий вердикт.
- Запустить изменение и проверить, что оно правда работаетRun a change and see whether it actually worksЗапустити зміну й перевірити, що вона справді працюєЗапустить и посмотреть: проверка заканчивается одной строкой, PASS, DEFECT, COULD NOT VERIFY или NOT APPLICABLE, с путём к свидетельствам.Run the thing and observe it: the check ends in one line, PASS, DEFECT, COULD NOT VERIFY or NOT APPLICABLE, with the path to its evidence.Запустити й подивитися: перевірка закінчується одним рядком, PASS, DEFECT, COULD NOT VERIFY або NOT APPLICABLE, зі шляхом до свідчень.
- Провести тикет по жизненному циклу с проверкой на каждом шагеMove a ticket through the lifecycle with a gate at every stepПровести тікет життєвим циклом із перевіркою на кожному кроціТикет - это один Markdown-файл со строкой статуса. Каждый навык требует входной статус и выдаёт выходной, поэтому этап нельзя пропустить на глаз.A ticket is one Markdown file with a status line. Each skill requires an entry status and produces an exit status, so no stage is skipped on a hunch.Тікет - це один Markdown-файл із рядком статусу. Кожна навичка вимагає вхідний статус і видає вихідний, тож етап не можна пропустити на око.
Термины на этой страницеTerms on this pageТерміни на цій сторінці
- План (тактический план)Plan (tactical plan)План (тактичний план)
- ТикетTicketТікет
- СтатусStatusСтатус
- Статус блокировкиBlock statusСтатус блокування
- Зона только для чтенияRead-only zoneЗона лише для читання
- Лимит размера файлаSize budgetЛіміт розміру файлу
- Scratch (черновая папка)ScratchScratch (чернеткова тека)