command

create-story-shortcut

create-hu-shortcut Skill para crear Historias de Usuario (HU) en Shortcut usando el CLI `short`, con flujo interactivo. Prerequisitos: `short` CLI instalado (`npm install -g @shortcut-cli/shortcut

$ curl -fsSL https://skills.reveni.dev/install.sh | bash

create-hu-shortcut

Skill para crear Historias de Usuario (HU) en Shortcut usando el CLI short, con flujo interactivo.

Prerequisitos: short CLI instalado (npm install -g @shortcut-cli/shortcut-cli) y SHORTCUT_API_TOKEN en env.

Flujo de trabajo

  1. Recopilar contexto tecnico

Explorar el codebase para encontrar archivos, lineas y snippets relevantes. Usar agentes explore o herramientas Grep/Glob.

  1. Preguntar al usuario (AskUserQuestion)

Antes de crear la historia, hacer estas preguntas en un solo bloque:

AskUserQuestion({ questions: [ { question: "A que equipo debe ir esta historia?", header: "Equipo", options: [ { label: "Returns", description: "Equipo de devoluciones" }, { label: "Atlas", description: "Equipo de plataforma" }, { label: "Integrations", description: "Equipo de integraciones" }, { label: "AI", description: "Equipo de IA" } ], multiSelect: false }, { question: "En que sprint debe ir?", header: "Sprint", options: [ { label: "Siguiente sprint", description: "Se asigna al proximo sprint disponible" }, { label: "Sprint actual", description: "Se asigna al sprint en curso" }, { label: "Sin sprint", description: "Se deja en backlog sin sprint asignado" } ], multiSelect: false }, { question: "Que labels deberia llevar esta historia?", header: "Labels", options: [ { label: "Frontend", description: "Cambios en merchants-frontend" }, { label: "Backend", description: "Cambios en el backend" }, { label: "Ambos", description: "Requiere cambios en frontend y backend" } ], multiSelect: true }, { question: "En que estado debe quedar la historia?", header: "Estado", options: [ { label: "Ready for Product Definition", description: "Pendiente de definicion de producto" }, { label: "Ready for Sprint", description: "Lista para ser planificada en un sprint" }, { label: "Ready for Development", description: "Lista para desarrollo" } ], multiSelect: false } ] })

  1. Obtener datos de Shortcut

Segun las respuestas del usuario, ejecutar en paralelo:

# Siempre: obtener teams con UUIDs
short teams

# Si eligio sprint actual o siguiente: listar iteraciones
short iterations

# Para labels
short labels

# Para obtener el ID del workflow state elegido
short workflows
  1. Crear la historia
short create \
  --title "Titulo corto sin tildes ni ñ" \
  --type feature \
  --team <UUID-del-equipo> \
  --description "## Contexto\n\n...\n\n---\n\n## Propuesta\n\n..."
  1. Post-creacion

Asignar labels, iteration y estado si no se pudieron establecer en el create:

# Asignar labels
short story <ID> --label "frontend"
short story <ID> --label "backend"

# Asignar iteration (sprint)
short story <ID> --iteration <ITER_ID>

# Mover a estado correcto
short story <ID> --state "Ready for Development"

Plantilla de descripcion

Contexto

[Por que se necesita el cambio. Quien lo solicito. Comportamiento actual.]

Frontend (repo)

  1. ruta/al/archivo.jsx - Descripcion del codigo afectado

Backend (repo)

  1. ruta/models.py - Campo/validacion afectada
  2. Endpoint afectado: PATCH /ruta/del/endpoint

Propuesta

Frontend

Backend

Notas

Gotchas

Problema Solucion
Error 400 al crear story --team DEBE ser UUID, NO mention_name. Obtener de short teams
Encoding roto en titulo Sin tildes ni ñ en --title, ok en --description
Labels no se asignan al crear Usar short story <ID> --label "name" despues de crear
Sprint "siguiente" ambiguo short iterations devuelve lista, elegir el correcto por fechas
State no se asigna en create Usar short story <ID> --state "State Name" despues

URL de la historia

El CLI devuelve el ID. El link es: https://app.shortcut.com/reveniio/story/{ID}

Flujo completo resumido

  1. Explorar codebase -> contexto tecnico
  2. AskUserQuestion -> equipo, sprint, labels, estado
  3. short teams + short iterations + short labels + short workflows -> IDs reales
  4. short create -> historia creada
  5. short story <ID> --label/--iteration/--state -> metadata asignada
  6. Devolver link al usuario