Skip to content

Umiejętności ​

Każda umiejętność OpenSpec: argumenty, co tworzy i z czym odpowiada.

Umiejętności występują w dwóch zestawach:

  • Rdzeń: instalowane domyślnie, główna pętla planowania.
  • Opcjonalne: instalowane tylko po ich dodaniu, za pośrednictwem Profile.

Każda umiejętność zakłada, że projekt już korzysta z OpenSpec. Przed pierwszym krokiem, który zapisuje cokolwiek, umiejętność sprawdza, czy istnieje rozwiązany katalog główny (root). Co się dzieje, gdy go nie ma, zależy od tego, jak umiejętność została wywołana:

  • Auto-selected: Twój agent wybrał umiejętność samodzielnie, bez nazywania OpenSpec. Porzuca OpenSpec i odpowiada na Twoją prośbę w normalny sposób, tak jakby OpenSpec nie było zainstalowane.
  • Explicit OpenSpec request: nazwałeś OpenSpec, nazwałeś umiejętność lub uruchomiłeś jej polecenie. Zatrzymuje się przed zapisem i pyta, jak postępować: uruchom openspec init tutaj, wskaż store za pomocą --store <id>, lub kontynuuj bez OpenSpec. Czeka na Twoją odpowiedź.

Polecenia zawsze należą do drugiego przypadku. Projekt, którego openspec/config.yaml wskazuje store, którego ta maszyna nie może rozwiązać (niezarejestrowany lub niepoprawny wiersz store:), nie jest traktowany jako niezainicjowany: umiejętność zatrzymuje się i pokazuje błąd store wraz z jego naprawą. Żadna umiejętność nie tworzy katalogu openspec/ samodzielnie w żadnym z tych przypadków. Poniższe wpisy opisują, co robi każda umiejętność po ustanowieniu katalogu głównego (root).

UmiejętnośćZadanieTyp
openspec-explorePrzeanalizuj pomysł, zanim stanie się propozycją zmianyRdzeń
openspec-proposeUtwórz propozycję zmiany ze wszystkimi artefaktami planowania w jednym krokuRdzeń
openspec-apply-changeZaimplementuj zadania propozycji zmianyRdzeń
openspec-update-changeZrewiduj plan propozycji zmianyRdzeń
openspec-sync-specsScal aktualizacje specyfikacji propozycji zmiany w specs/Rdzeń
openspec-archive-changePrzenieś zakończoną propozycję zmiany do archiwumRdzeń
openspec-new-changeRozpocznij propozycję zmiany jako pusty szkieletOpcjonalne
openspec-continue-changeUtwórz kolejny artefakt planowania, po jednymOpcjonalne
openspec-ff-changeUtwórz propozycję zmiany z każdym artefaktem niezbędnym do implementacji, w jednym przebieguOpcjonalne
openspec-verify-changeSprawdź, czy implementacja odpowiada planowiOpcjonalne
openspec-bulk-archive-changeZarchiwizuj kilka propozycji zmiany narazOpcjonalne
openspec-onboardPoznaj przepływ pracy, przeprowadzając jedną prawdziwą propozycję zmiany od początku do końcaOpcjonalne

Każdy wpis poniżej nazywa umiejętność odpowiedzialną za kolejny krok. Gdy Twój profil pomija tę umiejętność, zainstalowane pliki nigdy jej nie nazywają: przekazanie staje się odpowiednim poleceniem openspec, lub zwykłą prośbą do Ciebie, a wiersz istniejący tylko po to, by wskazać brakującą umiejętność, nie jest w ogóle zapisywany. Więc umiejętności, które masz, zawsze przekazują dalej do umiejętności, które masz. Który zestaw otrzymujesz, zależy od Profile.

openspec-explore ​

Przemyśl pomysł, zanim stanie się propozycją zmiany.

KontraktOpis
ArgumentyTemat: pomysł, problem, porównanie albo nazwa istniejącej propozycji zmiany do zbadania w kontekście. Gdy nic nie podano, przechodzi w tryb eksploracji.
TworzyDomyślnie nic. Tylko czyta i bada. Na żądanie zapisuje wnioski: nową propozycję zmiany w openspec/changes/<name>/ albo aktualizacje propozycji, projektu, specyfikacji lub zadań istniejącej zmiany. Nigdy nie tworzy kodu.
OdpowiedźOtwarta rozmowa bez wymaganego rezultatu. Gdy myślenie się krystalizuje, podsumowuje problem, podejście, otwarte pytania i kolejne kroki oraz proponuje ich zapisanie. Decydujesz ty. Implementacja nigdy nie zaczyna się tutaj.

openspec-propose ​

Utwórz propozycję zmiany i wygeneruj wszystkie jej artefakty planowania w jednym kroku.

KontraktOpis
ArgumentyNazwa w formacie kebab-case (add-dark-mode) lub zwykły opis. Pyta, jeśli nie podasz żadnego.
Tworzyopenspec/changes/<name>/ ze wszystkimi artefaktami zdefiniowanymi przez schemat, w kolejności zależności (podejście spec-driven: propozycja, delty specyfikacji, projekt, zadania). Nigdy nie tworzy kodu.
OdpowiedźUtworzone artefakty gotowe do przeglądu oraz następny krok. Zatrzymuje się tam; implementacja czeka na openspec-apply-change.

openspec-apply-change ​

Zaimplementuj zadania propozycji zmiany, przechodząc przez listę aż do ukończenia lub zablokowania.

KontraktOpis
ArgumentyNazwa propozycji zmiany (add-auth), opcjonalna. Jeśli cel jest niejednoznaczny, wyświetla aktywne propozycje zmian i prosi o wybór.
TworzyKod: minimalne zmiany wymagane przez każde zadanie, w plikach twojego projektu. W propozycji zmiany odhacza każde ukończone zadanie (- [ ] na - [x]) w śledzonym pliku wskazanym przez sourcePath oraz line liczony od jedynki. Schemat może śledzić zadania w wielu plikach.
OdpowiedźPostęp dla każdego zadania, a następnie łączna liczba (N/M zadań ukończonych). Wszystko ukończone: sugeruje openspec-archive-change. Zablokowane przez brakujące artefakty: wskazuje openspec-continue-change albo openspec status i openspec instructions, gdy ten skill nie jest zainstalowany (profil podstawowy go pomija). Niejasne zadania lub błędy: wstrzymuje się i pyta.

openspec-update-change ​

Zmień istniejące artefakty planowania propozycji zmiany i utrzymaj ich wzajemną spójność.

KontraktOpis
ArgumentyNazwa propozycji zmiany, opcjonalna, oraz żądana rewizja. Gdy nie podano rewizji, uruchamia przegląd spójności: artefakty są sprawdzane względem siebie pod kątem sprzeczności, luk i duplikacji.
TworzyEdytuje pliki artefaktów, które już istnieją. Jeden wyjątek: dla artefaktu zapisanego jako glob, takiego jak specs/**/*.md, który ma już co najmniej jeden plik, może dodać brakujący plik towarzyszący po potwierdzeniu ścieżki. Artefakt, który nie ma jeszcze plików, jest zadaniem openspec-continue-change. Bez tego skilla (profil podstawowy go pomija) wskazuje zamiast tego openspec status i openspec instructions. Nigdy nie tworzy kodu.
OdpowiedźPokazuje każdą proponowaną rewizję i zapisuje ją dopiero po twoim potwierdzeniu, po jednym artefakcie naraz. Kończy się informacją o tym, co zmieniono, i następnym krokiem; implementacja czeka na openspec-apply-change.

openspec-sync-specs ​

Scal aktualizacje specyfikacji z propozycji zmiany do specs/ bez archiwizowania jej.

KontraktOpis
ArgumentyNazwa propozycji zmiany, opcjonalna. Możesz też wskazać podzbiór jej delt specyfikacji; tylko one zostaną zsynchronizowane.
TworzyEdytuje lub tworzy openspec/specs/<capability-path>/spec.md dla każdej delty specyfikacji, scalając dodane, zmodyfikowane, usunięte i przemianowane wymagania do głównej specyfikacji. Nigdy nie tworzy kodu.
OdpowiedźPodsumowanie według zdolności: wymagania dodane, zmodyfikowane, usunięte lub przemianowane, po zweryfikowaniu zaktualizowanych specyfikacji. Propozycja zmiany pozostaje aktywna; archiwizacja czeka na openspec-archive-change.

openspec-archive-change ​

Przenieś ukończoną propozycję zmiany do archiwum.

KontraktOpis
ArgumentyNazwa propozycji zmiany, opcjonalna.
TworzyPrzenosi folder propozycji zmiany do openspec/changes/archive/YYYY-MM-DD-<name>/ (data nie jest dodawana, jeśli nazwa już zaczyna się od daty). Za twoją zgodą najpierw synchronizuje zaległe delty specyfikacji. Gdy openspec-sync-specs jest zainstalowany, uruchamia ten workflow. W przeciwnym razie sam scala delty specyfikacji z głównymi specyfikacjami. Nigdy nie tworzy kodu.
OdpowiedźOstrzega i pyta przed archiwizacją przy niekompletnych artefaktach lub zadaniach oraz pyta, czy zsynchronizować, gdy istnieją delty specyfikacji. Kończy się podsumowaniem: nazwa, schemat, lokalizacja archiwum, status synchronizacji specyfikacji i wszelkie ostrzeżenia.

openspec-new-change ​

Rozpocznij propozycję zmiany jako pusty szkielet.

KontraktOpis
ArgumentyNazwa w formacie kebab-case (add-user-auth) lub zwykły opis, a także nazwa schematu tylko dla workflow innego niż domyślny. Pyta, co chcesz zbudować, jeśli nie podasz żadnego z nich.
Tworzyopenspec/changes/<name>/ jako pusty szkielet: jeszcze bez artefaktów, nigdy nie tworzy kodu.
OdpowiedźNazwa i lokalizacja szkieletu, sekwencja artefaktów workflow, status (0/N ukończonych) oraz szablon pierwszego artefaktu. Tworzenie artefaktów czeka na openspec-continue-change.

openspec-continue-change ​

Utwórz następny artefakt planowania w propozycji zmiany, po jednym naraz.

KontraktOpis
ArgumentyNazwa propozycji zmiany, opcjonalna. Jeśli nadal jest niejednoznaczna, prosi o wybór spośród ostatnio zmodyfikowanych.
TworzyPojedynczy następny gotowy artefakt w sekwencji schematu, zapisany w folderze propozycji zmiany. Jeden artefakt na jedno uruchomienie, nigdy nie tworzy kodu.
OdpowiedźUtworzony artefakt, postęp (N z M ukończonych) oraz informacja, które artefakty to odblokowało. Gdy planowanie jest ukończone, mówi o tym; implementacja przechodzi do openspec-apply-change.

openspec-ff-change ​

Utwórz propozycję zmiany i wszystkie artefakty planowania potrzebne do implementacji w jednym przebiegu.

KontraktOpis
ArgumentyNazwa w formacie kebab-case lub zwykły opis. Pyta, jeśli nie podasz żadnego. Jeśli wskazana propozycja zmiany już istnieje, sugeruje jej kontynuację zamiast tego.
Tworzyopenspec/changes/<name>/ oraz każdy artefakt planowania wymagany do implementacji, w kolejności zależności (podejście spec-driven: propozycja, specyfikacje, projekt, zadania), pomijając tylko artefakty oznaczone jako pominięte lub warunkowe. Nigdy nie tworzy kodu.
OdpowiedźNazwa i lokalizacja propozycji zmiany, każdy utworzony artefakt oraz każdy pominięty artefakt warunkowy wraz z przyczyną. Zatrzymuje się tam; implementacja czeka na openspec-apply-change.

openspec-verify-change ​

Sprawdź, czy implementacja odpowiada artefaktom propozycji zmiany.

KontraktOpis
ArgumentyNazwa propozycji zmiany, opcjonalna. Gdy jest niejednoznaczna, pyta, wyświetlając propozycje zmian, które mają artefakt zadań.
TworzyNic. Czyta artefakty propozycji zmiany i bazę kodu. Weryfikacja polega wyłącznie na raporcie.
OdpowiedźRaport: karta oceny dla Kompletności, Poprawności i Spójności, następnie problemy CRITICAL, WARNING i SUGGESTION wraz z zaleceniami oraz końcowa ocena gotowości do archiwizacji. Nic nie zmienia i nie archiwizuje.

openspec-bulk-archive-change ​

Zarchiwizuj kilka propozycji zmian naraz.

KontraktOpis
ArgumentyBrak. Wyświetla listę aktywnych propozycji zmian i prosi o wybranie dowolnej liczby, z opcją wybrania wszystkich. Jeśli żadna nie jest aktywna, mówi o tym i zatrzymuje się.
Tworzyopenspec/changes/archive/YYYY-MM-DD-<name>/ dla każdej archiwizowanej propozycji zmiany (nazwy już zawierające datę zachowują swój prefiks). Delty specyfikacji każdej z nich są najpierw synchronizowane przez openspec-sync-specs. Nigdy nie tworzy kodu.
OdpowiedźTabela statusu dla każdej propozycji zmiany i jedno potwierdzenie dla całej partii, następnie podsumowanie zarchiwizowanych, pominiętych i nieudanych oraz wyniki synchronizacji specyfikacji. Gdy dwie propozycje zmian dotyczą tej samej specyfikacji, sprawdza bazę kodu i synchronizuje zaimplementowane delty, zaczynając od najstarszych.

openspec-onboard ​

Poznaj workflow, przechodząc przez jedną rzeczywistą propozycję zmiany od początku do końca.

KontraktOpis
ArgumentyBrak. Skanuje bazę kodu w poszukiwaniu małych zadań startowych i prosi o wybranie jednego lub opisanie własnego.
TworzyRzeczywistą propozycję zmiany dla wybranego zadania, jeden artefakt naraz, a następnie rzeczywisty kod po potwierdzeniu implementacji. Na końcu archiwizuje propozycję zmiany.
OdpowiedźOpowiedziane przejście przez pełny cykl z pauzami na twoje dane wejściowe: eksploracja, utworzenie, budowanie każdego artefaktu, implementacja, archiwizacja. Kończy się podsumowaniem i wskazówką do openspec-propose. Zajmuje około 15 do 20 minut.