Claude Code SDK i GitHub Action — automatyzacja bez interfejsu
TL;DR: Claude Code SDK to programmatyczny dostęp do agenta Claude w trybie headless — bez GUI, bez klikania, tylko bash i pipe. Zbudowany na tej samej filozofii co narzędzia Unix: podłącz wszędzie, łącz w łańcuchy, buduj CI. Claude GitHub Action (open source) działa na szczycie SDK — wystarczy skomentować issue w GitHubie, żeby Claude sam zaimplementował feature lub zrecenzował PR.
TL;DR
Claude Code SDK to programmatyczny dostęp do agenta Claude w trybie headless — bez GUI, bez klikania, tylko bash i pipe. Zbudowany na tej samej filozofii co narzędzia Unix: podłącz wszędzie, łącz w łańcuchy, buduj CI. Claude GitHub Action (open source) działa na szczycie SDK — wystarczy skomentować issue w GitHubie, żeby Claude sam zaimplementował feature lub zrecenzował PR.
Co to jest headless mode
Claude Code SDK to nie kolejny wrapper na API czatu. To dostęp do agenta — tego samego, który działa w terminalu — w trybie bezgłowym.
"It is a way to programmatically access the power of the Claude Code Agent in headless mode. This is a new kind of primitive and a new kind of building block that allows you to build applications that just weren't possible before."
Różnica jest fundamentalna: agent ma kontekst projektu, rozumie strukturę plików, może zapisywać kod — a nie tylko generować tekst.
Filozofia Unix — dlaczego to działa
SDK jest zaprojektowany jak narzędzie Unix. Oznacza to:
- Możesz go podłączyć wszędzie, gdzie działa bash lub terminal
- Dane wchodzą pipem, dane wychodzą pipem
- Można budować złożone łańcuchy przetwarzania
To nie jest metafora. Poniższe komendy działają dosłownie.
Komendy SDK — z transkryptu, bez zmian
Podstawowe wywołanie
claude -p "write me a fibonacci sequence generator" --allowed-tools write_file
Flaga --allowed-tools daje agentowi proaktywny dostęp do narzędzi — np. zapis plików na lokalnym systemie. Bez niej Claude działa tylko w trybie read-only.
Analiza logów przez pipe
cat app.log | claude -p
Zamiast ręcznie czytać logi — pipe do Claude, który podsumowuje błędy. Działa na każdym output tekstowym.
Parsowanie wyjścia systemowego
ifconfig | claude -p
Ten sam wzorzec dla ifconfig, df, ps aux — cokolwiek, czego output jest trudny do zinterpretowania ręcznie.
JSON output — klucz do automatyzacji
claude -p "zadanie" --output-format json
Zamiast plain text Claude zwraca strukturyzowany JSON. To jest co sprawia, że SDK jest programistycznie użyteczny — możesz parsować output i budować na nim kolejne kroki pipeline'u.
Zastosowania CI/CD (wymienione wprost)
- Code review — Claude reviewuje kod w pipeline
- Własne lintery — dla rzeczy, których nie da się zdefiniować programistycznie, Claude robi to za ciebie
- Chatboty — zasilane przez Claude Code agenta (możliwe, nie zademonstrowane)
- Remote environments — pisanie kodu w odizolowanych środowiskach (możliwe, nie zademonstrowane)
GitHub Action — demo na żywo
GitHub Action to gotowa implementacja zbudowana na szczycie SDK. Jest open source.
Potrafi:
- Tworzyć nowe feature'y na podstawie issue
- Reviewować pull requesty
- Triażować bugi
Workflow (dokładnie tak jak na prezentacji)
Issue #1 — power-ups do quiz app:
Treść issue: "add a powerup option in the config — 50/50 elimination for the skip question, it should award user points even though the question was skipped, users should be able to configure this from the config page"
Issue celowo miało skąpe detale — dużo przestrzeni twórczej dla agenta.
Issue #2 — per-question timer:
Globalne odliczanie istniało, brakowało timera per pytanie.
Przebieg:
- Komentarz na issue:
@Claude please implement this feature - ~4–5 sekund — Claude odpowiada komentarzem z potwierdzeniem i linkiem do job run
- W logach GitHub Action widoczny JSON output z SDK
- Claude sam tworzy TODO listę → przechodzi przez nią punkt po punkcie
- Oba issue były przetwarzane równolegle jednocześnie
- Ten sam mechanizm działa do review PR — Claude komentuje zmiany
Nadchodzące (ogłoszone, niezademonstrowane)
- Python bindings dla SDK
- TypeScript bindings dla SDK
Jak to wdrożyć
- Zainstaluj Claude Code:
claudew terminalu - Przetestuj pipe:
echo "explain this" | claude -p - Przetestuj log analysis:
cat twoj-log.txt | claude -p - Dodaj
--output-format jsoni sparsuj output w skrypcie - Zainstaluj Claude GitHub Action na repozytorium
- Stwórz issue z opisem feature'a i zakomentuj
@Claude please implement this
Powiązane tematy
- 01-podstawy — podstawy CLI i codzienna praca z Claude Code
- 04-spec-driven-development — jak unikać vibe codingu i doom loops w CI
- 04-automatyzacja — n8n vs Zapier vs Make — gdzie SDK pasuje w pipeline
- 03-wzorce-agentow — wzorce dla agentów, w tym Planer-Executor i Meta-agent