Разработка по спецификациям с Claude Code и Cursor
Claude Code — агентный инструмент программирования, который читает кодовую базу, правит файлы и запускает команды. Cursor — редактор, чьи правила проекта лежат в .cursor/rules как файлы .mdc. Разработка по спецификациям (SDD, spec-driven development) — практика писать спецификацию до кода и считать спецификацию источником правды. Документ требований к продукту (PRD, product requirements document) — проза, которая называет проблему и рамки до того, как работу делят на задачи. В SpecScore спецификация функции — файл одной возможности продукта, требование (REQ) — именованное правило внутри этой функции, а критерий приёмки (AC, acceptance criterion) — необязательное абстрактное условие, которое указывает на одно или несколько таких правил. Непрерывная интеграция (CI, continuous integration) — автоматическая проверка каждого предлагаемого изменения. Проверка — команда интерфейса командной строки (CLI, command-line interface), specscore spec lint, из CLI в specscore/specscore-cli. Спецификации Cursor на этой странице — этот файл функции вместе с правилом проекта Cursor, которое велит агенту линтовать его.
Последнее обновление: 6 ноября 2026
Что лежит в функции, а что — в файле агента
Файл функции хранит обязательство. README функции под spec/features/ несёт правила #### REQ: и критерии ### AC:. Заполненная форма, план и задача — это шаблон PRD в Markdown. specscore spec lint проверяет эту форму: заголовки, обязательные разделы, строки индекса и ссылки. Он не решает, хороша ли идея продукта. Линтовать спецификации в CI — более подробный рассказ об этой команде.
Файл агента хранит инструкции для одного инструмента. Обзор Anthropic говорит, что CLAUDE.md — файл Markdown в корне проекта, который Claude Code читает в начале каждой сессии. Документация правил Cursor говорит, что правило проекта — файл .mdc в .cursor/rules, а обычный файл .md в этом каталоге игнорируется, потому что у него нет frontmatter. Эти файлы говорят агенту, как работать в репозитории. Они не являются спецификацией, которую проверяет линтер. Требование, которое есть только в CLAUDE.md или только в .cursor/rules/specscore.mdc, невидимо для specscore spec lint.
Что пишет specscore agent setup
README CLI говорит, что specscore agent setup пишет файл инструкций каждого агента и, если у этого агента есть каталог навыков, копирует в него пакеты навыков SpecScore. Команда пропускает существующий файл, если не передать --force. Контракт — функция agent-setup в specscore/specscore-cli.
Этот контракт сопоставляет идентификатор caller claude с CLAUDE.md и .claude/skills/, а идентификатор caller cursor — с .cursor/rules/specscore.mdc и .cursor/skills/. Запускайте команду внутри проекта, в котором уже есть specscore.yaml. Если этого файла нет, команда завершается с кодом 6, и сообщение предлагает specscore init. Один вызов, который называет обоих агентов, — specscore agent setup claude,cursor. Функция говорит, что список через запятую — то же самое, что отдельные аргументы. Родительские каталоги создаются. Каждый путь сообщается как добавленный, изменённый или пропущенный.
Сгенерированный CLAUDE.md включает название проекта, примеры CLI, которые передают --caller claude, и строку установки /plugin install specscore@specscore. Файл Cursor — Markdown с YAML frontmatter. Frontmatter содержит description и alwaysApply: true. Таблица правил Cursor говорит, что alwaysApply: true означает, что правило включается в каждый чат. --no-skills пишет файлы инструкций и не копирует пакеты навыков. Та же таблица контракта называет также codex, copilot, antigravity.google, pi.dev, opencode и deepseek. Эта страница следует двум агентам из заголовка.
specscore agent setup claude,cursor
CLAUDE.md
.claude/skills/
.cursor/rules/specscore.mdc
.cursor/skills/
Файл инструкций указывает на дерево функций. Он его не заменяет. После настройки Claude Code по-прежнему должен читать spec/features/, а правило Cursor по-прежнему должно указывать на то же дерево. Спецификация функции остаётся документом, который specscore spec lint принимает или отклоняет.
Запускайте specscore spec lint в цикле
Сначала установите CLI. Способы установки — на странице установки. Затем держите функцию и линтер в том же цикле, что и агента.
Напишите функцию до промпта
Добавьте README функции, строку индекса функций и specscore.yaml по шаблону PRD. Поместите каждое обязательство под ## Behavior как #### REQ: {slug}. Укажите критерии приёмки на эти id через **Requirements:**. Оставьте CLAUDE.md и .cursor/rules/ на следующий шаг.
Линтуйте, прежде чем агент будет править код
Запустите specscore spec lint в репозитории. Чистое дерево печатает 0 violations found и завершается с кодом 0. Отчёт о сбое — файл, строка, серьёзность, правило, сообщение — в Линтовать спецификации в CI. Правьте функцию, пока эта команда не станет чистой. Агент, который начинает с функции, которую линтер уже отклоняет, скопирует сломанную форму.
Направьте Claude Code и Cursor на дерево
Запустите specscore agent setup claude,cursor. Прочитайте добавленные CLAUDE.md и .cursor/rules/specscore.mdc и убедитесь, что они называют дерево спецификаций и CLI, включая --caller. Если любой из этих файлов уже существовал, команда его пропускает. Передавайте --force только тогда, когда вы хотите заменить этот файл.
Попросите задачу, которая называет критерий
В сессии агента назовите функцию и критерий приёмки, которому должна удовлетворять работа. Задача плана делает это через **Verifies:** и id критерия приёмки. Попросите агента снова запустить specscore spec lint перед тем, как закончить, и изменить файл функции, когда меняется поведение. Файл инструкций велит агенту запустить команду. Файл функции — то, что команда проверяет.
Навыки, которые открывают lint, функцию и задачу
Строки установки плагина-обёртки в README CLI — /plugin marketplace add specscore/ai-marketplace и /plugin install specscore@specscore. Репозиторий плагина — specscore/ai-plugin-specscore, под лицензией MIT. Его README навыков говорит, что пользователи вызывают /specscore:<skill-name>. Обёртки в поставке включают /specscore:spec, которая оборачивает specscore spec lint; /specscore:feature, которая оборачивает specscore feature (list, info, tree, deps, refs, new и change-status); и /specscore:task, которая оборачивает specscore task. /specscore:change-status покрывает смену статуса функции и идеи. Страница CLI Skills на этом сайте — эта обёртка. specscore agent setup копирует эти пакеты навыков в .claude/skills/ и .cursor/skills/, если не передать --no-skills.
README плагина говорит, что у Cursor нет команды remote-install и что навыки загружаются из .cursor/skills/ в проекте или из ~/.cursor/skills/. Ручное копирование, которое он показывает, — git clone репозитория ai-plugin-specscore и cp -R для skills/* в .cursor/skills/. specscore agent setup cursor — команда, которая делает это копирование за вас, из маркетплейса, который называет спецификация функции.
SpecStudio Skills — направляемый воркфлоу. Репозиторий — specscore/specstudio-skills, под лицензией MIT. Строка установки Claude Code в его README — /plugin install specstudio@specscore, и там сказано, что Claude Code устанавливает плагин specscore как зависимость. Раздел статуса называет версию 0.0.7 и говорит, что навыки ideate, specify, plan, implement, verify и recap достаточно активны для dogfood. Таблица инвентаря того же README подробно документирует specstudio:ideate и specstudio:specify. Эти навыки пишут артефакты SpecScore. Они не заменяют specscore spec lint.
Та же команда в CI
dogfood.yml в specscore/specscore задаёт SPECSCORE_VERSION как v0.39.1 и запускает specscore spec lint на pull requests и на push в main. Фрагмент воркфлоу и текстовый отчёт — в Линтовать спецификации в CI. Функция, которая ломает заголовок, роняет этот job независимо от того, написал файл Claude Code или Cursor. Цикл агента и CI вызывают одну и ту же команду.
Лицензия формата — CC BY 4.0 в specscore/specscore. Лицензия CLI — Apache-2.0 в specscore/specscore-cli.
Другие инструменты разработки по спецификациям публикуют другие проверки. Предложения ниже используют только то, что говорят собственные страницы этих проектов. Обзор инструментов записывает те же страницы как прочитанные 30 октября 2026, кроме домашней страницы документации Spec Kit, которая печатает 28 сентября 2026.
OpenSpec документирует openspec validate в своём справочнике CLI. Эта команда проверяет структуру изменений и спецификаций OpenSpec. Она не проверяет заголовок SpecScore ### AC:.
README Task Master описывает разбор PRD на задачи командой task-master parse-prd. Он не описывает линтер для этого PRD.
GitHub Spec Kit описывает агентный воркфлоу, фазы которого пишут артефакты Markdown. Эта домашняя страница документации не описывает команду, которая линтует README функции SpecScore в CI.
Вопросы и ответы
Что такое разработка по спецификациям с Claude Code?
Это запись функции SpecScore до того, как Claude Code напишет код, а затем сохранение CLAUDE.md как файла инструкций, который указывает на эту функцию. Функция хранит требования (REQ) и критерии приёмки (AC). specscore spec lint проверяет функцию. specscore agent setup claude пишет CLAUDE.md в проекте, в котором уже есть specscore.yaml.
Куда помещать спецификации Cursor?
Обязательство продукта идёт в README функции под spec/features/. Правило проекта Cursor идёт в .cursor/rules/specscore.mdc. Файлы навыков идут в .cursor/skills/. specscore agent setup cursor пишет правило и, если не передать --no-skills, копирует пакеты навыков. Собственная документация Cursor — источник того, как применяются правила .mdc.
Заменяет ли CLAUDE.md спецификацию функции?
Нет. CLAUDE.md — то, что Claude Code читает как инструкции. README функции — то, что проверяет specscore spec lint. Функция agent-setup говорит, что сгенерированный файл учит агента дереву спецификаций и командам CLI. Она не говорит, что файл инструкций является спецификацией.
Что, если CLAUDE.md или правило Cursor уже существует?
Команда пропускает существующий файл и печатает строку пропуска, которая упоминает --force. Существующие байты остаются. Передавайте --force только тогда, когда замена — это то, что вам нужно. То же правило пропуска применяется к файлу навыка, который уже есть.
Какой навык запускает линтер?
В README навыков плагина /specscore:spec оборачивает specscore spec lint. Эту команду CLI можно также запустить самому, в сессии агента или в CI. /specscore:feature и /specscore:task оборачивают команды функции и задачи. Сами по себе они не линтуют.
Оценивает ли линтер прозу?
Нет. specscore spec lint проверяет структуру. Линтовать спецификации в CI показывает отчёт. Чистая структурная проверка — не обзор продукта.
Источники
Поведение agent-setup — контракт в specscore-cli spec/features/cli/agent/setup/README.md на main, прочитанный 6 ноября 2026. Имена навыков взяты из ai-plugin-specscore skills/README.md на main, прочитанного в тот же день. Строка установки SpecStudio и список статуса версии 0.0.7 взяты из specstudio-skills README.md на main, прочитанного в тот же день. Описание Claude Code и предложение про CLAUDE.md взяты с code.claude.com/docs/en/overview. Пути правил проекта Cursor взяты с cursor.com/docs/rules. dogfood.yml в этом репозитории закрепляет SPECSCORE_VERSION на v0.39.1. Страницы конкурентов — те, что связаны ниже; обзор инструментов записывает их как прочитанные 30 октября 2026, кроме домашней страницы документации Spec Kit, которая печатает 28 сентября 2026.
- Claude Code — обзор (CLAUDE.md)
- Cursor — Rules (правила проекта — файлы .mdc)
- specscore-cli — функция agent-setup
- specscore-cli — README (agent setup и установка плагина)
- specscore/specscore-cli
- specscore-cli — лицензия Apache-2.0
- specscore/specscore
- specscore/specscore — лицензия CC BY 4.0
- specscore/specscore — dogfood.yml (CLI v0.39.1)
- specscore/ai-plugin-specscore
- ai-plugin-specscore — лицензия MIT
- ai-plugin-specscore — README навыков
- ai-plugin-specscore — README (копирование для Cursor)
- specscore/specstudio-skills
- specstudio-skills — лицензия MIT
- specstudio-skills — README (версия 0.0.7)
- CLI Skills
- SpecStudio Skills
- Шаблон PRD в Markdown для программирования с ИИ
- Линтовать спецификации в CI линтером спецификаций
- Спецификация функции
- Спецификация критериев приёмки
- Справочник CLI OpenSpec — openspec validate
- Fission-AI/OpenSpec
- eyaltoledano/claude-task-master
- Документация GitHub Spec Kit (дата страницы 28 сентября 2026)
- Инструменты разработки по спецификациям
Связанное
- Шаблон PRD в Markdown для программирования с ИИ
- Линтовать спецификации в CI линтером спецификаций
- Как писать критерии приёмки, которые проверит ИИ-агент
- Синтаксис требований EARS с объяснением и примерами
- Разработка по спецификациям
- Инструменты разработки по спецификациям
- CLI Skills
- SpecStudio Skills
- CLI
- Спецификация функции