Polecenie /loop: prompty cykliczne i samodzielnie tempowane
Deploy trwa jakieś osiem minut. Więc czekasz, wpisujesz „już gotowe?”, czytasz „wciąż się buduje”, czekasz, pytasz znów. Albo PR jest w przeglądzie i ciągle wracasz sprawdzić wyniki CI i nowe komentarze. Nic z tego nie jest trudne — to po prostu prompt, który uruchamiałbyś w kółko, gdybyś mógł, a bycie tym, kto uruchamia go w kółko, to marnowanie programisty.
/loop jest tym powtarzaczem. Dajesz mu prompt i, opcjonalnie, rytm, a on ponawia prompt za ciebie — w stałym interwale, w interwale dobranym na podstawie tego, co widzi, albo jako stałą rutynę utrzymaniową. To rytmiczna połowa autonomicznej pracy; jej rodzeństwo, /goal, to połowa oparta na warunku.
Co wyniesiesz z tego rozdziału
Dział zatytułowany „Co wyniesiesz z tego rozdziału”- Trzy tryby
/loopw Claude Code — stały interwał, samodzielne tempo i utrzymanie — oraz kiedy używać którego - Dokładną składnię, w tym jak interwały mapują się na cron i jak zatrzymać pętlę
- Jak zastąpić domyślny prompt utrzymaniowy własnym
loop.md - Czego użyć zamiast tego w Codeksie i Cursorze
- Czym
/loopróżni się od/goal
Trzy tryby (Claude Code)
Dział zatytułowany „Trzy tryby (Claude Code)”/loop to dołączony skill (wymaga Claude Code w wersji 2.1.72 lub nowszej). Zarówno interwał, jak i prompt są opcjonalne, a to, co podasz, decyduje o zachowaniu:
| Co podajesz | Przykład | Co się dzieje |
|---|---|---|
| Interwał i prompt | /loop 5m sprawdź deploy | Prompt działa według stałego harmonogramu |
| Tylko prompt | /loop sprawdź deploy | Prompt działa w interwale, który Claude dobiera w każdej rundzie |
| Tylko interwał albo nic | /loop | Działa wbudowany prompt utrzymaniowy (albo twój loop.md) |
Stały interwał
Dział zatytułowany „Stały interwał”Podaj interwał, a Claude przekształca go w wyrażenie cron, planuje zadanie i potwierdza rytm oraz identyfikator zadania:
/loop 5m sprawdź, czy deploy się zakończył, i powiedz mi, co się stałoInterwał może prowadzić jako goły token (30m) albo zamykać zdanie jako klauzula (every 2 hours). Jednostki to s, m, h, d. Sekundy zaokrąglają się w górę do najbliższej minuty (granulacja crona), a nietypowe interwały jak 7m czy 90m zaokrąglają się do najbliższego czystego kroku crona — Claude mówi ci, co wybrał. Jako prompt możesz też podać inne polecenie: /loop 20m /review-pr 1234 ponawia zapisany skill w każdej iteracji.
Samodzielne tempo
Dział zatytułowany „Samodzielne tempo”Pomiń interwał, a Claude sam dobiera opóźnienie po każdej rundzie — od jednej minuty do godziny — na podstawie tego, co zaobserwował, i wypisuje powód każdego czekania:
/loop sprawdź, czy CI przeszło, i zajmij się komentarzami z przegląduKrótkie czekania, gdy build się kończy, dłuższe, gdy zrobi się cicho. W tym trybie Claude może użyć narzędzia Monitor, by strumieniować wyjście skryptu działającego w tle zamiast ponawiać prompt — często szybciej i oszczędniej tokenowo niż odpytywanie.
Utrzymanie
Dział zatytułowany „Utrzymanie”Gołe /loop (bez promptu) uruchamia wbudowaną rutynę utrzymaniową w samodzielnie dobranym interwale. W każdej rundzie przechodzi, w kolejności: kontynuuje niedokończoną pracę z rozmowy, zajmuje się PR-em bieżącej gałęzi (komentarze z przeglądu, niepowodzenia CI, konflikty scalania), a potem — gdy nic innego nie czeka — uruchamia przebiegi porządkowe, jak polowanie na bugi czy upraszczanie. Nie zaczyna nowych inicjatyw poza tym zakresem, a działania nieodwracalne wykonuje tylko wtedy, gdy kontynuują coś, co transkrypt już autoryzował.
Zatrzymywanie i wygaśnięcie
Dział zatytułowany „Zatrzymywanie i wygaśnięcie”Naciśnij Esc, gdy pętla czeka na następną iterację, by wyczyścić oczekujące wybudzenie. W trybie samodzielnego tempa Claude może też sam zakończyć pętlę, nie planując kolejnego wybudzenia, gdy zadanie jest dowodliwie ukończone. Każda pętla niesie siedmiodniowe wygaśnięcie — odpala się ostatni raz siedem dni po utworzeniu, po czym sama się usuwa, więc zapomniana pętla nie może działać w nieskończoność. Pętle są związane z sesją; claude --resume lub --continue przywraca te, które nie wygasły.
Wsparcie w narzędziach
Dział zatytułowany „Wsparcie w narzędziach”Natywne, jak opisano wyżej. Dla harmonogramów przeżywających sesję Claude Code oferuje też Routines (chmura zarządzana przez Anthropic, minimum 1 godzina), zadania zaplanowane w aplikacji Desktop (twoja maszyna) oraz GitHub Actions — samo /loop jest opcją do szybkiego odpytywania w obrębie sesji. Ustaw CLAUDE_CODE_DISABLE_CRON=1, by wyłączyć harmonogram (i /loop) całkowicie.
Codex nie ma polecenia /loop. Jego prymitywem zapętlania jest /goal: włącz features.goals, ustaw cel, a Codex sam uruchamia planuj → działaj → testuj → przeglądaj, aż warunek zostanie spełniony. To pętla oparta na warunku, a nie zaplanowana w czasie — w CLI nie ma natywnego „co 5 minut”. Dla biegów sterowanych czasem lub zdarzeniami podłącz Codeksa do CI albo do automatyzacji GitHub/Linear.
Cursor nie ma polecenia /loop. Odpowiednikiem są Cursor Automations, które uruchamiają agenta kodującego według harmonogramu lub w reakcji na zdarzenia — zapisy plików, commity git, niepowodzenia testów — bez inicjowania każdego zadania przez ciebie. To najbliższy analog stałego interwału /loop, ale żyje w warstwie automatyzacji Cursora, a nie jako polecenie w czacie.
/loop kontra /goal
Dział zatytułowany „/loop kontra /goal”Dwa autonomiczne polecenia odpowiadają na różne pytania:
/loopodpowiada „jak często?” — ponawia prompt w rytmie i samo z siebie może nigdy się nie zakończyć (siedmiodniowe wygaśnięcie to bezpiecznik, a nie linia mety)./goalodpowiada „do kiedy?” — działa na pełnych obrotach, aż weryfikowalny warunek zakończenia stanie się prawdą, po czym się zatrzymuje.
Używaj /loop do monitorowania i stałego utrzymania; używaj /goal do pracy zbieżnej z jasną definicją ukończenia. Dobrze się łączą: /goal doprowadza funkcję do zieleni, a potem /loop pilnuje powstałego PR-a.