Pakiety dyscypliny: skille Pococka, gstack, agent-skills, Ponytail i ECC
Pakiety dyscypliny to zestawy skilli, które zmieniają sposób pracy agenta programistycznego, zamiast dawać mu nowe narzędzia. Skille Matta Pococka, gstack, addyosmani/agent-skills i Everything Claude Code (ECC) decydują, co zbudować i w jakiej kolejności. Ponytail decyduje, ile kodu napisać. Sprawdza się para: jeden z pierwszych czterech plus Ponytail, nigdy dwa pakiety procesowe naraz.
Prosisz agenta o filtr dat na liście faktur. Agent przepytuje cię, pisze specyfikację, rozbija ją na tickety i zaczyna od testów — dokładnie tak, jak obiecuje pakiet. Pull request i tak dodaje dwie paczki npm, interfejs z jedną implementacją i flagę konfiguracyjną, której nikt nigdy nie ustawi. Pakiet procesowy pilnuje, żeby agent zbudował właściwą rzecz; nic w nim nie pyta, czy agent nie zbudował jej za dużo.
Ta strona jest dla programisty, który wybiera pakiet, i dla tech leada, który standaryzuje jeden pakiet w zespole. Porównuje pięć najpopularniejszych pakietów pod względem kosztu i kolizji, a potem pokazuje połączenie, które odpowiada na oba pytania.
Co daje połączenie pakietu procesowego z Ponytail
Dział zatytułowany „Co daje połączenie pakietu procesowego z Ponytail”- Porównanie pięciu pakietów dyscypliny: na jakie pytanie odpowiada każdy, jak się instaluje, ile kosztuje w kontekście i z czym koliduje.
- Sprawdzone komendy instalacji dla Claude Code, Codeksa i Cursora, łącznie z dwoma pakietami, które nie instalują się tak, jak sugeruje ich nazwa.
- Przykładowe uruchomienie
/ponytail-reviewna przerośniętym diffie i co zrobić z listą do usunięcia. - Siedmiokrokowy workflow, który łączy jeden pakiet „co budować” z Ponytail, z testami i review poprawności jako bramkami.
- Trzy prompty do skopiowania i tabelę awarii, które powstają przy łączeniu pakietów.
Jak wypada porównanie pięciu pakietów dyscypliny?
Dział zatytułowany „Jak wypada porównanie pięciu pakietów dyscypliny?”| Pakiet | Na jakie pytanie odpowiada | Punkty wejścia | Stały koszt kontekstu (Claude Code) | Popularność (GitHub, 2026-09-26) | Wybierz, gdy | Unikaj, gdy |
|---|---|---|---|---|---|---|
Skille Matta Pococka (mattpocock/skills) | Czy ty i agent zgadzacie się, co budujemy? | grill-with-docs → to-spec → to-tickets → implement → code-review | ~1609 tokenów (25 skilli) | 269,8 tys. gwiazdek | Głównym problemem jest rozjazd oczekiwań; chcesz małych, edytowalnych skilli | Potrzebujesz trwałego śladu specyfikacji zatwierdzanego przez product ownerów |
gstack (garrytan/gstack) | Która rola powinna teraz na to spojrzeć? | /office-hours, /plan-eng-review, /review, /qa, /ship, /retro | To nie plugin; zmierz własnym gstack-context-bill | 134,2 tys. gwiazdek | Chcesz ról produktu, review, QA i release’u z wbudowanym QA w przeglądarce, głównie w Claude Code | Nie akceptujesz hooków w ~/.claude/settings.json |
| addyosmani/agent-skills | W której fazie cyklu jesteś? | /spec, /plan, /build, /test, /review, /ship i trzy kolejne | ~3620 tokenów (34 skille, 4 agenty) | 99,1 tys. gwiazdek | Chcesz jednej komendy na fazę i skilli uruchamianych po rodzaju pracy | Używasz już /review lub /ship z innego pakietu |
Everything Claude Code (affaan-m/ECC) | Czy jeden harness ogarnie wszystko? | 386 skilli, 68 agentów, 7 hooków | ~41 515 tokenów | 267,6 tys. gwiazdek | Przytniesz go do kilku elementów | Praca wrażliwa na kontekst albo nie zamierzasz przycinać |
Ponytail (DietrichGebert/ponytail) | Ile kodu to naprawdę wymaga? | /ponytail [lite|full|ultra|off], /ponytail-review, /ponytail-audit | ~983 tokeny (6 skilli, 3 hooki) | 146,1 tys. gwiazdek | Agenci przesadzają: zbędne zależności, abstrakcje z jedną implementacją | Chcesz, żeby decydował o zakresie; on decyduje tylko o rozmiarze |
Dwa wnioski z tej tabeli są ważniejsze niż same wiersze. Po pierwsze, cztery pierwsze pakiety się pokrywają: każdy ma własną wizję planowania i review, więc dwa naraz dają dwie komendy /review i dwie opinie o procesie. Po drugie, Ponytail nie pokrywa się z żadnym z nich. Nie ma etapu planowania ani dokumentów; ogranicza tylko to, jak agent pisze to, o czym zdecydował drugi pakiet.
Superpowers (~838 tokenów stale ładowanych) należy do tej samej rodziny „co budować” i ma własną stronę; wszystko, co niżej piszemy o łączeniu, dotyczy też jego.
Zainstaluj skille Matta Pococka jako framework
Dział zatytułowany „Zainstaluj skille Matta Pococka jako framework”Skille Pococka są małe i składalne, a kilka z nich to jednolinijkowe delegaty: grill-me tylko wywołuje grilling, a grill-with-docs wywołuje grilling i domain-modeling. Jako framework łańcuch wygląda tak: przepytuj, aż się zgodzicie, zamień rozmowę w specyfikację, rozbij ją na tickety, implementuj każdy ticket od testów i zrób review względem specyfikacji. Etap przepytywania szczegółowo opisuje strona o Grill Me.
claude plugin install mattpocock-skillsPlugin jest w oficjalnym marketplace, więc nie trzeba niczego dodawać. Skille pluginów mają przestrzeń nazw: wpisz /mattpocock-skills:grill-with-docs, /mattpocock-skills:to-spec i tak dalej.
npx skills add mattpocock/skills --skill grill-with-docs grilling domain-modeling \ to-spec to-tickets implement tdd code-review setup-matt-pocock-skills -a codexREADME nie podaje jeszcze natywnego pluginu dla Codeksa. Skill wywołujesz przez $, na przykład $grill-with-docs.
npx skills add mattpocock/skills --skill grill-with-docs grilling domain-modeling \ to-spec to-tickets implement tdd code-review setup-matt-pocock-skills -a cursorWywołaj /grill-with-docs albo poproś o skill z nazwy, jeśli nie pojawia się w menu.
Potem uruchom setup-matt-pocock-skills raz na repozytorium. Zapyta, do którego trackera mają pisać to-spec i to-tickets (GitHub, Linear albo pliki lokalne), jakich etykiet triage używasz i gdzie mają trafiać dokumenty. Instaluj przez plugin albo przez npx skills, nie oboma sposobami, bo każdy skill pojawi się dwa razy.
Zainstaluj gstack bez kolizji /review
Dział zatytułowany „Zainstaluj gstack bez kolizji /review”gstack to repozytorium Git ze skryptem setup, a nie marketplace pluginów: /plugin marketplace add garrytan/gstack niczego nie instaluje. Wymaga Gita i Buna.
git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git ~/.claude/skills/gstackcd ~/.claude/skills/gstack && ./setup --prefix--prefix nadaje każdemu skillowi nazwę /gstack-<nazwa>. Bez niego /review z gstack zajmuje nazwę, której Claude Code 2.1.283 już używa jako aliasu wbudowanego /code-review. Dla Codeksa i Cursora sklonuj do ~/gstack i uruchom ./setup --host codex albo ./setup --host cursor. Setup rejestruje też domyślnie włączony hook Stop w ~/.claude/settings.json; ./setup --no-timeline-stop-hook go pomija. Strona o gstack przeprowadza jedną funkcję przez wszystkie role.
Zainstaluj addyosmani/agent-skills i policz skille poprawnie
Dział zatytułowany „Zainstaluj addyosmani/agent-skills i policz skille poprawnie”/plugin marketplace add addyosmani/agent-skills/plugin install agent-skills@addy-agent-skills/review i /ship z pluginu kolidują z gołymi nazwami, których możesz już używać. Wpisuj formę z przestrzenią nazw, /agent-skills:review, żeby mieć pewność, który reviewer rusza.
codex plugin marketplace add addyosmani/agent-skillscodex plugin add agent-skills@agent-skillsW Codeksie marketplace rejestruje się jako agent-skills (sprawdzone przez codex plugin list, 0.157.1), a nie addy-agent-skills jak w Claude Code. README wywołuje skille przez @, na przykład @spec-driven-development.
npx skills add addyosmani/agent-skills -a cursorREADME zaleca skille workflow w .cursor/skills/, a w .cursor/rules/*.mdc tylko krótkie zasady — nigdy całe skille wklejone do reguł.
README mówi o „25 skillach” (24 skille cyklu życia plus meta-skill using-agent-skills); claude plugin details pokazuje 34 skille, bo plugin dostarcza też dziewięć komend cyklu jako skille. Podawaj liczbę dla opisywanej ścieżki instalacji. Jeszcze jedna pułapka: starsze instalacje przez npx skills add kopiowały tylko folder skills/, więc skille odwołujące się do plików z references/ przestawały działać. Jeśli skill wskazuje brakujący plik z references/, zainstaluj go ponownie z aktualnego repozytorium albo użyj ścieżki przez plugin.
Zainstaluj Ponytail i wybierz poziom
Dział zatytułowany „Zainstaluj Ponytail i wybierz poziom”Ponytail każe agentowi zatrzymać się na pierwszym szczeblu drabiny, który wystarcza, zanim napisze kod:
- Czy to w ogóle musi istnieć? Jeśli nie — pomiń.
- Czy to już jest w tym kodzie? Użyj ponownie.
- Czy robi to biblioteka standardowa?
- Czy robi to natywna funkcja platformy (
<input type="date">, ograniczenie w bazie danych, CSS)? - Czy robi to już zainstalowana zależność?
- Czy da się to zrobić w jednej linii?
- Dopiero wtedy: minimum, które działa.
README wprost mówi, że walidacja na granicy zaufania, obsługa utraty danych, bezpieczeństwo i dostępność nigdy nie są cięte, a skill każe agentowi zbudować wszystko, o co wyraźnie poproszono, bez ponownej dyskusji. Na tej zasadzie opiera się połączenie opisane niżej: wszystko, czego wymaga twoja specyfikacja, liczy się jako wyraźna prośba.
Wyślij to jako dwa osobne prompty:
/plugin marketplace add DietrichGebert/ponytail/plugin install ponytail@ponytailPoziom zmieniasz przez /ponytail lite, /ponytail full (domyślny), /ponytail ultra albo /ponytail off. Diff przeglądasz przez /ponytail-review; pełna nazwa z przestrzenią nazw to /ponytail:ponytail-review.
codex plugin marketplace add DietrichGebert/ponytailcodex plugin add ponytail@ponytailPotem uruchom codex, otwórz /hooks, przejrzyj hooki cyklu życia Ponytail, zaufaj im i zacznij nowy wątek. W Codeksie komendy są skillami: @ponytail-review.
git clone https://github.com/DietrichGebert/ponytailnode ponytail/scripts/cursor-hooks.js installTo dopisuje dwa hooki do ~/.cursor/hooks.json (--project zapisuje plik projektu). Poziom zmieniasz, wysyłając /ponytail ultra jako zwykłą wiadomość. Hooki wstrzykują zestaw reguł i obsługują przełączanie poziomu, ale nie dają komendy review; do review doinstalowujemy skill: npx skills add DietrichGebert/ponytail --skill ponytail-review -a cursor. To nasza rekomendacja, nie ścieżka z README; działa, bo folder skilla istnieje w skills/ponytail-review. Subagenty Cursora działają bez zestawu reguł, a agenci chmurowi nigdy nie odpalają sessionStart.
| Poziom | Co robi agent |
|---|---|
lite | Buduje, o co prosisz, i jednym zdaniem wskazuje leniwszą alternatywę; ty wybierasz |
full (domyślny) | Egzekwuje drabinę: najpierw biblioteka standardowa i funkcje natywne, najkrótszy diff |
ultra | Usuwa, zanim doda, dostarcza jednolinijkowiec i kwestionuje resztę wymagania |
off | Wyłączony na tę sesję |
Domyślny poziom dla każdej sesji ustawisz zmienną PONYTAIL_DEFAULT_MODE albo polem defaultMode w ~/.config/ponytail/config.json. Hooki wstrzykują zestaw reguł przy każdym prompcie i do subagentów; PONYTAIL_SUBAGENT_MATCHER (regex dopasowywany do typu subagenta) ogranicza, które subagenty go dostają.
Zmierzony koszt. Na Claude Code 2.1.283 claude plugin details ponytail@ponytail pokazuje ~983 tokeny stale ładowane dla całego pluginu (6 skilli, 3 hooki). Pełna treść skilla ładuje się dopiero wtedy, gdy skill się uruchamia. Trzy hooki (SessionStart, SubagentStart, UserPromptSubmit) działają po stronie harnessu i nie zużywają kontekstu modelu, ale uruchamiają node, więc node musi być w PATH nieinteraktywnej powłoki. Użytkownicy Nix i nvm trafiają na to pierwsi: skille nadal działają, a stała aktywacja po cichu się nie włącza.
Zostaw ECC tylko wtedy, gdy go przytniesz
Dział zatytułowany „Zostaw ECC tylko wtedy, gdy go przytniesz”ECC to największy zmierzony pakiet: 386 skilli, 68 agentów i 7 hooków, z prognozą około 41 515 tokenów stale ładowanych w Claude Code. To mniej więcej 26 razy więcej niż zestaw Pococka i 42 razy więcej niż Ponytail. Jego README ostrzega, że kopie „mogą zawierać malware”, i wymienia jedyne oficjalne nazwy: repozytorium affaan-m/ECC, paczki npm ecc-universal i ecc-agentshield oraz plugin ecc@ecc. Polecenie z README npx ecc-universal@2.2.2 setup zwraca E404, bo najnowsza wersja w npm to 2.2.1 (sprawdzone 2026-09-26). Jeśli mimo to go chcesz, instaluj wyłącznie z oficjalnych źródeł. W Claude Code:
/plugin marketplace add https://github.com/affaan-m/ECC/plugin install ecc@eccDla innych agentów uruchom konfigurator w wersji, którą npm naprawdę ma: npx ecc-universal@2.2.1 setup. Nie kończ na instalacji: strona o ECC ma tabelę „zostaw i wytnij”, która tnie go do dziesięciu elementów.
Przykład: /ponytail-review na przerośniętym diffie
Dział zatytułowany „Przykład: /ponytail-review na przerośniętym diffie”Projekt to aplikacja do fakturowania na Next.js z TypeScriptem. Specyfikacja filtra dat na liście faktur mówi: filtruj po domkniętym zakresie from/to, odrzucaj po stronie serwera to wcześniejsze niż from, trzymaj zakres w URL. Pull request agenta przechodzi testy i dodaje:
react-datepickeridate-fnsdopackage.json;- interfejs
DateRangeProviderz jedyną implementacjąDefaultDateRangeProvider; - 30-liniowy helper
formatIsoDate; - flagę
filters.enableTimezones, domyślniefalse, nigdzie indziej nieczytaną.
Na gałęzi z funkcją (feature branch) uruchom review (Claude Code: /ponytail-review; Codex: @ponytail-review). Skill zwraca jedną linię na znalezisko, z tagiem delete:, stdlib:, native:, yagni: albo shrink:, i kończy bilansem linii. Dla tego diffu wynik w tym formacie wygląda tak (przykład poglądowy, nie zapis prawdziwej sesji):
package.json:L41-42: native: react-datepicker + date-fns for two date fields. <input type="date"> twice, 0 deps.src/lib/date-range.ts:L1-24: yagni: DateRangeProvider with one implementation. Inline the two values into the query.src/lib/date-range.ts:L26-55: native: formatIsoDate re-creates what <input type="date"> already returns (YYYY-MM-DD). Delete it.src/config/filters.ts:L3-9: delete: enableTimezones flag nobody sets. Nothing replaces it.net: -118 lines possible.O tym, co robisz dalej, decydują trzy cechy tego wyniku:
- Wylicza, ale nie poprawia.
/ponytail-reviewniczego nie zmienia. Cięcia wprowadzasz ty albo agent w osobnym kroku. - Z założenia nie widzi poprawności. Skill wprost wyłącza ze swojego zakresu błędy poprawności, luki bezpieczeństwa i wydajność. Serwerowa kontrola, która odrzuca
towcześniejsze niżfrom, to walidacja na granicy zaufania: Ponytail jej nie zgłosi i nie wolno jej wyciąć, a to, że w ogóle istnieje, musi potwierdzić review poprawności. - Rozstrzygają testy. Każde cięcie musi zostawić zielone testy ze specyfikacji. Jeśli cięcie psuje test, błędne jest cięcie, a nie test.
Workflow: jeden pakiet „co budować” plus Ponytail
Dział zatytułowany „Workflow: jeden pakiet „co budować” plus Ponytail”To połączenie rozdziela dwa pytania, które review zadaje bez końca. Pakiet procesowy odpowiada na „czy to właściwa rzecz i czy jest udowodniona?”. Ponytail odpowiada na „czy to najmniej kodu, które to robi?”. Zakładki pokazują, gdzie komendy się różnią; kroki są takie same w każdym narzędziu.
-
Wybierz dokładnie jeden pakiet procesowy. Skille Pococka, jeśli głównym problemem jest rozjazd oczekiwań; gstack, jeśli chcesz ról i QA w przeglądarce w Claude Code; agent-skills, jeśli chcesz jednej komendy na fazę; Superpowers, jeśli chcesz dyscypliny test-driven, która odpala się sama. Zanim zaczniesz, odinstaluj drugi; nie uruchamiaj dwóch.
-
Zainstaluj Ponytail na poziomie
fulli zmierz sesję. Uruchom/contextw świeżej sesji Claude Code przed obiema instalacjami i po nich, a dla każdego pluginuclaude plugin details <plugin>(dla gstack, który nie jest pluginem, uruchom jegogstack-context-bill). Zatrzymaj się, jeśli suma cię zaskoczy: płacisz ją przy każdym zapytaniu. -
Uzgodnij zakres, zanim ruszy drabina. Uruchom wywiad z pakietu (
grill-with-docs,/office-hoursalbo/spec). Pierwszy szczebel Ponytail, „czy to musi istnieć?”, jest bezpieczny dopiero wtedy, gdy zakres jest spisany, bo wszystko, czego chce specyfikacja, liczy się jako wyraźna prośba. -
Zapisz kryteria akceptacji jako testy. Użyj kroku specyfikacji i ticketów z pakietu (
to-specito-ticketsalbo/plan) i niech każde kryterium wskazuje test. Zobacz kryteria akceptacji, które da się sprawdzić testami. -
Implementuj od testów z włączonym Ponytail. Pakiet prowadzi TDD; Ponytail kształtuje każdą zmianę. Jego własne minimum to jedna uruchamialna kontrola dla nietrywialnej logiki i nigdy nie zgłasza jej do usunięcia. Testy ze specyfikacji to zamówiona praca, więc je też zostawia.
-
Zrób review w dwóch przebiegach. Najpierw poprawność, potem rozmiar:
/code-review high/ponytail-reviewOkno terminala codex review --base mainPotem w sesji Codeksa na tej gałęzi:
@ponytail-review.Uruchom swoje zwykłe review poprawności, a potem napisz w Agent chat: „Use the ponytail-review skill on the diff against main.”
-
Zatwierdzaj na podstawie dowodów, nie czytania. CI uruchamia testy, sprawdzanie typów i lint na przyciętej gałęzi. Człowiek zatwierdza dwa razy: specyfikację przed implementacją i wyniki review przed merge’em. Pull request niesie wyniki testów, oba raporty z review i bilans linii, tak jak opisuje to strona o pakiecie dowodów.
Jak udowodnić, że to połączenie opłaca się w twoim repozytorium?
Dział zatytułowany „Jak udowodnić, że to połączenie opłaca się w twoim repozytorium?”Nie wybieraj pakietu po liczbie gwiazdek ani po benchmarku autora. README Ponytail podaje średnio o 54% mniej linii kodu w 12 zadaniach na Claude Haiku 4.5 (n=4, opis benchmarku z 2026-06-18). To wynik raportowany przez autora, na jednym repozytorium open source, bliski zera tam, gdzie kod był już minimalny. Rozstrzyga tylko benchmark na twoim repozytorium.
Zrób dwutygodniowy pilotaż na pięciu do dziesięciu prawdziwych ticketach z zainstalowaną parą i porównaj je z ticketami sprzed niego:
- Testy pozostają wyrocznią. Każdy zmergowany ticket ma zielone testy akceptacyjne w CI. Ticket z pilotażu, który przeszedł dopiero po usunięciu testu, liczy się jako porażka.
- Rozmiar diffu i nowe zależności. Zapisuj
git diff --stati liczbę dodanych paczek na ticket. - Obciążenie review. Licz znaleziska poprawności na pull request; pakiet, który zmniejsza diffy, ale zwiększa liczbę błędów, nie pomaga.
- Koszt kontekstu. Zapisuj
/contextna starcie sesji; para powinna mieścić się w kilku tysiącach tokenów.
Co się psuje przy łączeniu pakietów dyscypliny?
Dział zatytułowany „Co się psuje przy łączeniu pakietów dyscypliny?”| Objaw | Przyczyna | Naprawa |
|---|---|---|
| Ponytail nigdy się nie włącza, brak błędu | Hooki uruchamiają node, którego nie ma w PATH nieinteraktywnej powłoki (nvm, Nix) | Udostępnij node powłokom nieinteraktywnym (w zsh wyeksportuj PATH w ~/.zshenv; albo podlinkuj node do /usr/local/bin), zrestartuj i sprawdź, czy komunikat startowy pokazuje aktualny poziom |
| Ponytail pomija funkcję, o którą prosił ticket | Zakres był tylko w rozmowie, nie w specyfikacji, więc pierwszy szczebel uznał go za spekulację | Wpisz go do kryteriów akceptacji albo napisz w prompcie „explicitly requested”; używaj lite, dopóki zakres się zmienia |
| Agent usuwa test, żeby zmniejszyć diff | Minimum „jednej kontroli” z Ponytail odczytane jako sufit | Dodaj zasadę pierwszeństwa z promptu powyżej do AGENTS.md; testy wskazane w specyfikacji są obowiązkowe |
| Startują naraz dwa procesy planowania | Zainstalowane dwa pakiety procesowe, oba uruchamiają się same | Zostaw jeden; drugi wyłącz przez claude plugin disable <plugin> i potwierdź w /context |
| Kontekst sesji rośnie o dziesiątki tysięcy tokenów | ECC zainstalowany w całości | Przytnij do używanych części albo odinstaluj |
| Codex ignoruje Ponytail po instalacji | Nikt nie zaufał jego hookom | Otwórz /hooks w Codeksie, zaufaj im, zacznij nowy wątek |
| Po odinstalowaniu zostaje status line albo flaga trybu | Ponytail zapisuje stan poza folderem pluginu | Uruchom node scripts/uninstall.js z klonu repozytorium przed /plugin remove ponytail |