# Skill: Generare PRD pentru Ralph Când utilizatorul cere să generezi un PRD pentru Ralph, urmează acest workflow: ## Pas 1: Întrebări de clarificare Pune 3-5 întrebări pentru a înțelege feature-ul: **Exemplu:** ``` Pentru a genera un PRD bun, am nevoie de câteva clarificări: A) Care este scopul principal al feature-ului? 1. Funcționalitate nouă pentru utilizatori 2. Îmbunătățire performanță 3. Refactoring/cleanup cod 4. Altceva: [descrie] B) Cine sunt utilizatorii țintă? 1. End users 2. Developers/Admin 3. Sistem automatizat 4. Altceva: [descrie] C) Care sunt constrângerile tehnice? 1. Trebuie să folosească framework/librărie existentă 2. Fără dependențe noi 3. Flexibil 4. Altceva: [descrie] ``` ## Pas 2: Generează PRD Markdown După clarificări, generează documentul în `/tasks/prd-[feature-name].md`: ```markdown # PRD: [Feature Name] ## 1. Introducere [Descriere scurtă a feature-ului și contextul] ## 2. Obiective - Obiectiv principal - Obiective secundare - Metrici de succes ## 3. User Stories ### US-001: [Titlu] **Ca** [tip utilizator] **Vreau** [funcționalitate] **Pentru că** [beneficiu] **Acceptance Criteria:** - [ ] Criteriu 1 specific și testabil - [ ] Criteriu 2 specific și testabil - [ ] npm run typecheck passes ### US-002: [Titlu] ... ## 4. Cerințe Funcționale 1. [Cerință 1] 2. [Cerință 2] ... ## 5. Non-Goals (Ce NU facem) - [Explicit ce nu este în scope] ## 6. Considerații Tehnice - Stack tehnologic - Patterns de urmat - Dependențe ## 7. Considerații UI/UX - [Dacă e relevant] ## 8. Success Metrics - [Cum măsurăm succesul] ## 9. Open Questions - [Întrebări nerezolvate] ``` ## Pas 3: Convertește în prd.json După aprobare, convertește PRD-ul markdown în format JSON pentru Ralph: ```json { "projectName": "feature-name", "branchName": "ralph/feature-name", "description": "Descriere din PRD", "userStories": [ { "id": "US-001", "title": "Titlu din PRD", "description": "Ca [user], vreau [feature] pentru că [benefit]", "priority": 1, "acceptanceCriteria": [ "Criteriu 1", "Criteriu 2", "npm run typecheck passes" ], "passes": false, "notes": "" } ] } ``` Salvează în `scripts/ralph/prd.json`. ## Reguli importante pentru stories ### ✅ Story de mărime corectă (UN context window): - Adaugă un câmp în baza de date - Creează un component UI simplu - Adaugă un endpoint API - Scrie tests pentru o funcție ### ❌ Story prea mare (trebuie spart): - "Implementează autentificarea completă" - "Creează dashboard-ul admin" - "Adaugă sistem de notificări" ### Ordinea priorităților: 1. Schema/Database changes 2. Backend logic 3. API endpoints 4. UI components 5. Integration/polish ### Acceptance criteria trebuie să fie: - Specifice și verificabile - Nu vagi ("funcționează bine", "UX bun") - Include întotdeauna `npm run typecheck passes` - Pentru UI: "Verifică în browser că [specific behavior]"