---
title: "Také Claude Code nabídl /goal pro automatické dosažení cíle"
description: "Anthropic do Claude Code přidal příkaz `/goal`, který vykonává úlohu, dokud není hotová. Typicky opravuje chybu, dokud není opravená. Takový Ralph Wiggum Loop pro dospělé..."
date: 2026-05-13
author: "Patrick Zandl"
url: https://www.vibecoding.cz/articles/claude-code/take-claude-code-nabidl-goal-pro-automaticke-dosazeni-cile/
---

> Markdown verze článku z Vibecoding.cz. HTML verze: https://www.vibecoding.cz/articles/claude-code/take-claude-code-nabidl-goal-pro-automaticke-dosazeni-cile/
> Přehled veškerého obsahu webu: https://www.vibecoding.cz/llms.txt

# Také Claude Code nabídl /goal pro automatické dosažení cíle

Anthropic do Claude Code přidal příkaz `/goal`, který vykonává úlohu, dokud není hotová. Typicky opravuje chybu, dokud není opravená. Takový Ralph Wiggum Loop pro dospělé...

Claude Code nastaví podmínku dokončení a pak už pracuje napříč obrátkami sám, dokud podmínka neplatí. Po každé obrátce promptu malý rychlý model (defaultně Haiku) přečte konverzaci a rozhodne, jestli je hotovo. Když ano, cíl se automaticky vyčistí. Když ne, vrátí Claude orchestrátoru krátký důvod jako vodítko pro další tah.

Koncept autonomní smyčky řízené ověřitelnou podmínkou není nový. Codex i OpenCode podobnou věc nabízejí déle, byť s jinou mechanikou. Anthropic tak dohání trh, ale s elegantnější implementací. Evaluátor je samostatný model, ne hlavní model posuzující sám sebe.

## Jak to funguje

Příkaz se volá s podmínkou jako argumentem:

```
/goal všechny testy v test/auth procházejí a lint je čistý

```

Setting cíle okamžitě spouští první turn (český překlad obrátka se mi moc nelíbí, tak ho zase chvíli nebudu používat), podmínka samotná slouží jako příkaz. V status baru se objeví indikátor `◎ /goal active`. Po každém turnu evaluátor vrátí ano/ne a krátký důvod, který se zobrazí ve status view a v transkriptu.

Pod kapotou je `/goal` nadstavba nad Stop hookem, která žije jen v aktuální session a vyhodnocuje se promptem. Vyhodnocovací volání jdou na small/fast model, takže cena tokenů je oproti hlavním tahům zanedbatelná. Limit na podmínku je 4000 znaků.

Klíčové omezení: **evaluátor nevolá tooly**. Posuzuje jen to, co Claude poslal do konverzace. Podmínka tedy musí být ověřitelná z toho, co Claude sám produkuje - výstup testu, exit kód, status git, počet souborů. Není to "spusť testy a zkontroluj", je to "Claude musí spustit testy a výsledek musí být v transkriptu".

`/goal` funguje i v non-interactive režimu přes `claude -p` a přes Remote Control. Při `--resume` se podmínka obnoví, ale counter tahů a tokenů se vynuluje.

![](https://www.vibecoding.cz/images/articles/take-claude-code-nabidl-goal-pro-automaticke-dosazeni-cile/claude-code-goal.jpg)

## Jak napsat dobrou podmínku

Dobrá podmínka má tři vrstvy. **Měřitelný end state**: test result, exit kód, prázdná fronta, počet souborů. **Způsob ověření**: `npm test exit 0`, `git status je čistý`, `ruff check . exit 0`. **Constraints**: co se nesmí cestou porušit, například "žádný jiný testovací soubor není modifikován".

Doplnit fuse je v praxi nutnost: `nebo zastav po 20 tazích`. Bez něj hrozí smyčka na nesplnitelné podmínce, kdy Claude tlačí Sisyfa nahoru kopcem za tvoje peníze.

Špatné podmínky jsou ty, které evaluátor nedokáže rozhodnout z transkriptu. V poslední době koluje po X "mega prompt", kde autor cpe do `/goal` několikastránkový template s pravidly typu "kód vypadá jako od dobře financovaného startupu". Haiku z transkriptu takovou věc neposoudí. Tento obsah patří do `CLAUDE.md`, ne do argumentu `/goal`.

## Kam `/goal` patří v rodině autonomie Claude Code

`/goal` je nejmenší článek z rodiny. Stojí za to ho zarámovat správně, ať ho čtenář nepoužívá tam, kde se služí použít něco jiného.

| Co | `/goal` | `/loop` | Routines |
| --- | --- | --- | --- |
| Spouštěč dalšího běhu | Konec předchozího turnu | Časový interval | Schedule, API endpoint, GitHub event |
| Kdy se zastaví | Evaluátor potvrdí podmínku | Restart, exit, ručně | Nikdy (každý trigger = nová session) |
| Žije v | Session | Session | Anthropic cloud, persistentně |
| Vyžaduje běžící notebook | Ano | Ano | Ne |
| Konfigurace | Argument příkazu | Argument příkazu | Web UI, `/schedule` v CLI |

**`/goal`** je pro úkoly s prokazatelným koncem: migrace modulu, refaktor souboru pod size budget, splnění checklistu v jednom souvislém běhu.

**`/loop`** je pro pravidelné kontroly během práce na něčem jiném: polling deploymentu, periodická kontrola CI, připomínka.

**Routines** jsou pro běhy bez tvého notebooku: noční triage issues, reakce na otevřený PR vlastním review checklistem, reakce na alert z monitoringu přes POST request, port změny mezi SDK po každém merge.

Tyto tři vrstvy se skládají. Routine spuštěná každou noc v 8 si v promptu nastaví `/goal projdi všechny PR z poslední noci proti checklistu, dokud nezbyde žádný nezpracovaný` a během toho běhu `/loop 1m kontroluj stav CI` polluje dlouhé jobs. Tři vrstvy, tři různé spouštěče, jeden výsledek. Je to první ucelený agentní stack v Claude Code, který drží pohromadě.

## Co `/goal` neřeší

Evaluátor je jen tak dobrý, jak dobře Haiku přečte transkript. U dlouhých běhů s kompakcí kontextu hrozí, že evaluátor přijde o evidenci, na kterou Claude odkazuje. `/goal` se zacyklí, pokud Claude opakovaně narazí na chybu, kterou nedokáže opravit; bez fuse v podmínce běží dál.

Funkce vyžaduje workspace s přijatým trust dialogem (Stop hook je součást hooks systému). Pokud má organizace v managed policy `disableAllHooks: true`, `/goal` je nedostupný.

Routines jako persistentní vrstva mají vlastní problémečky, na které stojí za to upozornit: jsou v research preview, beta API se může změnit, commits a actions jdou pod vaší GitHub identitou (PR otevřený ve 3 ráno vypadá, jako bys ho otevřel ty), denní cap na běhy a hodinový cap na GitHub eventy nejsou v dokumentaci konkrétně vyčísleny, a "green status" v run listu znamená pouze, že session technicky doběhla, nikoli že úkol uspěl.

## Praktická doporučení

Začněte jednou krátkou podmínkou s exit kódem. Vždy přidej fuse na počet turns. Quality bar, projektové konvence a stack patří do `CLAUDE.md`, ne do argumentu `/goal`. Pro plně neinteraktivní běh zkombinuj `/goal` s auto mode - auto mode řeší per-tool souhlasy, `/goal` per-turn pokračování, dohromady to jede bez prompts.

Pro CI/CD je headless varianta:

```
claude -p "/goal CHANGELOG.md má entry pro každý PR mergovaný tento týden"

```

## Závěr

`/goal` je dobrá implementace dobrého nápadu, který Anthropic neměl první. Codex jede dlouho na principu "dokud nemyslím, že jsem hotov", OpenCode má vlastní *continue-until-done* mechaniky. Anthropic přidává čistou abstrakci - jedna podmínka jako argument příkazu - a oddělený evaluátor, který posuzuje hlavní model zvenku. To je elegantnější než nechávat hlavní model rozhodovat o tom, zda on sám splnil úkol.

S Routines naopak Anthropic zaplnil mezeru, která u konkurence buď chyběla, nebo byla řešena přes externí CI. Trojice `/goal` + `/loop` + Routines je první ucelený autonomní stack v Claude Code. Hodnota není v žádném jednotlivém kusu, ale v tom, že do sebe tyto kusy řešení zapadají.

Otevřená otázka zůstává, jak `/goal` a Routines zvládnou tichá selhání - tedy stavy, kdy session technicky doběhne a evaluátor potvrdí podmínku, ale výsledek je špatně. Zatím to zpravidla padá na člověka, který hlášení otevře a podívá se, kde to failnulo. To je správně. Ale bude to prudit. Uvidíme, jak se s tím vyrovnáme…
