Когда это нужноWhen to reach for itКоли це потрібно
Очередь тикетов и агент, которого можно оставить одного. Для одного конкретного тикета есть /spec-all, для одной новой идеи - /spec; если вся очередь уже ждёт людей, разбирать нечего, прочитайте прошлый отчёт.A queue of tickets and an agent you can leave alone. For one specific ticket use /spec-all, for a single new idea use /spec; if the whole queue is already blocked on humans there is nothing to drain, so read the last report instead.Черга тікетів і агент, якого можна лишити самого. Для одного конкретного тікета є /spec-all, для однієї нової ідеї - /spec; якщо вся черга вже чекає на людей, розбирати нічого, прочитайте попередній звіт.
Требования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/backlog/SKILL.md
Настоящий прогон правит файлы тикетов и код через /spec-all, пока никто не смотрит; --dry-run сначала покажет порядок, который он выбрал бы, и ничего не изменит. Если крутить цикл в одной сессии, контекст растёт с каждым тикетом, а стоимость растёт быстрее очереди (docs/COST.md).A real run edits ticket files and code through /spec-all while nobody watches; --dry-run first shows the order it would take and changes nothing. Looped inside one session, the context grows with every ticket and the cost grows faster than the queue (docs/COST.md).Справжній прогін править файли тікетів і код через /spec-all, поки ніхто не дивиться; --dry-run спершу покаже порядок, який він обрав би, і нічого не змінить. Якщо крутити цикл в одній сесії, контекст росте з кожним тікетом, а вартість росте швидше за чергу (docs/COST.md).
ШагиStepsКроки
- Запустите
/backlogили сначала/backlog --dry-run, чтобы увидеть, что он выбрал бы и продвинул.Run/backlog, or/backlog --dry-runfirst to see what it would select and advance.Запустіть/backlogабо спершу/backlog --dry-run, щоб побачити, що він обрав би й просунув. - Он собирает подходящее множество из всех тикетов в папке планов. Подходит живая стадия конвейера (
Draft,Approved,Tactical,In Progress,Implemented,Partial,Broken), если тикета нет в кэше пропуска (skip-cache) этого прогона.BlockQuestions,BlockNeedUserTestиBlockExternalуходят в отчёт;BlockByOtherTaskподходит, только когда его блокер дошёл доVerified.It builds the eligible set from every ticket in the plan directory. Eligible means a live pipeline stage (Draft,Approved,Tactical,In Progress,Implemented,Partial,Broken) and not in this run's skip-cache.BlockQuestions,BlockNeedUserTestandBlockExternalgo to the report bucket;BlockByOtherTaskis eligible only once its blocker has reachedVerified.Він збирає придатну множину з усіх тікетів у теці планів. Придатна жива стадія конвеєра (Draft,Approved,Tactical,In Progress,Implemented,Partial,Broken), якщо тікета немає в кеші пропуску (skip-cache) цього прогону.BlockQuestions,BlockNeedUserTestіBlockExternalідуть до звіту;BlockByOtherTaskпридатний, лише коли його блокер дійшов доVerified. - Блокер читается из токена
Blocked-by:в шапке тикета и больше ниоткуда; идентификаторы, упомянутые в тексте, не считаются. Отсутствие токена - дефект тикета: оно трактуется какnone, тикет продвигается, а отчёт об этом сообщает. Это мягкое исключение: оно лишь решает, что/backlogберёт в работу, тогда какCarried-to:- жёсткий барьер, который/spec-checkприменяет при закрытии.A blocker is read from the header'sBlocked-by:token and from nowhere else; ids mentioned in prose do not count. A missing token is a defect in the ticket: it is treated asnone, the ticket is advanced, and the report says so. This exclusion is soft: it only decides what/backlogpicks up, whileCarried-to:is a hard gate that/spec-checkenforces at closure.Блокер читається з токенаBlocked-by:у шапці тікета й більше ні з чого; ідентифікатори, згадані в тексті, не рахуються. Відсутність токена - дефект тікета: її трактують якnone, тікет просувається, а звіт про це повідомляє. Це м'яке виключення: воно лише вирішує, що/backlogбере в роботу, тоді якCarried-to:- жорсткий бар'єр, який/spec-checkзастосовує під час закриття. - Он выбирает наивысший
Priority. Ничью решает самый продвинутый статус (ближе кVerifiedидёт первым, чтобы работа заканчивалась раньше, чем начнётся новая), затем идентификатор. Выбор он называет одной строкой:ID (Priority P, status) - why now.It selects the highestPriority. Ties go to the furthest-along status (closer toVerifiedfirst, so work finishes before new work starts), then to the ID. It states the choice in one line:ID (Priority P, status) - why now.Він обирає найвищийPriority. Нічию вирішує найпросунутіший статус (ближчий доVerifiedйде першим, щоб робота закінчувалась раніше, ніж почнеться нова), потім ідентифікатор. Вибір він називає одним рядком:ID (Priority P, status) - why now. - Он передаёт тикет в
/spec-all ID, и тот входит в конвейер на нужной стадии;Draft, например заготовка от/park, входит на/spec ID, который раскрывает его на месте. Остановки на уровне тикета остаются в силе: нерешённый вопрос по интерфейсу, открытый обязательный вопрос, непроверенный блокер, неоднозначность. Когда одна из них срабатывает,/backlogвас не спрашивает: он фиксирует получившееся состояниеBlock*с короткой заметкой в строке статуса и идёт дальше.It hands the ticket to/spec-all ID, which re-enters the pipeline at the right stage; aDraftsuch as a/parkstub goes in at/spec ID, which expands it in place. The per-ticket stops still hold: an unresolved UI decision, an open required question, an unchecked blocker, an ambiguity. When one fires,/backlogdoes not ask you; it records the resultingBlock*state, with its one-line note on the status line, and moves on.Він передає тікет до/spec-all ID, і той входить у конвеєр на потрібній стадії;Draft, наприклад заготовка від/park, входить на/spec ID, який розгортає його на місці. Зупинки на рівні тікета лишаються чинними: невирішене питання щодо інтерфейсу, відкрите обов'язкове питання, неперевірений блокер, неоднозначність. Коли одна з них спрацьовує,/backlogвас не питає: він фіксує отриманий станBlock*з короткою приміткою в рядку статусу й іде далі. - Если тикет дошёл до
Block*, ждущего человека, или вообще не сдвинулся, его идентификатор попадает в skip-cache прогона и больше в нём не выбирается, поэтому цикл не крутится вхолостую на тикете, который не движется. Тикет, который продвинулся хотя бы на одну стадию, остаётся подходящим.If the ticket reached a human-gatedBlock*state, or could not be advanced at all, its ID goes into the run's skip-cache and is never selected again in this run, so the loop cannot spin on a ticket that will not move. A ticket that progressed, even by one stage, stays eligible.Якщо тікет дійшов доBlock*, що чекає на людину, або взагалі не зрушив, його ідентифікатор потрапляє до skip-cache прогону й більше в ньому не обирається, тож цикл не крутиться марно на тікеті, який не рухається. Тікет, що просунувся хоча б на одну стадію, лишається придатним. - Он возвращается к первому шагу и останавливается, когда подходящих тикетов не осталось: каждый либо дошёл до
Verified, либо лежит в skip-cache.It returns to the first step and stops when the eligible set is empty: each ticket has either reachedVerifiedor sits in the skip-cache.Він повертається до першого кроку й зупиняється, коли придатних тікетів не лишилося: кожен або дійшов доVerified, або лежить у skip-cache. - Единственное, что вы читаете, - один отчёт из трёх разделов.
Advanced: каждый тикет с начальным и конечным статусом и строкой о том, что его сдвинуло.Needs you: каждый тикет, ждущий человека, по одной строке с действием, сгруппированные по причине (решение дляBlockQuestions, проверка руками дляBlockNeedUserTest, зависимость дляBlockExternal).Stuck: то, что не продвинулось по нечеловеческой причине, с упавшей проверкой.The only output you read is one report with three buckets.Advanced: each ticket with its start and end status and one line on what moved it.Needs you: every human-gated ticket, one actionable line each, grouped by reason (the decision forBlockQuestions, the hands-on check forBlockNeedUserTest, the dependency forBlockExternal).Stuck: what could not advance for a non-human reason, with the failing check.Єдине, що ви читаєте, - один звіт із трьох розділів.Advanced: кожен тікет із початковим і кінцевим статусом та рядком про те, що його зрушило.Needs you: кожен тікет, що чекає на людину, по одному рядку з дією, згруповані за причиною (рішення дляBlockQuestions, перевірка руками дляBlockNeedUserTest, залежність дляBlockExternal).Stuck: те, що не просунулося з нелюдської причини, з проваленою перевіркою.
Каждый тикет, который агент мог сдвинуть, продвинут настолько, насколько возможно. Вы получаете один отчёт из трёх разделов: Advanced, Needs you и Stuck. Needs you - ваш список дел: каждая строка называет решение, проверку руками или внешнюю зависимость, которую можете дать только вы.Every ticket the agent could move has advanced as far as it can. You get one report in three buckets: Advanced, Needs you and Stuck. Needs you is your to-do list: each line names the decision, the hands-on check or the outside dependency that only you can supply.Кожен тікет, який агент міг зрушити, просунуто настільки, наскільки можливо. Ви отримуєте один звіт із трьох розділів: Advanced, Needs you і Stuck. Needs you - ваш список справ: кожен рядок називає рішення, перевірку руками чи зовнішню залежність, які можете дати лише ви.
СоветыTipsПоради
- Лучше крутить в цикле процесс, а не сессию. Если в вашей среде есть headless-режим, вынесите выбор, конвейер и учёт в скрипт-драйвер вне сессии: на каждый тикет свежий процесс, а skip-cache и разделы отчёта лежат в файле. Цикл внутри сессии остаётся верным для короткого прогона под вашим присмотром. См. цикл без присмотра.Prefer looping the process, not the session. Where your runtime has a headless mode, run selection, the pipeline and the record-keeping as a driver script outside the session: one fresh process per ticket, the skip-cache and the report buckets in a file. The in-session loop stays right for a short run you watch. See the unattended loop.Краще крутити в циклі процес, а не сесію. Якщо у вашому середовищі є headless-режим, винесіть вибір, конвеєр і облік у скрипт-драйвер поза сесією: на кожен тікет свіжий процес, а skip-cache і розділи звіту лежать у файлі. Цикл усередині сесії лишається слушним для короткого прогону під вашим наглядом. Див. цикл без нагляду.
--dry-runпрокручивает выбор на имитированном skip-cache и печатает порядок, который он выбрал бы, и разделы отчёта, которые заполнил бы. Файлов тикетов он не трогает и ни один спека-навык не вызывает.--dry-runloops the selection against a simulated skip-cache and prints the order it would take and the report buckets it would fill. It touches no ticket file and invokes no spec skill.--dry-runпрокручує вибір на імітованому skip-cache й друкує порядок, який він обрав би, та розділи звіту, які заповнив би. Файлів тікетів він не торкається й жодної навички спеки не викликає.- Чтобы опустошить
Needs you, разберите тикетыBlockNeedUserTestодной партией: выполните каждую записанную ручную проверку, отметьте её пункт в## Manual checksтикета с тем, что вы увидели, затем проведите повторный аудит через /spec-check. Порядок описан в жизненном цикле спеки.To clear theNeeds youlist, sweep theBlockNeedUserTesttickets as one batch: run each recorded manual check, tick its line in the ticket's## Manual checkswith what you saw, then re-audit with /spec-check. The method is in the spec lifecycle.Щоб спорожнитиNeeds you, розберіть тікетиBlockNeedUserTestодною партією: виконайте кожну записану ручну перевірку, позначте її пункт у## Manual checksтікета з тим, що ви побачили, потім проведіть повторний аудит через /spec-check. Порядок описано в життєвому циклі спеки. - Тикет, который аудит не может закрыть, не мечется между аудитом и его исправлением. /spec-fix останавливается, если ничего не исправил, и ставит
BlockQuestions, когда остались пункты для решения, а/spec-checkэтот статус сохраняет, так что тикет попадает вNeeds you.A ticket the audit cannot clear does not bounce between the audit and its fix-up. /spec-fix stops when it fixed nothing and setsBlockQuestionswhere decision items remain, and/spec-checkkeeps that status, so the ticket reachesNeeds you.Тікет, який аудит не може закрити, не мече між аудитом і його виправленням. /spec-fix зупиняється, якщо нічого не виправив, і ставитьBlockQuestions, коли лишилися пункти для рішення, а/spec-checkцей статус зберігає, тож тікет потрапляє доNeeds you. - В заголовке навыка стоит
disable-model-invocation: true, поэтому агент не запускает/backlogсам: прогон без присмотра начинается, только когда вы набираете команду.The skill is markeddisable-model-invocation: truein its frontmatter, so the agent does not start/backlogby itself: an unattended run begins only when you type the command.У заголовку навички стоїтьdisable-model-invocation: true, тому агент не запускає/backlogсам: прогін без нагляду починається, лише коли ви набираєте команду.
Связанные функцииRelated functionsПов'язані функції
- Провести фичу от идеи до проверенного тикета одной командойTake a feature from idea to a verified ticket with one commandПровести фічу від ідеї до перевіреного тікета однією командоюОценивает размер задачи, затем по очереди запускает исследование, спеку, план, реализацию и аудит, останавливаясь только на настоящих решениях.Sizes the task, then runs research, spec, plan, build and audit in order, pausing only where a real decision is needed.Оцінює розмір задачі, потім по черзі запускає дослідження, спеку, план, реалізацію й аудит, зупиняючись лише на справжніх рішеннях.
- Провести тикет по жизненному циклу с проверкой на каждом шаге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-файл із рядком статусу. Кожна навичка вимагає вхідний статус і видає вихідний, тож етап не можна пропустити на око.
- Пустить работу без присмотра циклом свежих процессовRun unattended work as a loop of fresh processesПустити роботу без нагляду циклом свіжих процесівДрайвер вне сессии отдаёт по одному рабочему элементу свежему headless-процессу, а состояние хранится в файлах, поэтому каждый элемент начинается с пустого контекста.A driver outside the session feeds one work item at a time to a fresh headless process, with state kept in files, so each item starts on an empty context.Драйвер поза сесією віддає по одному робочому елементу свіжому headless-процесу, а стан зберігається у файлах, тож кожен елемент починається з порожнього контексту.
- Проверить реализацию по спеке и выставить статус тикета по факту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.
- Превратить описание фичи в утверждённую стратегическую спекуTurn a feature description into an approved strategic specПеретворити опис фічі на затверджену стратегічну спеку
/specпишет, что и зачем нужно в фиче, без имён классов и путей к файлам, утверждает и передаёт/spec-tech. Мелкую задачу делает на месте./specwrites the what and why of a feature with no class names or file paths, approves it and passes it to/spec-tech. A small task is built in place./specпише, що й навіщо потрібно у фічі, без назв класів і шляхів до файлів, затверджує та передає/spec-tech. Дрібну задачу робить на місці.