Lekcja 12 · Kopiowanie plików kontra instalacja

Pluginy i marketplace'y: dystrybucja dla całego zespołu

W Lekcjach 10–11 Twój skill i subagent trafiły do .claude/ tego jednego repo. Żeby zespół dostał je automatycznie w wielu projektach naraz, potrzebny jest inny mechanizm: plugin dystrybuowany przez marketplace, zamiast ręcznego kopiowania plików.

Polecane źródło Discover and install plugins — Claude Code Docs — sekcja "Configure team marketplaces" jest najważniejsza pod kątem Twojej misji.

Standalone kontra plugin

Standalone (.claude/)Plugin
Nazwa skilla/hello/nazwa-pluginu:hello (namespacing)
Do czegojeden projekt, szybkie eksperymentywspółdzielenie z zespołem/społecznością, wersjonowanie
Dystrybucjaręczne kopiowanie plików/plugin install z marketplace

Dokumentacja wprost radzi: zacznij od standalone w .claude/ (tak jak w Lekcjach 10–11), a dopiero gdy chcesz to współdzielić poza jednym repo — spakuj jako plugin.

Jak działa marketplace: dwa kroki

To model "sklepu z aplikacjami": dodanie marketplace daje dostęp do przeglądania katalogu, ale nic się jeszcze nie instaluje.

KrokKomenda
1. Zarejestruj katalog/plugin marketplace add owner/repo
2. Zainstaluj konkretny plugin/plugin install nazwa@marketplace

Przy instalacji wybierasz zasięg — dokładnie te same trzy warstwy co w Lekcji 6: user (tylko Ty, wszystkie projekty), project (cały zespół, trafia do .claude/settings.json), local (tylko Ty, ten jeden projekt).

Kluczowy wniosek: żeby cały zespół dostał ten sam marketplace automatycznie przy wejściu do repo (bez ręcznego /plugin marketplace add u każdego), dodaje się extraKnownMarketplaces do projektowego .claude/settings.json. Gdy ktoś zaufa folderowi repo, Claude Code samo zaproponuje instalację. To settings.json-owy odpowiednik tego, co robiliście ręcznie z hookami i regułami w Lekcji 6 — tylko dla całych pakietów funkcjonalności.
{
  "extraKnownMarketplaces": {
    "moj-zespol": {
      "source": { "source": "github", "repo": "twoja-firma/claude-plugins" }
    }
  }
}
Uwaga o tym konkretnym repo: .claude/skills/teach (skill, który uczy Cię przez cały ten kurs) nie jest zainstalowany przez oficjalny system /plugin opisany wyżej. Widoczny w roocie plik skills-lock.json to osobna konwencja narzędzia mattpocock/skills, spoza dokumentacji Anthropic — dlatego CLAUDE.md tego workspace mówi "nie edytuj ręcznie": ten plik jest zarządzany przez inny mechanizm niż /plugin, i ręczna edycja mogłaby rozjechać go z tym, co faktycznie zainstalowane. Nie mylić jednego z drugim.

Zadanie praktyczne — zobacz, co już masz zainstalowane

Bez instalowania niczego nowego (to Twoja prawdziwa konfiguracja, więc same odczyty):

  1. Uruchom /plugin marketplace list — sprawdź, jakie marketplace'y są już zarejestrowane.
  2. Uruchom /plugin list — sprawdź zainstalowane pluginy i ich zasięg (user/project/local).
  3. Zastanów się: gdyby Twoja firma miała wewnętrzny marketplace z pluginem review-toolkit, gdzie dopisałbyś extraKnownMarketplaces, żeby dotarł do całego zespołu z repo?

Sprawdź się

1. Zainstalowałeś plugin "review-toolkit" z marketplace "acme". Jak wywołasz jego skill "check"?

Skille pluginów są zawsze namespace'owane nazwą pluginu, nie marketplace, żeby uniknąć konfliktów między pluginami z takim samym skillem — stąd /review-toolkit:check.

2. Co dokładnie robi samo dodanie marketplace przez /plugin marketplace add, bez dalszych kroków?

Dodanie marketplace to jak dodanie sklepu z aplikacjami do przeglądania — dostęp do katalogu, ale żaden plugin nie instaluje się automatycznie. Instalacja to osobny, drugi krok.

3. Chcesz, żeby CAŁY zespół dostał propozycję instalacji Waszego wewnętrznego marketplace przy wejściu do repo. Co dodasz do .claude/settings.json?

extraKnownMarketplaces w projektowym settings.json sprawia, że po zaufaniu folderowi Claude Code samo proponuje instalację — nie trzeba tego automatyzować hookiem ani ręcznie tłumaczyć zespołowi komendy.

4. Dlaczego CLAUDE.md tego workspace mówi "nie edytuj ręcznie" o pliku skills-lock.json?

skills-lock.json to konwencja zewnętrznego narzędzia (mattpocock/skills), nie oficjalny mechanizm /plugin z tej lekcji. Ręczna edycja mogłaby rozjechać plik z tym, co to narzędzie faktycznie zainstalowało.

5. Zainstalowałeś plugin z zasięgiem "project". Gdzie ten wybór zostaje zapisany?

Zasięg project zapisuje wybór w .claude/settings.json (klucz enabledPlugins) — tak jak inne ustawienia projektowe z Lekcji 6, trafia do gita i dociera do wszystkich współpracowników.
Coś niejasne? Zapytaj mnie wprost — mogę pomóc zaplanować, jak Twoja firma mogłaby uruchomić własny, wewnętrzny marketplace dla zespołowych skilli i subagentów.
← Lekcja 11: Twój pierwszy subagent Następna lekcja: Setup — fundament pod pakiet inżynierski →