Lekcja 13 · Faza 2 · Krok 1 z 6

Setup: fundament pod pakiet inżynierski

Zainstalowałeś 17 skilli z mattpocock/skills. Zanim użyjesz któregokolwiek z nich do prawdziwej pracy, musisz uruchomić setup-matt-pocock-skills — jednorazowo, w Twoim prawdziwym projekcie. Bez tego kroku to-issues, triage i tdd nie będą wiedziały, gdzie żyją issues, jakich etykiet używać, ani gdzie szukać dokumentacji domenowej.

Polecane źródło Lokalny plik .agents/skills/setup-matt-pocock-skills/SKILL.md w tym repo — to jedyne w pełni aktualne źródło tego, co ten konkretny skill faktycznie robi. Kontekst ogólny: mattpocock/skills — GitHub.

Trzy decyzje, od których zależy reszta pakietu

DecyzjaKto z niej korzystaOpcje
Issue trackerto-issues, triage, to-prdGitHub (gh), GitLab (glab), lokalny markdown w .scratch/, inny (opisany prozą)
Etykiety triagetriage5 kanonicznych ról: needs-triage, needs-info, ready-for-agent, ready-for-human, wontfix
Układ dokumentów domenowychimprove-codebase-architecture, diagnosing-bugs, tddsingle-context (jeden CONTEXT.md) albo multi-context (CONTEXT-MAP.md + wiele CONTEXT.md w monorepo)
Kluczowy wniosek: to skill "prompt-driven, nie deterministyczny skrypt" — zanim o cokolwiek zapyta, sam sprawdza stan repo (git remote -v, czy istnieje CLAUDE.md albo AGENTS.md, czy jest już CONTEXT.md, docs/adr/, .scratch/). Dopiero potem prezentuje znalezione fakty i pyta o trzy decyzje pojedynczo, nie wszystkie naraz. To wzorzec wart zapamiętania przy pisaniu własnych skilli konfiguracyjnych: eksploracja przed założeniami.

Gdzie to ląduje

Setup edytuje ten plik z Twojego repo, który już istnieje — jeśli masz CLAUDE.md, dopisuje do niego sekcję ## Agent skills; jeśli zamiast tego masz AGENTS.md, edytuje ten. Nigdy nie tworzy drugiego obok pierwszego. Szczegóły trzech decyzji trafiają do osobnych plików: docs/agents/issue-tracker.md, docs/agents/triage-labels.md, docs/agents/domain.md — a sam blok w CLAUDE.md/AGENTS.md linkuje do nich jednozdaniowym podsumowaniem.

To ten sam wzorzec "pliki pomocnicze doczytywane na żądanie", który poznałeś w Lekcji 10 na przykładzie skilla teach — tyle że tutaj katalog skilla zawiera gotowe szablony (issue-tracker-github.md, issue-tracker-local.md itd.), z których setup wybiera właściwy zależnie od Twojej odpowiedzi.

Dlaczego disable-model-invocation: true

Setup ma w swoim frontmatterze disable-model-invocation: true — dokładnie z powodu, który poznałeś w Lekcji 3: to akcja z efektem ubocznym (dopisuje do CLAUDE.md/AGENTS.md i tworzy pliki w docs/agents/), więc tylko Ty decydujesz, kiedy to uruchomić, nigdy Claude samo.

Zadanie praktyczne — uruchom to w swoim prawdziwym projekcie

Nie tutaj — w katalogu Twojego prawdziwego projektu firmowego (tam, gdzie faktycznie chcesz używać to-issues, tdd, code-review):

  1. Wpisz /setup-matt-pocock-skills.
  2. Przejdź przez trzy sekcje po kolei — zwróć uwagę, że Claude najpierw pokazuje, co już znalazł w repo (np. istniejący remote GitHub), zanim o coś zapyta.
  3. Zanim zatwierdzisz zapis, przeczytaj draft bloku ## Agent skills i plików w docs/agents/ — masz prawo je poprawić przed zapisaniem.
  4. Po zakończeniu sprawdź, czy edytowany został CLAUDE.md czy AGENTS.md — i czy to zgadza się z tym, co już mieliście w repo.

Sprawdź się

1. Dlaczego setup trzeba uruchomić RAZ, zanim użyjesz to-issues, triage czy tdd?

to-issues, triage i tdd zakładają istnienie plików docs/agents/issue-tracker.md, triage-labels.md i domain.md — bez uruchomionego setupu tych plików po prostu nie ma.

2. Repo ma już CLAUDE.md, ale nie ma AGENTS.md. Co zrobi setup?

Zasada jest jasna: edytuj ten plik, który już istnieje, nigdy nie twórz drugiego obok niego. Skoro CLAUDE.md już jest, to on dostaje sekcję Agent skills.

3. Które z tych pięciu NIE jest kanoniczną rolą triage z tego skilla?

Pięć kanonicznych ról to needs-triage, needs-info, ready-for-agent, ready-for-human i wontfix. "in-progress" nie jest jedną z nich w tym skillu.

4. Dlaczego setup najpierw eksploruje repo (git remote, istniejące pliki), zanim zada choć jedno pytanie?

Skill jest opisany wprost jako "explore, present, confirm, write" — eksploracja przed założeniami, żeby np. zaproponować GitHub tylko wtedy, gdy remote faktycznie na niego wskazuje.

5. Dlaczego setup-matt-pocock-skills ma disable-model-invocation: true?

Tak jak w Lekcji 3: disable-model-invocation chroni przed tym, żeby Claude samo zdecydowało "trzeba to skonfigurować" i zapisało zmiany bez Twojej wyraźnej prośby.
Coś niejasne? Zapytaj mnie wprost — mogę pomóc zdecydować, którą opcję issue trackera wybrać dla Twojego konkretnego projektu, zanim uruchomisz setup.
← Lekcja 12: Pluginy i marketplace'y Następna lekcja: grill-me / grill-with-docs — grillowanie planu przed kodowaniem →