Files
ralph-claude/scripts/ralph/generate-prd.md
Claude Agent 2f3e70b60b Initial commit - Ralph adaptat pentru Claude Code
Adaptare a sistemului Ralph (snarktank/ralph) pentru Claude Code CLI.

Features:
- Script ralph.sh pentru loop autonom
- Skill /prd pentru generare PRD structurat
- Skill /ralph pentru conversie PRD în prd.json
- Script install.sh pentru instalare globală skills
- Documentație completă

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 11:41:48 +00:00

3.0 KiB

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:

# 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:

{
  "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]"