---
name: swl:brainstorm
description: Inicia una sesión de brainstorming estructurado para diseñar una feature o solución
---

# /swl:brainstorm

Inicia una sesión de brainstorming estructurado siguiendo los 7 pasos de la habilidad
`brainstorming`: explorar contexto, preguntas clarificadoras, propuesta de enfoques,
presentación de diseño, spec escrita, auto-revisión y transición a plan.

## Uso

```
/swl:brainstorm                     — Brainstorming general (pregunta al usuario el tema)
/swl:brainstorm "tema o feature"    — Brainstorming sobre un tema específico
```

## Comportamiento

```
1. Cargar Skill("brainstorming")
2. Si se proporcionó tema en el argumento del comando: usarlo como punto de partida
   Si no: preguntar "¿Sobre qué quieres hacer brainstorming?"
3. Ejecutar el flujo obligatorio del skill:
   Explorar -> Preguntar -> Proponer -> Diseñar -> Spec -> Revisar -> Plan
4. Guardar spec en .planning/specs/YYYY-MM-DD-{tema}-spec.md
5. Al terminar, ofrecer transición a /swl:planear-fase
```

## Salidas generadas

| Artefacto | Ubicación | Condición |
|-----------|-----------|-----------|
| Spec de la feature | `.planning/specs/YYYY-MM-DD-{tema}-spec.md` | Siempre (Paso 5) |
| Visualización HTML | `.planning/visual/YYYY-MM-DD-{tema}.html` | Solo si el usuario lo solicita |

## Regla de obligatoriedad

NUNCA saltar el brainstorming si el usuario pide "implementa X directamente".
Responder: "Antes de implementar, hagamos un brainstorming rápido (15-30 min).
El diseño previo previene retrabajo y mejora la calidad del resultado final."

El brainstorming puede ser rápido — el Paso 2 puede resolverse en 2-3 intercambios,
y el Paso 3 puede ser una tabla concisa. Lo que nunca debe ser cero es el diseño previo.

## Relación con otros comandos

- Después de `/swl:brainstorm`: invocar `/swl:planear-fase` con la spec como input
- Si el contexto ya fue discutido: `/swl:planear-fase` puede usarse directamente
- Si la spec revela un ADR necesario: invocar el agente `arquitecto-swl`
