Przejdź do głównej zawartości

Co Claude Code potrafi, a czego jeszcze nie próbowałeś

Dokumentacja komend Claude Code ma 114 pozycji dla komend i wbudowanych umiejętności (stan na 2026-09-26, łącznie z usuniętymi). Każda z funkcji na tej stronie usuwa jedną codzienną irytację: importy w CLAUDE.md, reguły Read w deny chroniące sekrety, edycja planu przez Ctrl+G, /rewind, /btw, /goal, hooki oraz wbudowane umiejętności /verify i /simplify.

Ta strona jest dla programistów, którzy używają Claude Code codziennie. Po pierwszym tygodniu przestałeś szukać dalej, a narzędzie wydaje nową wersję niemal codziennie. Poprawiasz kolejnym promptem plan, który jest w 90% dobry, brniesz dalej w podejście, z którego zrezygnowałeś, a sesja kolegi z zespołu czyta .env, szukając danych połączenia (connection string).

Wybór funkcji zaczął się od wystąpienia Gui Ferreiry na NDC AI 2026, What Claude Code Can Do That You Haven’t Tried. Każdą komendę i skrót klawiszowy na tej stronie sprawdziliśmy ponownie 2026-09-26 w Claude Code 2.1.283 i w oficjalnej dokumentacji.

  • Tabelę, która prowadzi od „ciągle robię to samo” do funkcji, która to eliminuje
  • CLAUDE.md podzielony na warstwy: wspólną, prywatną, globalną i przypisaną do ścieżek
  • .claude/settings.json, który trzyma .env z dala od kontekstu, i sposoby obejścia tej reguły
  • Hook PostToolUse, warunek dla /goal i /verify, dzięki którym agent sam dowodzi, że jego praca działa
  • Cztery prompty do skopiowania i tabelę awarii z krokami naprawczymi

Która niedoceniana funkcja Claude Code rozwiąże twój problem?

Dział zatytułowany „Która niedoceniana funkcja Claude Code rozwiąże twój problem?”

Zacznij od objawu. Każdy wiersz prowadzi do sekcji poniżej.

Ciągle robisz toZamiast tego użyjSekcja
Wklejasz te same zasady do CLAUDE.md, README i pliku z dokumentacjąImportów @pathImporty
Patrzysz, jak Claude otwiera .env podczas debugowaniapermissions.deny z regułami Read(...)Sekrety
Poprawiasz promptem plan, w którym są dwie złe linieCtrl+G na planiePlany
Brniesz dalej w podejście, którego już nie chceszEsc Esc albo /rewindCofanie
Czekasz na koniec długiej tury, żeby zadać krótkie pytanie/btwPytania poboczne
Co kilka minut piszesz „działaj dalej, testy wciąż nie przechodzą”/goal z warunkiem testowymCele
Piszesz w CLAUDE.md „zawsze uruchamiaj testy” i liczysz na szczęścieHooka PostToolUseHooki
Czytasz każdą linię, żeby wiedzieć, czy zmiana działa/verify, /simplify, /code-reviewWeryfikacja

Te ustawienia zajmują kilka minut i działają w każdej kolejnej sesji.

Te same zasady lądują w README, w pliku z konwencjami i w CLAUDE.md, i zaczynają się rozjeżdżać. Zastąp kopie importami @. Claude Code wczytuje każdy importowany plik do kontekstu przy starcie, obok CLAUDE.md, który go wskazuje:

See @README.md for how to run the pipeline.
Coding rules live in @docs/conventions.md.
API shape: @openapi.yaml

Ścieżki względne liczą się od pliku, który zawiera import, importy mogą się zagnieżdżać do czterech poziomów, a pliki spoza Markdowna też działają. Dwa szczegóły, które dokumentacja podaje, a czytelnicy przeoczają:

  • Import usuwa duplikację, nie tokeny. Importowany plik i tak wczytuje się przy każdym starcie, więc import 900-liniowego pliku OpenAPI kosztuje tyle samo, co wklejenie go.
  • @path wewnątrz backticków zostaje zwykłym tekstem. Napisz `@README`, jeśli chcesz tylko wspomnieć o pliku.

Oficjalne zalecenie to trzymać każdy CLAUDE.md poniżej 200 linii, bo dłuższe pliki zajmują więcej kontekstu i gorzej są przestrzegane. Zanim linia zasłuży na miejsce, zapytaj:

  1. Czy potrzebuję tego w prawie każdej rozmowie? Jeśli nie, przenieś ją gdzie indziej.
  2. Czy dotyczy tylko niektórych plików albo zadań? Reguły dla konkretnych plików umieść w .claude/rules/ z globem paths:, żeby wczytywały się tylko wtedy, gdy Claude pracuje z pasującymi plikami. Przepisy na zadania umieść w Agent Skill.
  3. Czy agent znajdzie to sam? Ręcznie spisane drzewo plików szybko się dezaktualizuje, a Claude potrafi listować katalogi. Usuń je.

Reguła przypisana do ścieżek wygląda tak:

---
paths:
- "src/api/**/*.ts"
---
Every handler validates its input with the zod schema in src/api/schemas/.
Return errors as { error: { code, message } }, never as plain strings.

Projektowy CLAUDE.md jest w repozytorium i dzieli go cały zespół. Niektóre zasady są tylko twoje:

  • Prywatne, dla projektu: CLAUDE.local.md w katalogu głównym projektu wczytuje się po CLAUDE.md. Dodaj go do .gitignore. Istnieje tylko w worktree, w którym go utworzyłeś, więc jeśli pracujesz na worktree, zaimportuj zamiast niego plik ze swojego katalogu domowego.
  • Globalne, dla każdego projektu: ~/.claude/CLAUDE.md i ~/.claude/rules/ działają w każdej sesji na twojej maszynie. Umieść tam trwałe preferencje, na przykład „odpowiadaj krótkimi punktami”.

Pełną kolejność wczytywania i auto memory opisuje strona o systemie pamięci Claude Code.

Kiedy Claude debuguje błąd bazy danych, potrafi przeczytać .env i pliki ustawień, szukając danych połączenia (connection string). Wszystko, co przeczyta, trafia do okna kontekstu i jest wysyłane do modelu. Zablokuj te odczyty w .claude/settings.json i zacommituj plik, żeby regułę dostał cały zespół:

{
"permissions": {
"deny": [
"Read(.env)",
"Read(.env.*)",
"Read(!.env.example)",
"Read(./**/appsettings*.json)",
"Bash(dotnet user-secrets *)"
]
}
}

Sama nazwa pliku, taka jak .env, pasuje na dowolnej głębokości pod katalogiem roboczym, więc reguła obejmuje też services/api/.env. Read(.env.*) zablokowałaby też .env.example, czyli szablon, z którego Claude poznaje nazwy zmiennych, dlatego linia z ! go odblokowuje; reguła z ! otwiera tylko ścieżki zablokowane przez reguły wymienione przed nią w tym samym pliku. Te same reguły wpisz do ~/.claude/settings.json, żeby chroniły projekty, które ich nie mają, ale nie zaczynaj ich tam pojedynczym ukośnikiem: w ustawieniach użytkownika Read(/secrets/**) wskazuje na ~/.claude/secrets/**, a nie na twój projekt.

Te ruchy powtarzasz dziesiątki razy dziennie.

Edytuj plan przez Ctrl+G zamiast poprawiać go promptem

Dział zatytułowany „Edytuj plan przez Ctrl+G zamiast poprawiać go promptem”

Wejdź w tryb planowania przez Shift+Tab albo /plan. Kiedy zaproponowany plan jest dobry z wyjątkiem dwóch linii, naciśnij Ctrl+G, żeby otworzyć go w domyślnym edytorze. Popraw linie, zapisz i zatwierdź. Claude nie planuje od nowa części, które już były dobre.

Przy pracy ze specyfikacją większym ryzykiem jest to, że Claude wypełnia luki założeniami, które odkrywasz dopiero wtedy, gdy zbuduje niewłaściwą rzecz. Niech Claude najpierw przepyta ciebie:

Ostatnie zdanie jest kluczowe: kryteria akceptacji stają się dowodami, które sprawdzasz zamiast diffa.

Zobaczyłeś wynik jednego podejścia i chcesz innego. Nowy prompt zostawia w kontekście porzuconą próbę, która kosztuje tokeny i ciągnie kolejną próbę w stronę starego projektu. Naciśnij Esc Esc przy pustym polu promptu albo uruchom /rewind, żeby przywrócić rozmowę, kod albo jedno i drugie do wcześniejszego checkpointu.

Checkpointy śledzą zmiany plików wprowadzone narzędziami edycji Claude. Nie śledzą plików zmienionych komendami Basha (rm, mv, generator kodu) ani zmian, które wprowadziłeś poza sesją. Zrób commit przed ryzykownym krokiem, żeby git pokrył to, czego nie pokrywają checkpointy.

Domyślny model Claude Code w kanale wydań latest to Claude Opus 5.5 z effortem medium (inne kanały i plany opisuje przegląd modeli). Zanim zmienisz model, dostrój effort:

  • /effort high albo /effort xhigh na trudny fragment pracy; /effort status pokazuje bieżący poziom.
  • Wpisz ultrathink w dowolnym miejscu jednego promptu, żeby poprosić o głębsze rozumowanie tylko w tej turze. Claude Code dodaje instrukcję do kontekstu i nie zmienia poziomu effort wysyłanego do API.
  • /model zmienia model i zapisuje go jako domyślny dla nowych sesji. Żeby zmienić model tylko w tej sesji, otwórz wybór przez /model i naciśnij s w wierszu modelu.

Zasada „planuj na mocnym modelu, wykonuj na tańszym” jest wbudowana jako alias opusplan: Opus w trybie planowania, Sonnet przy wykonaniu. Zostań przy domyślnym modelu, dopóki twoje własne wyniki nie pokażą, że ten podział działa.

Zwykły prompt czeka w kolejce za bieżącą turą. /btw why did you pick a queue over a cron job? odpowiada od razu w nakładce, na podstawie tego, co już jest w kontekście, nie przerywając tury i nie trafiając do historii rozmowy. Pytania poboczne nie mają dostępu do narzędzi, więc Claude nie przeczyta nowego pliku, żeby na nie odpowiedzieć.

  • Uruchom /context w świeżej sesji, zanim cokolwiek wpiszesz. Jeśli siatka już pokazuje dużą zajętość, jakiś serwer MCP albo umiejętność zainstalowana miesiące temu wczytuje się przy każdym uruchomieniu. Usuń ją albo przypisz do projektu, który jej potrzebuje.
  • Uruchom /compact z instrukcją, na czym się skupić, zanim jakość spadnie, a nie potem: /compact keep the failing test names and the migration plan.
  • Uruchom /clear przy naprawdę nowym zadaniu. Podaj nazwę, na przykład /clear invoice-spike, żeby oznaczyć poprzednią rozmowę w wyborze /resume.
  • Uruchom /usage, żeby zobaczyć koszt sesji, limity planu i aktywność.
  • Zacznij linię od !, żeby uruchomić komendę powłoki bez kroku rozumowania: ! npm test. Wynik i tak trafia do kontekstu, więc nie uruchamiaj komendy, która wypisuje sekrety.

Budżety i kontrolę na poziomie zespołu opisuje strona o kontroli kosztów w Claude Code.

Auto memory zapisuje notatki z twoich poprawek w katalogu pamięci, a pierwsze 200 linii albo 25 KB indeksu MEMORY.md wczytuje się do każdej sesji. Te notatki nie wygasają. Co kilka tygodni uruchom /memory, otwórz pliki, usuń notatki, które przestały być prawdziwe, i wyłącz auto memory w projekcie, w którym wprowadza w błąd.

  • claude --continue (-c) otwiera ostatnią rozmowę w tym katalogu. claude --resume (-r) albo /resume otwiera listę do wyboru.
  • Wklej zrzut ekranu przez Ctrl+V (Cmd+V w iTerm2, Alt+V w Windows i WSL).
  • /remote-control (/rc) udostępnia sesję na claude.ai/code i w aplikacji mobilnej Claude. Sesja nadal działa na twojej maszynie, więc komputer musi być włączony. Szczegóły opisuje strona o kanałach i Remote Control.
  • Worktree: claude --worktree fix-invoice-rounding (-w) uruchamia sesję we własnym worktree gita, więc funkcja, poprawka błędu i code review nie dzielą jednego katalogu roboczego.
  • Nazwy i kolory: /rename invoice-bug i /color red oznaczają pasek promptu, więc od razu rozpoznajesz terminal.
  • Sesje w tle: /background (/bg) odłącza bieżącą sesję, a claude agents otwiera agent view, panel sesji w tle w fazie research preview. /tasks pokazuje pracę w tle w obrębie jednej sesji. Szczegóły opisuje strona o agent view.
  • Tryby uprawnień: od v2.1.283 w kanale latest tryb auto jest trybem startowym interaktywnych sesji w terminalu i VS Code. Klasyfikator ocenia każdą akcję. claude -p, Agent SDK i modele, których tryb auto nie obsługuje, nadal startują w trybie Manual, podobnie jak każda sesja, w której plik ustawień ustawia disableAutoMode. Shift+Tab z trybu auto przechodzi do Manual, a potem przełącza kolejno Manual, acceptEdits i plan.

/goal ustawia warunek ukończenia. Po każdej turze osobny mały model sprawdza warunek, a Claude zaczyna kolejną turę, dopóki warunek nie jest spełniony.

Cel jest tak dobry jak jego warunek. Ewaluator nie uruchamia komend ani nie czyta plików; ocenia to, co Claude pokazał w rozmowie. „Funkcja działa” zostawia ocenę opinii. Warunek, który wymienia kod wyjścia komendy i test, daje Claude coś do uruchomienia, a ewaluatorowi coś do sprawdzenia.

Rozszerz Claude Code o hooki, umiejętności i MCP na poziomie projektu

Dział zatytułowany „Rozszerz Claude Code o hooki, umiejętności i MCP na poziomie projektu”

Ta sekcja opisuje cztery punkty rozszerzeń.

Hook uruchamia komendę przy zdarzeniu, poza modelem. Jeśli CLAUDE.md mówi „zawsze uruchamiaj linter po edycji”, model stosuje się do tego przez większość czasu. Hook stosuje się zawsze:

{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "f=$(jq -r '.tool_input.file_path'); case \"$f\" in *.ts|*.tsx|*.js) npx eslint --max-warnings=0 \"$f\" 1>&2 || exit 2;; esac"
}
]
}
]
}
}

Hook czyta JSON zdarzenia ze stdin, wyciąga przez jq ścieżkę edytowanego pliku i lintuje tylko ten plik, więc istniejące ostrzeżenia w innych miejscach repozytorium nie blokują każdej edycji. Hook PostToolUse działa po wykonanej edycji, więc nie może jej cofnąć. ESLint przy znalezionym problemie kończy się kodem 1, którego Claude by nie zobaczył, dlatego komenda kieruje raport na stderr i kończy się kodem 2. Przy kodzie 2 Claude czyta stderr i poprawia problem w następnym kroku. Hook, który kończy się kodem 0, milczy. Żeby zatrzymać akcję, zanim się wykona, użyj hooka PreToolUse.

Zapakuj skrypty w umiejętność zamiast stawiać serwer MCP

Dział zatytułowany „Zapakuj skrypty w umiejętność zamiast stawiać serwer MCP”

Agent Skill to folder .claude/skills/<name>/SKILL.md. Claude widzi opis każdej umiejętności i wczytuje ją, gdy jest potrzebna, albo wywołujesz ją sam przez /<name>. Umiejętność może zawierać skrypty, nie tylko instrukcje. Jeśli musisz wołać wewnętrzne API z trzema nietypowymi endpointami, włóż swój istniejący skrypt w Pythonie do folderu umiejętności, opisz w SKILL.md, jak go uruchomić, i dodaj notatkę „jeśli to zawiedzie, spróbuj tego”. Serwer MCP nie jest potrzebny.

Claude Code ma wbudowane umiejętności, które nie wymagają instalacji:

  • /batch <instruction> bada dużą zmianę, dzieli ją na 5 do 30 niezależnych jednostek, pokazuje plan, a potem uruchamia po jednym subagencie w tle na każdą jednostkę.
  • /simplify uruchamia równolegle czterech agentów przeglądających zmieniony kod (ponowne użycie, uproszczenia, wydajność i poziom abstrakcji) i wprowadza poprawki.
  • /loop 5m check the CI run for this branch and tell me when it is green powtarza prompt, dopóki sesja jest otwarta.
  • /verify buduje i uruchamia twoją aplikację i obserwuje wynik, zamiast ufać samym testom. /run-skill-generator zapisuje, jak uruchomić twoją aplikację, więc /run i /verify nie muszą tego odkrywać za każdym razem.
  • /code-review przegląda bieżący diff pod kątem błędów poprawności, a /security-review sprawdza gałąź pod kątem podatności.

Więcej znajdziesz przez /plugin. Plugin łączy umiejętności, hooki i serwery MCP i instaluje się w zakresie użytkownika, chyba że podasz inny zakres. Szczegóły opisuje strona o instalowaniu i zarządzaniu umiejętnościami.

Przypisz serwery MCP do projektu, który ich potrzebuje

Dział zatytułowany „Przypisz serwery MCP do projektu, który ich potrzebuje”

claude mcp add domyślnie zapisuje w zakresie local: bieżący projekt, tylko dla ciebie. Serwer potrzebny zespołowi należy do zakresu project, który zapisuje .mcp.json w katalogu głównym repozytorium, gotowy do commita:

Okno terminala
claude mcp add --transport http --scope project notion https://mcp.notion.com/mcp

Serwer zapisany tylko w .mcp.json jednego projektu nie wczytuje definicji swoich narzędzi do wszystkich innych projektów. Każda osoba z zespołu zatwierdza serwery projektu przy pierwszym uruchomieniu claude w zaufanym repozytorium; sklonowane repozytorium nie może samo zatwierdzić swoich serwerów. Szczegóły opisuje strona o konfiguracji MCP w Claude Code.

Wszystko, co masz na dysku, wchodzi w grę: folder notatek w Markdownie, katalog-szuflada (najpierw plan, bo checkpointy nie obejmują przeniesień wykonanych przez Basha) albo twój brag document. Opakuj poniższy prompt w prywatną umiejętność, a następny sezon ocen zajmie jedną komendę.

Szybsze sesje pomagają tylko wtedy, gdy wynik jest poprawny. Niech agent dowodzi swojej pracy, a ty czytaj dowody zamiast każdej linii:

  1. Najpierw napisz kontrolę. Umieść kryteria akceptacji w planie (prompt z przepytaniem powyżej) i zamień je na testy przed implementacją.
  2. Wymuś bramki hookami. Hook PostToolUse uruchamia linter albo sprawdzanie typów po każdej edycji, a hook Stop może uruchomić testy, zanim Claude odda ci kontrolę.
  3. Zdefiniuj „gotowe” obiektywnie. Używaj /goal z kodem wyjścia i nazwanymi testami, a nie z „działa”.
  4. Obserwuj działającą aplikację. Uruchom /verify dla zachowań, których testy nie obejmują, na przykład przepływu w UI albo wyjścia CLI.
  5. Przegląd robią agenci, akceptuje człowiek. Uruchom /simplify i /code-review na diffie. Potem przeczytaj wyniki testów, obserwację z /verify i git diff --stat, i zaakceptuj kryteria akceptacji. Pojedyncze linie czytaj tylko tam, gdzie te źródła się nie zgadzają.
  6. Zostaw sobie drogę odwrotu. Rób commit przed ryzykownym krokiem i używaj /rewind do tego, co śledzą checkpointy.

Pełny proces testowania opisują strony o testowaniu z Claude Code i automatycznym code review.

Co psuje się w tych funkcjach Claude Code i jak to naprawić

Dział zatytułowany „Co psuje się w tych funkcjach Claude Code i jak to naprawić”
ObjawPrzyczynaNaprawa
Każda nowa sesja startuje na innym modelu niż u reszty zespołu/model zapisał twój wybór jako domyślny w ustawieniach użytkownikaUruchom /model i wybierz model domyślny, a następnym razem naciśnij s, żeby zmienić model tylko w jednej sesji
/rewind przywrócił rozmowę, ale usunięty plik nadal nie istniejeCheckpointy nie śledzą zmian plików wykonanych przez BashaPrzywróć plik z git; rób commit przed ryzykownymi krokami
Claude i tak wypisał wartość z .envOdczyt poszedł przez grep -r albo skrypt, których reguły Read w deny nie obejmująWłącz sandbox i wymień ujawniony sekret
Świeża sesja już w /context pokazuje dużą zajętośćSerwery MCP i pluginy w zakresie użytkownika albo długi CLAUDE.md wczytują się wszędziePrzenieś serwery do zakresu project, odinstaluj nieużywane pluginy, odchudź CLAUDE.md
/goal nigdy się nie kończy albo kończy się za wcześnieWarunek jest niejasny, niemożliwy do spełnienia albo wymaga czegoś, czego Claude nigdy nie wypisuje, więc ewaluator tego nie widziUruchom /goal clear i sformułuj warunek jako kod wyjścia komendy plus nazwane testy; dopisz or stop after 20 turns, żeby go ograniczyć
Hook działa, ale Claude ignoruje błędySkrypt przy błędzie kończy się kodem 1 albo 0, więc Claude nie widzi stderrPrzy błędzie kończ skrypt kodem 2
Hook blokuje każdą edycję, a Claude zaczyna poprawiać niezwiązane plikiHook lintuje całe drzewo, w którym już są ostrzeżeniaOgranicz hook do edytowanego pliku, jak w przykładzie powyżej
Claude powtarza nieaktualną preferencjęPrzestarzała notatka auto memoryUruchom /memory i usuń notatkę
/btw odpowiada, że nie może sprawdzić plikuPytania poboczne nie mają dostępu do narzędziZadaj zwykły prompt, który czeka w kolejce za bieżącą turą

W piątek uruchom /insights. Komenda buduje raport HTML z twoich ostatnich sesji na tej maszynie: sposób korzystania z Claude Code, miejsca, w których coś idzie nie tak, i funkcje warte wypróbowania. Wybierz jedną sugestię na następny tydzień. Komenda nie działa w sesjach w chmurze.