Skills, MCP i subagenty w Claude Code — czym się różnią i kiedy używać każdego
Największe konceptualne zamieszanie u średniozaawansowanych użytkowników Claude Code. Czym są skille, czym MCP, czym subagenty — i jak rozróżnić kiedy sięgać po które narzędzie.
Trzy terminy, które brzmią podobnie i robią różne rzeczy. Nowi użytkownicy Claude Code często używają ich zamiennie — i zazwyczaj działają z połową możliwości, bo nie wiedzą po które narzędzie sięgnąć. Jedno zdanie wyjaśnia różnicę: skille mówią jak to robimy tutaj, MCP mówi co istnieje tam, subagenty wykonują ciężką pracę osobno.
Skille — procedury i instrukcje dla Claude’a
Skill to plik z instrukcjami — procedura opisująca jak Claude ma postępować w określonej sytuacji. Nie łączy się z żadnym zewnętrznym serwisem. Nie wykonuje kodu. To po prostu ustrukturyzowana wiedza operacyjna, którą Claude wczytuje i stosuje.
Przykład skilla pharmacist: zestaw instrukcji mówiący Claude’owi jak rozmawiać o lekach — jakich źródeł używać, jak formułować zastrzeżenia, jakie pytania zadawać przed odpowiedzią. Claude z tym skillem zachowuje się jak farmaceuta, nie dlatego że ma dostęp do bazy leków (do tego potrzebowałby MCP), ale dlatego że zna procedurę.
Skille żyją w .claude/skills/ jako pliki SKILL.md z frontmatter YAML. Są dostępne jako komendy slash: /pharmacist, /seo-copywriter, /lawyer.
Kiedy skill: masz powtarzalny workflow, specjalistyczny styl pracy albo zestaw zasad, które Claude ma zawsze stosować w danym kontekście.
MCP — połączenia z zewnętrznym światem
MCP (Model Context Protocol) to protokół pozwalający Claude Code łączyć się z zewnętrznymi narzędziami i źródłami danych w czasie rzeczywistym. MCP to nie instrukcja — to wtyczka dająca Claude’owi nowe możliwości działania.
Różnica jest fundamentalna: skill mówi Claude’owi jak myśleć, MCP daje mu coś czego nie miał — dostęp do GitHub API, możliwość sterowania przeglądarką, pobieranie aktualnej dokumentacji. Bez MCP Claude może to wiedzieć teoretycznie. Z MCP — może to zrobić.
Skill: "Kiedy ktoś pyta o leki, najpierw zapytaj o inne przyjmowane leki..."
MCP: Claude SIĘGA do bazy danych leków i POBIERA aktualne interakcje
Kiedy MCP: potrzebujesz aktualnych danych z zewnętrznego systemu, chcesz żeby Claude mógł wykonywać akcje poza terminalem (przeglądarka, API, baza danych), albo integrujesz Claude z istniejącymi narzędziami w projekcie.
Subagenty — izolowana ciężka praca
Subagent to osobna instancja Claude Code uruchamiana w izolowanym kontekście. Główna sesja deleguje zadanie do subagenta, subagent je wykonuje — i zwraca tylko wynik. Główna sesja nie widzi całej pracy pośredniej, tylko podsumowanie.
To rozwiązuje konkretny problem: kiedy masz ciężkie zadanie (przeszukanie dużego repo, analiza logów, zbadanie kilkudziesięciu plików), wykonanie go w głównej sesji wypełni okno kontekstowe surową robotą. Subagent robi brudną robotę we własnym oknie, zwraca Ci esencję.
Subagenty działają równolegle — możesz uruchomić kilka naraz. Z Opusem 4.8 i dynamic workflows można uruchomić do 1000 równoległych subagentów w jednej sesji, co zupełnie zmienia skalę możliwych zadań.
Kiedy subagent: zadanie jest ciężkie, wymaga przeszukania dużej ilości danych albo może zablokować główną sesję na długo. Albo gdy chcesz zrównoleglić pracę.
Trzy warstwy razem
W praktyce najlepsze sesje korzystają ze wszystkich trzech:
- Skill definiuje jak Claude podchodzi do zadania (np.
/spec-drivenz regułami pisania specyfikacji) - MCP daje dostęp do narzędzi (GitHub do czytania issues, Context7 do dokumentacji)
- Subagent wykonuje ciężkie podzadania (przeszukanie całego repo w poszukiwaniu wzorców)
Framing, który pomaga to zapamiętać: skill to wiedza jak, MCP to dostęp do czego, subagent to kto to zrobi.
Najczęstszy błąd
Używanie MCP tam, gdzie wystarczyłby skill. MCP niesie koszty: ładuje schematy do kontekstu przy każdej sesji, wymaga konfiguracji i uwierzytelnienia, może zawodzić gdy zewnętrzny serwis jest niedostępny.
Jeśli potrzebujesz tylko żeby Claude zachowywał się w określony sposób albo stosował określone zasady — skill jest lżejszy, szybszy i bardziej niezawodny. MCP zostawiaj na sytuacje, gdzie naprawdę potrzebujesz danych lub akcji z zewnątrz.