# Prd

> Generate an ML-centric PRD for ML-Ralph. Use when planning an ML project, experiment plan, or when asked to create an ML PRD. Triggers on: create a prd, write prd for, plan this ML feature, requirements for, spec out.

- Skill: `majiayu000/prd-12` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add majiayu000/prd-12`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/prd-12/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/prd-12

---


# ML PRD Generator

Create ML-centric PRDs that are evidence-driven, stack-agnostic, and suitable for ML-Ralph.

---

## The Job

1. Receive a project description
2. Ask 3-5 essential clarifying questions (one at a time)
3. Generate a structured ML PRD
4. Save to `tasks/prd-[feature-name].md`

**Important:** Do NOT start implementing. Just create the PRD.

---

## Step 1: Clarifying Questions (One at a Time)

Focus on:
- **Objective/Metric:** What is success? What metric matters?
- **Data Context:** What data exists? Any leakage risks? Any constraints?
- **Evaluation:** What validation scheme is appropriate?
- **Scope:** What should NOT be done?

**Example format:**
```
1) What is the primary objective?
   A. Classification
   B. Regression
   C. Ranking
   D. Other: [specify]
```

---

## Step 2: PRD Structure

Generate the PRD with these sections:

### 1. Introduction/Overview
Brief description of the ML task and why it matters.

### 2. Goals
Specific, measurable objectives (bullet list).

### 3. Assumptions
Explicit assumptions (data availability, metric definitions, constraints).

### 4. Evaluation Plan
- Metric definition
- Split strategy (random/stratified/group/time)
- Leakage rules

### 5. User Stories (ML-centric)
Each story must include:
- **Title**
- **Description**
- **Type**: discovery | experiment | evaluation | implementation | ops
- **Hypothesis** (optional but preferred)
- **Evidence Required** (what must be logged, including W&B run URL/ID for experiment/evaluation stories)
- **Acceptance Criteria** (verifiable)

**Format:**
```markdown
### US-001: [Title]
**Description:** As a [role], I want [outcome] so that [benefit].
**Type:** discovery | experiment | evaluation | implementation | ops
**Hypothesis:** If ..., then ... because ...
**Evidence Required:** [What must appear in progress.jsonl or artifacts; include W&B run URL/ID for experiment/evaluation stories]

**Acceptance Criteria:**
- [ ] Specific, verifiable criterion
- [ ] Another criterion
- [ ] Ruff check passes
- [ ] Ruff format passes
- [ ] Mypy passes
- [ ] Pytest passes (if tests exist)
- [ ] Evidence logged in progress.jsonl
```

**Important:**
- Stories must be small enough for one iteration.
- Acceptance criteria must be verifiable.
- Include evidence logging for every story.

### 6. Functional Requirements
Numbered list of required behaviors or components.

### 7. Non-Goals (Out of Scope)
Explicitly list what will not be done.

### 8. Risks / Uncertainties
Known unknowns and how they’ll be resolved.

### 9. Success Metrics
Define “done” in measurable terms.

### 10. Open Questions
Remaining questions that might alter the plan.

---

## ML-Ralph Dynamic Backlog Guidance

PRDs are **living** documents. ML-Ralph may refine `prd.json` each iteration based on evidence:
- add/split/reorder/supersede stories
- never delete stories
- log changes in `progress.jsonl`

---

## Output

- **Format:** Markdown (`.md`)
- **Location:** `tasks/`
- **Filename:** `prd-[feature-name].md` (kebab-case)

