بنقرة واحدة
dev-plan
Planowanie techniczne implementacji z Implementation Units.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Planowanie techniczne implementacji z Implementation Units.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Aktualizuje maszynerię workflow (.claude/: skille, agenci, reguły, hooki, workflows, templates + settings.json) w bieżącym projekcie, zaciągając najnowszą wersję z repo szablonu claude-code-starter. Jednym uruchomieniem sprawdza czy w szablonie pojawiły się jakiekolwiek zmiany i automatycznie je aplikuje. Używaj gdy: „zaktualizuj szablon", „zsynchronizuj .claude", „zaciągnij zmiany z szablonu", „sync template", „czy są nowe skille/agenci", „update workflow", „odśwież folder Claude" — a także po wrzuceniu tego szablonu do nowego projektu, żeby dociągnąć maszynerię. Wywołuj TEN skill zawsze gdy user chce zsynchronizować konfigurację Claude Code z centralnym szablonem, nawet jeśli nie nazwie tego wprost „synchronizacją".
"Cykliczny audyt aktualności skilli technicznych względem żywej dokumentacji (oficjalne docs, changelogi GitHub, npm registry). Weryfikuje wersje, pinowane paczki i wzorce API z żywych źródeł, nie z pamięci modelu. Używaj przy: „audyt aktualności", „freshness", „czy skille są aktualne", „sprawdź wersje w skillach", „czy Stripe/React/Zod w skillach jest aktualny", przeglądzie przeterminowań w guidelines technicznych."
Automatyzacja przeglądarki przez CLI agent-browser. Nawigacja, formularze, screenshoty, scraping, testowanie UI — wszystko przez komendy Bash z ref-based element selection (@e1, @e2). Używaj przy "otwórz stronę", "wypełnij formularz", "zrób screenshot", "scrape page", "testuj UI", "agent-browser".
Walidacja i doprecyzowanie pomysłu przed planowaniem. Interaktywny dialog, pressure test, eksploracja podejść, requirements doc. Używaj przy "mam pomysł", "zróbmy brainstorm", "co myślisz o", "pomóż mi przemyśleć", "chcę zbudować", niejasny scope, wiele możliwych rozwiązań.
Archiwizacja ukończonego zadania i wyciągnięcie kluczowych wniosków.
Kontynuacja pracy nad zadaniem - wykonanie kolejnej fazy/etapu.
| name | dev-plan |
| description | Planowanie techniczne implementacji z Implementation Units. |
| argument-hint | [opcjonalnie: ścieżka do requirements doc lub opis feature'a] |
Uwaga: Aktualny rok to 2026. Używaj tego przy datowaniu planów i wyszukiwaniu dokumentacji.
/dev-brainstorm definiuje CO budować. /dev-plan definiuje JAK to zbudować. /dev-docs-execute wykonuje plan.
Ten workflow produkuje trwały plan implementacji. Nie implementuje kodu, nie uruchamia testów, nie uczy się z wyników runtime'u. Jeśli odpowiedź zależy od zmiany kodu i zobaczenia co się stanie, to należy do /dev-docs-execute, nie tutaj.
Używaj narzędzia pytań platformy gdy dostępne. Przy zadawaniu pytań użytkownikowi preferuj blokujące narzędzie pytań platformy (AskUserQuestion w Claude Code). W przeciwnym razie prezentuj numerowane opcje w chacie i czekaj na odpowiedź.
Zadawaj jedno pytanie na raz. Preferuj zwięzły single-select gdy istnieją naturalne opcje.
<feature_description> #$ARGUMENTS </feature_description>
Jeśli opis powyżej jest pusty: przeszukaj docs/brainstorms/ w poszukiwaniu plików *-requirements.md. Jeśli znajdziesz relevantny dokument, użyj go jako inputu. Jeśli nie znajdziesz, zapytaj: "Co chciałbyś zaplanować? Opisz feature, bug fix lub usprawnienie."
Nie kontynuuj dopóki nie masz jasnego inputu do planowania.
Słownik domenowy: jeśli istnieje docs/CONCEPTS.md, przeczytaj go najpierw — to glosariusz pojęć o projektowo-specyficznym znaczeniu. Używaj tej terminologii w planie i NIE planuj zmian sprzecznych z definicjami (np. „naprawy" statusu, który celowo działa nietypowo).
/dev-brainstorm wyprodukował requirements doc, planowanie powinno na nim bazować zamiast wymyślać zachowania od nowa.Każdy plan powinien zawierać:
Plan jest gotowy gdy implementator może zacząć pewnie bez potrzeby żeby plan pisał za niego kod.
Jeśli użytkownik odnosi się do istniejącego pliku planu lub istnieje oczywisty niedawny pasujący plan w docs/plans/:
Przed zadawaniem pytań planistycznych przeszukaj docs/brainstorms/ w poszukiwaniu plików pasujących do *-requirements.md.
Kryteria trafności: Requirements doc jest trafny jeśli:
Jeśli wiele dokumentów źródłowych pasuje, zapytaj którego użyć używając narzędzia pytań platformy gdy dostępne. W przeciwnym razie prezentuj numerowane opcje w chacie i czekaj na odpowiedź.
Jeśli relevantny requirements doc istnieje:
(zob. źródło: <ścieżka-źródła>)Jeśli nie istnieje relevantny requirements doc, planowanie może kontynuować bezpośrednio z requestu użytkownika.
Jeśli nie istnieje relevantny requirements doc:
/dev-brainstormPlanning bootstrap powinien ustalić:
Bootstrap powinien być krótki. Istnieje żeby zachować wygodę bezpośredniego wejścia, nie żeby zastępować pełny brainstorm.
Jeśli bootstrap odkryje duże nierozwiązane pytania produktowe:
/dev-brainstorm ponownieJeśli dokument źródłowy zawiera Do rozwiązania przed planowaniem lub podobne blokujące pytania:
Jeśli prawdziwe blokery produktowe pozostają:
/dev-brainstorm żeby je rozwiązaćSklasyfikuj pracę w jedną z tych głębokości:
Jeśli głębokość jest niejasna, zadaj jedno celowane pytanie i kontynuuj.
Przygotuj zwięzłe podsumowanie kontekstu planowania (akapit lub dwa) jako input do agentów badawczych:
Uruchom tych agentów równolegle:
.claude/agents/repo-research-analyst.md — przekaż podsumowanie kontekstu planowania.claude/agents/learnings-researcher.md — przekaż podsumowanie kontekstu planowaniaZbierz:
docs/solutions/Zdecyduj czy plan powinien nieść lekki sygnał postawy wykonawczej.
Szukaj sygnałów takich jak:
Gdy sygnał jest jasny, przenieś go cicho w relevantnych implementation units.
Pytaj użytkownika tylko jeśli postawa materialnie zmieniłaby sekwencjonowanie lub ryzyko i nie może być odpowiedzialnie wywnioskowana.
Na podstawie dokumentu źródłowego, sygnałów użytkownika i wyników lokalnych zdecyduj czy research zewnętrzny dodaje wartość.
Czytaj między wierszami. Zwróć uwagę na sygnały z dotychczasowej rozmowy:
Zawsze skłaniaj się ku researchowi zewnętrznemu gdy:
Pomiń research zewnętrzny gdy:
Ogłoś decyzję krótko przed kontynuacją. Przykłady:
Jeśli krok 1.2 wskazuje że research zewnętrzny jest przydatny, uruchom tych agentów równolegle:
.claude/agents/best-practices-researcher.md — przekaż podsumowanie kontekstu planowania.claude/agents/framework-docs-researcher.md — przekaż podsumowanie kontekstu planowaniaPodsumuj:
Dla planów Standardowych lub Głębokich, lub gdy kompletność user flow jest wciąż niejasna, uruchom:
.claude/agents/spec-flow-analyzer.md — przekaż podsumowanie kontekstu planowania i wyniki researchuUżyj outputu do:
Cel: zanim ułożysz Implementation Units, ustal źródło prawdy o designie dla tego feature'a. Bez tego buildery UI dostaną tylko opis tekstowy i będą halucynować pomiary.
Krok A — Klasyfikacja feature'a. Zadaj użytkownikowi pytanie przez AskUserQuestion:
"Czy ten feature dotyka warstwy UI (komponenty, ekrany, layouty)?"
Opcje: Tak — dotyka UI / Nie — pure-data (backend/migracje/Edge Functions).
Jeśli Nie → pomiń resztę sekcji 1.6, w frontmatter planu (4.2) wstaw design_md: null, figma_spec: null, figma_screens: [].
Jeśli Tak → kontynuuj krok B.
Krok B — Projektowy DESIGN.md. Sprawdź czy istnieje docs/DESIGN.md (Read tool).
Jeśli istnieje → zapisz ścieżkę do późniejszego frontmatera planu jako design_md: ./docs/DESIGN.md i ogłoś: "Używam docs/DESIGN.md jako źródła prawdy o tokenach designu projektu."
Jeśli nie istnieje → zadaj AskUserQuestion:
"Brak
docs/DESIGN.md(projekt-wide design system w formacie Google Labs design.md — YAML tokeny + markdown prose). Co robimy?"
Opcje:
Stwórz teraz — zatrzymaj planowanie (rekomendowane) — wyjdź z dev-plan, poinstruuj usera żeby stworzył docs/DESIGN.md (spec: https://github.com/google-labs-code/design.md). Plan można wznowić później.Pomiń dla tej iteracji — kontynuuj bez DESIGN.md, zapisz design_md: null w frontmatter, dodaj do "Otwarte pytania → Odroczone do implementacji" wpis: "Brak docs/DESIGN.md — buildery UI bazują tylko na ux-ui-guidelines i SPEC per-feature. Utwórz przed kolejnym UI feature'em."Krok C — Mockupy Figmy dla tej iteracji. Zadaj AskUserQuestion:
"Czy masz w Figmie mockupy ekranów dla tej iteracji?"
Opcje: Tak — podam linki / Nie — projektujemy z głowy w oparciu o DESIGN.md.
Jeśli Nie → wstaw figma_spec: null, figma_screens: [] w frontmatter, kontynuuj do Fazy 2.
Jeśli Tak → kontynuuj krok D.
Krok D — Zbierz linki Figma (jeden per ekran). Zadaj wolnotekstowo:
"Podaj URL-e Figma per ekran/komponent (jeden na linię, format
<nazwa>: <url>). Przykład:home-dashboard: https://figma.com/design/abc123/...?node-id=378-43 bottom-nav: https://figma.com/design/abc123/...?node-id=27-119 ```"
Sparsuj odpowiedź na listę {name, fileKey, nodeId} (z URL Figmy: figma.com/design/<fileKey>/...?node-id=<nodeId> — zamień - na : w nodeId).
Krok E — Fetch i wygeneruj SPEC.md. Dla każdego ekranu wywołaj sekwencyjnie (Figma MCP rate limit):
mcp__plugin_figma_figma__get_design_context z fileKey + nodeId — pobierz pełną hierarchię, pomiary, paddingi, typografię, autoLayout.mcp__plugin_figma_figma__get_variable_defs z fileKey + nodeId — pobierz tokeny (kolory, spacing, font tokens) używane w tym frame.mcp__plugin_figma_figma__get_screenshot z fileKey + nodeId — pobierz PNG. Zapisz jako docs/plans/<feature-slug>-figma/<name>.png.width i height z metadata frame'a (z odpowiedzi get_design_context) — to viewport designu dla tego ekranu.Po zebraniu danych ze wszystkich ekranów stwórz jeden plik docs/plans/<feature-slug>-figma/SPEC.md z układem:
# <Feature> — Specyfikacja Figma
> Pomiary zfetchowane z Figmy YYYY-MM-DD (`get_design_context` + `get_variable_defs`).
> Źródło: Figma `<fileKey>`.
## Screeny referencyjne
| Nazwa | Plik | Wymiary | Frame |
|---|---|---|---|
| <name> | `./<name>.png` | <W>×<H>px | `<nodeId>` |
| ... | ... | ... | ... |
## Tokeny (Figma variables → mapowanie na `docs/DESIGN.md` lub `global.css @theme {}`)
[Z `get_variable_defs` — tabela `figma_variable | hex | token w projekcie`. Sprawdź czy istnieje w `docs/DESIGN.md`; oznacz brakujące jako "do dodania w DESIGN.md".]
## <NAZWA EKRANU 1> (`<nodeId>`) — pełny ekran
[Z `get_design_context` — sekcja per komponent z paddingami, fontami, kolorami, autoLayoutem. Lustruj strukturę frame'a 1:1.]
## <NAZWA EKRANU 2> (`<nodeId>`) — ...
[...]
## Rozjazdy vs DESIGN.md — Figma jest źródłem prawdy
[Tabela: element | DESIGN.md mówi | Figma mówi | decyzja. Jeśli brak rozjazdów — zostaw sekcję pustą z komentarzem "Brak rozjazdów na moment fetchu".]
Po zapisie plików wpisz do frontmatter planu (4.2):
figma_spec: ./docs/plans/<feature-slug>-figma/SPEC.md
figma_screens:
<name-1>: ./docs/plans/<feature-slug>-figma/<name-1>.png
<name-2>: ./docs/plans/<feature-slug>-figma/<name-2>.png
Krok F — Idempotentność. Jeśli docs/plans/<feature-slug>-figma/SPEC.md już istnieje (rerun dev-plan na tym samym slug), zadaj AskUserQuestion:
"SPEC.md już istnieje. Co robimy?"
Opcje:
Re-fetch i nadpisz — pociągnij świeże dane z Figmy, nadpisz SPEC i PNG.Użyj istniejący (rekomendowane jeśli nic nie zmieniło się w Figmie) — pomiń kroki E, użyj ścieżek z istniejącego folderu.NIGDY nie nadpisuj bez explicit zgody usera (memory: confirm-before-delete).
Zbuduj listę pytań planistycznych z:
Dla każdego pytania zdecyduj czy powinno być:
Pytaj użytkownika tylko gdy odpowiedź materialnie wpływa na architekturę, scope, sekwencjonowanie lub ryzyko i nie może być odpowiedzialnie wywnioskowana.
Nie uruchamiaj testów, nie buduj aplikacji, nie badaj zachowania runtime'owego w tej fazie. Celem jest solidny plan, nie częściowe wykonanie.
feat: Dodaj autentykację użytkowników lub fix: Zapobiegaj podwójnemu submitowi checkoutfeat, fix lub refactordocs/plans/YYYY-MM-DD-NNN-<type>-<descriptive-name>-plan.md
docs/plans/ jeśli nie istnieje2026-01-15-001-feat-user-authentication-flow-plan.md, 2026-02-03-002-fix-checkout-race-condition-plan.mdDla planów Standardowych lub Głębokich krótko rozważ kogo dotyczy ta zmiana — użytkownicy końcowi, developerzy, operacje, inne zespoły — i jak to powinno kształtować plan. Dla pracy cross-cutting zanotuj dotknięte strony w sekcji Wpływ systemowy.
Rozbij pracę na logiczne implementation units. Każdy unit powinien reprezentować jedną znaczącą zmianę którą implementator mógłby typowo wylądować jako atomowy commit.
Dobre unity:
Unikaj:
Dla każdego unitu dołącz:
feature-builder-ui | feature-builder-data | feature-builder-fullstack). Reguła decyzyjna w sekcji 3.5.skills: wybranego subagenta). Dokumentacyjne, dla czytelności planu.[Unit] dla testów kodu, [E2E] dla scenariuszy do weryfikacji w przeglądarce przez /agent-browser, [Manual] dla pojedynczych testów wymagających człowieka (np. weryfikacja na fizycznym urządzeniu)/agent-browser. Każdy checkbox Weryfikacja: musi być możliwy do domknięcia bez udziału człowieka, wyrażony jako oczekiwany wynik a nie literalny skrypt komend shellowych. Powód: /dev-docs-review automatycznie odznacza Weryfikacja: po PASS — checkbox nieautomatyzowalny pozostanie wiecznie [ ] i zafałszuje raport postępu. Jeśli kryterium wymaga człowieka — przenieś do Operator checklist lub do Scenariusze testowe jako [Manual]Każdy feature-bearing unit powinien zawierać ścieżkę pliku testowego w **Pliki:**. Dla unitów modyfikujących komponenty UI lub ścieżki użytkownika — dołącz scenariusze [E2E] opisujące flow do przetestowania przez /agent-browser (otwórz URL, zrób snapshot, kliknij X, sprawdź Y, zrób screenshot).
Używaj Notatka wykonawcza oszczędnie. Dobre użycia:
Notatka wykonawcza: Zacznij od failing integration testu dla kontraktu request/response.Notatka wykonawcza: Dodaj characterization coverage przed modyfikacją tego legacy parsera.Notatka wykonawcza: Implementuj nowe zachowanie domenowe test-first.Nie rozwijaj unitów w literalne substepy RED/GREEN/REFACTOR.
Autonomiczne E2E (autopilot) działa na dedykowanym projekcie testowym opisanym w .env.e2e (NIGDY dev/prod). Środowisko stawia i sprząta sam autopilot (dev server Vite z --mode e2e na bazie .env.e2e, supabase db push migracji + seedy, konto E2E_TEST_EMAIL); tester feature-tester-e2e (agent-browser) tylko odpala scenariusz w przeglądarce — nie pisze flow. Planując scenariusze [E2E], przestrzegaj:
[E2E]/Weryfikacja: (URL, kroki: otwórz, kliknij, sprawdź, screenshot) — agent-browser wykonuje go z opisu, NIE ma osobnego pliku flow. Jedynym deliverable BUILDERA jest seed e2e/seeds/<flow>-seed.sql (gdy scenariusz potrzebuje danych). Wpisz go do **Pliki:** danego IU jako Stwórz: i przypisz IU do buildera (feature-builder-*). Autorstwo seeda NIGDY nie może wisieć pod checkboxem testera ani w bloku testera, bo wtedy nikt go nie napisze i E2E cicho spadnie do Operatora.(select id from auth.users where email='<E2E_TEST_EMAIL>') — nigdy przez stałe ID. Wzór: istniejący seed w e2e/seeds/. Flow loguje się kontem E2E_TEST_EMAIL/E2E_TEST_PASSWORD (email+hasło, NIE OAuth — popup providera jest niedostępny headless)..env.e2e — nigdy nie wstrzykuj danych testowych do dev/prod ani przez Supabase MCP. Smoke RLS (np. odmowa nie-uczestnikowi) wykonuj SQL-em na bazie e2e (psql "$SUPABASE_E2E_DB_URL").[E2E]. Prawdziwy two-client „na żywo" (równoczesne karty/urządzenia) → Operator checklist [Manual], bo harness single-client tego nie dowiedzie..env.e2e (brak opt-in do E2E): scenariusz [E2E] przenieś do Operator checklist jako [Manual] — seed nie jest wtedy wymagany. Setup harnessu: .claude/templates/e2e-env/README.md.Każdy Implementation Unit MUSI mieć zadeklarowany Delegate to: — nazwa subagenta z .claude/agents/, który go wykona. Reguła decyzyjna oparta na ścieżkach z pola Pliki::
Ścieżki w Pliki: | Subagent | Skille (mirror dla Skills in play:) |
|---|---|---|
Tylko *.tsx w src/components/, src/features/<x>/components/, src/pages/, lub *.css | feature-builder-ui | tailwind-react-guidelines, ux-ui-guidelines, figma:figma-use, figma-design-to-code |
Tylko *.ts w src/lib/, src/hooks/use<X>Data.ts, supabase/migrations/, supabase/functions/ | feature-builder-data | supabase-dev-guidelines, security, sentry-integration |
| Mix UI i danych w jednym atomowym IU | feature-builder-fullstack | tailwind-react-guidelines, ux-ui-guidelines, supabase-dev-guidelines, security, sentry-integration, figma:figma-use, figma-design-to-code |
Reguła praktyczna: jeśli da się rozsądnie podzielić na dwa osobne IU (jeden UI, drugi data) — podziel. feature-builder-fullstack używaj tylko gdy podział byłby sztuczny (np. formularz logowania, gdzie UI bez auth call lub auth call bez formularza są bezużyteczne).
Figma w mirrorze: feature-builder-ui i feature-builder-fullstack zawsze mają figma skille w Skills in play: (mirror frontmatera tych agentów). Te skille są aktywne tylko gdy plan ma niepuste figma_spec/figma_screens w frontmaterze — wtedy dev-docs-execute wstrzykuje subagentowi "Mandatory designerski kontekst". Bez tej sekcji w prompcie buildery ignorują skille figma. feature-builder-data nie ma figma skilli — warstwa danych nie dotyka designu.
Pole Skills in play: jest dokumentacyjnym mirror frontmatter skills: wybranego subagenta — pozwala czytelnikowi planu zrozumieć kontekst implementacji bez wchodzenia do pliku subagenta.
Jeśli coś jest ważne ale jeszcze niepoznawalne, zapisz to explicite pod odroczonymi notatkami implementacyjnymi zamiast udawać że rozwiązujesz to w planie.
Przykłady:
Używaj jednej filozofii planowania na wszystkich głębokościach. Zmieniaj ilość szczegółów, nie granicę między planowaniem a wykonaniem.
Lekka
Standardowa
Głęboka
Dla wystarczająco dużej, ryzykownej lub cross-cutting pracy, dodaj sekcje które genuinely pomagają:
Nie dodawaj tych sekcji jako boilerplate. Dołączaj je tylko gdy poprawiają jakość wykonania lub alignment interesariuszy.
Pomiń wyraźnie niepasujące opcjonalne sekcje, szczególnie dla planów Lekkich.
---
title: [Tytuł planu]
type: [feat|fix|refactor]
status: active
date: YYYY-MM-DD
origin: docs/brainstorms/YYYY-MM-DD-<topic>-requirements.md # dołącz gdy planujesz z requirements doc
design_md: ./docs/DESIGN.md # null jeśli pure-data feature lub brak DESIGN.md (patrz 1.6)
figma_spec: ./docs/plans/<feature-slug>-figma/SPEC.md # null jeśli brak mockupów Figmy
figma_screens: # {} jeśli brak mockupów; mapa name → ścieżka PNG
home: ./docs/plans/<feature-slug>-figma/home.png
settings: ./docs/plans/<feature-slug>-figma/settings.png
---
# [Tytuł planu]
## Przegląd
[Co się zmienia i dlaczego]
## Ujęcie problemu
[Podsumuj problem użytkownika/biznesowy i kontekst. Odwołaj się do dokumentu źródłowego gdy jest.]
## Śledzenie wymagań
- R1. [Wymaganie lub kryterium sukcesu które plan musi spełnić]
- R2. [Wymaganie lub kryterium sukcesu które plan musi spełnić]
## Granice scope'u
- [Explicite non-goal lub wykluczenie]
## Kontekst i research
### Relevantny kod i wzorce
- [Istniejący plik, klasa, komponent lub wzorzec do naśladowania]
### Wiedza instytucjonalna
- [Relevantny insight z `docs/solutions/`]
### Referencje zewnętrzne
- [Relevantne zewnętrzne docs lub źródło best-practice, jeśli użyte]
## Kluczowe decyzje techniczne
- [Decyzja]: [Uzasadnienie]
## Otwarte pytania
### Rozwiązane podczas planowania
- [Pytanie]: [Rozwiązanie]
### Odroczone do implementacji
- [Pytanie lub niewiadoma]: [Dlaczego jest świadomie odroczone]
## Implementation Units
- [ ] **Unit 1: [Nazwa]**
**Cel:** [Co ten unit osiąga]
**Wymagania:** [R1, R2]
**Zależności:** [Brak / Unit 1 / zewnętrzny prerequisite]
**Pliki:**
- Stwórz: `ścieżka/do/nowego_pliku`
- Modyfikuj: `ścieżka/do/istniejącego_pliku`
- Test (unit): `ścieżka/do/pliku_testowego`
- Test (e2e): `Scenariusz: [opis flow do weryfikacji przez /agent-browser]`
**Delegate to:** feature-builder-ui | feature-builder-data | feature-builder-fullstack
**Skills in play:** [lista skilli — mirror frontmatter `skills:` wybranego subagenta]
**Podejście:**
- [Kluczowa decyzja designu lub sekwencjonowania]
**Notatka wykonawcza:** [Opcjonalny sygnał postawy test-first, characterization-first lub innej]
**Wzorce do naśladowania:**
- [Istniejący plik, klasa lub wzorzec]
**Scenariusze testowe:**
- [Unit] [Konkretny scenariusz z oczekiwanym zachowaniem]
- [Unit] [Edge case lub ścieżka awarii]
- [E2E] [Flow do weryfikacji przez /agent-browser: otwórz URL, kliknij X, sprawdź Y]
- [Manual] [Krok wymagający człowieka, np. weryfikacja na fizycznym urządzeniu] *(opcjonalne — używaj gdy automatyzacja jest niemożliwa)*
**Weryfikacja:** *(wyłącznie automatyzowalne — CLI lub E2E przez /agent-browser; rzeczy ręczne idą do Operator checklist niżej)*
- [Komenda CLI z oczekiwanym wynikiem, np. "bun run typecheck przechodzi bez błędów"]
- [Scenariusz E2E z oczekiwanym stanem widocznym w przeglądarce]
**Operator checklist:** *(opcjonalne — kroki wymagające człowieka, NIE odznaczane przez autopilot)*
- [ ] [Krok wymagający operatora, np. "QA weryfikuje animację na realnym urządzeniu iOS"]
## Wpływ systemowy
- **Graf interakcji:** [Jakie callbacki, middleware, observery lub entry pointy mogą być dotknięte]
- **Propagacja błędów:** [Jak awarie powinny podróżować między warstwami]
- **Ryzyka cyklu życia stanu:** [Częściowy zapis, cache, duplikaty lub problemy cleanup]
- **Parytet surface API:** [Inne interfejsy które mogą wymagać tej samej zmiany]
- **Pokrycie integracyjne:** [Scenariusze cross-layer których unit testy same nie udowodnią]
## Ryzyka i zależności
- [Materialny risk, zależność lub problem sekwencjonowania]
## Dokumentacja / Notatki operacyjne
- [Docs, rollout, monitoring lub wpływ na support gdy relevantne]
## Źródła i referencje
- **Dokument źródłowy:** [docs/brainstorms/YYYY-MM-DD-<topic>-requirements.md](ścieżka)
- Powiązany kod: [ścieżka lub symbol]
- Powiązane PR/issues: #[numer]
- Zewnętrzne docs: [url]
Dla większych planów Głębokich rozszerzaj core template tylko gdy to przydatne sekcjami takimi jak:
## Rozważane alternatywy
- [Podejście]: [Dlaczego odrzucone lub niewybrane]
## Metryki sukcesu
- [Jak poznamy że to rozwiązało zamierzony problem]
## Zależności / Wymagania wstępne
- [Zależność techniczna, organizacyjna lub rolloutowa]
## Analiza ryzyk i mitygacja
- [Ryzyko]: [Mitygacja]
## Fazowe dostarczanie
### Faza 1
- [Co ląduje pierwsze i dlaczego]
### Faza 2
- [Co następuje i dlaczego]
## Plan dokumentacji
- [Docs lub runbooki do aktualizacji]
## Notatki operacyjne / rolloutowe
- [Monitoring, migracja, feature flag lub rozważania rolloutowe]
- [ ] do śledzenia postępuRED/GREEN/REFACTORPrzed finalizacją sprawdź:
/dev-brainstormDelegate to: zgodnie z regułą decyzyjną z sekcji 3.5Skills in play: w każdym IU jest spójne z frontmatter skills: wybranego subagentadesign_md, figma_spec, figma_screens (zgodnie z 1.6) — jako konkretne ścieżki LUB explicite null/{}. Nigdy nie pomijaj tych pól.figma_spec ≠ null — plik istnieje na dysku (Read go zwraca treść), a każdy ekran z figma_screens ma fizycznie zapisany PNGfeature-builder-ui lub feature-builder-fullstack ma w Skills in play: figma skille (mirror per sekcja 3.5), niezależnie od tego czy ten konkretny IU korzysta z mockupu — bo skille są w frontmaterze agentaNotatką wykonawcząWeryfikacja: jest automatyzowalny (CLI lub E2E przez agent-browser). Kroki wymagające człowieka są w Operator checklist lub jako [Manual] w Scenariusze testowe — nigdy w Weryfikacja:Jeśli plan pochodzi z requirements doc, przeczytaj ponownie ten dokument i zweryfikuj:
/dev-brainstormWYMAGANE: Zapisz plik planu na dysk przed prezentowaniem jakichkolwiek opcji.
Użyj mkdir -p docs/plans/ przed zapisem. Następnie użyj narzędzia Write żeby zapisać kompletny plan do:
docs/plans/YYYY-MM-DD-NNN-<type>-<descriptive-name>-plan.md
Potwierdź:
Plan zapisany do docs/plans/[nazwa-pliku]
Tryb pipeline: Jeśli wywołany z automatycznego workflow lub kontekstu disable-model-invocation, pomiń interaktywne pytania. Podejmij potrzebne wybory automatycznie i kontynuuj do zapisu planu.
Po zapisie pliku prezentuj opcje używając narzędzia pytań platformy gdy dostępne. W przeciwnym razie prezentuj numerowane opcje w chacie i czekaj na odpowiedź.
Pytanie: "Plan gotowy w docs/plans/YYYY-MM-DD-NNN-<type>-<name>-plan.md. Co chciałbyś zrobić dalej?"
Opcje:
/dev-docs (Rekomendowane) — rozpocznij planowanie implementacji z tym planem/dev-docs-execute — rozpocznij implementację tego planuNa podstawie wyboru:
docs/plans/<nazwa_pliku>.md używając mechanizmu otwierania plików platformy (np. open na macOS)/dev-docs -> Uruchom /dev-docs ze ścieżką do planu/dev-docs-execute -> Uruchom /dev-docs-execute ze ścieżką do planuNIGDY NIE KODUJ! Badaj, decyduj i zapisz plan.