prepare-goal
Skill4 starsChanged 13 days agoApache-2.0View on GitHub
Przygotowuje tekst completion condition dla /goal w Claude Code (v2.1.139+): z luźnego opisu zadania robi warunek, który mały model-ewaluator sprawdzi z transkryptu. Triggeruje WYŁĄCZNIE na komendę /prepare-goal <opis>.
In this repository57 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- openspec-apply-changeSkill
- openspec-archive-changeSkill
- openspec-bulk-archive-changeSkill
- openspec-continue-changeSkill
- openspec-exploreSkill
- openspec-ff-changeSkill
- openspec-new-changeSkill
- openspec-sync-specsSkill
- openspec-verify-changeSkill
- openspec-apply-changeSkill
- openspec-archive-changeSkill
- openspec-bulk-archive-changeSkill
- openspec-continue-changeSkill
- openspec-exploreSkill
- openspec-ff-changeSkill
- openspec-new-changeSkill
- openspec-sync-specsSkill
- openspec-verify-changeSkill
- openspec-apply-changeSkill
- openspec-archive-changeSkill
- openspec-bulk-archive-changeSkill
- openspec-continue-changeSkill
- openspec-exploreSkill
- openspec-ff-changeSkill
- openspec-new-changeSkill
- openspec-sync-specsSkill
- openspec-verify-changeSkill
- openspec-apply-changeSkill
- openspec-archive-changeSkill
- openspec-bulk-archive-changeSkill
- openspec-continue-changeSkill
- openspec-exploreSkill
- openspec-ff-changeSkill
- openspec-new-changeSkill
- openspec-sync-specsSkill
- openspec-verify-changeSkill
- business-consultantSkill
- cfoSkill
- environment-setupSkill
- find-skillsSkill
- legalSkill
- linkedin-contentSkill
- prdSkill
- prepare-openspec-goalSkill
- process-mappingSkill
- research-add-fieldsSkill
- research-add-itemsSkill
- research-deepSkill
- research-reportSkill
- researchSkill
- review-fixSkill
- review-loopSkill
- slidesSkill
- tax-advisorSkill
- vibe-codingSkill
The file
Files
/prepare-goal — Formułowanie completion condition dla /goal
Produkuje gotowy tekst do wklejenia po /goal ... w Claude Code. Wymusza strukturę, której
ewaluator (mały model, np. Haiku) potrafi ocenić wyłącznie z transkryptu — bo ewaluator
nie uruchamia narzędzi, ocenia tylko to, co Claude już napisał w rozmowie.
Invocation
/prepare-goal <luźny opis zadania>
/prepare-goal → poproś usera o opisCo to jest /goal (kontekst)
/goal <condition> w Claude Code uruchamia autonomiczną pętlę: po każdej turze mały model
sprawdza, czy condition jest spełniony. Jeśli nie — Claude robi kolejną turę. Jeśli tak —
goal się czyści. Max 4000 znaków. Działa też w trybie headless: claude -p "/goal ...".
Dobry condition musi być sprawdzalny z transkryptu. Ewaluator nie czyta plików ani nie odpala testów — patrzy tylko na to, co Claude napisał w odpowiedziach.
Anatomia dobrego goal (4 elementy — wszystkie obowiązkowe)
- End state — jeden mierzalny stan końcowy (test exit code, plik istnieje, lista pusta, licznik = N). Nie "kod jest lepszy", nie "research jest kompletny".
- Proof in transcript — jak Claude udowodni, że to się stało, w swojej wiadomości.
Przykłady: "wkleja output
npm testzexits 0", "wklejagit statuspokazujący clean", "wymienia ścieżki utworzonych plików", "podaje listę URL-i z metadanymi". - Constraints — co NIE może się zmienić po drodze (inne testy, inne pliki, scope). Pomijaj jeśli naprawdę nie ma ograniczeń — ale zwykle są.
- Turn/time bound —
or stop after N turns. Bez tego goal może lecieć w nieskończoność. Domyślnie 15 tur dla małych zadań, 30 dla średnich, 50 dla dużych.
Workflow
Krok 1: Sparsuj opis usera
Zidentyfikuj typ zadania: kod / content / research / ingest / inne. Wyciągnij z opisu:
- co ma powstać/się zmienić (kandydat na end state)
- jak to można potwierdzić (kandydat na proof)
- co jest poza zakresem (kandydat na constraints)
Krok 2: Audyt — czy brakuje czegoś krytycznego
Jeśli brakuje mierzalności lub sposobu weryfikacji, zadaj jedno-dwa precyzyjne pytania ZANIM wygenerujesz tekst. Przykłady braków:
| Sygnał w opisie | Pytanie do usera |
| "popraw kod" bez wskazania czego | "Co konkretnie ma być spełnione na końcu — testy przechodzą? lint clean? jakaś konkretna funkcja działa?" |
| "research o X" bez liczby/struktury | "Ile źródeł? Jakie pola na każde źródło (URL, data, autor, kluczowa teza)?" |
| "napisz post" bez kryteriów | "Jakiej długości? Jakie elementy muszą być (hook, CTA, dane)? Gdzie zapisać?" |
| "przeprocesuj inbox" bez liczby plików | "Ile plików jest w inbox? Czy każdy musi trafić do archive/ + catalog.md update?" |
Nie pytaj o constraints — jeśli user nie wspomni, dodaj rozsądny default ("no other files modified").
Krok 3: Wygeneruj output
Pokaż usera gotową komendę do skopiowania w bloku kodu, oraz krótkie wyjaśnienie wyborów (co jest end state, jak ewaluator to sprawdzi, jaki bound). Format:
```
/goal <condition tekst>
```
**Co ewaluator sprawdza w transkrypcie:** <1-2 zdania>
**Bound:** <N tur — uzasadnienie>Jeśli zadanie jest naprawdę duże, zasugeruj rozbicie na 2-3 sekwencyjne /goale zamiast jednego.
Przykłady (przed/po)
Przykład 1 — kod
User: /prepare-goal popraw testy w module auth, są jakieś padające
Brak: nie wiadomo które testy, ani jak Claude potwierdzi. Pytanie:
Które konkretnie testy mają zielono? Cały
test/auth/, czy konkretne pliki? I czy lint też musi być clean?
Załóżmy: "cały test/auth/, lint clean, nie ruszać innych testów".
Output:
/goal all tests in test/auth pass with exit code 0 and npm run lint exits 0; you prove this by pasting the final lines of the test output showing the pass count and the lint command output in your last message; no test file outside test/auth is modified (git status confirms this); or stop after 25 turnsPrzykład 2 — research
User: /prepare-goal zrób research o 5 firmach z branży proptech w PL
Brak: jakie pola na firmę, gdzie zapisać.
Pytanie: Jakie pola dla każdej firmy (nazwa, URL, opis, fundatorzy, runda)? Zapis do pojedynczego MD czy 5 plików?
Załóżmy: "1 plik research/proptech-pl.md, pola: nazwa, URL, opis 2-3 zdania, fundatorzy, ostatnia runda".
Output:
/goal the file research/proptech-pl.md exists and contains entries for exactly 5 distinct Polish proptech companies; each entry has all of: company name (H2), URL, 2-3 sentence description, founders, last funding round (or "unknown" with note); you prove completion by listing the 5 company names in your last message and confirming the file path was written; no other files in research/ are modified; or stop after 20 turnsPrzykład 3 — ingest
User: /prepare-goal przetwórz inbox klienta TTTR, są tam 3 transkrypcje
Brak: nic kluczowego.
Output:
/goal every file currently in context/plsoft/clients/TTTR/inbox/ has been processed via /ingest workflow: moved to archive/ with date prefix, knowledge files in TTTR/<project>/data/ updated or created, and TTTR/catalog.md plus clients/_index.md reflect the changes; you prove this by listing each processed filename with its archive destination and the catalog entry added; no client folder other than TTTR is touched; or stop after 15 turnsAnti-wzorce (czego nie pisać)
- ❌ "kod jest lepszy", "research kompletny", "post dobrze napisany" — niemierzalne
- ❌ "Claude przeczyta plik X i sprawdzi" — ewaluator nie czyta plików
- ❌ Brak bound — może lecieć w nieskończoność
- ❌ Wiele różnych end states w jednym goal — rozbij na sekwencję
- ❌ Condition > 4000 znaków — przekrocz limit, nie zadziała
Edge cases
- User podaje 2+ niezależne cele: zaproponuj rozbicie na sekwencję
/goal A→ po wykonaniu →/goal B. Nie sklejaj. - Zadanie wymaga uruchomienia komendy (testy, build): zaznacz wprost w condition że Claude ma wkleić output komendy do wiadomości — inaczej ewaluator nie zobaczy wyniku.
- Zadanie czysto kreatywne (pisanie postu, brainstorm): end state = "plik X istnieje i ma ≥N słów" lub "lista N pomysłów w ostatniej wiadomości". Nie próbuj mierzyć jakości.
- Headless (
claude -p): ten sam format działa, dodaj w wyjaśnieniu że można odpalić w terminalu.
Format odpowiedzi (zawsze ten sam)
- (Opcjonalnie) 1-2 pytania o brakujące elementy
- Blok z gotową komendą
/goal ... - 2-3 linijki: co ewaluator sprawdza + dlaczego taki bound
- (Jeśli stosowne) propozycja rozbicia na sekwencję
Bez długich wstępów. Bez powtarzania opisu usera.
Routing text before the description was cut
The description in the front matter is capped at 250 characters, because the list of skills a model sees has a character budget. The full routing text it carried before — triggers, boundaries, what the skill is not for — is kept here:
Przygotowuje gotowy tekst completion condition dla komendy /goal w Claude Code (v2.1.139+). Bierze luźny opis zadania i produkuje sformułowanie, które ewaluator (mały model) potrafi sprawdzić z samego transkryptu rozmowy. Triggeruje WYŁĄCZNIE na komendę /prepare-goal — nie auto-triggeruj na keywords typu 'goal', 'cel sesji', 'cel zadania'. Używaj gdy user pisze /prepare-goal
<opis>lub /prepare-goal i chce sformułować warunek zakończenia dla autonomicznej pętli /goal.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

