Akademia · Praktyka pracy z AI

Claude Code — Tips & Tricks dla programistów.

Zestaw praktyk, skrótów i wzorców, które realnie przyspieszają codzienną pracę z agentem. Od powiadomień dźwiękowych po świadome zarządzanie kontekstem i optymalizację promptów — wszystko z naszej własnej praktyki.

Ostatnia aktualizacja:

Mniej czekaniapowiadomienia i pomijanie uprawnień
Więcej kontekstuauto-compact pod kontrolą
Lepsze planytryb planowania i budżet myślenia

01 / Powiadomienia · Dźwięk po zadaniu

Dźwięk po zakończeniu każdego zadania.

Gdy agent pracuje w tle, łatwo przegapić moment, w którym kończy. Hook na zdarzeniu zakończenia odpowiedzi zagra dźwięk i zwróci Twoją uwagę.

  1. Skopiuj plik dźwiękowy i prosty skrypt odtwarzacza do ~/.claude/.
  2. Przetestuj odtwarzanie z terminala.
  3. Zarejestruj hook na zdarzeniu Stop przez komendę /hooks.
# skopiuj pliki do ~/.claude/
cp ~/Downloads/finish.wav ~/.claude/
cp ~/Downloads/play.js ~/.claude/

# test odtwarzania
node ~/.claude/play.js ~/.claude/finish.wav

Następnie w agencie wpisz /hooks, wybierz zdarzenie „Stop" (tuż przed zakończeniem odpowiedzi), dodaj nowy hook i jako komendę podaj:

node ~/.claude/play.js ~/.claude/finish.wav

Wskazówka: jeśli play.js nie odtwarza dźwięku, zleć rozwiązanie problemu samemu agentowi — poda komendę właściwą dla Twojego systemu (wymaga zainstalowanego Node.js).

02 / Uprawnienia · Mniej potwierdzeń

Pomijanie uprawnień — tylko w izolacji.

Ciągłe potwierdzanie każdej operacji spowalnia pracę. Flaga pomijająca pytania daje duży przyrost prędkości, ale wyłącza wszystkie kontrole:

claude --dangerously-skip-permissions

Uwaga: ta flaga pomija WSZYSTKIE kontrole bezpieczeństwa — agent wykona dowolną operację bez pytania. Używaj wyłącznie w izolowanych środowiskach (np. Docker), na maszynach testowych albo gdy masz pewność co do bezpieczeństwa skryptów.

Jeśli używasz jej często, schowaj ją za aliasem powłoki:

alias claude-fast='claude --dangerously-skip-permissions'

Bezpieczniejsza alternatywa: tryb Auto, dostępny w cyklu Shift+Tab, pozwala agentowi działać bez ciągłych potwierdzeń, ale każdą akcję sprawdza w tle osobny klasyfikator. To rozsądny kompromis między pełną kontrolą a --dangerously-skip-permissions — masz przyspieszenie bez całkowitego wyłączania kontroli bezpieczeństwa.

03 / Status line · Monitoring w terminalu

Status line — model i kontekst w czasie rzeczywistym.

Status line to pasek na dole terminala. Pokazuje na bieżąco model, zapełnienie okna kontekstu, koszt sesji czy gałąź gita — cokolwiek wypisze skrypt, który mu podłączysz. Nie musisz już sięgać po zewnętrzne paczki: Claude Code ma wbudowaną komendę /statusline, która sama wygeneruje skrypt i wpisze go do ustawień. Opisujesz po ludzku, co chcesz widzieć:

/statusline pokaż nazwę modelu i procent kontekstu z paskiem postępu

Agent tworzy plik w ~/.claude/ i aktualizuje konfigurację za Ciebie. Co warto trzymać na pasku:

  • Model — aktualnie używany model i moment przełączenia między Opus a Sonnet.
  • Kontekst — zapełnienie okna; wczesne ostrzeżenie, zanim zrobi się ciasno.
  • Koszt — wydatek na bieżącą sesję.
  • Git — gałąź i stan repo, zawsze pod ręką.

Pasek odświeża się sam podczas pracy. Chcesz go zmienić albo usunąć — wywołaj /statusline jeszcze raz i powiedz, co poprawić (albo /statusline clear).

Aktualizacja: wcześniej polecaliśmy zewnętrzny instalator (npx @chongdashu/cc-statusline@latest init). Dziś jest to zbędne — wbudowana komenda /statusline robi to samo bez dokładania zależności do projektu.

04 / Kontekst · Auto-compact

Wyłącz auto-compact, przejmij kontrolę nad kontekstem.

Auto-compact automatycznie kompresuje historię konwersacji przy zbliżaniu się do limitu kontekstu (zwykle ok. 95% zapełnienia). W praktyce częściej szkodzi niż pomaga:

  • Zjada kontekst przed startem — bufor potrafi zająć dużą część okna, zanim napiszesz pierwszą linię.
  • Przerywa workflow — kompaktowanie może wystartować w najgorszym momencie i zepsuć setup.
  • Brak kontroli — nie wiesz, co zostało usunięte, i nie możesz tego naprawić.

Wyłącz go przez /config: znajdź opcję „Auto-compact" i przełącz na false (spacją).

Zanim zdecydujesz, co przyciąć, sprawdź, gdzie ucieka okno. Komenda /context rysuje zużycie kontekstu jako kolorową siatkę i pokazuje, co zżera najwięcej — system prompt, otwarte pliki, narzędzia serwerów MCP czy rozrośnięty CLAUDE.md — razem z podpowiedziami optymalizacji i ostrzeżeniem, gdy zbliżasz się do limitu. /context all rozwija pełną rozpiskę pozycja po pozycji.

Strategia kontekstu: gdy okno się zapełni, zamiast /compact użyj /clear i rozplanuj zadanie na nowo. Świeży start z lepszym planem daje znacznie wyższą skuteczność niż kompaktowanie. Po wyłączeniu auto-compact odzyskujesz około 20% kontekstu i agent nie gubi istotnych informacji.

05 / Tryb planowania · Plan Mode

Tryb planowania — plan przed jakąkolwiek zmianą.

W trybie planowania agent analizuje i planuje, ale nie zmienia plików — może za to czytać kod i uruchamiać komendy powłoki do eksploracji (read-only). To faza rozpoznania przed właściwymi zmianami. Shift+Tab przełącza tryby cyklicznie: default → acceptEdits → plan. Wejdziesz też komendą /plan albo startując agenta z flagą --permission-mode plan.

  • Dostępne: Read, Glob, Grep, WebSearch, WebFetch, komendy powłoki do eksploracji (read-only), lista zadań do wykonania, agenci pomocniczy do głębszego researchu.
  • Zablokowane: Write, Edit i wszystko, co zapisuje zmiany — sam Bash nie jest blokowany, tylko operacje modyfikujące.

Po wejściu w tryb opisz problem szczegółowo. Przykład:

Zaplanuj implementacje systemu autentykacji z OAuth2,
JWT, refresh tokenami i rate limitingiem dla REST API.

Głębokość myślenia: /effort zamiast stałych budżetów

Im głębiej agent myśli przed odpowiedzią, tym wyższy koszt czasu i tokenów. Steruje się tym na dwa sposoby: trwale komendą /effort i jednorazowo słowem w prompcie.

MechanizmCo robiZasięg
/effort (low / medium / high / xhigh / max / ultracode)ustawia, jak głęboko agent myślicała sesja, aż zmienisz
ultrathink / think (w treści promptu)jednorazowo podbija myślenie na tę jedną odpowiedźtylko bieżący prompt

Aktualizacja: dla obecnych modeli (Opus 4.8 / 4.7) model „fraza → stały budżet tokenów" jest przestarzały. Dawne think / megathink / ultrathink mapowały na sztywne progi (~4K / 10K / 32K) — dziś te liczby są nieaktualne. Głębokość ustawiasz komendą /effort: low, medium, high (domyślny dla Opus 4.8, też w Claude Code), xhigh na długie zadania agentowe i max na realnie graniczne problemy. Wybrany poziom trzyma się między turami. Na górze menu jest jeszcze ultracode — to nie osobny poziom modelu, tylko xhigh plus zgoda na to, żeby agent sam rozpisywał zadanie na wiele równoległych podagentów. Słowo ultrathink w prompcie to z kolei jednorazowy zastrzyk na jedną odpowiedź. Głębsze myślenie rezerwuj na trudne decyzje: architekturę, duży refactoring, niejasne błędy.

06 / Prompty · Feedback loop

Optymalizacja promptów — ucz się wprost od agenta.

Krótszy, precyzyjny prompt to mniej tokenów i celniejsza odpowiedź. Cztery zasady, które robią największą różnicę:

  • Precyzja — odwołuj się do tras i ścieżek (np. /trainings), nie do nazw tabel czy szczegółów implementacji.
  • Zwięzłość — usuń zbędne słowa; agent rozumie kontekst, gramatyka może ucierpieć.
  • Kontekst — podaj tylko istotne tło, nie całą historię projektu; reszta jest w CLAUDE.md.
  • Konkretność — „dodaj przełącznik trybu ciemnego" zamiast „zrób coś z motywem".

Przed i po

ZLE: "Hej, moglbys mi pomoc zeby w aplikacji byla funkcja
      wysylania maili do uzytkownikow z tabeli szron_training_participants"
DOBRZE: "Dodaj funkcje wysylki maili do uczestnikow w /trainings"

ZLE: "Czy moglbys sprawdzic baze i powiedziec jakie sa wszystkie tabele i co robia?"
DOBRZE: "Lista tabel w DB z opisami"

Możesz też poprosić agenta, by po każdym zadaniu sam podpowiadał lepszą wersję Twojego promptu — wpisz tę zasadę do CLAUDE.md, a każde zadanie stanie się darmową lekcją prompt engineeringu. Z czasem Twoje pierwsze prompty zbliżą się do tych zoptymalizowanych.

07 / Cofanie · Checkpointy

/rewind — cofnij kod i rozmowę bez restartu.

Agent poszedł w złą stronę, a zorientowałeś się dwa kroki za późno? Nie musisz zaczynać sesji od zera. Claude Code odkłada checkpointy w trakcie pracy, więc da się wrócić do stanu sprzed nieudanej zmiany. Służy do tego komenda /rewind (aliasy: /checkpoint, /undo): cofa rozmowę i/lub kod do wybranego punktu albo streszcza historię od zaznaczonej wiadomości.

Menu otwierasz komendą /rewind albo podwójnym Esc. Wybierasz wtedy, co przywrócić:

  • Tylko rozmowę — wracasz do wcześniejszego punktu dialogu, pliki zostają nietknięte.
  • Tylko kod — odkręcasz zmiany w plikach, nie ruszając historii czatu.
  • Jedno i drugie — pełny powrót do checkpointu.

Wskazówka: pojedynczy Esc przerywa pracę agenta w locie; podwójny Esc otwiera to samo menu cofania co /rewind. To szybsza pętla niż dorzucanie korekty kolejnym promptem na końcu — zwłaszcza gdy agent zdążył już naruszyć kilka plików.

08 / Automatyzacja · Slash-commands i Skills

Własne komendy i Skills — biblioteka workflow zespołu.

Wpisujesz w kółko ten sam prompt — „przejrzyj diff pod kątem bugów", „dodaj endpoint z obsługą błędów i typami"? Zamień go w komendę raz, wołaj jednym /. Plik markdown w katalogu .claude/skills/<nazwa>/SKILL.md tworzy komendę /<nazwa>. Starszy zapis .claude/commands/<nazwa>.md działa tak samo — w nowszych wersjach własne komendy zostały scalone ze Skills.

Każdy SKILL.md to nagłówek YAML (name, description) i treść w markdown z instrukcją:

---
name: code-review
description: Przeglada diff pod katem bugow i luk bezpieczenstwa.
---
Przejrzyj zmiany w gicie. Zglos tylko realne bugi
i podatnosci — zwiezle, bez czepiania sie nazewnictwa.

Dwie rzeczy robią tu największą różnicę:

  • Zespół prosto z repo — wersję projektową trzymasz w .claude/skills/ i komitujesz do repozytorium; każdy w zespole ma od ręki te same SOP-y. Wersja osobista (~/.claude/skills/) jedzie z Tobą po wszystkich projektach.
  • Claude sam sięga po skill — pole description mówi agentowi, kiedy włączyć skill bez Twojego /. Komendę odpalasz ręcznie, skill może wskoczyć sam, gdy pasuje do zadania. Listę dostępnych masz pod /skills.

Komendy przyjmują argumenty ($ARGUMENTS, $1, $2), więc jeden skill obsłuży wiele wariantów. Przykład z praktyki: skill prototype, który zamiast jednego widoku generuje od razu pięć wariantów UI obok siebie w jednym pliku — wybierasz najlepszy zamiast prosić o poprawki w nieskończoność.

Wdrożenie u Was

Chcecie, żeby tak pracował cały Wasz zespół?

Te triki to dopiero początek. Wdrożenie to dwa kwartały na Waszym kodzie — z pomiarem efektu w DEVLens. 30 minut wystarczy, żeby sprawdzić, czy ma to u Was sens.