Implementando con Apply

Por: Artiko
openspecapplyimplementaciontareas

Implementando con Apply

Que hace /opsx:apply

Hasta ahora hemos planificado: proposal, delta specs, design y tasks. Ahora viene la ejecucion. El comando /opsx:apply le indica a la IA que implemente las tareas usando los artefactos como instrucciones.

Referencia: /opsx:apply

Sintaxis: /opsx:apply [nombre-cambio]

ArgumentoRequeridoDescripcion
nombre-cambioNoCambio a implementar. Si se omite: auto-selecciona si hay uno solo, pregunta si hay varios
/opsx:apply                    # Auto-selecciona o pregunta
/opsx:apply setup-data-model   # Cambio especifico

La diferencia con pedirle a la IA que “implemente algo” directamente es que /opsx:apply opera bajo restricciones claras: solo hace lo que tasks.md dice, usa las delta specs como criterios y sigue el design.

Como funciona internamente

Cuando ejecutas /opsx:apply, la IA sigue estos pasos:

  1. Selecciona el cambio (por nombre, inferencia o pregunta)
  2. Ejecuta openspec status --change "<nombre>" --json para entender el schema
  3. Ejecuta openspec instructions apply --change "<nombre>" --json para obtener contexto
  4. Lee los archivos de contexto (proposal, specs, design, tasks)
  5. Implementa cada tarea pendiente secuencialmente
  6. Marca cada tarea completada con [x] en tasks.md

Lo que la IA carga para cada tarea

FuentePara que lo usa
proposal.mdEntender la motivacion y limites del cambio
delta specsConocer los requisitos exactos y escenarios
design.mdSeguir las decisiones tecnicas y estructura
tasks.mdSaber que hacer ahora y que viene despues
Codigo existenteIntegrar con lo que ya existe en el proyecto

Ejemplo: Modelo de datos del Kanban

Ejecutamos:

/opsx:apply

La IA anuncia: “Using change: setup-data-model” y muestra el progreso:

## Implementing: setup-data-model (schema: spec-driven)

Working on task 1/6: Crear esquema de Board
[...implementacion...]
✓ Task complete

Working on task 2/6: Crear esquema de Column
[...implementacion...]
✓ Task complete

Al terminar, tasks.md queda asi:

- [x] Crear esquema de Board en src/db/schema/board.ts
- [x] Crear esquema de Column en src/db/schema/column.ts
- [x] Crear esquema de Card en src/db/schema/card.ts
- [x] Crear barrel export en src/db/schema/index.ts
- [x] Configurar conexion a BD en src/db/index.ts
- [x] Generar y ejecutar migracion inicial

Que pasa si algo falla

La IA no avanza a la siguiente tarea hasta resolver el problema actual:

Si no puede resolverlo, se detiene y muestra opciones:

## Implementation Paused

Progress: 4/7 tasks complete

### Issue Encountered
<descripcion del problema>

Options:
1. <opcion 1>
2. <opcion 2>
3. Other approach

Interrupcion y continuacion

Puedes interrumpir la sesion de apply en cualquier momento. Las tareas completadas quedan marcadas con [x]. Cuando retomes con /opsx:apply, la IA continua desde la siguiente tarea pendiente.

No necesitas recordar donde quedaste. El estado esta en tasks.md.

La IA solo modifica lo que los artefactos dictan

Principio fundamental: la IA no agrega funcionalidad, refactoriza codigo no relacionado ni “mejora” cosas fuera del alcance.

Esto puede parecer limitante, pero es una ventaja:

Si necesitas algo que no esta en las tareas, crea otro cambio con /opsx:propose.

Resumen


← Capitulo 5: Perfil Expandido | Capitulo 7: Verificacion y Archivo →