Kurs vibe coding z AI · Moduł 15: Claude Code CLI
Subagenci, Skille i MCP - Najnowsza Moc Claude Code
W tej lekcji5
Najgłębsza grota skarbów! Poznasz teraz funkcje, które są najświeższymi dodatkami do Claude Code: subagentów, skille i protokół MCP. To one zamieniają jednego nawigatora w całą zgraną załogę - taką, w której każdy marynarz zna swoją robotę i nie czeka, aż kapitan rozpisze mu każdy ruch.
Subagenci (subagents)
Subagent to wyspecjalizowany agent z własnym promptem systemowym i własnym zestawem narzędzi, któremu Claude może delegować skupione zadania. To jak wysłanie osobnego majtka do konkretnej roboty - jeden recenzuje kod, drugi pisze testy, a jedno i drugie może dziać się równolegle.
Zanim pójdziemy dalej, uporządkujmy definicję, bo tu najłatwiej o pomyłkę. Subagent nie jest drugą instalacją Claude Code na innym komputerze - wszystko dzieje się w Twojej sesji, na Twojej maszynie, i nie musisz w tym celu stawiać niczego dodatkowego. Nie jest też wtyczką graficzną do edytora VS Code, bo nie ma tu żadnego okienka ani przycisku do klikania - jest terminal i pliki tekstowe. I na pewno nie jest trybem, w którym Claude działa bez modelu AI: pod spodem pracuje ten sam model co zawsze, tylko z węższym zakresem obowiązków i krótszą smyczą.
Gdzie mieszkają subagenci?
Definiujesz ich w plikach markdown w katalogu .claude/agents/<nazwa>.md. Każdy taki plik zawiera własny prompt systemowy i listę dostępnych narzędzi. Nie szukaj sekcji "agents" w package.json, bo jej tam nie ma, i nie ustawiaj zmiennej środowiskowej CLAUDE_AGENTS - taka zmienna nie istnieje. Nieprawdą jest też, że subagentów nie da się definiować samodzielnie: zwykły plik markdown w odpowiednim katalogu w zupełności wystarczy, żeby na pokładzie pojawił się nowy członek załogi.
Przykładowy subagent recenzent kodu, zapisany w pliku .claude/agents/code-reviewer.md:
---
name: code-reviewer
description: Recenzuje kod pod kątem błędów i bezpieczeństwa. Używaj po każdej zmianie kodu.
tools: Read, Grep, Glob
---
Jesteś doświadczonym recenzentem kodu. Szukasz błędów logicznych,
luk bezpieczeństwa i naruszeń dobrych praktyk. Bądź zwięzły -
raportuj tylko realne problemy.Blok między kreskami na górze to nagłówek pliku: musi zaczynać się w pierwszej linii i ma dwa obowiązkowe pola. name to nazwa agenta - plik bez niej Claude Code po prostu pominie. description mówi Claude, kiedy w ogóle sięgnąć po tego marynarza - to na podstawie tego opisu zapada decyzja o oddelegowaniu zadania. Opcjonalne tools wyznacza granice: recenzent z samymi Read, Grep i Glob obejrzy ładownię, ale niczego w niej nie przestawi. Tekst pod nagłówkiem to prompt systemowy, czyli charakter i instrukcja pracy danego agenta. Leżący obok plik test-writer.md dostałby dodatkowo Edit i Write, bo tworzenie plików z testami to dokładnie jego obowiązek.
Po co to wszystko?
Trzy powody, dla których warto rozdać robotę zamiast wszystko załatwiać w jednej rozmowie:
- Specjalizacja - osobny agent (np.
code-reviewer,test-writer) skupia się na jednym - Równoległość - kilka zadań może być wykonywanych jednocześnie
- Czystszy kontekst - praca subagenta nie zaśmieca głównej rozmowy
Zarządzanie subagentami
Nowego marynarza najprościej zwerbować rozmową - poproś Claude w sesji, a sam napisze plik w .claude/agents/:
Utwórz w .claude/agents/ subagenta code-reviewer, który tylko czyta kod i zgłasza błędyKomenda /agents w nowych wersjach Claude Code nie otwiera już kreatora, tylko przypomina o tej drodze. Dalej Claude sam decyduje, kiedy oddelegować zadanie do odpowiedniego specjalisty - napiszesz "zrecenzuj moje ostatnie zmiany", a do roboty wskoczy code-reviewer. Możesz też wskazać agenta po imieniu: "użyj agenta code-reviewer na @src/auth.ts". Jedno i drugie działa, więc wybierasz w zależności od tego, czy wolisz zaufać kapitanowi, czy sam wyznaczyć człowieka do zadania.
Skille (skills)
Skille to wielokrotnego użytku zdolności wywoływane przez model. Działają jak gotowe procedury, które Claude może uruchomić w odpowiednim momencie, bez tłumaczenia mu za każdym razem tej samej sekwencji kroków. Wywołasz je - albo Claude wywoła je z własnej inicjatywy - przez /<nazwa-skilla>:
# Przykładowe wywołanie skilla o nazwie "deploy"
/deployZapamiętaj tę formę bo łatwo tu o fałszywy trop. Skill o nazwie deploy odpalasz ukośnikiem i nazwą, dokładnie tak jak komendę slashową. Nie ma żadnej flagi --skill do podania przy starcie i nie ma czego dłubać w katalogu node_modules - to zdecydowanie nie tam mieszkają skille. Nie jest też tak, że skilli nie da się wywołać: jeśli skill istnieje, dzieli Cię od niego jeden ukośnik. Skille świetnie nadają się do powtarzalnych workflow - tego samego ciągu kroków, który wykonujesz raz po raz. Sam skill to katalog z plikiem SKILL.md: projektowy leży w .claude/skills/<nazwa>/SKILL.md, osobisty w ~/.claude/skills/<nazwa>/SKILL.md, a nazwa katalogu staje się komendą, więc .claude/skills/deploy/SKILL.md daje /deploy.
MCP - Model Context Protocol
MCP (Model Context Protocol) to standard, który podłącza Claude do zewnętrznych narzędzi i danych - GitHuba, baz danych, Slacka, przeglądarki, Sentry i wielu innych. To jak dorzucenie nowych przyrządów do kompasu, żeby nawigator widział dalej niż tylko po własne pliki.
Trzy rzeczy, którymi MCP nie jest, warto sobie odpuścić od razu. To nie format kompresji, który zmniejszałby model Claude - z rozmiarem modelu MCP nie ma nic wspólnego. To nie komenda kasująca cały kontekst rozmowy, bo tę już znasz i nazywa się /clear. To wreszcie nie język programowania mający zastąpić TypeScript - MCP nie ma własnej składni, w której pisałbyś aplikacje. To standard połączenia, i tyle.
Dodawanie serwera MCP
Serwer podepniesz na dwa sposoby. Najszybszy to jedna komenda w terminalu, a kolejność słów w niej nigdy się nie zmienia: najpierw claude, potem mcp, potem add, a na końcu <nazwa> -- <komenda> - czyli nazwa, pod którą będziesz się do serwera odwoływać, podwójny myślnik i komenda, która go uruchamia. Podwójny myślnik oddziela opcje Claude od komendy serwera, dzięki czemu flagi serwera (np. -y w npx -y) nie zostaną wzięte za opcje Claude.
# Dodaj serwer MCP komendą terminala
claude mcp add <nazwa> -- <komenda>
# Przykład: serwer MCP po HTTP
claude mcp add --transport http sentry https://mcp.sentry.dev/mcpDrugi przykład pokazuje cenny wariant: z --transport http serwer nie jest już lokalnym programem, tylko zdalnym adresem. Alternatywnie możesz zadeklarować serwery MCP w pliku .mcp.json w katalogu projektu - to lepszy wybór, kiedy z jednego repozytorium korzysta cała załoga, bo konfiguracja jedzie razem z kodem i nikt nie musi odtwarzać jej u siebie ręcznie.
Zarządzanie serwerami MCP
Serwery przychodzą i odchodzą, a część z nich wymaga zalogowania, zanim w ogóle zacznie z Tobą rozmawiać. W sesji sprawdzisz to jedną komendą:
/mcpPokazuje ona podłączone serwery MCP i pozwala nimi zarządzać - zobaczyć, co jest wpięte, zalogować się albo odłączyć serwer. Konfigurację MCP możesz też wczytać już przy starcie, flagą --mcp-config ze ścieżką do pliku. Polecenie piszesz przed flagą, bo --mcp-config przyjmuje kilka plików naraz i wszystko, co stoi po niej, uznaje za kolejny plik konfiguracji:
claude "Sprawdź ostatnie błędy w Sentry" --mcp-config ./mcp-servers.jsonPo takiej linijce Claude startuje już wpięty w Twoje serwery i od pierwszej sekundy sięga przez MCP po prawdziwe dane, zamiast zgadywać z pamięci. To wygodne zwłaszcza wtedy, gdy konfiguracja przydaje się jednemu skryptowi i nie ma powodu, żeby zostawała w projekcie na stałe.
Po co MCP?
Dzięki MCP Claude Code może np.:
- czytać i komentować issues oraz PR-y na GitHubie
- odpytywać Twoją bazę danych
- pobierać błędy z Sentry
- sterować przeglądarką
Jak to wszystko gra razem?
Wyobraź sobie zadanie "dodaj funkcję i upewnij się, że działa":
- Główny Claude planuje zmianę (tryb planowania z poprzedniego ćwiczenia)
- Implementuje kod, czytając i edytując pliki
- Deleguje recenzję do subagenta
code-reviewer - Uruchamia skill do powtarzalnego workflow (np. wdrożenie)
- Przez MCP sprawdza w Sentry, czy po zmianie nie pojawiły się błędy
Cała załoga ciągnie za tę samą linę - i tak właśnie wygląda współczesny vibecoding z Claude Code.
Podsumowanie
Subagenci - wyspecjalizowani agenci w .claude/agents/<nazwa>.md; tworzysz ich prośbą do Claude albo ręcznie
Skille - wielokrotnego użytku zdolności wywoływane przez /<nazwa-skilla>, np. /deploy
MCP - podłączenie do GitHuba, baz danych, Slacka, Sentry; claude mcp add lub .mcp.json
Zarządzanie MCP - komenda /mcp, flaga --mcp-config
Synergia - planowanie + implementacja + subagent-recenzent + skill + MCP
W ostatnim ćwiczeniu poznasz hooki, tryb headless i pełny workflow vibecodingu!
Otwórz sandpacka poniżej i obejrzyj prawdziwe pliki załogi: subagenta recenzenta z ograniczonym zestawem narzędzi, skrypt podłączający serwery MCP i ściągę o skillach.
Do zobaczenia!
Kod do tej lekcji: subagent-code-reviewer.md
---
name: code-reviewer
description: Recenzuje kod pod kątem błędów i bezpieczeństwa. Używaj po każdej zmianie kodu.
tools: Read, Grep, Glob
---
Jesteś doświadczonym recenzentem kodu. Szukasz błędów logicznych,
luk bezpieczeństwa i naruszeń dobrych praktyk.
Bądź zwięzły - raportuj tylko realne problemy, z poziomem ważności.Widzisz błąd w tej lekcji?
Sprawdź się
Odpowiedz na pytania z tej lekcji. Wybierz odpowiedź, a od razu zobaczysz, czy jest poprawna.
1. Czym jest subagent w Claude Code?
2. Gdzie definiujesz subagentów w Claude Code?
To 2 z 4 pytań do tej lekcji. Pozostałe rozwiążesz w grze.
Zadania praktyczne w grze
- Układanie w poziomie
Ułóż komendę dodającą serwer MCP w Claude Code: