Claude Code · Architektura narzędzi

Skill, Rule czy AI Agent? Jak mądrze skonfigurować Claude Code.

Praktyczny przewodnik po trzech podstawowych klockach, z których buduje się system pracy w Claude Code: regułach, Skillach i Sub-Agentach. Pokazuje, czym się różnią, gdzie fizycznie leżą w strukturze folderów i, co najważniejsze, jak wybrać właściwy mechanizm do konkretnego zadania. Zaczynamy od prawdziwego przypadku, w którym zbudowałem narzędzie, a potem świadomie je skasowałem.

Historia, od której się zaczęło

Skill, który zbudowałem, a potem skasowałem.

Miałem w swoim systemie Skilla o nazwie think-first. Jego zadanie brzmiało rozsądnie: zmusić Claude'a, żeby najpierw pomyślał, a dopiero potem działał. Zrozum, o co naprawdę proszę, oceń, czy zadanie jest proste czy złożone, zadaj jedno celne pytanie jeśli czegoś nie wiesz, potwierdź, że dobrze zrozumiał, i dopiero wtedy wykonaj. Sześć kroków, ładnie opisanych.

Poprosiłem Claude'a, żeby ocenił, czy ten Skill w ogóle dobrze się uruchamia. Chciałem mieć pewność, że odpala się wtedy, kiedy powinien. To była z mojej strony prośba o poprawkę, nie o rewizję sensu.

Odpowiedź, którą dostałem, była inna, niż się spodziewałem. Zamiast poprawiać opis, Claude pokazał mi, że cały ten Skill jest zbudowany na błędnym założeniu. I miał rację.

Diagnoza

Co właściwie było nie tak.

Problem nie leżał w treści instrukcji. Leżał w wyborze mechanizmu.

think-first był w istocie zasadą zachowania, czymś, co ma obowiązywać zawsze. „Myśl, zanim zadziałasz" to nie jest narzędzie, które wyciągasz z szuflady do konkretnego zadania. To sposób bycia, którego oczekujesz w każdej rozmowie. A ja zapakowałem to w Skilla, czyli w mechanizm, który z definicji uruchamia się tylko czasem.

Doszły do tego dwie rzeczy. Po pierwsze, większość tych kroków już była opisana w moich regułach, które ładują się przy każdej sesji. Reguła pracy ze mną mówi wprost, żeby Claude szukał prawdziwego problemu za pytaniem i zadawał jedno celne pytanie zamiast zgadywać. To są dokładnie kroki „zrozum" i „zapytaj". Skill powielał coś, co i tak działało w tle.

Po drugie, najgłębszą analizę i tak robią u mnie wyspecjalizowani Sub-Agenci, jak thinking-partner czy devils-advocate. Krok „przeanalizuj opcje i ryzyka" miał już lepszego właściciela.

Paradoks

Skill miał uruchamiać się w sytuacjach najbardziej pogmatwanych i niejasnych. Ale właśnie tam mechanizm wyzwalania Skilla jest najsłabszy. To znaczy, że narzędzie było najmniej niezawodne dokładnie w tych momentach, dla których je zbudowałem.

Wniosek był prosty. Skasowałem Skilla. Nie dlatego, że był źle napisany, tylko dlatego, że był złym typem narzędzia do tego zadania. To była diagnoza.

Lekcja

Trzy mechanizmy, które wyglądają tak samo.

Trzy mechanizmy w Claude Code wyglądają podobnie. Wszystkie to pliki Markdown w folderze .claude. Łatwo pomyśleć, że to kwestia gustu, gdzie co wrzucisz. Tak nie jest.

Każdy z nich rozwiązuje inny problem i każdy działa według innej zasady. Jak je pomylisz, dostajesz dokładnie to, co ja: narzędzie, które technicznie istnieje, ale nie robi tego, po co powstało.

Rozłóżmy więc te trzy klocki po kolei. Czym są, gdzie leżą i kiedy po który sięgnąć.


01

Klocek pierwszy

Reguła (Rule)

Reguła to zasada, która obowiązuje zawsze. To rozszerzenie pliku CLAUDE.md, podzielone na mniejsze, tematyczne kawałki. Reguły opisują, jak agent ma się zachowywać, jakim tonem pisać, czego nigdy nie robić, jakich słów unikać.

Zanim pójdziemy dalej, krótko o samym CLAUDE.md, bo cały czas do niego wracamy. To główny plik opisujący twój projekt, który Claude Code wczytuje sam, automatycznie, na starcie każdej rozmowy. Nie musisz go podsuwać ani o niego prosić, agent czyta go zawsze jako pierwszy. Reguła działa na tej samej zasadzie. To po prostu kawałek tej stałej wiedzy, wyniesiony do osobnego pliku, żeby zrobić porządek zamiast trzymać wszystko w jednym worku.

Najważniejsza cecha reguły jest taka: ładuje się do kontekstu przy każdym starcie sesji, bez żadnego wyzwalacza. Agent zna ją od pierwszej sekundy i pamięta przez całą rozmowę. Nie musisz o nią prosić ani jej wywoływać.

Gdzie leży w strukturze folderów

Reguły trzymasz w folderze rules, a jego lokalizacja decyduje o zasięgu:

~/.claude/rules/              <-- Twoje osobiste reguły. Działają we wszystkich projektach.
    preferencje.md

<projekt>/.claude/rules/      <-- Reguły tego konkretnego projektu. Współdzielone z zespołem.
    styl-komunikacji.md
    bezpieczenstwo.md

Reguła z poziomu projektu ma wyższy priorytet niż osobista. Jeśli się kłócą, wygrywa projektowa.

Warto zobaczyć, jak taka reguła wygląda w środku, bo to prostsze, niż się wydaje. Reguła to zwykły tekst. Zakładasz plik, na przykład styl-komunikacji.md, i wpisujesz do niego wprost, czego oczekujesz:

<projekt>/.claude/rules/styl-komunikacji.md

    Nie używaj słowa „synergia" ani angielskich wstawek w polskich tekstach.
    Pisz krótkimi zdaniami.

I tyle. Od następnej rozmowy agent sam tego pilnuje, w każdym tekście, który dla ciebie pisze, bez żadnego przypominania. Nic więcej nie musisz robić.

Kiedy sięgać po regułę

Zawsze, gdy chcesz zachowania obowiązującego w każdej rozmowie, niezależnie od tego, o co akurat prosisz. Ton marki, lista zakazanych słów, język odpowiedzi, sposób układania plików. To wszystko są reguły, bo nie chcesz ich „czasem", chcesz ich zawsze.

Tip

Test jest jednozdaniowy. Jeśli chcesz, żeby coś działało za każdym razem, to jest reguła.

02

Klocek drugi

Skill (umiejętność)

Skill to opakowany, powtarzalny proces, który wywołujesz wtedy, gdy go potrzebujesz. To zapisana raz instrukcja krok po kroku do konkretnego zadania: schemat tworzenia artykułu, sekwencja komend przy wdrożeniu, szablon raportu.

Najłatwiej zrozumieć Skilla przez proste porównanie. Wyobraź sobie, że przychodzi do ciebie ktoś z ogromną, ogólną wiedzą. Potrafi prawie wszystko, ale pierwszego dnia nie zna twojej firmy: nie wie, jak wyglądają twoje oferty, jakich kroków się trzymasz, czego oczekują twoi klienci. Skill to ta jedna dodatkowa umiejętność, którą mu dokładasz, żeby zrobił konkretną rzecz dokładnie po twojemu. Bierzesz zdolnego pracownika i wzbogacasz go o kontekst twojej firmy.

Różnica wobec reguły jest fundamentalna i to ona jest sednem całego tego tekstu. Reguła ładuje się zawsze. Skill ładuje się tylko wtedy, gdy jest potrzebny. Agent na starcie czyta jedynie nazwę i opis każdego Skilla. Pełną treść pobiera dopiero w momencie, gdy uzna, że pasuje do twojej prośby, albo gdy wywołasz go ręcznie komendą ze slashem.

To rozwiązanie ma sens, bo trzymanie wszystkiego w CLAUDE.md zapchałoby pamięć agenta. Skille leżą w szufladzie i nie obciążają kontekstu, dopóki ich nie wyciągniesz.

Gdzie leży w strukturze folderów

Każdy Skill to osobny katalog z plikiem SKILL.md w środku:

~/.claude/skills/                    <-- Twoje osobiste narzędzia. Dostępne wszędzie.
    formatuj-artykul/
        SKILL.md

<projekt>/.claude/skills/            <-- Narzędzia tego projektu. Dla całego zespołu.
    zrob-deploy/
        SKILL.md
        scripts/deploy.sh            <-- Skill może mieć pliki pomocnicze: skrypty, szablony, przykłady.

Wyzwalacz to najważniejsza rzecz w całym pliku. To, czy Skill odpali się automatycznie, zależy wyłącznie od jakości opisu w polu description w nagłówku. Agent czyta ten opis i na jego podstawie decyduje, czy narzędzie pasuje do zadania. Opis ogólnikowy zostanie zignorowany. Opis precyzyjny, z konkretnymi słowami i sytuacjami, zostanie rozpoznany.

I tu wracamy do mojego skasowanego think-first. Jest jeszcze jeden szczegół działania wyzwalacza, o którym łatwo zapomnieć: agent sięga po Skilla głównie wtedy, gdy uzna, że samo zadanie jest na tyle złożone, że warto. Proste, jednoznaczne prośby często wykonuje od ręki, nie zaglądając do żadnego Skilla. Dlatego narzędzie typu „zawsze myśl uważnie" jest skazane na zawodność. Mechanizm z natury preferuje konkretne, nazwane zadania, a nie rozproszone zachowania.

Warning

Jeśli łapiesz się na pisaniu opisu Skilla, który błaga agenta, żeby uruchamiał go „przy wszystkim, co nie jest banalne", to jest sygnał, że budujesz regułę przebraną za Skilla. Przenieś to do rules.

Weźmy konkret z życia firmy. Możesz zbudować Skilla o nazwie przygotuj-oferte. W środku, w pliku SKILL.md, opisujesz krok po kroku swój sposób: z jakich części składa się twoja oferta, jakim językiem ją piszesz, co musi się w niej znaleźć i czego unikać. Od tej pory wystarczy, że powiesz „zrób ofertę dla tego klienta", a agent poprowadzi się twoim schematem, a nie ogólnym szablonem ściągniętym z internetu. To samo zadziała dla cyklicznego raportu, opisu produktu czy wiadomości do klienta. Wszędzie tam, gdzie masz swój powtarzalny sposób na konkretną rzecz, możesz go raz spisać i potem już tylko wywoływać.

Kiedy sięgać po Skilla

Gdy masz konkretne, nazwane zadanie, które powtarza się w czasie i ma swój własny sposób wykonania. Tworzenie artykułu według twojego schematu. Konwersja pliku do PDF. Audyt struktury. To są rzeczy, które wywołujesz świadomie, w określonym momencie, a nie tło każdej rozmowy.

03

Klocek trzeci

Sub-Agent

Sub-Agent to samodzielny pracownik, któremu delegujesz zadanie. W przeciwieństwie do Skilla, który jest martwą instrukcją wykonywaną przez głównego agenta w twoim oknie rozmowy, Sub-Agent ma dwie cechy, które zmieniają wszystko.

Po pierwsze, ma własną, osobną pamięć. Pomyśl o tym tak: główny agent pamięta całą waszą rozmowę od początku, a Sub-Agent dostaje czystą kartkę i zna tylko to jedno zadanie, które mu zlecasz. Pracuje na boku, w osobnym miejscu, a cały jego bałagan po drodze, czyli przeszukiwanie plików, próby i błędy, zostaje u niego i nie zaśmieca twojej rozmowy. Po drugie, ma autonomię. Sam dobiera narzędzia i podejmuje decyzje, a możesz mu nawet przypisać inny model AI niż ten w głównej rozmowie.

Przepływ wygląda tak. Dajesz zadanie głównemu agentowi. Ten stwierdza, że to robota dla konkretnego Sub-Agenta, i go wywołuje. Sub-Agent pracuje w izolacji, a na koniec zwraca tylko czyste podsumowanie. Twoje główne okno rozmowy zostaje czyste, bez zalewu logów i szczegółów.

Gdzie leży w strukturze folderów

Sub-Agenci to pojedyncze pliki Markdown w folderze agents:

~/.claude/agents/                    <-- Twoi osobiści agenci. Dostępni wszędzie.
    devils-advocate.md

<projekt>/.claude/agents/            <-- Agenci tego projektu. Dla całego zespołu.
    code-reviewer.md

Schemat lokalizacji jest dokładnie ten sam co przy regułach i Skillach. Poziom użytkownika nadpisuje poziom projektu przy konflikcie nazw.

Kiedy sięgać po Sub-Agenta

Gdy zadanie wymaga osobnego punktu widzenia albo dużo „myślenia na boku", które zaśmieciłoby główną rozmowę. Stres-test decyzji. Code review. Dogłębna analiza danych. Wyszukiwanie w wielu plikach naraz. Wszędzie tam, gdzie chcesz oddać kawałek pracy specjaliście i dostać gotowy wynik, a nie obserwować każdy jego krok.

W mojej historii to właśnie Sub-Agenci, thinking-partner i devils-advocate, robili tę najcięższą analizę, którą think-first próbował nieudolnie powielić w jednym ze swoich kroków.


Framework decyzyjny

Trzy pytania, zanim cokolwiek zbudujesz.

Cała ta różnica sprowadza się do trzech pytań. Zadaj je sobie, zanim cokolwiek zbudujesz.

01

Czy chcę, żeby to działało zawsze, w każdej rozmowie?

Jeśli tak, to jest reguła. Idzie do rules i ładuje się przy każdym starcie. Nie ma wyzwalacza, bo nie potrzebuje wyzwalacza.

02

Czy to konkretne, powtarzalne zadanie, które wywołuję w określonym momencie?

Jeśli tak, to jest Skill. Idzie do skills, jako katalog z SKILL.md. Stoi i czeka, aż go potrzebujesz.

03

Czy potrzebuję osobnego umysłu, który zrobi coś ciężkiego w tle i odda mi czysty wynik?

Jeśli tak, to jest Sub-Agent. Idzie do agents, jako samodzielny plik z własnym kontekstem.

Jeśli odpowiedź na pierwsze pytanie brzmi tak, nie pakuj tego w Skilla. Dokładnie ten błąd popełniłem.

Najczęstszy błąd

Pułapka, w którą wpada większość początkujących.

Skille są najefektowniejszym z tych trzech klocków. Brzmią jak prawdziwe narzędzia, mają swoje komendy, dają poczucie budowania czegoś realnego. Dlatego naturalnym odruchem jest pakowanie do nich wszystkiego.

To jest błąd, który kosztuje najwięcej, bo jest niewidoczny. Skill przebrany za regułę nie wyrzuca błędu. Po prostu nie uruchamia się wtedy, kiedy powinien, a ty tego nie zauważasz. Myślisz, że masz zabezpieczone jakieś zachowanie, a w rzeczywistości masz plik, który leży nieużywany w szufladzie.

Reguła nie ma tego problemu, bo jest zawsze w kontekście. Dlatego dla zachowań, na których ci naprawdę zależy, reguła jest bezpieczniejszym wyborem niż Skill z najlepiej nawet napisanym opisem.

Kluczowa zasada

Dopasuj mechanizm do zadania, nie zadanie do mechanizmu. Zacznij od pytania „jak to ma działać", a nie „co fajnie byłoby zbudować".

Podsumowanie

Trzy pliki Markdown, trzy różne problemy.

Reguła, Skill i Sub-Agent wyglądają podobnie, bo wszystkie są plikami Markdown w folderze .claude. Ale rozwiązują trzy różne problemy.

Reguła to zachowanie, które obowiązuje zawsze, ładowane przy każdej sesji. Skill to powtarzalny proces, wyciągany z szuflady na konkretne zadanie. Sub-Agent to samodzielny pracownik, który robi ciężką robotę w tle i oddaje czysty wynik.

Mój think-first był regułą udającą Skilla, dlatego musiał odejść. Najwartościowsza lekcja z tej całej historii nie dotyczy składni ani konfiguracji. Dotyczy decyzji, która zapada zanim napiszesz pierwszą linijkę: czy to, co budujesz, ma działać zawsze, na żądanie, czy w osobnym oknie. Odpowiedz na to dobrze, a reszta jest już tylko techniką.

MP
Marek Prusinski
AI2Expert