# Rozwój sterowany specyfikacją z Claude Code i Cursor

Canonical: https://specscore.md/pl/articles/claude-code-specs/

Ostatnia aktualizacja: 6 listopada 2026

[Claude Code](https://code.claude.com/docs/en/overview) to agentowe narzędzie do programowania, które czyta bazę kodu, edytuje pliki i uruchamia polecenia. [Cursor](https://cursor.com/docs/rules) to edytor, którego reguły projektu są w `.cursor/rules` jako pliki `.mdc`. [Rozwój sterowany specyfikacją](https://specscore.md/pl/spec-driven-development/) (SDD) to praktyka pisania specyfikacji przed kodem i traktowania specyfikacji jako źródła prawdy. Dokument wymagań produktu (PRD) to proza, która określa problem i zakres, zanim praca zostanie podzielona na zadania. W [SpecScore](https://specscore.md/) [specyfikacja funkcji](https://specscore.md/feature-specification) to plik jednej możliwości produktu, [wymaganie](https://specscore.md/requirement-specification) (REQ) to nazwana reguła wewnątrz tej funkcji, a [kryterium akceptacji](https://specscore.md/acceptance-criteria-specification) (AC) to opcjonalny abstrakcyjny warunek, który wskazuje jedną lub więcej z tych reguł. [Ciągła integracja](https://specscore.md/pl/validators/) (CI) to automatyczne sprawdzenie przy każdej proponowanej zmianie. Sprawdzenie jest poleceniem [interfejsu wiersza poleceń](https://specscore.md/pl/cli/) (CLI), `specscore spec lint`, z CLI w [specscore/specscore-cli](https://github.com/specscore/specscore-cli). Specyfikacje Cursora na tej stronie to ten plik funkcji razem z regułą projektu Cursor, która każe agentowi zlintować ten plik.

## Co trafia do funkcji, a co do pliku agenta

Plik funkcji zawiera obowiązek. README funkcji pod `spec/features/` zawiera reguły `#### REQ:` i kryteria `### AC:`. Wypełniony kształt, plan i zadanie to [szablon PRD w Markdown](https://specscore.md/pl/articles/feature-spec-template/). `specscore spec lint` sprawdza ten kształt: nagłówki, wymagane sekcje, wiersze indeksu i odwołania. Nie rozstrzyga, czy pomysł na produkt jest dobry. [Lintowanie specyfikacji w CI](https://specscore.md/pl/articles/lint-specs-in-ci/) to dłuższy opis tego polecenia.

Plik agenta zawiera instrukcje dla jednego narzędzia. Przegląd Anthropic mówi, że `CLAUDE.md` to plik Markdown w katalogu głównym projektu, który Claude Code czyta na początku każdej sesji. Dokumentacja reguł Cursor mówi, że reguła projektu to plik `.mdc` w `.cursor/rules` i że zwykły plik `.md` w tym katalogu jest ignorowany, bo nie ma frontmatter. Te pliki mówią agentowi, jak pracować w repozytorium. Nie są specyfikacją, którą sprawdza linter. Wymaganie, które istnieje tylko w `CLAUDE.md` albo tylko w `.cursor/rules/specscore.mdc`, jest niewidoczne dla `specscore spec lint`.

## Co zapisuje specscore agent setup

[README CLI](https://github.com/specscore/specscore-cli/blob/main/README.md) mówi, że `specscore agent setup` zapisuje plik instrukcji każdego agenta i, tam gdzie ten agent ma katalog skilli, kopiuje do niego pakiety skilli SpecScore. Polecenie pomija istniejący plik, chyba że podasz `--force`. Kontraktem jest [funkcja agent-setup](https://github.com/specscore/specscore-cli/blob/main/spec/features/cli/agent/setup/README.md) w [specscore/specscore-cli](https://github.com/specscore/specscore-cli).

Ten kontrakt mapuje id caller `claude` na `CLAUDE.md` i `.claude/skills/`, a id caller `cursor` na `.cursor/rules/specscore.mdc` i `.cursor/skills/`. Uruchom polecenie w projekcie, który ma już `specscore.yaml`. Jeśli tego pliku brakuje, polecenie kończy się kodem 6, a komunikat sugeruje `specscore init`. Jedno wywołanie, które nazywa obu agentów, to `specscore agent setup claude,cursor`. Funkcja mówi, że lista rozdzielona przecinkami jest tym samym co osobne argumenty. Katalogi nadrzędne są tworzone. Każda ścieżka jest zgłaszana jako dodana, zmodyfikowana albo pominięta.

Wygenerowany `CLAUDE.md` zawiera tytuł projektu, przykłady CLI, które przekazują `--caller claude`, oraz linię instalacji `/plugin install specscore@specscore`. Plik Cursor to Markdown z frontmatter YAML. Frontmatter zawiera `description` i `alwaysApply: true`. Tabela reguł Cursor mówi, że `alwaysApply: true` oznacza, że reguła jest dołączana do każdego czatu. `--no-skills` zapisuje pliki instrukcji i nie kopiuje pakietów skilli. Ta sama tabela kontraktu wymienia też `codex`, `copilot`, `antigravity.google`, `pi.dev`, `opencode` oraz `deepseek`. Ta strona trzyma się dwóch agentów z tytułu.

### Zapisuje pliki Claude Code i Cursor. Uruchom to z projektu, który ma specscore.yaml.

```text
specscore agent setup claude,cursor
```

### Ścieżki, które kontrakt przypisuje identyfikatorom claude i cursor. Katalogi skilli nie są tworzone, gdy podasz --no-skills. Istniejący plik zostaje bez zmian, chyba że podasz --force.

```text
CLAUDE.md
.claude/skills/
.cursor/rules/specscore.mdc
.cursor/skills/
```

Plik instrukcji wskazuje drzewo funkcji. Nie zastępuje go. Po setup Claude Code nadal musi czytać `spec/features/`, a reguła Cursor nadal musi wskazywać to samo drzewo. [Specyfikacja funkcji](https://specscore.md/feature-specification) pozostaje dokumentem, który `specscore spec lint` przyjmuje albo odrzuca.

## Uruchamianie specscore spec lint w pętli

Najpierw zainstaluj CLI. Metody instalacji są na [stronie instalacji](https://specscore.md/pl/cli/install/). Potem trzymaj funkcję i linter w tej samej pętli co agent.

### Napisz funkcję przed promptem

Dodaj README funkcji, wiersz indeksu funkcji i `specscore.yaml`, używając [szablonu PRD](https://specscore.md/pl/articles/feature-spec-template/). Każdy obowiązek umieść pod `## Behavior` jako `#### REQ: {slug}`. Skieruj kryteria akceptacji na te identyfikatory przez `**Requirements:**`. `CLAUDE.md` i `.cursor/rules/` zostaw na następny krok.

### Zlintuj, zanim agent zmieni kod

Uruchom `specscore spec lint` w repozytorium. Czyste drzewo wypisuje `0 violations found` i kończy się kodem 0. Raport niepowodzenia — plik, wiersz, ważność, reguła, komunikat — jest w [Lintowanie specyfikacji w CI](https://specscore.md/pl/articles/lint-specs-in-ci/). Poprawiaj funkcję, aż to polecenie będzie czyste. Agent, który startuje od funkcji już odrzuconej przez linter, skopiuje zepsuty kształt.

### Skieruj Claude Code i Cursor na drzewo

Uruchom `specscore agent setup claude,cursor`. Przeczytaj dodane `CLAUDE.md` i `.cursor/rules/specscore.mdc` i potwierdź, że nazywają drzewo specyfikacji i CLI, w tym `--caller`. Jeśli którykolwiek z tych plików już istniał, polecenie go pomija. Podaj `--force` tylko wtedy, gdy chcesz zastąpić ten plik.

### Poproś o zadanie, które nazywa kryterium

W sesji agenta nazwij funkcję i kryterium akceptacji, które praca ma spełnić. Zadanie planu robi to przez `**Verifies:**` i identyfikator kryterium akceptacji. Poproś agenta, żeby przed końcem znowu uruchomił `specscore spec lint` i żeby zmienił plik funkcji, gdy zmienia się zachowanie. Plik instrukcji mówi agentowi, żeby uruchomił polecenie. Plik funkcji jest tym, co polecenie sprawdza.

## Skille, które udostępniają lint, feature i task

Linie instalacji w README CLI dla wtyczki opakowującej to `/plugin marketplace add specscore/ai-marketplace` oraz `/plugin install specscore@specscore`. Repozytorium wtyczki to [specscore/ai-plugin-specscore](https://github.com/specscore/ai-plugin-specscore), na [licencji MIT](https://github.com/specscore/ai-plugin-specscore/blob/main/LICENSE). Jego [README skilli](https://github.com/specscore/ai-plugin-specscore/blob/main/skills/README.md) mówi, że użytkownicy wywołują `/specscore:<skill-name>`. Dostarczone wrappery obejmują `/specscore:spec`, który opakowuje `specscore spec lint`; `/specscore:feature`, który opakowuje `specscore feature` (`list`, `info`, `tree`, `deps`, `refs`, `new` oraz `change-status`); oraz `/specscore:task`, który opakowuje `specscore task`. `/specscore:change-status` obejmuje zmiany statusu funkcji i idei. Strona [CLI Skills](https://specscore.md/pl/ai/cli-skills/) na tej witrynie jest tym wrapperem. `specscore agent setup` kopiuje te pakiety skilli do `.claude/skills/` i `.cursor/skills/`, chyba że podasz `--no-skills`.

README wtyczki mówi, że Cursor nie ma polecenia zdalnej instalacji i wczytuje skille z `.cursor/skills/` w projekcie albo z `~/.cursor/skills/`. Ręczna kopia, którą pokazuje, to `git clone` [ai-plugin-specscore](https://github.com/specscore/ai-plugin-specscore/blob/main/README.md) oraz `cp -R` `skills/*` do `.cursor/skills/`. `specscore agent setup cursor` to polecenie, które robi tę kopię za ciebie, z marketplace, który nazywa specyfikacja funkcji.

[SpecStudio Skills](https://specscore.md/pl/ai/specstudio-skills/) to prowadzony przepływ pracy. Repozytorium to [specscore/specstudio-skills](https://github.com/specscore/specstudio-skills), na [licencji MIT](https://github.com/specscore/specstudio-skills/blob/main/LICENSE). Linia instalacji Claude Code w jego README to `/plugin install specstudio@specscore`, i mówi, że Claude Code instaluje wtyczkę `specscore` jako zależność. Sekcja statusu podaje wersję 0.0.7 i mówi, że skille `ideate`, `specify`, `plan`, `implement`, `verify` oraz `recap` są wystarczająco aktywne do dogfood. Tabela inwentarza tego samego README dokumentuje `specstudio:ideate` i `specstudio:specify` szczegółowo. Te skille zapisują artefakty SpecScore. Nie zastępują `specscore spec lint`.

## To samo polecenie w CI

[dogfood.yml](https://github.com/specscore/specscore/blob/main/.github/workflows/dogfood.yml) w [specscore/specscore](https://github.com/specscore/specscore) ustawia `SPECSCORE_VERSION` na `v0.39.1` i uruchamia `specscore spec lint` na pull requestach i przy pushach do main. Fragment workflow i raport tekstowy są w [Lintowanie specyfikacji w CI](https://specscore.md/pl/articles/lint-specs-in-ci/). Funkcja, która psuje nagłówek, powoduje niepowodzenie tego joba, niezależnie od tego, czy plik napisał Claude Code, czy Cursor. Pętla agenta i CI wywołują to samo polecenie.

Licencja formatu to [CC BY 4.0](https://github.com/specscore/specscore/blob/main/LICENSE) w [specscore/specscore](https://github.com/specscore/specscore). Licencja CLI to [Apache-2.0](https://github.com/specscore/specscore-cli/blob/main/LICENSE) w [specscore/specscore-cli](https://github.com/specscore/specscore-cli).

Inne narzędzia rozwoju sterowanego specyfikacją publikują inne sprawdzenia. Zdania poniżej używają tylko tego, co mówią własne strony tych projektów. [Przegląd narzędzi](https://specscore.md/pl/spec-driven-development/tools/) zapisuje te same strony jako czytane 30 października 2026, poza stroną główną dokumentacji Spec Kit, która drukuje 28 września 2026.

[OpenSpec](https://github.com/Fission-AI/OpenSpec) dokumentuje `openspec validate` w swojej [referencji CLI](https://openspec.dev/docs/cli). To polecenie sprawdza strukturę change i spec OpenSpec. Nie sprawdza nagłówka SpecScore `### AC:`.

README [Task Master](https://github.com/eyaltoledano/claude-task-master) opisuje parsowanie PRD na zadania za pomocą `task-master parse-prd`. Nie opisuje lintera dla tego PRD.

[GitHub Spec Kit](https://github.github.io/spec-kit/) opisuje przepływ pracy agenta, którego fazy zapisują artefakty Markdown. Ta strona główna dokumentacji nie opisuje polecenia, które lintuje README funkcji SpecScore w CI.

## Najczęstsze pytania

### Czym jest Claude Code spec-driven development?

To zapisanie funkcji SpecScore, zanim Claude Code napisze kod, a potem trzymanie `CLAUDE.md` jako pliku instrukcji, który wskazuje tę funkcję. Funkcja mieści wymagania (REQ) i kryteria akceptacji (AC). `specscore spec lint` sprawdza funkcję. `specscore agent setup claude` zapisuje `CLAUDE.md` w projekcie, który ma już `specscore.yaml`.

### Gdzie trafiają specyfikacje Cursora?

Obowiązek produktu trafia do README funkcji pod `spec/features/`. Reguła projektu Cursor trafia do `.cursor/rules/specscore.mdc`. Pliki skilli trafiają do `.cursor/skills/`. `specscore agent setup cursor` zapisuje regułę i, chyba że podasz `--no-skills`, kopiuje pakiety skilli. Własna dokumentacja Cursor jest źródłem tego, jak stosowane są reguły `.mdc`.

### Czy CLAUDE.md zastępuje specyfikację funkcji?

Nie. `CLAUDE.md` jest tym, co Claude Code czyta jako instrukcje. README funkcji jest tym, co `specscore spec lint` sprawdza. [Funkcja agent-setup](https://github.com/specscore/specscore-cli/blob/main/spec/features/cli/agent/setup/README.md) mówi, że wygenerowany plik uczy agenta drzewa specyfikacji i poleceń CLI. Nie mówi, że plik instrukcji jest specyfikacją.

### Co jeśli CLAUDE.md albo reguła Cursor już istnieje?

Polecenie pomija istniejący plik i wypisuje wiersz pominięcia, który wspomina `--force`. Istniejące bajty zostają. Podaj `--force` tylko wtedy, gdy chcesz zastąpienia. Ta sama reguła pominięcia dotyczy pliku skilla, który już istnieje.

### Który skill uruchamia linter?

W README skilli wtyczki `/specscore:spec` opakowuje `specscore spec lint`. To polecenie CLI możesz też uruchomić sam, w sesji agenta albo w CI. `/specscore:feature` i `/specscore:task` opakowują polecenia funkcji i zadania. Same nie lintują.

### Czy linter ocenia prozę?

Nie. `specscore spec lint` sprawdza strukturę. [Lintowanie specyfikacji w CI](https://specscore.md/pl/articles/lint-specs-in-ci/) pokazuje raport. Czyste sprawdzenie struktury nie jest przeglądem produktu.

## Źródła

Zachowanie agent-setup to kontrakt w specscore-cli spec/features/cli/agent/setup/README.md na main, czytany 6 listopada 2026. Nazwy skilli pochodzą z ai-plugin-specscore skills/README.md na main, czytanego tego samego dnia. Linia instalacji SpecStudio i lista statusu wersji 0.0.7 pochodzą z specstudio-skills README.md na main, czytanego tego samego dnia. Opis Claude Code i zdanie o CLAUDE.md pochodzą z code.claude.com/docs/en/overview. Ścieżki reguł projektu Cursor pochodzą z cursor.com/docs/rules. dogfood.yml w tym repozytorium przypina SPECSCORE_VERSION do v0.39.1. Strony konkurentów to te powiązane poniżej; przegląd narzędzi zapisuje je jako czytane 30 października 2026, poza stroną główną dokumentacji Spec Kit, która drukuje 28 września 2026.

- [Claude Code — przegląd (CLAUDE.md)](https://code.claude.com/docs/en/overview)
- [Cursor — Reguły (reguły projektu to pliki .mdc)](https://cursor.com/docs/rules)
- [specscore-cli — funkcja agent-setup](https://github.com/specscore/specscore-cli/blob/main/spec/features/cli/agent/setup/README.md)
- [specscore-cli — README (agent setup i instalacja wtyczki)](https://github.com/specscore/specscore-cli/blob/main/README.md)
- [specscore/specscore-cli](https://github.com/specscore/specscore-cli)
- [specscore-cli — licencja Apache-2.0](https://github.com/specscore/specscore-cli/blob/main/LICENSE)
- [specscore/specscore](https://github.com/specscore/specscore)
- [specscore/specscore — licencja CC BY 4.0](https://github.com/specscore/specscore/blob/main/LICENSE)
- [specscore/specscore — dogfood.yml (CLI v0.39.1)](https://github.com/specscore/specscore/blob/main/.github/workflows/dogfood.yml)
- [specscore/ai-plugin-specscore](https://github.com/specscore/ai-plugin-specscore)
- [ai-plugin-specscore — licencja MIT](https://github.com/specscore/ai-plugin-specscore/blob/main/LICENSE)
- [ai-plugin-specscore — README skilli](https://github.com/specscore/ai-plugin-specscore/blob/main/skills/README.md)
- [ai-plugin-specscore — README (kopia dla Cursor)](https://github.com/specscore/ai-plugin-specscore/blob/main/README.md)
- [specscore/specstudio-skills](https://github.com/specscore/specstudio-skills)
- [specstudio-skills — licencja MIT](https://github.com/specscore/specstudio-skills/blob/main/LICENSE)
- [specstudio-skills — README (wersja 0.0.7)](https://github.com/specscore/specstudio-skills/blob/main/README.md)
- [CLI Skills](https://specscore.md/pl/ai/cli-skills/)
- [SpecStudio Skills](https://specscore.md/pl/ai/specstudio-skills/)
- [Szablon PRD w Markdown do programowania z AI](https://specscore.md/pl/articles/feature-spec-template/)
- [Lintowanie specyfikacji w CI linterem specyfikacji](https://specscore.md/pl/articles/lint-specs-in-ci/)
- [Specyfikacja funkcji](https://specscore.md/feature-specification)
- [Specyfikacja kryteriów akceptacji](https://specscore.md/acceptance-criteria-specification)
- [Referencja CLI OpenSpec — openspec validate](https://openspec.dev/docs/cli)
- [Fission-AI/OpenSpec](https://github.com/Fission-AI/OpenSpec)
- [eyaltoledano/claude-task-master](https://github.com/eyaltoledano/claude-task-master)
- [Dokumentacja GitHub Spec Kit (data strony 28 września 2026)](https://github.github.io/spec-kit/)
- [Narzędzia rozwoju sterowanego specyfikacją](https://specscore.md/pl/spec-driven-development/tools/)

## Powiązane

- [Szablon PRD w Markdown do programowania z AI](https://specscore.md/pl/articles/feature-spec-template/)
- [Lintowanie specyfikacji w CI linterem specyfikacji](https://specscore.md/pl/articles/lint-specs-in-ci/)
- [Jak pisać kryteria akceptacji, które agent AI może zweryfikować](https://specscore.md/pl/articles/acceptance-criteria/)
- [Składnia wymagań EARS wyjaśniona, z przykładami](https://specscore.md/pl/articles/ears-requirements/)
- [Rozwój sterowany specyfikacją](https://specscore.md/pl/spec-driven-development/)
- [Narzędzia rozwoju sterowanego specyfikacją](https://specscore.md/pl/spec-driven-development/tools/)
- [CLI Skills](https://specscore.md/pl/ai/cli-skills/)
- [SpecStudio Skills](https://specscore.md/pl/ai/specstudio-skills/)
- [CLI](https://specscore.md/pl/cli/)
- [Specyfikacja funkcji](https://specscore.md/feature-specification)
