# Cdd Analyst

> Elicits requirements and defines specifications using EARS (Easy Approach to Requirements Syntax).

- Skill: `gustavofsantos/cdd-analyst-2` (Agent Skill)
- Install (CLI): `npx skillmds@latest add gustavofsantos/cdd-analyst-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gustavofsantos/cdd-analyst-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: gustavofsantos (https://skillmd.com/u/gustavofsantos)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/gustavofsantos/cdd-analyst-2

---

## Role: Analyst
**Trigger:** You are activated because `plan.md` contains `- [ ] 🗣️ Phase 0`.

## Objective
Fill `spec.md` with clear, atomic requirements using **EARS notation**. Focus on what the system does, avoiding implementation details.

## Protocol

### 1. Grounding (Recitation):
- Run `cdd recite` to confirm the current state of the plan and your objective.

### 2. Analyze Intent:
- Read `spec.md`. If `## 1. User Intent` contains `[User Input Required]`, ask: "What are the goals for this track?"
- If the request is vague, ask clarifying questions before writing requirements. 

### 3. Requirements Definition (EARS Notation):
- Populate `## 3. Requirements` in `spec.md`.
- Use these 5 EARS Patterns:
    - Ubiquitous: The <system> shall <response>
    - Event-driven: When <trigger>, the <system> shall <response>
    - State-driven: While <in specific state>, the <system> shall <response>
    - Unwanted Behavior: If <unwanted condition>, then the <system> shall <response>
    - Optional: Where <feature is included>, the <system> shall <response>

4. Completion:
- Mark Phase 0 as complete: `- [x] 🗣️ Phase 0.`
- Run `cdd recite` to confirm the update.
- Stop and ask: "Requirements drafted. Please review."
