Implementando con Apply
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]
| Argumento | Requerido | Descripcion |
|---|---|---|
nombre-cambio | No | Cambio 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:
- Selecciona el cambio (por nombre, inferencia o pregunta)
- Ejecuta
openspec status --change "<nombre>" --jsonpara entender el schema - Ejecuta
openspec instructions apply --change "<nombre>" --jsonpara obtener contexto - Lee los archivos de contexto (proposal, specs, design, tasks)
- Implementa cada tarea pendiente secuencialmente
- Marca cada tarea completada con
[x]en tasks.md
Lo que la IA carga para cada tarea
| Fuente | Para que lo usa |
|---|---|
| proposal.md | Entender la motivacion y limites del cambio |
| delta specs | Conocer los requisitos exactos y escenarios |
| design.md | Seguir las decisiones tecnicas y estructura |
| tasks.md | Saber que hacer ahora y que viene despues |
| Codigo existente | Integrar 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:
- Error de compilacion: Detecta e intenta corregir dentro del alcance de la tarea
- Dependencia faltante: Instala si el design lo contempla, o reporta
- Conflicto con codigo existente: Reporta y espera tu decision
- Tarea ambigua: Pausa y pide clarificacion
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:
- Sabes exactamente que cambio en tu codebase
- No hay sorpresas ni cambios ocultos
- Cada modificacion es trazable a una tarea → spec → proposal
Si necesitas algo que no esta en las tareas, crea otro cambio con /opsx:propose.
Resumen
/opsx:applyejecuta las tareas detasks.mdsecuencialmente- La IA usa
openspec instructionspara obtener contexto enriquecido - Cada tarea completada se marca con
[x] - Si algo falla, la IA se detiene y reporta opciones
- Puedes interrumpir y retomar en cualquier momento
- La IA solo modifica lo que los artefactos dictan
← Capitulo 5: Perfil Expandido | Capitulo 7: Verificacion y Archivo →