Blog JSystems - uwalniamy wiedzę!

Szukaj

Claude Code

Jak zautomatyzować powtarzalne zadanie w Claude Code

W skrócie

  • Wciąż wklejasz do Claude Code ten sam długi prompt, bo powtarzasz to samo zadanie (przegląd PR, generowanie testów, zmiana wersji zależności) i za każdym razem opisujesz je od nowa.
  • Claude Code sam nie zapamiętuje Twoich stałych procedur - traktuje każdą prośbę jako nową, dopóki nie zapiszesz jej w miejscu, które czyta z automatu.
  • Rozwiązaniem jest własna komenda slash (skill w katalogu .claude/skills/) z parametrem $ARGUMENTS, którą uruchamiasz jednym słowem, a do procedur bez wyjątku - hook.

Jeśli codziennie prosisz Claude Code o dokładnie to samo - "przejrzyj mój diff pod kątem błędów", "dopisz testy do tej funkcji i je odpal", "zmień ten plik z Pythona 2 na 3" - to marnujesz czas na powtarzanie tej samej instrukcji. Claude Code, oficjalne narzędzie CLI od Anthropic do programowania z AI, ma do tego trzy gotowe mechanizmy: własne komendy slash (skille), podagentów i hooki. Poniżej pokazujemy, jak zamienić powtarzalny prompt w komendę, którą wywołasz jednym poleceniem.

Jak to wygląda w praktyce

Objaw jest prosty: masz w notatniku albo w historii terminala akapit prompta, który kopiujesz do Claude Code po raz setny. Za każdym razem musisz go odszukać, wkleić i podmienić nazwę pliku albo numer zgłoszenia. Przy pracy zespołowej dochodzi drugi problem - każdy członek zespołu wkleja swoją, trochę inną wersję tej samej procedury, więc wyniki się rozjeżdżają. To jest sygnał, że zadanie dojrzało do automatyzacji.

Dlaczego Claude Code tak działa

Claude Code czyta na starcie rozmowy plik CLAUDE.md i ma dostęp do skilli, ale nie "domyśla się" Twoich stałych procedur z samej historii. Dokumentacja wprost rozdziela dwa przypadki: rzeczy, które mają obowiązywać zawsze i szeroko, trafiają do CLAUDE.md, a wiedzę i procedury przydatne tylko czasem - do skilli, które model ładuje na żądanie, żeby nie zapychać kontekstu w każdej rozmowie. Dopóki nie zapiszesz zadania w jednym z tych miejsc, dla Claude Code jest ono nowe za każdym razem.

Jak to rozwiązać krok po kroku

  1. Wybierz jedno powtarzalne zadanie i zapisz jego prompt tak, jak byś go wpisał ręcznie. Jeśli zadanie ma podmieniać nazwę pliku albo numer zgłoszenia, zaznacz to miejsce jako $ARGUMENTS.
  2. Utwórz katalog skilla w projekcie: .claude/skills/nazwa-zadania/, a w nim plik SKILL.md. Na górze pliku dodaj blok z name i description (po tym opisie Claude Code decyduje, kiedy skill pasuje), a pod nim treść procedury.
  3. Przykład skilla naprawiającego zgłoszenie z GitHuba: w treści wpisz kroki "Przeanalizuj i napraw zgłoszenie: $ARGUMENTS", a niżej listę: pobierz szczegóły przez gh issue view, znajdź pliki, wprowadź zmianę, dopisz i uruchom testy, sprawdź lint, zrób commit i otwórz PR.
  4. Jeśli chcesz, żeby skill dało się wywołać tylko ręcznie (bo ma skutki uboczne, na przykład tworzy PR), dodaj w bloku nagłówka disable-model-invocation: true. Wtedy Claude Code nie uruchomi go sam z siebie.
  5. Uruchom skill, wpisując w Claude Code /nazwa-zadania, a jeśli przyjmuje argument - /nazwa-zadania 1234. Wszystkie dostępne komendy i skille zobaczysz, wpisując samo /.
  6. Dla czynności, która ma się wykonać za każdym razem bez wyjątku (na przykład uruchomienie lintera po każdej edycji pliku), nie polegaj na skillu ani na CLAUDE.md - to wskazówki, które model może pominąć. Użyj hooka: skryptu odpalanego deterministycznie w danym momencie pracy. Claude Code potrafi taki hook napisać, jeśli poprosisz.
  7. Gdy zadań jest wiele i mają iść wsadowo poza rozmową (na przykład migracja setek plików), użyj trybu nieinteraktywnego claude -p "prompt" w pętli i ogranicz uprawnienia flagą --allowedTools.

Jak sprawdzić, że zadziałało

Wpisz w Claude Code samo / - Twoja nowa komenda powinna pojawić się na liście z opisem, który podałeś. Uruchom ją na realnym przypadku i sprawdź, czy Claude Code wykonał całą procedurę bez dopytywania o kroki, które są już w skillu. Jeśli używasz argumentu, potwierdź, że $ARGUMENTS podstawiło się w treści (na przykład że numer zgłoszenia trafił do gh issue view). Przy hooku sprawdzenie jest jeszcze prostsze: wykonaj czynność, która ma go wyzwolić, i zobacz, czy skrypt odpalił się sam. Wpisz też /context, żeby potwierdzić, że Claude Code wczytał CLAUDE.md, jeśli część reguł trzymasz właśnie tam.

Wróć do listy: 100 najczęstszych problemów z Claude Code

Szkolenie Claude Code - od zera do zespołu agentów AI, prowadzi Łukasz Matuszewski (JSystems)

Szkolenie Claude Code - od zera do zespołu agentów AI -->

Szkolenie Claude Code - od zera do zespołu agentów AI

Tryb planowania, tryby uprawnień, komendy, MCP, hooki i systemy multi-agent - wszystko na żywym kodzie podczas trzydniowego szkolenia. Prowadzi Łukasz Matuszewski. Szkolenie ma terminy gwarantowane - odbędzie się niezależnie od liczby zgłoszeń.

Sprawdź szkolenie Claude Code

To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.

★★★★★Średnia ocena naszych szkoleń w Google: 5/5

Najczęściej zadawane pytania

Czym różni się automatyzacja przez skill (komendę slash) od wpisu w CLAUDE.md?
CLAUDE.md czytany jest na starcie każdej rozmowy i ma zawierać reguły obowiązujące zawsze i szeroko, więc rozdmuchany plik sprawia, że Claude Code gubi ważne instrukcje. Skill w katalogu .claude/skills/ ładuje się na żądanie, gdy pasuje do zadania, więc nadaje się do procedur przydatnych tylko czasem, bez zapychania kontekstu.
Jak przekazać do własnej komendy slash argument, na przykład numer zgłoszenia?
W treści pliku SKILL.md wpisz w miejscu, które ma się podmieniać, znacznik $ARGUMENTS. Potem uruchamiasz komendę z wartością, na przykład /fix-issue 1234, a Claude Code podstawi 1234 w to miejsce. Dzięki temu jedna komenda obsługuje dowolne zgłoszenie, a nie tylko jedno konkretne.
Kiedy zamiast skilla użyć hooka do automatyzacji?
Hooka użyj wtedy, gdy czynność ma się wykonać za każdym razem bez wyjątku, na przykład uruchomienie lintera po każdej edycji pliku. Skill i CLAUDE.md to wskazówki, które model może pominąć, a hook jest skryptem odpalanym deterministycznie w danym momencie pracy, więc gwarantuje wykonanie.
Jak sprawić, żeby komenda z efektami ubocznymi nie uruchamiała się sama?
W bloku nagłówka pliku SKILL.md dodaj disable-model-invocation: true. Wtedy Claude Code nie wywoła skilla z własnej inicjatywy i uruchomisz go tylko ręcznie, wpisując jego nazwę po ukośniku. To rozsądne dla procedur, które tworzą PR albo pushują zmiany.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...