agentleFS
IulaiJediIulaiJedi/sdd-skill/SKILL.md

sdd

Skill2 starsChanged 25 days agoMITView on GitHub

SDD-конвейер с агентами, от идеи до влитых тикетов — setup репозитория → интервью раундами с рекомендациями и макетами → спека в трекере → трассирующие тикеты → исполнители в свежих контекстах и своих worktree → линейное слияние, живая передача и приёмка «той же дверью». Use when the user wants a feature or product built end-to-end «по SDD», asks to «запусти разработку сам» after a design talk, or wants plan-then-build with agents. Orchestrates the mattpocock skills and does not replace them.

20 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use bdd, migrate and 3 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • TashanGKDSkill

    bdd

    行为驱动开发(BDD)流程助手。用 Given-When-Then 描述验收标准,包含 Feature 文件管理、步骤定义实现。用户提到 BDD、验收测试、Gherkin 时使用。

    Also in 3 projects that use this

  • tuistSkill

    migrate

    Migrates existing Xcode projects to Tuist generated workspaces with build and run validation, external dependency mapping, and migration checklists. Use when adopting Tuist for an existing app or converting a hand-edited Xcode project to generated projects.

    Also in 4 projects that use this

  • BlockSkill

    plan

    Draft a TDD, PRD, or lightweight plan in the conversation without committing it.

    Also in 3 projects that use this

  • Hugging FaceSkill

    implement

    Make tests pass. Invoke after /write-tests produces failing tests.

    Also in 3 projects that use this

  • GoogleSkill

    tdd

    Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.

    Also in 4 projects that use this

The file

Files
SKILL.md

SDD с агентами

Надстройка над конвейером mattpocock: ask-matt описывает сам поток, здесь — как его вести. Оператор принимает решения одним «ок», факты добываются сами, вкус решается глазами, реализацию делают агенты в свежих контекстах, а контроль остаётся у человека. Ведущий набор на всё время работы — mattpocock; другие наборы не подмешиваются (правило «один набор на задачу»: смешанный конвейер — известный источник непредсказуемого поведения).

Роли

  • Оператор решает и принимает. Ему приносят одну рекомендацию, не меню; «ок» значит «принято всё».
  • Координатор (ты) ведёт конвейер: добывает факты, рекомендует, пишет документы, запускает исполнителей, вливает, проверяет, отчитывается коротко и по факту. Рабочая копия репозитория принадлежит координатору; исполнители живут в своих worktree.
  • Исполнитель — свежий агент на один тикет. Знает только тикет, спеку, словарь, ADR и правила репозитория; коммитит в свою ветку, не пушит.

Шаги

setup-matt-pocock-skills, to-spec и to-tickets координатор ведёт сам, читая их SKILL.md. В mattpocock 1.2.3 они помечены disable-model-invocation, и инструмент Skill их не запускает — это не повод останавливать конвейер и отдавать команды оператору. Так конвейер и шёл с 25.09.2026 (reels-agent), а 15.10.2026 оператор подтвердил прямо: «я тебе говорю ты запускаешь, такое всегда было».

1. Репозиторий готов к конвейеру

setup-matt-pocock-skills в репозитории, где будет жить код: трекер (GitHub Issues, если есть remote), метки триажа, single-context. Репозиторий без CLAUDE.md — сначала гигиенический аудит: настоящие пути и команды, рецепты, стирающие данные, расхождения документов с продом, правила, застрявшие в памяти агента. Находки ложатся в CLAUDE.md. Документ проекта о границах агента (CONSTITUTION.md и подобные) читается здесь, до первого действия, которое может в него попасть, а не после него. Черновики файлов показать оператору; после «ок» записать, команды из документов прогнать, всё закоммитить одним коммитом. Готово: CLAUDE.md и docs/agents/*.md в репозитории, коммит есть, каждая команда из документов запущена и работает, границы агента прочитаны.

2. Интервью до пустого фронтира

grill-with-docs по правилам interview.md: раунды по фронтиру, каждый вопрос с рекомендацией, простым языком; факты — сам, включая research фоновым агентом; вкус — макетами и картой решений; словарь и ADR пишутся по ходу. Готово: ни одной ветки дерева решений, где что-то предполагается молча; термины в CONTEXT.md; ADR на каждое решение, которое будущий читатель захочет «починить».

3. Швы согласованы

До спеки назвать оператору места для автотестов простыми словами — чистые модули без окна, сети и процессов — и то, что проверяется только руками «той же дверью, что пользователь». Этого требует to-spec. Готово: оператор сказал «ок» на список швов.

4. Спека в трекере

to-spec: issue с меткой ready-for-agent, со ссылками на CONTEXT.md, ADR, отчёты исследования и макеты. Документы, написанные во время интервью, закоммичены. Готово: номер issue известен, git status чист по документам.

5. Тикеты — трассирующие ломтики

to-tickets: список показать оператору до публикации — название, блокеры, что даёт каждый; после «ок» опубликовать блокеры первыми с нативными зависимостями трекера (coordinator.md, «Публикация тикетов»). Работа в двух репозиториях — тикеты всё равно в одном трекере, репозиторий назван в заголовке тикета. Тикеты — на доску задач проекта (boards.md). Готово: все тикеты опубликованы, у каждого верные блокеры, фронтир очевиден.

6. Передача заведена

До первого исполнителя — документ передачи в репозитории по handoff.md. Он живой: не пишется перед концом, а обновляется после каждого слияния. Лимит модели, исчерпанный контекст и закрытый терминал приходят без предупреждения, поэтому свежесть документа — единственное, что делает обрыв дешёвым. Готово: документ закоммичен, в нём таблица тикетов, ветки и рабочие копии, план на остаток и разрешения оператора. Свежесть документа стережёт хук handoff-stale.sh на Stop и PreCompact. Рядом с передачей — доски проекта для оператора: задачи на GitHub Projects и схемы в ExcaliDash, «где мы» и «архитектура» (boards.md).

7. Реализация исполнителями

На каждый тикет фронтира — свой исполнитель (Agent, general-purpose, в фоне) с промптом по implement-agent-prompt.md. Каждому своя worktree, включая того, кто «работает в основной ветке»: основная копия остаётся координатору. Параллельно идут только тикеты без общих файлов; больше исполнителей, чем успеваешь слить, не запускать. Готово: отчёт каждого запущенного исполнителя получен.

8. Приём и слияние

По coordinator.md: проверить утверждения отчёта на целевой ветке после слияния, влить линейно, убрать worktree, обновить окружение, закрыть найденные исполнителем дыры сразу отдельным коммитом, спорное — оператору списком с рекомендацией, тикет закрыть с доказательствами.

Гоняются ВСЕ проверки репозитория, а не только те, что относятся к папке тикета. Линтер, объявленный «сайтовым», может проверять и бота; тикет, тронувший одну папку, портит число в другой. Числа для закрытия снимаются на целевой ветке своими руками — число из отчёта исполнителя снято в его worktree и уже неверно. Пересчитать фронтир, запустить следующих, обновить передачу и доски (boards.md). Готово: целевая ветка зелёная, тикет закрыт хешами и замерами, передача свежая.

9. Ворота человека

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

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

Разрешения спрашиваются один раз на класс действий, записываются и не переспрашиваются. Первый раз: пуш, публикация, выпуск, выкатка, деньги, боевые серверы, миграции, правка CLAUDE.md, изменения на машине оператора. Получив разрешение, координатор делает эти хлопоты сам; возвращать человека к рутине руками — та ошибка, ради которой правило и записано. К оператору остаются продуктовые решения и то, где нужны лично его учётные данные. Учётные данные не запрашиваются в переписке никогда: секрет вводится там, где он читается из stdin или из формы. Появился в переписке — не использовать, сказать прямо и посоветовать ротацию.

10. Выкатка

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

Состояние откатывается не кодом. Миграции, боевые данные, применённые ключи и включённые продажи git revert не возвращает. Перед необратимым — снимок (дамп базы, копия папки вне проекта), путь к нему — в передачу той же строкой. Миграции применяются по одной, с остановкой на первом ненулевом коде, и проверяются запросом, а не доверием к «код 0».

Внешний шаг, упёршийся в чужой секрет, сначала измеряется, а потом отдаётся человеку. Одна живая проба показывает, нужен ли он вообще: 401 — негодный ключ, и тогда визард; 403 — права; ответ 200 — человек не нужен. Отдавать оператору работу, которая может оказаться лишней, — та же трата, что делать её вслепую.

11. След

В память агента: где спека, тикеты и передача, что оператор разрешил и запретил, какие варианты отвергнуты и почему. Память переживает сессию, но привязана к машине и не видна человеку — она дополняет передачу, а не заменяет её. Свои ошибки — оператору сразу, с последствием и предложением, как жить дальше.

Урок, купленный болью, проходится по продукту. Правило, записанное про свою работу («экзит-код читается без хвоста команд»), нарушается тем же продуктом в строке, которую он запускает у пользователя. Записав урок, один раз поискать, не делает ли продукт того же самого. Правило, которое можно проверить машиной, лучше держать хуком, а не памятью: PreToolUse останавливает то, о чём иначе вспоминают после.

Файлы

  • interview.md — раунды, перепитч, макеты, карта решений, фоновое исследование.
  • implement-agent-prompt.md — шаблон промпта исполнителя.
  • coordinator.md — публикация тикетов, worktree, запуск, приём, слияние, обрыв исполнителя, отчёт оператору.
  • handoff.md — живой документ передачи: что в нём и когда обновляется.
  • boards.md — доски проекта для оператора: задачи на GitHub Projects, схемы в ExcaliDash, когда обновлять.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.