dev-docs — z planu technicznego do zadania dla autopilota
SkillProductivityTransforms a technical plan from docs/plans/ into a task structure for the autopilot: branch feature/<nazwa> + docs/active/<nazwa>/ (phase plan, context, tasks with checkboxes) + readiness gate and handoff to dev-autopilot-wf.
Use dev-docs — z planu technicznego do zadania dla autopilota in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add dev-docs — z planu technicznego do zadania dla autopilota and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the dev-docs skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by aibiz-automatyzacje/claude-code-starter in .claude/skills/dev-docs/SKILL.md and read by Ahel’s review.
Uwaga: Aktualny rok to 2026. Używaj tego przy datowaniu plików.
/dev-plan zdecydował JAK budować (Implementation Units pogrupowane w fazy). Ten skill nie planuje ponownie — jest deterministyczną transformacją planu w format, który czytają dev-autopilot-wf, dev-docs-execute-wf i dev-docs-review-wf. Zero nowej treści merytorycznej: żadnych własnych ryzyk, szacunków, „analizy obecnego stanu" ani dodatkowych zadań. Jeśli czegoś brakuje w planie, to brak jest w planie — wróć do /dev-plan, nie dopisuj tego tutaj.
Input: $ARGUMENTS — ścieżka do planu technicznego (docs/plans/YYYY-MM-DD-NNN-<type>-<slug>-plan.md) lub nazwa zadania. Gdy pusty — weź najnowszy plan ze status: active w docs/plans/, który nie ma jeszcze folderu w docs/active/ ani docs/completed/; jeśli kandydatów jest kilka — zapytaj (AskUserQuestion).
Kontrakt wyjściowy (czytają go workflowy — nie zmieniaj formatu)
| Element | Format | Kto czyta |
|---|---|---|
| Fazy | ## Faza N — <nazwa> w *-zadania.md, lista (numer, nazwa) w *-plan.md; numeracja od 1, bez luk, 1:1 z planem technicznym | autopilot (bootstrap parse), execute-wf, review-wf (review-faza-N.md) |
| IU w fazie | ### IU-K: <nazwa> (<Delegate to>) | execute-wf planner (agentType z Delegate to:) |
| Checkbox implementacyjny | - [ ] <co> — z Pliki: i Podejście: IU (w tym Stwórz (e2e seed): — autorstwo seeda to kod buildera) | builder implementuje; domknięcie execute-wf odznacza; liczy się do execute=done |
Checkbox testowy [Unit] | - [ ] Test: [Unit] <scenariusz> — liczy się do execute=done: builder pisze test razem z kodem, domknięcie execute-wf odznacza | execute-wf, autopilot (bootstrap) |
Checkbox testowy [E2E] | - [ ] Test: [E2E] \`[ (seed: e2e/seeds/-seed.sql)] — → — **jedyna nośna linia scenariusza** (identyfikator flow i seed w tej samej linii: db-sync dobiera po nich seedy, tester i scribe dopasowują po nazwie flow); marker dosłownie z planu; wypada z liczeniaexecute=done` wyłącznie przez marker | odznacza WYŁĄCZNIE scribe review-wf po PASS testera (bookkeeping) albo fix autopilota po PASS re-runu E2E (agent-browser); execute NIE rusza; autopilot (grep '\[E2E\]' = czy zadanie wymaga E2E, completion-gate) |
| Checkbox weryfikacyjny | - [ ] Weryfikacja: <automatyzowalne kryterium> (CLI/grep). Wariant Weryfikacja: [E2E] \e2e/.sh` — **tylko** dla runnera/flow, który NIE jest scenariuszem zTest: [E2E](np.run-all.sh) — dla flow scenariusza nie emituj drugiej linii [E2E]: każda linia [E2E]` = osobny przebieg w licznikach precheck/tester/gate | review-wf odznacza po PASS; execute NIE rusza |
| Operator | ## Operator checklist faza N — jedna sekcja per faza, na końcu fazy; zawiera Operator checklist z IU oraz scenariusze [Manual] | autopilot i execute-wf POMIJAJĄ; review-wf dopisuje findingi OPERATOR; dev-docs-complete zbiera do smoke'u operatora |
| Findingi review | ## Do poprawy po review fazy N — nie twórz; sekcję zakłada review-wf | autopilot (fix) |
Co liczy się do execute=done (dokładna skip-lista parserów — bootstrap autopilota i planner execute-wf): do uznania fazy za wykonaną NIE liczą się wyłącznie checkboxy z prefiksem Weryfikacja: lub Operator:, checkboxy oznaczone [E2E] lub [Manual] (niezależnie od prefiksu) oraz wszystkie checkboxy w sekcjach ## Operator checklist faza N i ## Do poprawy po review fazy N. Każdy inny niezaznaczony - [ ] — w tym Test: [Unit] — trzyma fazę w execute=pending. Test: [E2E] i Weryfikacja: [E2E] odznacza tylko realny przebieg E2E (review/fix) — nigdy domknięcie execute. Checkbox operatora wpisany jako zwykły - [ ] w bloku IU to bug: faza nigdy nie będzie done z parse'u md.
Twarde reguły formatu linii (parsery grepują ^- \[ \] — wcięty checkbox jest dla nich niewidoczny: precheck E2E, completion-gate, packager review, smoke operatora):
- Każdy checkbox zaczyna się w kolumnie 0: bez wcięcia, bez zagnieżdżania pod innym bulletem/checkboxem. Dozwolona jest wcięta kontynuacja treści w kolejnej linii (bez
- [ ]). - Scenariusz
[E2E]to osobny płaski checkbox- [ ] Test: [E2E] …— nigdy „nagłówek" z pod-checkboxami (wzorzec, który zepsuł parse w szablonie mobile). - Checkbox implementacyjny nie zawiera
[E2E],[Manual]ani prefiksówTest:/Weryfikacja:/Operator:— inaczej builder i bootstrap go pominą, a faza będziedonebez wytworzonego pliku. Autorstwo seeda zapisuj 1:1 zPliki:planu:- [ ] Stwórz (e2e seed): e2e/seeds/<flow>-seed.sql. - Nie dopisuj emoji, statusów ani tekstu między
- [ ]/- [x]a prefiksem.
Instrukcje
Faza 0: Git i nazwa zadania
- Nazwa zadania =
<slug>z nazwy pliku planu (część<descriptive-name>zYYYY-MM-DD-NNN-<type>-<slug>-plan.md), chyba że użytkownik podał inną. Kebab-case, bez daty. - Stan repo:
git status --short. Rozróżnij dwie klasy pozycji:- (a) Artefakty planowania — wyłącznie pod
docs/plans/,docs/operator/,docs/brainstorms/(nowe??lub zmodyfikowaneM). To oczekiwany stan po/dev-plan(plan,-figma/, przygotowanie dla operatora) — nie zatrzymuj się. Zapamiętaj listę ścieżek: trafią do commitu inicjalnego w Fazie 4.git checkout -bprzenosi je na nowy branch, więc plan wyląduje nafeature/<nazwa>, nie namain. - (b) Dowolna inna pozycja (kod,
e2e/,.env*,package.json, inne docs) → STOP i zapytaj: zacommitować TYLKO te pliki na bieżącym branchu / schować TYLKO te pliki (git stash push -u -- <ścieżki z (b)>— gołegit stashnie chowa plików nieśledzonych, a-ubez pathspec schowałoby też plan) / przerwać. Nigdy nie stashuj ani nie commituj namainścieżek z klasy (a).
- (a) Artefakty planowania — wyłącznie pod
- Branch
feature/<nazwa>:git branch --show-current— jeśli już na nim jesteś → zostań.git branch --list feature/<nazwa>niepuste →git checkout feature/<nazwa>(nie-b; branch z poprzedniej próby/wznowienia).- W przeciwnym razie
git checkout -b feature/<nazwa>z aktualnego brancha (upewnij się, że tomain/develop— jeśli nie, zapytaj).
- Jeśli
docs/active/<nazwa>/już istnieje → to wznowienie, nie inicjalizacja: pokaż stan (.autopilot-state.json, odhaczone fazy) i zapytaj, czy zregenerować tylko brakujące pliki, czy przerwać. Nigdy nie nadpisuj*-zadania.mdz postępem.
Faza 1: Wczytaj źródła (bez interpretacji)
- Plan techniczny (wymagany). Przeczytaj cały plik. Wyciągnij: frontmatter (
origin,design_md,figma_spec,figma_screens,operator_prep), „Śledzenie wymagań", „Granice scope'u", „Kluczowe decyzje techniczne", „Otwarte pytania → Odroczone do implementacji", „Wymagania wstępne operatora", wszystkie### Faza N — …i IU pod nimi, „Wpływ systemowy", „Ryzyka i zależności".- Brak planu technicznego → STOP: „Nie ma planu technicznego dla tego zadania. Uruchom
/dev-plan—dev-docs-execute-wfszuka Implementation Units wdocs/plans/i bez nich planner fazy nie ma czego delegować builderom." Nie twórz zadania z samego opisu; jeśli użytkownik mimo to nalega, najpierw odpal/dev-planw głębokości Lekkiej. - Plan bez nagłówków
### Faza N(starszy format, płaska lista IU) → nie wymyślaj podziału w ciszy. Zaproponuj podział (1 faza dla ≤4 IU; inaczej wg zależnościZależności:IU) przezAskUserQuestioni po akceptacji dopisz nagłówki faz do planu technicznego (żeby plan i zadania były spójne), dopiero potem kontynuuj. - Fazy oznaczone literami (
### Faza A — …, starsze plany) → przenumeruj na1..Nw kolejności występowania i wpisz mapowanie (A→1, B→2, …) w tabeli faz*-plan.md; w zadaniach używaj wyłącznie numerów (parsery ireview-faza-N.mdnie znają liter).
- Brak planu technicznego → STOP: „Nie ma planu technicznego dla tego zadania. Uruchom
- Dokument źródłowy z
origin:— trzy przypadki (spójne zdev-plan0.2), żaden nie jest powodem STOP:- (a) ścieżka istniejącego pliku w repo, opcjonalnie z
#kotwicąalbo dopiskiem(sekcja …)→ odetnij kotwicę/dopisek przedRead, przeczytaj wskazaną sekcję i sprawdź, że ID z „Śledzenie wymagań" planu występują w źródle. Nie kopiuj treści. - (b) dowolna inna wartość (Obsidian, „sesja /zroastuj-mnie …", opis,
null) → NIE czytaj; wRequirements doc:wpisz wartość dosłownie z dopiskiem(poza repo — ID wg „Śledzenie wymagań" planu); sprawdzenie ID ogranicz do spójności wewnątrz planu (każde ID ze „Śledzenie wymagań" ma pokrycie w co najmniej jednym IU). - (c) wygląda na ścieżkę w repo, ale plik nie istnieje → tylko ostrzeżenie w handoffie Fazy 5 („
originwskazuje nieistniejący plik — popraw frontmatter planu").
- (a) ścieżka istniejącego pliku w repo, opcjonalnie z
- Kontekst designerski: pola
design_md,figma_spec,figma_screensz frontmattera. Jeślifigma_spec≠ null, a plik nie istnieje → STOP: „Plan deklarujefigma_spec: <ścieżka>, ale plik nie istnieje. Wróć do/dev-plani zregeneruj kontekst designerski." To samo dla każdego PNG zfigma_screens. docs/CONCEPTS.md(jeśli istnieje) — używaj terminologii słownika w nazwach faz i checkboxów; nie przepisuj pojęć inaczej niż plan.docs/learned-patterns.md(indeks wiedzy projektu, jeśli istnieje) — tylko do sprawdzenia scenariuszy[E2E]w Fazie 2 pkt 4.
Faza 2: Transformacja planu w checklistę
Dla każdej fazy planu, w kolejności numerów:
- Nagłówek fazy
## Faza N — <nazwa>+ liniaZależy od: …przepisana z planu (+Równolegle z:gdy plan ją ma). - Per IU nagłówek
### IU-K: <nazwa> (<Delegate to>)i pod nim, w tej kolejności:- checkboxy implementacyjne: jeden per pozycja z
Pliki:(Stwórz:/Modyfikuj:/Test (unit):/Stwórz (e2e seed):— tolerujTest (e2e): Scenariusz: …ze starszych planów: jego treść przenieś do liniiTest: [E2E], nie emituj checkboxa implementacyjnego) z dopiskiem kluczowej decyzji zPodejście:, gdy bez niej checkbox byłby niejednoznaczny. Nie rozbijaj na micro-kroki; nie dodawaj pozycji, których nie ma w IU. - [ ] Test: [Unit] …— każdy scenariusz[Unit]zScenariusze testowe:.- [ ] Test: [E2E] \`[ (seed: e2e/seeds/-seed.sql)] — →— **jedna linia per scenariusz[E2E]**: identyfikator flow z linii scenariusza planu, nazwa seeda gdy flow korzysta z danych (nowy zPliki:IU lub istniejący), treść scenariusza (URL + kroki) i oczekiwany stan (jeśli plan ma kryteriumWeryfikacja: [E2E]dla tego samego flow — **scal** jego oczekiwany stan do tej linii, nie emituj drugiego checkboxa[E2E]; każda linia[E2E]to osobny przebieg w licznikach precheck/tester/completion-gate). Jeśli plan ma scenariusz[E2E]bez identyfikatora flow — nadaj mu kebab-case identyfikator **w planie** (docs/plans/, commit w Fazie 4 to obejmuje), dopiero potem przepisz.[Manual]` idzie do sekcji operatora fazy (pkt 5).- [ ] Weryfikacja: …— każde kryterium CLI/grep zWeryfikacja:.Weryfikacja: [E2E] \e2e/` —emituj **tylko** dla runnera/flow, który nie jest żadnym scenariuszem zTest: [E2E](np.run-all.sh`).
- checkboxy implementacyjne: jeden per pozycja z
- Zachowaj markery dosłownie:
[Unit],[E2E],[Manual]. Nie zmieniaj[E2E]na opisowe „test w przeglądarce" — autopilot grepuje marker. - Bramka E2E per scenariusz
[E2E](nie pomijaj — to najczęstsza cicha regresja):- prześledź flow krok po kroku i potwierdź, że nie wymaga natywnego okna ani zewnętrznego systemu (systemowy file picker/upload, popup OAuth providera, zewnętrzne okno płatności, captcha, odebranie e-maila) — agent-browser tego nie wykona i
[E2E]cicho spadnie do Operatora. Jeśli wymaga: dane, które wpadłyby przez upload/zewnętrzny system → wstrzyknij seedem/service_role na bazie e2e i asertuj RENDER; logowanie zawsze e-mail+hasło kontemE2E_TEST_EMAIL(nigdy OAuth); krok nie do obejścia →[Manual]w sekcji operatora; - potwierdź kwestię seeda: seed
Stwórz (e2e seed):wPliki:wymagany TYLKO gdy scenariusz zakłada dane, których nie ma w stanie bazowym kontaE2E_TEST_EMAIL(nowe rekordy/relacje/uprawnienia) i nie wskazano istniejącego seeda; gdy flow korzysta z istniejącego seeda — jego nazwa ma być w linii scenariuszaTest: [E2E] \` (seed: e2e/seeds/-seed.sql) — …(pkt 2), NIE wWeryfikacja:(db-sync czyta seed tylko z linii[E2E], a druga linia[E2E]dla tego samego flow = osobny przebieg w licznikach). Autorstwo seeda NIE może wisieć pod checkboxemTest:/Weryfikacja:` (to tylko uruchomienie przez testera) — inaczej nikt go nie napisze i E2E cicho spadnie do Operatora; - STOP i pytanie tylko gdy (a) scenariusz
[E2E]nie ma identyfikatora flow ani kroków wykonywalnych z opisu, (b) flow wymaga natywnego okna / zewnętrznego systemu, albo (c) scenariusz zakłada dane spoza stanu bazowego konta E2E, a IU nie ma aniStwórz (e2e seed):, ani nazwy istniejącego seeda (w linii scenariusza[E2E]). Przy (a) domyślna propozycja = „dopisz identyfikator flow i kroki do planu technicznego" (edytuj plan, potem kontynuuj);[Manual]tylko jako świadomy opt-out, nie równorzędna opcja. Nie naprawiaj w ciszy. - Nigdy nie kieruj E2E na bazę dev/prod — harness celuje w projekt z
.env.e2e.
- prześledź flow krok po kroku i potwierdź, że nie wymaga natywnego okna ani zewnętrznego systemu (systemowy file picker/upload, popup OAuth providera, zewnętrzne okno płatności, captcha, odebranie e-maila) — agent-browser tego nie wykona i
- Sekcja operatora fazy
## Operator checklist faza N(tylko gdy jest co wpisać): wszystkie pozycjeOperator checklist:z IU tej fazy (z dopiskiem(IU-K)) oraz scenariusze[Manual]jako- [ ] [Manual] … (IU-K). Jedna sekcja per faza, po wszystkich IU fazy, z dokładnie tym nagłówkiem. - Nie twórz sekcji
## Do poprawy po review fazy N— zakłada ją review-wf.
Po przejściu wszystkich faz sprawdź bilans i format (popraw plik zanim przejdziesz dalej):
- liczba IU w zadaniach = liczba IU w planie;
- liczba linii
[E2E]w zadaniach = liczba scenariuszy[E2E]w „Scenariusze testowe" planu (+ ewentualne runnery zWeryfikacja: [E2E]niebędące scenariuszem; bez tych świadomie przeniesionych do[Manual]w pkt 4, które wymieniasz w handoffie) — jeden scenariusz = jedna linia; grep -cE '^\s+- \[[ x]\]' docs/active/<nazwa>/*-zadania.mdzwraca 0 (exit 1 = OK) — żadnych wciętych checkboxów;grep -hE '^- \[ \].*\[E2E\]' docs/active/<nazwa>/*-zadania.md | grep -vcE 'Operator:|\[P[123]\]'(ten sam grep co precheck autopilota i Faza 5) daje DOKŁADNIE liczbę z bilansu — rozjazd = wcięcie, marker w złym miejscu albo zdublowana linia dla jednego flow.
Faza 3: Pliki w docs/active/<nazwa>/
Każdy plik zaczyna się od:
Branch: `feature/<nazwa>`
Ostatnia aktualizacja: RRRR-MM-DD
<nazwa>-plan.md — mapa zadania (krótka; pełna treść jest w planie technicznym):
## Źródła—Plan techniczny:(ścieżka, wymagane — execute-wf szuka tej referencji),Requirements doc:(wartośćorigin:dosłownie — także gdy poza repo, z dopiskiem z Fazy 1 pkt 2 — lub „brak", gdyoriginpusty/null),Przygotowanie dla operatora:(zoperator_prep:lub „brak").## Cel— 2–4 zdania z „Przegląd" planu.## Zakres— lista wymagań z „Śledzenie wymagań" (ID + jedno zdanie) i „Granice scope'u" przepisane.## Fazy— tabela| Faza | Nazwa | IU | Zależy od | Delegaci |— 1:1 z planem. To źródło listy faz dla autopilota.## Kryteria akceptacji całości— przepisane z „Metryki sukcesu"/„Śledzenie wymagań" planu + zdanie: „Każda faza: typecheck 0 błędów, testy PASS, review bez otwartych P1; każdy[E2E]uruchomiony (nie odhaczony ręcznie)".## Blokery operatora per faza— tylko jeśli bramka gotowości (Faza 5 pkt 2) znajdzie nieodhaczone pozycje[blokuje: faza N]dla N ≥ 2. Jedna linia na pozycję, z numerem fazy i wskaźnikiem do checklisty. Pozycje blokujące planowanie albo fazę 1 tutaj nie trafiają — one zatrzymują handoff.- Bez własnych sekcji „Ryzyka", „Szacunek", „Analiza obecnego stanu" — jeśli plan ma „Ryzyka i zależności", wstaw jedno zdanie z linkiem do tej sekcji planu.
<nazwa>-kontekst.md — to, co buildery i reviewerzy dostają jako kontekst:
-
## Źródła— jak wyżej. -
## Plan techniczny— jedna linia ze wskaźnikiem:Kluczowe pliki, decyzje techniczne, odroczone pytania i wzorce do naśladowania: <ścieżka planu technicznego> (sekcje „Kluczowe decyzje techniczne", „Otwarte pytania",Pliki:iWzorce do naśladowania:w blokach IU).Nie przepisuj tych sekcji. Do 2026-09-03 plik kontekstu je kopiował i była to kopia utrzymywana ręcznie: w zbadanym zadaniu „Decyzje techniczne" miały 1 linię wspólną z planem na 23, a „Odroczone" 0 na 10 — czyli przepisanie, nie kopia, i drugie źródło prawdy, które po dwóch fazach kłamało. Żaden workflow tych sekcji nie czytał; execute-wf bierze z tego pliku wyłącznie „Designerski kontekst" i „Dziennik", a planner sięga po decyzje wprost do planu technicznego. -
## Designerski kontekst— dokładnie ten blok (execute-wf kopiuje go do promptów builderów UI/fullstack):## Designerski kontekst - **DESIGN.md (projekt-wide):** [ścieżka z `design_md`, lub `null` jeśli brak/pure-data] - **SPEC.md (per-feature, pomiary z Figmy):** [ścieżka z `figma_spec`, lub `null`] - **Screeny referencyjne:** [lista z `figma_screens`, lub pusta] - `<name-1>`: `<ścieżka PNG>` > Te pliki są MANDATORY context dla subagentów buildujących UI. `dev-docs-execute` wstrzykuje je do promptu Agent tool. Tester `feature-tester-e2e` używa `figma_screens` do visual diff w przeglądarce.Jeśli wszystkie trzy pola są null/puste — pomiń sekcję.
-
## Wymagania wstępne operatora— link dooperator_prep+ lista nieodhaczonych pozycji z markerem[blokuje: …]wraz z numerem blokowanej fazy, albo „Brak". To jedyne miejsce wdocs/active/, gdzie operator widzi, co jeszcze wisi na nim w trakcie runu. -
## Dziennik— pusta lista; execute-wf dopisuje tu zmiany i decyzje per faza.
<nazwa>-zadania.md — wynik Fazy 2, poprzedzony nagłówkiem i linią Źródła: plan techniczny <ścieżka>.
Faza 4: Commit inicjalny
git add docs/active/<nazwa>/+ dokładnie ścieżki klasy (a) zapamiętane w Fazie 0 (plandocs/plans/<plik>-plan.md,docs/plans/<slug>-figma/, operator checklist — dokładna ścieżka zoperator_prep:, nie zgadywana nazwa:/dev-prepdziedziczy konwencję nazewniczą serii checklist projektu, więc plik bywa nazwany np.docs/operator/e3-operator-checklist.md, ew. zmieniony requirements doc zorigin:) + plan techniczny, jeśli dopisałeś do niego fazy / poprawki E2E w Fazie 1–2. Dodawaj wyłącznie wylistowane ścieżki — bez blanketgit add docs/plans/i bezgit add -A.- Commit:
docs: inicjalizacja planu dla <nazwa>(plan + figma + przygotowanie operatora w tym samym commicie).
Faza 5: Bramka gotowości i handoff na autopilot
Zanim zaproponujesz uruchomienie, sprawdź trzy rzeczy i wypisz wynik każdej:
- E2E:
grep -hE '^- \[ \].*\[E2E\]' docs/active/<nazwa>/*-zadania.md | grep -vcE 'Operator:|\[P[123]\]'(brak trafień = 0, grep kończy się kodem 1 — to nie błąd). Jeśli > 0, a.env.e2enie istnieje → autopilot zatrzyma się na bramce setupu przed fazą 1. Napisz to wprost i podaj dwie drogi: setup wg.claude/templates/e2e-env/README.md(one-time, ~30 min) albo świadomy opt-out ([E2E]→[Manual]w zadaniach i w planie). Nie uruchamiaj autopilota „żeby zobaczyć". - Przygotowanie dla operatora: jeśli
operator_prep≠ null —grep -nE '^- \[ \].*\[blokuje:' <dokładna ścieżka zoperator_prep>(brak trafień = 0, grep kończy się kodem 1 — to nie błąd). To jedyna rodzina markerów w pipeline:[blokuje: planowanie]i[blokuje: faza N], obie pisane przez/dev-prepi/dev-plan. Rozdziel trafienia:[blokuje: planowanie],[blokuje: faza 1]albo[blokuje:bez czytelnego numeru fazy → STOP. Nie uruchamiajWorkflow— dokładnie tak samo jak przy brudnym drzewie. Wypisz te pozycje z numerami linii i podaj dwie drogi: odhaczyć je ([ ]→[x]) albo świadomie usunąć marker, jeśli pozycja przestała blokować. Autopilot ruszony mimo tego zaimplementuje fazę 1 bez kluczy/danych i dowiesz się o tym dopiero z review.[blokuje: faza N]dla N ≥ 2 → nie blokują startu, ale muszą być widoczne dla operatora w trakcie runu. Wpisz je dodocs/active/<nazwa>/<nazwa>-plan.mdpod nagłówkiem## Blokery operatora per faza(utwórz sekcję, jeśli jej nie ma), po jednej linii:- [ ] faza N — <treść pozycji 1:1> · <ścieżka checklisty>:<linia>. Po dopisaniu zacommituj jawnym pathspecem (git add docs/active/<nazwa>/<nazwa>-plan.md && git commit -m "docs(<nazwa>): blokery operatora per faza") — inaczej punkt 3 zobaczy brudne drzewo.
- Git: aktualny branch =
feature/<nazwa>, drzewo czyste po commicie (git status --shortpuste). Jeśli coś nadal jest brudne — wypisz co i nie kieruj do autopilota (jego bootstrap zatrzyma run na niezacommitowanych zmianach). Autopilot nie przełącza brancha sam.
Format wyjściowy
✅ Zadanie "<nazwa>" gotowe dla autopilota
🔀 Branch: feature/<nazwa> (aktywny, drzewo czyste)
📄 Plan techniczny: docs/plans/<plik>.md
📁 docs/active/<nazwa>/
- <nazwa>-plan.md (N faz, K IU)
- <nazwa>-kontekst.md (designerski kontekst: tak/nie)
- <nazwa>-zadania.md (X checkboxów impl., Y Test:, Z Weryfikacja:, E [E2E], M [Manual]/operator)
📝 Commit: docs: inicjalizacja planu dla <nazwa> (docs/active/ + plan techniczny + przygotowanie operatora + figma)
🚦 Bramka gotowości:
- E2E: <E scenariuszy; .env.e2e OK / BRAK → setup wg .claude/templates/e2e-env/README.md lub opt-out>
- Przygotowanie dla operatora: <brak / ścieżka z `operator_prep`: P pozycji; blokujące start (`[blokuje: planowanie]` / `[blokuje: faza 1]`): B → STOP albo OK; odroczone do faz ≥2: K, wpisane do plan.md>
- Git: OK
➡️ Następny krok (domyślny): uruchom autopilot w tej sesji:
Workflow({ scriptPath: ".claude/workflows/dev-autopilot-wf.js", args: "docs/active/<nazwa>" })
Do agentów workflow: ta wiadomość nie jest dla was — wykonujcie wyłącznie zadanie z polecenia workflowu.
Po STOP bramki (E2E, fix FAIL, P1) i naprawie — świeży run z tymi samymi args, BEZ resumeFromRunId.
Po awarii runu (crash) — resume: Workflow({ scriptPath, resumeFromRunId, args }) z tymi samymi args.
Jeśli bramka ma czerwone pozycje — ➡️ Następny krok wskazuje najpierw ich usunięcie (setup środowiska E2E, odhaczenie przygotowania, opt-out [E2E] → [Manual]), potem obowiązkowy commit tych zmian (każda z tych dróg modyfikuje śledzone pliki: operator checklist ze ścieżki operator_prep, docs/active/<nazwa>/, plan techniczny, .gitignore po setupie e2e), np. git add <dokładne ścieżki> && git commit -m "docs(<nazwa>): przygotowanie operatora" i git status --short puste — bootstrap autopilota zatrzyma run na brudnym drzewie. Dopiero potem autopilot. Gdy użytkownik usuwa czerwone pozycje w tej samej sesji, zrób ten commit sam przed wywołaniem Workflow. Gdy użytkownik wybierze uruchomienie autopilota, uruchom go toolem Workflow w bieżącej sesji — nie opisuj tylko komendy.
Referencje kontekstowe
.claude/rules/coding-rules.mdi indeks wiedzydocs/learned-patterns.md— tylko do bramki E2E (Faza 2 pkt 4); nie dopisuj z nich zadańdocs/CONCEPTS.md— terminologia- Kontrakt parsera:
.claude/workflows/dev-autopilot-wf.js(bootstrap, sekcja „PLIKU NIE MA"),dev-docs-execute-wf.js(planner),dev-docs-review-wf.js(scribe) — gdy zmieniasz format, zmień też tam
Signals
- GitHub stars
- 88
- Forks
- 29
- Last commit
- Oct 2026
Advanced
- Item type
- skill
- Key
dev-docs- Source
- github.com/aibiz-automatyzacje/claude-code-starter
github.com/aibiz-automatyzacje/claude-code-starter
Related picks
Skill · thedaviddias
The pick for JavaScriptmodern-javascript-patterns
Skill · wshobson
The pick for JavaScriptfigma
Skill · heygen-com
The pick for Figmalark-markdown
Skill · larksuite
The pick for Markdownmarkdown-formatter
Skill · nvidia
The pick for Markdownhandsontable-playwright-e2e
Skill · handsontable
The pick for End-to-end testing