Agent Dev 101

Модуль 02 · Урок 2.6

Урок 2.6. SDD Toolkits и API Specification Tools

На этой странице
  1. Зачем это нужно
  2. Основная идея
  3. Ключевые термины
  4. Два слоя specification
  5. Метод отбора инструментов
  6. Top-20 инструментов для урока 2.6
  7. Краткая матрица выбора ТОП-3
  8. Как читать popularity
  9. Как обновлять обзор GitHub topic
  10. Выбор toolkit по ситуации
  11. Greenfield, brownfield и legacy
  12. Что будет разобрано отдельно
  13. SDD toolkits: что они делают
  14. API specification tools: что они делают
  15. Как SDD и API contracts соединяются
  16. Traceability
  17. Decision matrix
  18. Выбор под тип проекта
  19. Prompt patterns
  20. Типичные ошибки
  21. Минимальный вариант без тяжелого tooling
  22. Практика
  23. Checklist выбора инструмента
  24. Критерии готовности
  25. Краткое резюме
  26. Вопросы для самопроверки
  27. Источники для актуализации
  28. Что дальше

Зачем это нужно

В предыдущих уроках мы разобрали, как превращать идею в specification: выделять requirements, constraints, acceptance criteria, edge cases и open questions. Но в реальной разработке быстро появляется следующий вопрос:

text
Как удерживать этот process повторяемым,
если с кодом работает AI agent?

Можно писать spec.md, design.md и tasks.md вручную. Это хороший старт. Но по мере роста проекта появляются типичные проблемы:

  • разные features описываются в разных форматах;
  • agent прыгает от идеи сразу к code changes;
  • specifications остаются в chat history и теряются;
  • design decisions не попадают в repository;
  • tasks становятся слишком крупными;
  • API contracts расходятся с implementation;
  • после изменения endpoint ломается frontend или external client;
  • review не может понять, что именно agent должен был сделать.

Именно здесь появляются два класса инструментов:

  • SDD toolkits, которые управляют движением от идеи к specification, plan, tasks и implementation;
  • API specification tools, которые формально описывают machine-readable contracts: HTTP API, events, schemas и generated types.

Главная мысль урока:

text
SDD toolkit управляет смыслом изменения.
API specification tool управляет формой интерфейса.
В agent development нужны оба слоя.

Основная идея

Specification в AI-разработке существует минимум на двух уровнях.

Первый уровень - human-readable specification. Она нужна людям и агентам, чтобы понимать intent:

text
Goal
Non-goals
Actors
Requirements
Acceptance criteria
Constraints
Edge cases
Open questions
Verification

Она отвечает на вопрос:

text
Что должно измениться в поведении продукта и почему?

Второй уровень - machine-readable contract. Он нужен tooling, tests, CI, generated clients и runtime validators:

text
OpenAPI
AsyncAPI
JSON Schema
TypeScript types
Protocol schema
Event schema
Contract tests

Он отвечает на вопрос:

text
Какую точную форму должен соблюдать interface?

Если есть только human-readable spec, agent может понять intent, но ошибиться в interface shape.

Если есть только OpenAPI, agent знает endpoint и schema, но не знает product constraints, non-goals, security assumptions и edge cases.

Предсказуемая AI-разработка соединяет оба слоя.

Ключевые термины

Термин Значение
SDD Specification-Driven Development: разработка, где specification является исходным артефактом для plan, tasks, implementation и verification.
SDD Toolkit Инструмент, набор команд, skills или methodology, которые ведут feature через specification workflow.
Product Spec Документ о поведении продукта: users, scenarios, acceptance criteria, constraints, non-goals.
Design Spec Документ о техническом решении: components, data model, interfaces, migrations, security, trade-offs.
Task Spec Маленькая проверяемая задача для агента с allowed scope, inputs и verification commands.
API Contract Машиночитаемое описание interface: endpoints, request/response schemas, errors, events, auth, status codes.
Contract Testing Проверка, что implementation и consumers соответствуют declared contract.
Source of Truth Артефакт, которому команда доверяет при конфликте между prompt, code, docs и assumptions.
Delta Spec Specification только для изменения, которое вносится сейчас.
Approval Gate Контрольная точка, где человек или reviewer подтверждает artifact перед переходом к следующей фазе.
Agent Harness Среда, в которой работает coding agent: Codex, Claude Code, Cursor, Kiro, Gemini CLI, OpenCode и похожие инструменты.

Два слоя specification

flowchart TD A[Product idea] --> B[Human-readable spec] B --> C[Clarification] C --> D[Design] D --> E[Tasks] E --> F[Agent implementation] B --> G[API contract] D --> G G --> H[Generated types / docs] G --> I[Contract tests] F --> J[Unit and integration tests] F --> I I --> K[Acceptance evidence] J --> K

В этой схеме SDD toolkits отвечают за верхний поток: idea, spec, clarification, design, tasks, implementation.

API specification tools отвечают за нижний поток: contract, schemas, generated artifacts, contract tests.

Оба потока сходятся в evidence. Задача готова не тогда, когда agent написал "done", а когда есть проверяемое доказательство:

  • spec согласован;
  • tasks выполнены;
  • tests прошли;
  • API contract валиден;
  • implementation соответствует contract;
  • diff не содержит лишних изменений.

Метод отбора инструментов

Для этого урока используется snapshot на 2026-08-08.

Основной источник для SDD-инструментов - GitHub topic:

text
https://github.com/topics/spec-driven-development

Фильтр:

  • сортировка Most stars;
  • только англоязычные материалы;
  • китайские локализации и китайские README не рассматриваем;
  • очевидные false positives исключаем;
  • обязательные инструменты из плана курса включаем отдельно.

Почему нельзя просто взять верхние 20 репозиториев по stars?

Потому что GitHub topic содержит шум. Например, zeromicro/go-zero может быть отмечен topic spec-driven-development, но это Go microservices framework, а не SDD toolkit для AI-agent workflow. Его нельзя честно ставить в один ряд с Spec Kit, OpenSpec или Superpowers.

Также важно не путать:

  • open-source repository;
  • product feature;
  • methodology;
  • plugin;
  • API contract tool.

Kiro Specs, например, важен для курса, но это workflow внутри Kiro IDE/Web/CLI, а не отдельный GitHub OSS repository. Поэтому он входит в обзор, но не участвует в рейтинге GitHub repositories by stars.

Top-20 инструментов для урока 2.6

Эта таблица не является "топом качества". Это учебная карта инструментов: какие подходы студент должен уметь различать после урока.

# Инструмент Тип Роль в agent workflow Когда смотреть
1 Superpowers
⭐ ~295k | 2025 г.
Skill-first SDLC methodology Переводит engineering process в набор composable skills: brainstorming, design, worktrees, TDD, review. Когда команда хочет дисциплинированный agent workflow вместо свободного prompt.
2 GitHub Spec Kit
⭐ ~140k | 2025 г.
SDD harness Ведет workflow через constitution, specify, clarify, plan, tasks, analyze, implement. Когда нужен понятный baseline spec -> plan -> tasks -> implement.
3 OpenSpec
⭐ ~71k | 2025 г.
SDD CLI and spec store Держит current specs и change deltas отдельно: openspec/specs/ и openspec/changes/. Когда нужно вести brownfield changes через proposal/apply/archive.
4 gsd-build/get-shit-done
⭐ ~64k | 2025 г. | 📦 Public archive
Meta-prompting and SDD system Добавляет context engineering и process rails поверх coding agent. Репозиторий заархивирован: read-only, развитие остановлено. Когда нужен lightweight SDD system вокруг Claude Code-style workflow. Учитывать, что проект не поддерживается.
5 BMAD Method
⭐ ~54k | 2025 г.
Full lifecycle agile AI methodology Дает роли, workflows, PRD, architecture, epics, stories и implementation cycle. Когда проект достаточно большой для полноценной AI-agile методологии.
6 Swagger OSS Tools
⭐ ~29k | 2011 г.
OpenAPI design/docs/test tools Дают классический слой для просмотра, редактирования и тестирования OpenAPI specs. Когда нужно сделать HTTP API contract читаемым и проверяемым.
7 OpenAPI Generator
⭐ ~26.8k | 2018 г.
API generation Генерирует clients, servers и types из OpenAPI. Когда API contract должен порождать код и типы.
8 open-gsd/gsd-core
⭐ ~10k | 2026 г.
GSD core package Дает core primitives для Git. Ship. Done. Когда нужен building block, а не только готовый preset workflow.
9 gsd-build/gsd-2
⭐ ~7.8k | 2026 г.
SDD/context engineering system Вариант GSD для long-running agent workflow. Когда нужно изучить разные ветки GSD-подхода и их trade-offs.
10 Agent-OS / Ouroboros
⭐ ~6.2k | 2026 г.
Agent OS and spec-first runtime Работает с seed specs, ledger, runtime adapters и evaluation gates. Когда нужен OS-like layer для управляемого long-running agent execution.
11 AsyncAPI
⭐ ~5.3k | 2016 г.
Event-driven API specs Описывает channels, messages, producers и consumers. Когда система строится на events, queues или messaging.
12 Kiro Specs
⭐ ~4.3k | 2025 г.
Product-native SDD workflow Создает requirements.md, design.md, tasks.md внутри Kiro surfaces. Когда нужна встроенная IDE/Web/CLI среда с spec workflow.
13 Conductor
⭐ ~3.8k | 2025 г.
SDD plugin for coding agents Дает plugin-style specify/plan/implement workflow. Когда хочется добавить SDD как plugin layer к agent harness.
14 cc-sdd
⭐ ~3.7k | 2025 г.
Minimal SDD harness Минимальный adaptable harness для разных coding agents. Когда нужен простой переносимый SDD process без тяжелой методологии.
15 Stoplight Spectral / Elements
⭐ ~3.2k | 2018 г.
API linting and documentation Spectral проверяет quality rules для specs, Elements помогает читать API docs. Когда нужен linting и human-readable API documentation.
16 Pilot Shell
⭐ ~2.1k | 2025 г.
Engineering shell workflow Оборачивает Codex/Claude workflow в spec-driven planning, TDD и quality enforcement. Когда нужен shell-like process для практической разработки.
17 Spec Kitty
⭐ ~1.7k | 2025 г.
Spec coding dashboard Добавляет dashboard, Kanban, worktrees и auto-merge вокруг spec coding. Когда команде нужен визуальный слой поверх specs and tasks.
18 AGTX
⭐ ~1.7k | 2026 г.
Blackboard for coding agents Дает общий blackboard для multi-session agents. Когда несколько agent sessions должны координироваться через shared state.
19 Redocly CLI
⭐ ~1.5k | 2020 г.
OpenAPI lint/build/docs Линтит, собирает и бандлит OpenAPI documentation. Когда API docs build должен быть частью verification.
20 Specmatic
⭐ ~400 | 2020 г.
Contract testing Проверяет соответствие implementation и API contract. Когда нужно доказать, что service реализует declared contract.

Краткая матрица выбора ТОП-3

В контексте SDD и agent workflows выбор инструмента сильно зависит от типа проекта.

text
Greenfield - проект с нуля: нет старого кода и ограничений.
Brownfield - существующий код: живая система, interfaces и technical debt.
Инструмент Популярность (⭐) Greenfield Brownfield Главная фишка
1. Superpowers ~295k 🟢 Идеально 🟡 Ограниченно Пошаговый SDLC через composable skills
2. GitHub Spec Kit ~140k 🟢 Отлично 🟢 Отлично Четкая цепочка: Spec ➡️ Plan ➡️ Tasks
3. OpenSpec ~71k 🔴 Нет 🟢 Идеально Изолированное хранение дельт изменений

Классификация по типу проекта:

  • Greenfield: нужны инструменты "жестких рельсов", которые заставляют agent сначала декомпозировать задачи и следовать неизменяемой constitution. Подходят Superpowers (skills, TDD, review), GitHub Spec Kit (constitution → specify → clarify → plan → tasks → implement), BMAD Method (полная agile-методология) и GSD (lightweight SDD с context engineering).
  • Brownfield: нужна изоляция изменений от текущего состояния. OpenSpec прямо создан для этого: openspec/specs/ хранит то, что есть, openspec/changes/ - то, что меняем, с циклом propose → apply → archive. Как плагинный слой поверх существующего workflow подходят cc-sdd, Conductor и gsd-2.

Резюме по ТОП-3:

  • Superpowers (~295k★) - не инструмент, а методология: engineering-процесс декомпозирован в composable skills (brainstorming, design, worktrees, TDD, review). Брать, когда нужен дисциплинированный workflow, особенно для новых проектов.
  • GitHub Spec Kit (~140k★) - официальный SDD-harness от GitHub с фиксированным pipeline и этапом clarify, который снимает неоднозначности до старта кода. Самый зрелый baseline для проектов с нуля.
  • OpenSpec (~71k★) - единственный в списке инструмент с явной архитектурой под изменения, а не с нуля. Каждое изменение атомарно и отслеживаемо - лучший выбор для brownfield.

Как читать popularity

Stars полезны как сигнал, но в AI-agent tooling они особенно легко вводят в заблуждение.

Один repository может быть:

  • полноценным framework;
  • collection of prompts;
  • plugin для одного agent harness;
  • UI dashboard;
  • fork с активным community;
  • временным экспериментом;
  • списком ссылок;
  • локализацией другого проекта.

Поэтому при выборе инструмента нужно смотреть не только на stars:

Критерий Что проверить
Artifact ownership Какие files остаются в repository и можно ли их review в Git.
Agent support Какие harnesses поддерживаются: Codex, Claude Code, Cursor, Kiro, Gemini CLI, OpenCode.
Local execution Можно ли работать без обязательного облака.
CI compatibility Есть ли CLI или scriptable commands для automation.
Workflow shape Есть ли phases, approval gates, task boundaries, review protocol.
Verification Есть ли tests, lint, analyze, converge, contract checks или evals.
Brownfield readiness Можно ли внедрить в существующий codebase без переписывания процесса.
Extensibility Можно ли адаптировать templates, skills, commands, presets, extensions.
Maintenance Есть ли releases, active commits, issues, docs, security posture.
Lock-in Можно ли забрать specs и продолжить без этого продукта.

Для курса особенно ценны инструменты, которые оставляют понятные Markdown/YAML/JSON artifacts в repository. Чем меньше workflow спрятан внутри непрозрачного UI, тем проще студенту понять механику.

Как обновлять обзор GitHub topic

GitHub topic - это хороший discovery feed, но плохой источник истины. Topic может поставить автор, форк, экспериментальный проект или репозиторий, который использует слово specification в другом смысле.

Перед тем как включать инструмент в учебный обзор или выбирать его для проекта, полезно пройти короткий фильтр:

Проверка Вопрос
Язык и аудитория README и документация доступны на английском, а не только в локальной экосистеме?
Реальная связь с SDD Инструмент ведет spec -> plan -> tasks -> implementation, а не просто имеет schema/config?
Артефакты в Git Остаются ли specs, plans, tasks, ADR или contracts в репозитории?
Agent workflow Есть ли явная работа с coding agents, prompts, skills, commands или MCP?
Gates Есть ли approval, analyze, lint, tests, evals или review checkpoints?
Brownfield support Может ли инструмент работать с existing code, legacy behavior и delta specs?
Evidence Требует ли workflow проверяемых результатов вместо "agent said done"?
Maintenance Есть ли свежие commits, releases, issues, examples и понятная лицензия?

Если инструмент не проходит фильтр, его можно упомянуть как сигнал рынка, но не стоит строить на нем курс или production workflow.

Практическое правило:

text
Stars помогают найти кандидатов.
SDD artifacts, gates и verification показывают, можно ли кандидату доверять.

Выбор toolkit по ситуации

Выбор SDD toolkit лучше начинать не с рейтинга, а с формы работы.

flowchart TD A[Нужен SDD workflow] --> B{Spec должны читать люди вне agent tool?} B -- Да --> C[Spec Kit / OpenSpec] B -- Нет --> D{Есть роли PM, architect, dev, reviewer?} D -- Да --> E[BMAD Method] D -- Нет --> F{Нужен быстрый single-repo workflow?} F -- Да --> G[Superpowers / lightweight skills] F -- Нет --> H{Brownfield change?} H -- Да --> I[OpenSpec / delta-first workflow] H -- Нет --> J[Ручной spec -> plan -> tasks или Kiro Specs]

Практическая интерпретация:

Ситуация Хороший старт
Solo developer, один repository, нужно дисциплинировать Claude Code/Codex Superpowers-style skills или ручной lightweight SDD.
Команда должна review'ить spec в Git, не все работают внутри agent tool GitHub Spec Kit или OpenSpec.
Есть product owner, architect, analyst, implementer, reviewer BMAD Method или похожий role-based workflow.
Нужно добавить feature в существующий продукт без переписывания всей документации OpenSpec/delta spec, brownfield workflow.
Нужно обучить SDD с нуля Spec Kit или Kiro Specs как наглядный baseline.
Нужен API contract как enforceable artifact OpenAPI/AsyncAPI + lint + contract tests, независимо от SDD toolkit.

Иногда инструменты комбинируются. Например, Spec Kit может быть удобен для durable spec artifacts, а skill-first workflow - для implementation loop, TDD и review. Главное, чтобы source of truth и gates были ясны:

text
Кто создает spec?
Кто утверждает plan?
Где живут tasks?
Как implementation доказывает соответствие spec?

Greenfield, brownfield и legacy

SDD выглядит по-разному в новом и существующем коде.

Контекст Что делать первым Главная опасность
Greenfield Constitution, mission, tech stack, первый feature spec. Слишком рано уйти в implementation без принципов.
Brownfield Найти current behavior, constraints, tests, owners, architecture seams. Агент перепишет существующие patterns вместо адаптации.
Legacy Сначала создать characterization docs/tests, затем delta spec. Spec описывает желаемый мир, но не учитывает фактический код.

Для brownfield и legacy не начинайте с фразы:

text
Сделай систему по этой новой спецификации.

Лучше:

text
Сначала исследуй текущий код и опиши current behavior.
Затем сформируй delta spec: что меняется, что не меняется,
какие existing constraints нужно сохранить.
Не реализуй до approval.

Это снижает риск "археологии наугад": агент не должен сам выводить весь intent из кода, но он обязан проверить, как текущая система действительно работает.

Что будет разобрано отдельно

Урок 2.6 остается обзорной картой. В следующих уроках модуль углубится в top-10 SDD/agent workflow инструментов по популярности среди англоязычных repositories и обязательных инструментов курса.

Урок Инструмент Почему отдельно
2.7 Superpowers Skill-first SDLC methodology: skills, TDD, worktrees, review и subagents.
2.8 GitHub Spec Kit Канонический SDD baseline: constitution, specify, plan, tasks, implement.
2.9 Get Shit Done / GSD Популярный SDD/context engineering system из GitHub topic.
2.10 OpenSpec Delta specs, change proposals, archive и living specs.
2.11 BMAD Method Full lifecycle AI agile methodology с ролями и workflows.
2.12 GSD Core Core primitives для построения собственного process layer.
2.13 GSD 2 Вариант GSD-подхода для long-running agent workflow.
2.14 Agent-OS / Ouroboros OS-like runtime: seed specs, ledger, adapters, evaluation gates.
2.15 Conductor Plugin-first SDD layer для coding agents.
2.16 cc-sdd Minimal adaptable SDD harness для нескольких agent harnesses.

SDD toolkits: что они делают

SDD toolkit нужен не для того, чтобы "магически сделать проект правильно". Он нужен, чтобы agent не работал в пустоте.

Типовой SDD workflow:

text
idea
-> clarification
-> requirements
-> design
-> plan
-> tasks
-> implementation
-> verification
-> archive / knowledge update

Главная ценность toolkit - сделать этот workflow повторяемым.

GitHub Spec Kit

GitHub Spec Kit полезен как canonical baseline для курса. Его удобно объяснять через pipeline:

text
constitution
-> specify
-> clarify
-> plan
-> tasks
-> analyze
-> implement

Что важно:

  • project constitution задает принципы, которым должны подчиняться specs и plans;
  • /speckit.specify описывает what and why;
  • /speckit.clarify помогает убрать ambiguity до plan;
  • /speckit.plan фиксирует technical approach;
  • /speckit.tasks превращает plan в executable task breakdown;
  • /speckit.analyze ищет inconsistencies across artifacts;
  • /speckit.implement выполняет tasks.

Spec Kit хорош для обучения, потому что явно показывает:

text
coding agent не должен начинать с кода.

Сначала agent должен создать artifacts, которые можно прочитать, исправить и закоммитить.

OpenSpec

OpenSpec строится вокруг идеи changes и deltas.

Типовая структура:

text
openspec/
  project.md
  specs/
    auth/
      spec.md
  changes/
    add-2fa/
      proposal.md
      design.md
      tasks.md
      specs/
        auth/
          spec.md

Смысл:

  • openspec/specs/ хранит current source of truth;
  • openspec/changes/ хранит proposed changes;
  • после реализации change архивируется;
  • living specs обновляются постепенно.

Это особенно удобно для brownfield development. Агенту не нужно переписывать весь продукт. Он работает с одним change:

text
Что меняем?
Почему?
Какие requirements добавляем или меняем?
Какие tasks выполняем?
Как доказываем готовность?

OpenSpec хорошо подходит для курса как пример delta-first thinking.

Kiro Specs

Kiro Specs показывает product-native SDD workflow внутри agentic IDE/Web/CLI.

Базовые артефакты:

text
.kiro/specs/<feature-name>/
  requirements.md
  design.md
  tasks.md

Типовой workflow:

text
requirements
-> design
-> tasks
-> task execution

Сильная сторона Kiro - visibility and gates. Студент видит, что implementation начинается не с просьбы "напиши код", а после подготовки и review artifacts.

Ограничение: Kiro Specs сильнее привязан к конкретной среде. Поэтому для курса важно сохранять portable artifacts в repository, чтобы workflow не исчезал при смене инструмента.

BMAD Method

BMAD Method - это уже не просто SDD toolkit. Это full lifecycle methodology для AI-driven development.

Типовой mental model:

text
Analysis
-> Planning
-> Solutioning
-> Implementation

Артефакты могут включать:

  • product brief;
  • PRD;
  • architecture;
  • epics;
  • stories;
  • sprint status;
  • implementation readiness checks;
  • code review artifacts.

BMAD полезен, когда проект достаточно большой, чтобы оправдать additional ceremony:

  • несколько ролей;
  • несколько этапов планирования;
  • сложная architecture;
  • необходимость project memory;
  • работа story by story;
  • team-level process.

Для маленькой feature BMAD может быть слишком тяжелым. В курсе это важный пример:

text
Инструмент должен соответствовать масштабу задачи.

Superpowers

Superpowers важен для курса как пример skill-first SDLC.

Его идея:

text
Engineering process можно оформить как reusable skills,
которые agent обязан применять в нужный момент.

Типовой workflow:

text
brainstorming
-> design
-> git worktree
-> writing plans
-> TDD
-> implementation
-> code review
-> finish branch

Это связывает сразу несколько тем курса:

  • skills;
  • git worktrees;
  • TDD;
  • subagent development;
  • review before completion;
  • evidence over claims.

Superpowers полезен, когда команда хочет не просто "лучшие промпты", а repeatable engineering behavior.

Agent-OS / Ouroboros

Agent-OS / Ouroboros показывает более системный подход: agent работает не просто по prompt, а внутри operating model.

Важные идеи:

  • seed spec фиксирует intent;
  • ledger делает действия replayable and auditable;
  • runtime adapters подключают разные agent harnesses;
  • evaluation gates проверяют результат;
  • ooo commands ведут workflow через interview, seed, run, evaluate.

Типовой flow:

text
interview
-> seed
-> run
-> evaluate
-> evolve / resume

Для курса это пример следующего уровня зрелости. Вместо "agent session" появляется управляемый execution environment, где есть specs, history, boundaries и verification.

GSD, Conductor, cc-sdd и другие lightweight harnesses

Не все команды хотят full methodology. Иногда нужен тонкий слой, который делает простую вещь:

text
Не давай агенту кодить без spec.
Не давай агенту продолжать без plan.
Не объявляй done без tests.

Такие tools важны, потому что они ближе к реальной ежедневной практике.

Примеры:

  • GSD systems добавляют context engineering и rails для agent workflow;
  • Conductor показывает plugin-first SDD;
  • cc-sdd показывает minimal adaptable harness;
  • Pilot Shell показывает shell-like process вокруг Codex/Claude;
  • Spec Kitty добавляет dashboard и worktree workflow;
  • AGTX показывает shared blackboard для multi-session coordination.

В курсе эти инструменты полезны не только сами по себе. Они показывают разные формы одного принципа:

text
Agent workflow должен быть явным, проверяемым и повторяемым.

API specification tools: что они делают

API specification tools решают другую проблему. Они не объясняют product intent. Они фиксируют interface.

Пример human-readable requirement:

text
User can create a project inside a team.
Project name is required.
Duplicate project names inside one team are forbidden.

Пример machine-readable contract:

text
POST /api/projects
Request:
  teamId: string
  name: string
Response 201:
  id: string
  teamId: string
  name: string
Error 409:
  code: PROJECT_NAME_TAKEN

Агенту нужны оба артефакта. Без requirement он не поймет business rule. Без contract он может вернуть неправильный status code или field name.

OpenAPI Generator

OpenAPI Generator нужен, когда OpenAPI contract должен порождать clients, servers, SDKs или types.

В agent workflow это выглядит так:

text
agent updates openapi.yaml
-> runs generator
-> reviews generated diff
-> runs typecheck/tests

Важно: generated code лучше выносить в отдельную task или отдельный diff. Иначе review тонет в механических изменениях.

Swagger OSS Tools

Swagger ecosystem - классический набор open-source tools вокруг OpenAPI:

  • читать API documentation;
  • редактировать OpenAPI specs;
  • тестировать endpoints;
  • генерировать code stubs.

Для AI agent Swagger важен как human-readable surface для machine-readable contract. Человек и agent могут смотреть на один и тот же API description.

AsyncAPI

OpenAPI хорошо описывает HTTP APIs. Но многие системы работают не только через HTTP.

AsyncAPI нужен для:

  • events;
  • queues;
  • message brokers;
  • pub/sub;
  • producers and consumers;
  • event payload schemas.

Если agent меняет event-driven system, specification должна отвечать не только на вопрос "какой endpoint", но и:

  • кто публикует event;
  • кто его потребляет;
  • какая schema payload;
  • какие compatibility constraints;
  • какие retries and failure modes.

Stoplight Spectral / Elements

Spectral - это linter для API specs. Он проверяет rules:

  • naming conventions;
  • required descriptions;
  • response shape;
  • error format;
  • pagination conventions;
  • internal style guide.

Elements - это documentation surface, который делает API spec readable для людей.

В agent workflow Spectral важен как автоматическая проверка:

text
agent changed OpenAPI
-> spectral lint
-> lint found missing error schema
-> agent fixes contract before implementation is accepted

Redocly CLI

Redocly CLI полезен для linting, bundling и documentation build.

Пример verification:

text
redocly lint api/openapi.yaml
redocly bundle api/openapi.yaml

Для курса важна не конкретная команда, а принцип:

text
API docs build должен быть частью definition of done.

Если agent обновил endpoint, но documentation build падает, task не готова.

Specmatic

Specmatic нужен для contract testing. Он проверяет, что service действительно соответствует declared API contract.

Пример:

text
OpenAPI says:
POST /api/projects returns 409 PROJECT_NAME_TAKEN for duplicate name.

Implementation returns:
400 DUPLICATE_PROJECT.

Contract test fails.

Это хороший тип failure для AI-разработки. Agent может написать working code, но wrong contract. Contract test ловит mismatch до production.

Как SDD и API contracts соединяются

Надежный workflow для AI agent выглядит так:

text
spec.md
-> design.md
-> tasks.md
-> api/openapi.yaml
-> failing tests / contract tests
-> implementation
-> verification
-> review

Это не waterfall ради waterfall. Это способ удержать agent от guesswork.

Пример task для SaaS Task Manager

Задача:

text
Добавить создание project через API.

Плохой prompt:

text
Добавь endpoint для создания проекта.

Лучше:

text
TASK PROJ-12

Goal:
Add POST /api/projects for creating a project inside a team.

Inputs:
- specs/projects/spec.md
- specs/projects/design.md
- api/openapi.yaml

Allowed scope:
- src/projects/*
- tests/projects/*
- api/openapi.yaml

Acceptance criteria:
- Authenticated user can create project in a team they belong to.
- name is required and cannot be blank.
- Duplicate project name inside the same team returns PROJECT_NAME_TAKEN.
- Response matches ProjectResponse schema.

Contract:
- Update POST /api/projects in api/openapi.yaml.
- Preserve existing ErrorResponse shape.

Verification:
- pytest tests/projects/test_create_project.py
- npm run openapi:lint
- npm run typecheck

Теперь agent не должен "угадать" endpoint. Он должен привести requirements, implementation, tests и contract в согласованное состояние.

Traceability

Traceability показывает, как requirement проходит путь до проверки.

Requirement Acceptance Criterion Contract Test
REQ-PROJ-001 User can create project AC-PROJ-001 POST returns 201 POST /api/projects test_create_project_success
REQ-PROJ-002 Project name is required AC-PROJ-002 Blank name returns 400 CreateProjectRequest.name required test_create_project_requires_name
REQ-PROJ-003 Duplicate names are forbidden per team AC-PROJ-003 Duplicate returns 409 ErrorResponse.code = PROJECT_NAME_TAKEN test_duplicate_project_name
REQ-PROJ-004 User must belong to team AC-PROJ-004 External team returns 403 Security section for endpoint test_create_project_forbidden_for_other_team

Для AI agent traceability особенно важна. Агент может:

  • добавить тест, но не на тот behavior;
  • обновить OpenAPI, но забыть implementation;
  • реализовать endpoint, но не тот error code;
  • сделать happy path и пропустить edge case;
  • случайно поменять consumer-facing contract.

Traceability делает такие разрывы видимыми.

Decision matrix

Выбор инструмента начинается не с вопроса "что популярнее", а с вопроса "какая проблема болит".

Симптом Что нужно Примеры инструментов
Agent сразу пишет код без согласования SDD phase gates GitHub Spec Kit, Kiro Specs, OpenSpec
Requirements живут только в chat history Repository artifacts Spec Kit, OpenSpec, BMAD
Много маленьких brownfield changes Delta specs OpenSpec, cc-sdd
Проект большой, нужны роли и lifecycle Full methodology BMAD Method, Superpowers
Нужны skills, TDD, review, worktrees Skill-driven SDLC Superpowers
Нужен OS-like runtime и audit trail Agent runtime / ledger Agent-OS / Ouroboros
Нужно добавить SDD к текущему agent harness Plugin / lightweight harness Conductor, cc-sdd, Pilot Shell
Frontend/backend расходятся по API shape API contract OpenAPI, Swagger, OpenAPI Generator
Event schemas ломают consumers Event contract AsyncAPI
API specs становятся неряшливыми API linting Spectral, Redocly CLI
Нужно доказать соответствие implementation contract Contract testing Specmatic

Выбор под тип проекта

Маленький учебный проект

Начните без тяжелого toolkit:

text
specs/
  feature-name/
    spec.md
    design.md
    tasks.md
api/
  openapi.yaml
scripts/
  verify

Добавьте:

  • один шаблон spec;
  • один шаблон task;
  • одну команду verification;
  • правило "no code before spec".

Tooling можно добавить позже.

Brownfield продукт

Главная проблема brownfield - existing behavior. Агент не должен переписать систему под красивый новый plan.

Подходящие инструменты:

  • OpenSpec для delta specs;
  • Spec Kit с аккуратным clarify/analyze;
  • cc-sdd как minimal harness;
  • API contract tools для interfaces.

Важно:

text
Для brownfield changes spec должен описывать не только что меняем,
но и что обязано остаться неизменным.

API-heavy backend

Если проект живет вокруг API, SDD без contract validation будет слабым.

Минимальный stack:

text
spec.md
design.md
tasks.md
openapi.yaml
openapi lint
contract tests
generated types

Возможные инструменты:

  • OpenAPI Generator;
  • Swagger OSS tools;
  • Redocly CLI;
  • Spectral;
  • Specmatic.

Multi-agent workflow

Если несколько agents работают параллельно, риск drift резко растет.

Нужны:

  • shared source of truth;
  • role boundaries;
  • task ownership;
  • independent review;
  • artifact-level coordination;
  • logs and evidence.

Инструменты для изучения:

  • Superpowers;
  • BMAD Method;
  • Agent-OS / Ouroboros;
  • AGTX;
  • Spec Kitty.

Prompt patterns

Инструмент не отменяет prompts. Он делает prompts более дисциплинированными.

Prompt для SDD toolkit

text
Use the repository SDD workflow.

Do not implement yet.

First:
1. Read the project rules.
2. Create or update the feature spec.
3. Ask clarification questions for ambiguous requirements.
4. Produce design and tasks.
5. Stop for review before code changes.

Prompt для API contract change

text
Update the API contract before implementation.

Required:
- update api/openapi.yaml
- preserve existing error response format
- add or update contract tests
- run API linting
- then implement the endpoint
- stop if contract and implementation disagree

Prompt для review

text
Review this change against:
- approved spec
- design document
- tasks.md
- OpenAPI contract
- tests and verification output

Report only behavioral gaps, contract mismatches, missing tests,
scope creep, and risks.

Типичные ошибки

Ошибка 1. Выбирать инструмент по stars

Stars показывают visibility, а не fit.

Для production-выбора важнее:

  • artifact format;
  • local execution;
  • CI integration;
  • reviewability;
  • security posture;
  • compatibility with your agent harness;
  • cost of adoption.

Ошибка 2. Считать OpenAPI полноценным product spec

OpenAPI может сказать:

text
POST /api/projects returns 201.

Но он не объяснит:

  • зачем пользователю project;
  • кто имеет право его создать;
  • какие business constraints существуют;
  • какие non-goals у feature;
  • какие edge cases важны.

OpenAPI фиксирует форму. Product spec фиксирует смысл.

Ошибка 3. Писать spec, но не делать его проверяемым

Плохое requirement:

text
API должен быть удобным.

Лучше:

text
REQ-PROJ-004:
POST /api/projects returns 400 VALIDATION_ERROR
when name is missing or contains only whitespace.

Ошибка 4. Давать agent contract без verification command

Плохой prompt:

text
Обнови OpenAPI.

Лучше:

text
Обнови api/openapi.yaml и запусти:
- npm run openapi:lint
- npm run typecheck
- pytest tests/projects/test_create_project.py

Ошибка 5. Смешивать generated code и hand-written code

Generated clients могут создать большой diff. Для review это опасно:

  • сложно отделить механические изменения от логики;
  • легко пропустить breaking change;
  • agent может исправить generated file вручную;
  • CI может пройти, но consumer contract изменится незаметно.

Правило:

text
Contract change, generator run и hand-written implementation
лучше разделять на явные steps.

Ошибка 6. Считать toolkit заменой engineering judgment

Spec Kit, OpenSpec, BMAD или Superpowers не гарантируют качество требований. Они дают process. Качество все еще зависит от:

  • ясности intent;
  • review;
  • tests;
  • constraints;
  • domain knowledge;
  • verification.

Toolkit усиливает дисциплину, но не заменяет инженера.

Минимальный вариант без тяжелого tooling

Если команда еще не готова выбирать toolkit, можно начать с простого repository convention:

text
specs/
  <feature>/
    spec.md
    design.md
    tasks.md
    evidence.md

api/
  openapi.yaml

scripts/
  verify
  lint-api

Минимальные правила:

  1. Каждая feature начинается с spec.md.
  2. Каждая implementation task ссылается на accepted requirement.
  3. Agent получает allowed scope.
  4. Code changes не принимаются без tests.
  5. API changes не принимаются без contract update.
  6. Verification commands записываются в task и выполняются перед завершением.
  7. Evidence сохраняется в summary, PR description или evidence.md.

Такой lightweight setup хорошо подходит для курса. Студент видит механику без магии.

Практика

Практика 1. Выберите слой

Для каждого сценария определите, нужен SDD toolkit, API contract tool или оба слоя.

Сценарий Ответ
"Сформируй requirements/design/tasks для notifications." SDD toolkit.
"Проверь, что backend совпадает с OpenAPI." API contract tool.
"Добавь endpoint и не сломай generated frontend client." Оба слоя.
"Разбей работу между planner, implementer и reviewer agents." SDD / multi-agent workflow.
"Каждый event должен иметь schema и compatibility check." API/event contract tool.
"Agent постоянно забывает TDD и review." Skill-driven workflow или guardrails.

Практика 2. Напишите task с contract check

Шаблон:

text
TASK API-XX

Goal:

Inputs:

Allowed scope:

Contract:

Acceptance criteria:

Verification:

Минимальное требование: в Verification должна быть хотя бы одна проверка contract, а не только unit tests.

Практика 3. Найдите missing source of truth

Если agent run завершился фразой:

text
I updated the endpoint and adjusted the docs.

Проверьте:

  • где requirement id;
  • где acceptance criterion;
  • где OpenAPI schema;
  • где test;
  • где command output;
  • где diff review;
  • где evidence, что implementation соответствует contract.

Если хотя бы один пункт отсутствует, task не полностью доказана.

Checklist выбора инструмента

Перед внедрением toolkit ответьте:

  • Какой artifact будет source of truth?
  • Где этот artifact лежит в repository?
  • Как agent поймет, что нельзя начинать implementation?
  • Какие approval gates есть между phases?
  • Какое минимальное изменение можно выполнить через этот workflow?
  • Как workflow работает в brownfield codebase?
  • Можно ли запустить проверки в CI?
  • Что произойдет, если toolkit исчезнет?
  • Можно ли прочитать specs обычным Markdown viewer?
  • Где будут храниться completed specs, archives или decisions?
  • Как workflow отличается для greenfield и brownfield?
  • Что является output каждого phase: spec, plan, tasks, tests, run log?
  • Можно ли разделить durable artifacts и agent-only working notes?

Перед внедрением API specification tool ответьте:

  • Какой contract считается главным?
  • Кто обновляет contract: backend, API platform team, agent?
  • Есть ли lint rules?
  • Есть ли generated clients или types?
  • Есть ли contract tests?
  • Что считается breaking change?
  • Как agent узнает, что contract нельзя менять без approval?

Критерии готовности

После урока студент должен уметь:

  • объяснить отличие SDD toolkit от API specification tool;
  • объяснить, почему human-readable spec и machine-readable contract не заменяют друг друга;
  • назвать роль GitHub Spec Kit, OpenSpec, Kiro Specs, BMAD Method, Superpowers и Agent-OS;
  • читать GitHub popularity signals критически;
  • выбрать lightweight или full-lifecycle toolkit под задачу;
  • встроить OpenAPI/AsyncAPI/JSON Schema/TypeScript types в agent workflow;
  • написать task, где есть allowed scope, acceptance criteria и verification commands;
  • объяснить, почему API contract должен проверяться автоматически;
  • построить traceability от requirement до test.

Краткое резюме

SDD toolkits помогают управлять intent: что строим, зачем, где границы, какие tasks и как проверить результат.

API specification tools помогают управлять interface: какие endpoints, schemas, events, errors и generated artifacts должны совпасть.

В AI Agent Development эти слои работают вместе. Human-readable spec снижает риск неправильного поведения. Machine-readable contract снижает риск неправильной формы. Tests, linters, contract checks и review дают evidence.

Правильный вопрос звучит не так:

text
Какой инструмент самый популярный?

Лучше спрашивать:

text
Какой самый маленький workflow удержит agent от guesswork
и даст проверяемый результат для моей задачи?

Вопросы для самопроверки

  1. Почему OpenAPI не заменяет spec.md?
  2. В чем отличие Delta Spec от полной feature specification?
  3. Когда лучше использовать lightweight SDD harness, а когда full-lifecycle methodology?
  4. Какие проверки стоит добавить, если agent меняет API endpoint?
  5. Почему generated clients лучше обновлять отдельным step?
  6. Почему Kiro Specs нельзя честно ранжировать как GitHub OSS repository?

Источники для актуализации

Что дальше

Дальше логично перейти к отдельным лекциям 2.7-2.16. В них мы уже не просто сравним инструменты, а разберем каждый top SDD toolkit как рабочий process: что он создает в repository, как им пользоваться, какие prompts давать agent, где verification gates и когда инструмент не стоит брать.

Обновлено 03.10.2026