Skip to content
Back to skills

Prd

ASecurity

Generate structured Product Requirements Documents from feature descriptions. Use when the user says "create PRD", "new feature", "write requirements", "define feature", or references creating specifications for implementation. Supports Trello (spec-driven) and Plane work item creation.

  • 16 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 1, 2026
documentationgotestingapibackend

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Scanned June 1, 2026

npx -y skills add EmbedBuild/specbox-engine --skill prd --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Prd?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Prd
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/embedbuild-prd/badge)](https://www.skillsdirectory.com/skills/embedbuild-prd)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: prd-generator
description: >
  Generate structured Product Requirements Documents from feature descriptions.
  Use when the user says "create PRD", "new feature", "write requirements",
  "define feature", or references creating specifications for implementation.
  Supports Trello (spec-driven) and Plane work item creation.
context: direct
---

# /prd (Global)

Genera un PRD (Product Requirements Document) y crea Work Items en Trello o Plane.

## Uso

```
/prd [titulo] [descripcion de requerimientos]
/prd US-01                    # Spec-driven: enriquece desde Trello
/prd board:BOARD_ID           # Spec-driven: lista US del board para elegir
```

---

## Paso 0.0 — Leer documentos canónicos (v5.29.0 + v6.0.1 content-passing)

**ANTES de cualquier otro paso**:

1. Usa `Read` localmente sobre `doc/app/app_prd.md` y `doc/app/app_spec.md`. Si alguno no existe, trata el contenido como `null`.

2. Llama a la tool MCP con el contenido (no con paths):

```
get_inheritable_values_tool(
  app_prd_content=<contenido o null>,
  app_spec_content=<contenido o null>,
)
```

> **Cambio v6.0.1**: las tools `read_app_docs_tool` y `get_inheritable_values_tool` ya no aceptan `project_path`. El cliente lee los archivos locales y pasa el contenido. Esto evita el bug arquitectural por el cual el MCP remoto resolvía `Path(project_path).resolve()` contra el filesystem del servidor en vez del cliente.

El resultado es un dict con flags y valores que indican qué decisiones de proyecto ya están definidas en `doc/app/app_prd.md` y `doc/app/app_spec.md`. Úsalo para **no repreguntar** lo que ya está respondido:

| Flag | Si es `True`, NO preguntes |
|------|------------------------------|
| `audience_defined` | Audiencia / targets / ICPs (Paso 2.X de captura) — usa `audience_text` |
| `scope_defined` | Perímetro v1/v2/nunca (Paso 2.Y) — heredado de app_prd.md sección 3 |
| `veg_mode_known` | Modo VEG (uniforme/per_profile/per_icp) |
| `stack_known` | Stack técnico — usa `stack_text` |
| `backend_type` | Backend de tracking (freeform/trello/plane) |
| `autopilot_level` | Nivel de autopilot |

Solo captura **deltas específicos de la feature** que está pidiendo el usuario. La audiencia general del proyecto, el JTBD genérico, el tono — todo eso vive en `app_prd.md` y se hereda.

**Si `read_app_docs_tool` retorna `has_app_prd=False`**, el proyecto aún no tiene documentos canónicos. Recomienda al usuario:

```
⚠️  No encuentro doc/app/. Considera ejecutar /app-init antes de /prd para
   evitar repreguntas cross-feature. Procediendo en modo legacy...
```

Y continúa con el flujo v5.28 (preguntar todo) sin bloquear.

### 0.0.1 — Política de Autopilot aplicable a /prd

Cada vez que estés a punto de hacer una pregunta al usuario, identifica el `decision_key` correspondiente y delega la decisión al helper `evaluateDecision` (`.claude/hooks/lib/autopilot.mjs`). Si retorna `action: "auto"`, **aplica el default sin preguntar** y registra la decisión en `.quality/autopilot_decisions.jsonl`. Si retorna `action: "ask"`, pregunta como en v5.28.

| Pregunta del skill | decision_key | Default si auto |
|--------------------|--------------|------------------|
| "¿Qué problema resuelve?" (Paso 2 #1) | `feature_problem_definition` | siempre `ask` (no auto) |
| "¿Quién es el usuario objetivo?" (Paso 2 #2) | `feature_ui_interaction_profile` | hereda `audience_text` de `app_prd.md` cuando `hasAppPrd=true` |
| "¿A quién va dirigida la app?" (Paso 2 #4) | `feature_ui_interaction_profile` | hereda de `app_prd.md` cuando `audience_defined=true` |
| Definition Quality Gate (Paso 2.5) — AC vagos | `definition_quality_gate` | en `agresivo` con `score>=0.7` auto-confirma; en otros tiers siempre itera |
| Backend ambigüo en Paso 0.2 | `backend_selection` | `equilibrado`+ → freeform por defecto |

**Inviolables que /prd debe respetar**:
- Si el AC objetivamente falla calidad (score <0.7), nunca auto-confirmar — itera.
- Acciones que crean cards en Trello/Plane reales son `destructive_action` parcial: confirmar antes del primer create.

Tras cada auto-decisión, mostrar al usuario una línea como:

```
ℹ️  audiencia heredada de doc/app/app_prd.md (autopilot: equilibrado)
```

Para que tenga visibilidad de qué se está saltando.

---

## Paso 0: Detectar Modo y Origen

### 0.1 Detectar modo

```
Que recibi?
├── US-XX (ej: "US-01") → Modo SPEC-DRIVEN (Trello)
├── board:BOARD_ID → Modo SPEC-DRIVEN (listar US, elegir)
├── PROYECTO-N (ej: "MCPROFIT-42") → Modo FREEFORM (Plane)
└── Texto libre → Modo FREEFORM (detectar destino)
```

### 0.2 Detectar configuracion del proyecto

Buscar en `.claude/settings.local.json`:

```json
{
  "trello": {
    "boardId": "BOARD_ID_AQUI"
  },
  "plane": {
    "defaultProject": "MCPROFIT",
    "projectId": "uuid",
    "defaultState": "Backlog",
    "defaultAssignee": "{PLANE_ASSIGNEE_ID}"
  }
}
```

**Prioridad de destino:**
1. Si el input es US-XX o board:ID → Trello
2. Si el input es PROYECTO-N → Plane
3. Si hay `trello.boardId` → Trello
4. Si hay `plane.defaultProject` → Plane
5. Si ninguno → Preguntar al usuario

### 0.3 Asignee por defecto (Plane)

**OBLIGATORIO** para Plane: Todas las tareas se asignan al usuario configurado en:
- **Variable**: `PLANE_DEFAULT_ASSIGNEE_EMAIL` (env var o settings.local.json → `plane.assigneeEmail`)
- **ID**: `PLANE_DEFAULT_ASSIGNEE_ID` (env var o settings.local.json → `plane.assigneeId`)

Si no están configurados, preguntar al usuario.

---

## Modo SPEC-DRIVEN (Trello)

> El documento del cliente (US/UC/AC) ya existe en Trello.
> El PRD ENRIQUECE pero nunca reinventa lo que el cliente firmo.

### S1: Cargar datos desde Trello

```
1. Obtener board_id de settings o del input
2. Llamar get_us(board_id, us_id) via MCP dev-engine-trello
3. Llamar list_uc(board_id, us_id) para obtener todos los UCs hijos
4. Para cada UC: llamar get_uc(board_id, uc_id) para detalle completo
```

**Datos que se obtienen automaticamente:**
- US: nombre, descripcion, horas estimadas, pantallas
- UCs: nombre, actor, horas, pantallas, estado
- ACs: ID (AC-XX), texto, estado (done/pending)

### S2: Enriquecer con contexto tecnico

El PRD spec-driven NO repite la info del cliente. Anade:
1. **Contexto tecnico**: stack, dependencias, integraciones
2. **Interacciones UI**: volumenes, frecuencias, criticidad (del analisis)
3. **NFRs**: rendimiento, seguridad, accesibilidad
4. **Riesgos**: dependencias externas, complejidad, incertidumbres
5. **Alcance**: que SI incluye y que NO incluye explicitamente

### S3: Generar PRD Spec-Driven

Usar **Template: PRD Spec-Driven** (ver abajo).

### S4: Validar Calidad de Definicion (Paso 2.5)

Ejecutar el Definition Quality Gate sobre los AC-XX que vienen de Trello.
Si algun criterio no pasa → proponer mejoras al usuario ANTES de continuar.

### S5: Adjuntar evidencia a Trello

```
1. Llamar attach_evidence(board_id, us_id, "us", "prd", markdown_content)
   → Genera PDF y lo adjunta a la card US en Trello
2. Confirmar al usuario
```

---

## Modo FREEFORM (Plane o Trello nuevo)

> No hay spec previa. Se genera el PRD desde cero a partir de descripcion del usuario.

### Paso 1: Detectar Tipo de PRD

#### PRD Feature
**Detectar**: "nueva", "anadir", "crear", "implementar", "feature", "funcionalidad", "como [usuario] quiero"

#### PRD Tecnico (Refactor)
**Detectar**: "refactor", "simplificar", "migrar", "eliminar", "cambiar", "reorganizar"

### Paso 2: Recopilar Informacion

#### Preguntas obligatorias para PRD Feature:
1. Que problema resuelve?
2. Quien es el usuario objetivo?
3. Cuales son las User Stories principales? (minimo 1 US con sus UCs)
4. A quien va dirigida la app? (targets/audiencia — activa VEG si se responde)

#### Preguntas para seccion UI (CRITICO):
Para cada Use Case, determinar:
- **Datos**: Que datos muestra? Cuantos items tipicamente?
- **Acciones**: Que puede hacer el usuario? (ver, filtrar, seleccionar, crear, editar, eliminar)
- **Frecuencia**: Con que frecuencia se usa? (diaria, ocasional, rara)
- **Criticidad**: Que pasa si el usuario se equivoca? (reversible, irreversible, costoso)

---

## Template: PRD Spec-Driven

```markdown
# PRD: [US-XX] [Nombre de la User Story]

> Origen: Trello board [board_name] | US-XX
> Generado: [fecha]

## Resumen

[1-2 parrafos: objetivo de la US y que problema resuelve para el usuario]

## Alcance

### Incluye
- [Funcionalidad explicita 1]
- [Funcionalidad explicita 2]

### No incluye
- [Exclusion explicita 1 — evita scope creep]
- [Exclusion explicita 2]

---

## User Story

**ID**: [US-XX]
**Nombre**: [nombre]
**Actor**: [usuario objetivo]
**Horas estimadas**: [N]h
**Pantallas**: [lista]

> Como [actor], quiero [objetivo], para [beneficio].

---

## Use Cases

### UC-XXX: [Nombre]
- **Actor**: [actor]
- **Horas**: [N]h
- **Pantallas**: [pantallas]
- **Estado**: [user_stories/backlog/in_progress/review/done]

#### Acceptance Criteria
- [ ] **AC-01**: [Criterio especifico y testable]
- [ ] **AC-02**: [Criterio especifico y testable]

### UC-XXX: [Nombre]
...

---

## Interacciones UI

> Esta seccion alimenta el analisis de componentes en /plan

### Visualizacion de datos
| Dato | Volumen | Atributos visibles | Acciones por item |
|------|---------|-------------------|-------------------|
| [ej: Propiedades] | [20-100] | [nombre, direccion, precio] | [ver, editar, eliminar] |

### Acciones del usuario
| Accion | UC asociado | Frecuencia | Criticidad | Requiere confirmacion |
|--------|-------------|------------|------------|----------------------|
| [ej: Crear propiedad] | UC-001 | Ocasional | Media | No |

### Formularios
| Formulario | UC asociado | Campos | Contexto |
|------------|-------------|--------|----------|
| [ej: Nueva propiedad] | UC-002 | [8-12] | Modal / Pagina dedicada |

---

## Audiencia (alimenta VEG)

> Esta seccion es OPCIONAL. Si se incluye, activa Visual Experience Generation en /plan.
> Sin esta seccion, el pipeline funciona en modo legacy (sin VEG).

### Targets de la aplicacion
{Descripcion general de a quien va dirigida}

### Target 1: {Nombre}
- **Perfil**: {quien es, edad, rol, nivel tecnico}
- **Contexto de uso**: {cuando, donde, con que frecuencia}
- **JTBD Racional**: {que problema necesita resolver}
- **JTBD Emocional**: {como quiere sentirse al usar la app}
- **Referentes**: {apps/webs que usa y le gustan}
- **Expectativa visual**: {que tipo de UI esperaria}

### Target 2: {Nombre}
...

### ICPs para Landings (si aplica)
{Solo cuando el feature incluye landings o campanas dirigidas}

#### ICP 1: {Nombre}
- **Perfil completo**: {demografia, psicografia, cargo, sector}
- **JTBD Racional**: {necesidad funcional especifica}
- **JTBD Emocional**: {necesidad emocional especifica}
- **Objeciones principales**: {que le frena}
- **Trigger de conversion**: {que le convence}

---

## Requisitos No Funcionales (NFRs)

| NFR | Criterio | Medicion |
|-----|----------|----------|
| Rendimiento | Carga inicial < 2s en 4G | Lighthouse / DevTools |
| Seguridad | RLS por tenant | Test de aislamiento |
| Accesibilidad | WCAG 2.1 AA | axe-core audit |
| Offline | [Si aplica] | Test sin conexion |

---

## Riesgos

| Riesgo | Probabilidad | Impacto | Mitigacion |
|--------|-------------|---------|------------|
| [Dependencia externa X] | Media | Alto | [Plan B] |
| [Complejidad de integracion] | Alta | Medio | [Spike previo] |

---

## Stack Tecnico (estimado)

- **Modelo**: [Nuevo / Existente: nombre]
- **Repository**: [nombre]_repository
- **State**: [BLoC/Store/Context]
- **Paginas**: [lista]

## Archivos Principales
[Estructura estimada segun stack detectado]

---

## Criterios de Aceptacion (consolidado)

### Funcionales (validados por AG-09)
[Copiar todos los AC-XX de los UCs arriba, consolidados]

- [ ] **AC-01**: [Criterio — de UC-XXX]
- [ ] **AC-02**: [Criterio — de UC-XXX]
...

### Tecnicos (no validados por AG-09)
- [ ] Proyecto compila sin errores
- [ ] Tests con 85%+ coverage

---
**Prioridad**: [urgent/high/medium/low/none]
**Complejidad**: [Baja/Media/Alta]
*Generado: [fecha]*
```

---

## Template: PRD Feature (Freeform)

```markdown
# PRD: [Titulo]

## Descripcion
[1-2 parrafos: que es y que problema resuelve]

## Objetivo
[Una oracion clara]

## Usuario Objetivo
[Rol del usuario]

## Alcance

### Incluye
- [Funcionalidad explicita]

### No incluye
- [Exclusion explicita]

---

## User Stories y Use Cases

### US-01: [Nombre de la User Story]

> Como [actor], quiero [objetivo], para [beneficio].

#### UC-001: [Nombre del Use Case]
- **Actor**: [actor]
- **Horas estimadas**: [N]h
- **Pantallas**: [lista]

**Acceptance Criteria:**
- [ ] **AC-01**: [Criterio especifico y testable]
- [ ] **AC-02**: [Criterio especifico y testable]

#### UC-002: [Nombre del Use Case]
...

### US-02: [Nombre]
...

---

## Interacciones UI

> Esta seccion alimenta el analisis de componentes en /plan

### Visualizacion de datos
| Dato | Volumen | Atributos visibles | Acciones por item |
|------|---------|-------------------|-------------------|
| [ej: Propiedades] | [20-100] | [nombre, direccion, precio] | [ver, editar, eliminar] |

### Acciones del usuario
| Accion | UC asociado | Frecuencia | Criticidad | Requiere confirmacion |
|--------|-------------|------------|------------|----------------------|
| [ej: Crear propiedad] | UC-001 | Ocasional | Media | No |

### Selecciones/Filtros
| Filtro | Opciones | Seleccion | Frecuencia |
|--------|----------|-----------|------------|
| [ej: Tipo propiedad] | [5-7] | Unica | Frecuente |

### Formularios
| Formulario | UC asociado | Campos | Contexto |
|------------|-------------|--------|----------|
| [ej: Nueva propiedad] | UC-002 | [8-12] | Modal / Pagina dedicada |

---

## Audiencia (alimenta VEG)

> Esta seccion es OPCIONAL. Si se incluye, activa Visual Experience Generation en /plan.
> Sin esta seccion, el pipeline funciona en modo legacy (sin VEG).

### Targets de la aplicacion
{Descripcion general de a quien va dirigida}

### Target 1: {Nombre}
- **Perfil**: {quien es, edad, rol, nivel tecnico}
- **Contexto de uso**: {cuando, donde, con que frecuencia}
- **JTBD Racional**: {que problema necesita resolver}
- **JTBD Emocional**: {como quiere sentirse al usar la app}
- **Referentes**: {apps/webs que usa y le gustan}
- **Expectativa visual**: {que tipo de UI esperaria}

### Target 2: {Nombre}
...

### ICPs para Landings (si aplica)
{Solo cuando el feature incluye landings o campanas dirigidas}

#### ICP 1: {Nombre}
- **Perfil completo**: {demografia, psicografia, cargo, sector}
- **JTBD Racional**: {necesidad funcional especifica}
- **JTBD Emocional**: {necesidad emocional especifica}
- **Objeciones principales**: {que le frena}
- **Trigger de conversion**: {que le convence}

---

## Requisitos No Funcionales (NFRs)

| NFR | Criterio | Medicion |
|-----|----------|----------|
| Rendimiento | [Criterio medible] | [Como se mide] |
| Seguridad | [Criterio medible] | [Como se mide] |

---

## Riesgos

| Riesgo | Probabilidad | Impacto | Mitigacion |
|--------|-------------|---------|------------|
| [Riesgo identificado] | [B/M/A] | [B/M/A] | [Plan] |

---

## Stack Tecnico (estimado)

- **Modelo**: [Nuevo / Existente: nombre]
- **Repository**: [nombre]_repository
- **State**: [BLoC/Store/Context]
- **Paginas**: [lista]

## Archivos Principales
[Estructura estimada segun stack]

## Dependencias
- [Features o servicios requeridos]

---

## Criterios de Aceptacion (consolidado)

### Funcionales
- [ ] **AC-01**: [Criterio especifico y testable — de UC-001]
- [ ] **AC-02**: [Criterio especifico y testable — de UC-001]
- [ ] **AC-03**: [Criterio especifico y testable — de UC-002]

### Tecnicos (no validados por AG-09)
- [ ] Proyecto compila sin errores
- [ ] Tests con 85%+ coverage

---
**Prioridad**: [urgent/high/medium/low/none]
**Complejidad**: [Baja/Media/Alta]
*Generado: [fecha]*
```

---

## Template: PRD Tecnico

```markdown
# PRD: [Titulo]

## Resumen Ejecutivo
[2-3 parrafos: objetivo del refactor y por que es necesario]

## Alcance

### Incluye
- [Cambio explicito]

### No incluye
- [Exclusion explicita]

---

## Objetivos
1. **[Objetivo 1]** - [Descripcion]
2. **[Objetivo 2]** - [Descripcion]

---

## Estado Actual vs Propuesto

### ACTUAL:
```
[Estructura actual]
```

### PROPUESTO:
```
[Nueva estructura]
```

---

## Cambios de UI (si aplica)

### Componentes a modificar
| Componente actual | Cambio | Componente nuevo |
|-------------------|--------|------------------|
| [widget_x] | Reemplazar | [widget_y] |

---

## A Eliminar
- [ ] [Elemento] - [Razon]

## A Mantener
- [Elemento]

---

## Plan de Implementacion (alto nivel)

### Fase 1: [Nombre]
- [Tarea]

### Fase 2: [Nombre]
- [Tarea]

### Fase 3: Cleanup
- Eliminar archivos no usados
- Validar compilacion

---

## Riesgos

| Riesgo | Probabilidad | Impacto | Mitigacion |
|--------|-------------|---------|------------|
| [Riesgo identificado] | [B/M/A] | [B/M/A] | [Plan] |

---

## Criterios de Aceptacion

### Funcionales
- [ ] **AC-01**: [Criterio especifico y testable]
- [ ] **AC-02**: [Criterio especifico y testable]

### Tecnicos (no validados por AG-09)
- [ ] Proyecto compila sin errores
- [ ] Tests pasan

---
*Generado: [fecha]*
```

---

## Paso 2.5: Validar Calidad de Definicion (BLOQUEANTE)

> Antes de crear el Work Item, validar que los acceptance criteria permiten testing automatizado.
> El Work Item NO se crea hasta que este gate pase.

### 2.5.1 Asignar ID a cada criterio

Numerar cada criterio funcional: AC-01, AC-02, AC-03...
En modo spec-driven, los IDs ya vienen de Trello — mantenerlos.
Excluir criterios tecnicos genericos ("compila sin errores", "85% coverage") — estos NO cuentan como funcionales.

### 2.5.2 Evaluar cada criterio funcional

Para cada AC-XX, evaluar 3 metricas (0-2):

| Metrica | 0 (RECHAZAR) | 1 (ACEPTABLE) | 2 (IDEAL) |
|---------|-------------|----------------|-----------|
| **Especificidad** | Vago: "funciona bien", "gestiona datos" | General: "mostrar lista de propiedades" | Preciso: "listado paginado de 20 propiedades con foto thumbnail, nombre y precio" |
| **Medibilidad** | Subjetivo: "es rapido", "user-friendly" | Parcial: "carga en poco tiempo" | Cuantificado: "carga inicial < 2s en 4G" |
| **Testabilidad** | No verificable: "buena experiencia" | Solo manual: "el formulario valida campos" | Automatizable: "mostrar error inline rojo bajo el campo si email no contiene @ al perder foco" |

### 2.5.3 Validar cobertura funcional

- Cada Use Case (UC-XXX) DEBE tener al menos 1 criterio AC-XX asociado
- Si un UC no tiene criterio → RECHAZAR
- Ratio minimo: criterios funcionales / use cases >= 1.0

### 2.5.4 Calcular veredicto

```
SI algun criterio tiene score 0 en cualquier metrica → RECHAZAR
SI promedio general de los 3 scores < 1.5 → RECHAZAR
SI algun Use Case no tiene criterio AC-XX → RECHAZAR
ELSE → APROBADO
```

### 2.5.5 Si RECHAZADO

1. Mostrar tabla de evaluacion por criterio:

```
| AC-XX | UC | Especificidad | Medibilidad | Testabilidad | Veredicto |
|-------|-----|--------------|-------------|--------------|-----------|
| AC-01 | UC-001 | 2 | 1 | 2 | OK |
| AC-02 | UC-002 | 0 | 0 | 0 | RECHAZADO |
```

2. Para cada criterio rechazado, proponer una version mejorada concreta
3. Preguntar: "Acepta las mejoras sugeridas o prefiere redactar manualmente?"
4. Aplicar correcciones y re-evaluar
5. NO crear Work Item hasta que pase
6. Maximo 3 iteraciones. Si tras 3 no pasa → pedir al usuario que defina los criterios manualmente

### 2.5.6 Validar seccion Audiencia (para VEG)

Evaluar la seccion "Audiencia" del PRD:

```
Hay seccion Audiencia?
├── NO → WARNING (no bloqueante): VEG se desactiva en /plan, pipeline legacy
├── SI → Hay al menos 1 target?
│   ├── NO → WARNING: VEG desactivado
│   └── SI → Hay ICPs con JTBD?
│       ├── SI → Validar que cada ICP tiene JTBD racional Y emocional
│       │   ├── Faltan JTBDs → RECHAZAR para Modo 3 (ICP), aceptar para Modo 1/2
│       │   └── Completos → OK para cualquier modo VEG
│       └── NO → OK para Modo 1 (uniforme) o Modo 2 (por perfil)
```

Incluir en el reporte:
```
VEG Readiness: {ENABLED (Modo X) / DISABLED (sin targets)}
Targets definidos: {N}
ICPs definidos: {N}
```

### 2.5.7 Si APROBADO

Continuar a Paso 3 con los AC-XX numerados incorporados al PRD.
Reportar:
```
Definition Quality Gate: APROBADO
Criterios funcionales: {N} (promedio: {score}/2.0)
Cobertura: {N} Use Cases cubiertos de {M}
VEG Readiness: {ENABLED (Modo X) / DISABLED}
```

---

## Paso 3: Crear Work Items

### 3a: Destino Trello (spec-driven o freeform)

En modo spec-driven, la US ya existe en Trello. Solo adjuntar evidencia (Paso S5).

En modo freeform con destino Trello:
1. Obtener board_id de settings
2. Llamar import_spec via MCP dev-engine-trello con la estructura US/UC/AC generada
3. Esto crea automaticamente: cards US + cards UC + checklists AC + custom fields

### 3b: Destino Plane

#### Detectar configuracion del proyecto

1. Leer `.claude/settings.local.json` para obtener `plane.projectId`
2. Si no existe, usar `plane:list_projects` y preguntar al usuario
3. Obtener estados con `plane:list_states` para encontrar "Backlog" o "To-Do"
4. Obtener labels con `plane:list_labels` para asignar etiquetas apropiadas

#### Crear el Work Item

Usar `plane:create_work_item`:

```json
{
  "project_id": "[projectId del settings o detectado]",
  "name": "[Titulo del PRD]",
  "description_html": "[PRD completo en HTML]",
  "description_stripped": "[PRD en texto plano]",
  "priority": "[urgent|high|medium|low|none]",
  "state": "[ID del estado Backlog o To-Do]",
  "labels": ["[ID de label si aplica]"],
  "assignees": ["{PLANE_ASSIGNEE_ID}"]
}
```

> **IMPORTANTE**: El campo `assignees` SIEMPRE incluye el ID del assignee configurado

#### Mapeo de prioridades

| PRD | Plane Priority |
|-----|----------------|
| Alta | high |
| Media | medium |
| Baja | low |
| Critica | urgent |

---

## Paso 4: Confirmar

### Si destino es Trello (spec-driven):

```
PRD Generado y adjuntado a Trello

**Board**: [nombre del board]
**User Story**: [US-XX] [nombre]
**PDF adjuntado**: Si

### Resumen:
- **Use Cases**: [N]
- **Acceptance Criteria**: [N] (promedio calidad: {score}/2.0)
- **Interacciones UI documentadas**: [N]
- **NFRs**: [N]
- **Riesgos**: [N]

### Siguiente paso:
/plan US-XX
```

### Si destino es Trello (freeform):

```
PRD Creado en Trello

**Board**: [nombre del board]
**User Stories creadas**: [N]
**Use Cases creados**: [N]

### Siguiente paso:
/plan US-XX
```

### Si destino es Plane:

```
PRD Creado en Plane

**Proyecto**: [nombre del proyecto]
**Work Item**: [nombre]
**ID**: [identifier - ej: MCPROFIT-42]
**Estado**: [estado asignado]
**Prioridad**: [prioridad]

### Resumen:
- **User Stories**: [N]
- **Use Cases**: [N]
- **Acceptance Criteria**: [N]
- **Interacciones UI documentadas**: [N]

### Siguiente paso:
/plan MCPROFIT-[numero]
```

---

## Checklist de Calidad

### PRD Feature (spec-driven o freeform):
- [ ] Titulo claro (max 60 chars)
- [ ] Descripcion explica el problema
- [ ] Seccion Alcance (incluye + no incluye)
- [ ] Minimo 1 User Story con Use Cases
- [ ] Cada UC tiene minimo 1 AC-XX
- [ ] Seccion "Interacciones UI" completa
- [ ] Tabla de acciones con UC asociado, frecuencia y criticidad
- [ ] Seccion "Audiencia" con targets (opcional — activa VEG)
- [ ] Si hay ICPs para Modo 3: JTBD racional Y emocional definidos
- [ ] Seccion NFRs con criterios medibles
- [ ] Seccion Riesgos con mitigacion
- [ ] Cada criterio: especificidad >= 1, medibilidad >= 1, testabilidad >= 1
- [ ] Promedio de calidad de criterios >= 1.5/2.0
- [ ] Definition Quality Gate (Paso 2.5) aprobado
- [ ] VEG Readiness evaluado (Paso 2.5.6)

### PRD Tecnico:
- [ ] Resumen ejecutivo claro
- [ ] Seccion Alcance (incluye + no incluye)
- [ ] Al menos un cambio ANTES/DESPUES
- [ ] Seccion "Cambios de UI" si afecta interfaz
- [ ] Plan por fases
- [ ] Seccion Riesgos
- [ ] Minimo 2 criterios de aceptacion funcionales con ID (AC-XX)
- [ ] Definition Quality Gate (Paso 2.5) aprobado

---

## Jerarquia Conceptual

```
US-XX (User Story) = unidad presupuestable, valor para el cliente
  └── UC-XXX (Use Case) = unidad atomica de desarrollo
        └── AC-XX (Acceptance Criteria) = verificacion contractual
```

- **US** → se mapea a una card en Trello (label azul) o work item en Plane
- **UC** → se mapea a una card hija en Trello (label verde) vinculada via us_id
- **AC** → se mapea a checkitems en el checklist "Criterios de Aceptacion" del UC
- La US es lo que se presupuesta y el cliente firma
- El UC es lo que el agente implementa (1 UC = 1 ciclo /implement)
- El AC es lo que AG-09 valida

---

## Referencia MCP

### Trello (dev-engine-trello):
- `get_us(board_id, us_id)` — Detalle completo de US con UCs hijos
- `get_uc(board_id, uc_id)` — Detalle completo de UC con ACs
- `list_us(board_id)` — Listar todas las US del board
- `list_uc(board_id, us_id)` — Listar UCs de una US
- `import_spec(board_id, spec)` — Importar estructura US/UC/AC completa
- `attach_evidence(board_id, target_id, target_type, evidence_type, markdown)` — Adjuntar PDF

### Plane:
- `plane:list_projects` — Listar proyectos del workspace
- `plane:list_states` — Listar estados de un proyecto
- `plane:list_labels` — Listar etiquetas de un proyecto
- `plane:create_work_item` — Crear nuevo work item
- `plane:retrieve_work_item_by_identifier` — Obtener work item por identificador

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.