OpenSpec en Argui
OpenSpec es el motor del ciclo iterativo (fase 5): un framework de desarrollo guiado por specs, multi-herramienta por diseño. Es la dependencia núcleo de la metodología —la única requerida y la única estructural (el ciclo se construye sobre su schema y sus comandos)—, así que tiene reglas claras de personalización y de mantenimiento para no quedar atada a una versión que evoluciona. El inventario completo de dependencias, por nivel, está en dependencies.md.
Independiente de la herramienta: con otro framework SDD (Spec-Driven Development) de stages equivalentes, los mismos principios aplican (ver portability.md).
El modelo de personalización
Se personaliza con el mecanismo oficial de OpenSpec, nunca editando sus internals:
- Schema propio forkeado.
openspec schema fork spec-driven arguicopia el schema base aopenspec/schemas/argui/en el proyecto. Ese fork es donde vive la personalización. - El
schema.yamldefine artifacts y stages con los camposid / generates / template / instruction / requires. El campoinstructiones la prosa que dirige a la IA en ese artifact o stage. - Perfil de Argui = core +
verify+qa. El perfil core de OpenSpec no incluyeverifypor defecto; en Argui verify no es opcional —es donde opera la separación implementador/revisor— así que el fork lo conserva.qaes un stage propio de Argui (no existe en OpenSpec), entre verify y archive. - Los slash commands (
/opsx:apply,/opsx:verify,/opsx:sync,/opsx:archive…) son los bindings por asistente. Los regeneraopenspec updatedesde el CLI (Command Line Interface) instalado — nunca se editan a mano.
Dónde vive la orquestación de agentes
Las decisiones de invocación de agentes (ver agents.md y
efficiency.md) viven en los campos instruction de cada stage del schema
argui. Ese es el lugar concreto al que se refiere “la lógica de invocación vive en la
skill”:
apply.instruction: qué agente(es) implementador(es) corren; batch de archivos en una invocación; si el gate marcó impacto arquitectónico, el arquitecto participa.verify.instruction: dos pases — cumplimiento (económico) y juicio (capaz).qa.instruction: generar el artifact de QA (Quality Assurance), recorrer pruebas, gate de costo de automatización, cierre con aprobación humana.archive.instruction: sync de delta specs, revisión final, actualización de progreso (incluido el diagrama de dependencias del backlog).
Es prosa = comportamiento, no código frágil: un LLM (Large Language Model) ejecuta el instruction sin un parser
acoplado al formato. El model de cada agente vive en el agente (qué tier); el cuándo
invocarlo vive aquí. Es el principio “código vs. responsabilidad” de portability.md.
Qué se distribuye y qué no (anti-obsolescencia)
Forkear copia el spec-driven del momento. Si OpenSpec mejora su schema base, el fork no
lo recibe (los bindings sí, vía openspec update; el schema forkeado no). Esa es la
superficie de obsolescencia. La regla:
| Parte | De quién es | Cómo se distribuye |
|---|---|---|
| Stages base (proposal, specs, design, tasks, apply, verify, archive) | OpenSpec | No se congelan copias. Salen del fork generado contra la versión instalada. |
Stage qa + plantilla del artifact de QA |
Argui | Se distribuye como snippet/template (no tiene upstream del cual diverja). |
instruction de orquestación de agentes |
Argui | Se distribuye como delta documentado que se aplica sobre el fork. |
Argui distribuye el delta + la receta, no un schema congelado. Ver templates/openspec/.
Cómo se arma en un proyecto (fase 4)
- Fijar la versión de OpenSpec:
npm install -D @fission-ai/openspec@<versión>(nunca@latest). - Forkear el schema contra esa versión:
openspec schema fork spec-driven argui. - Aplicar el delta de Argui sobre el fork: conservar
verify, agregar el stageqa(snippet entemplates/openspec/), y escribir losinstructionde orquestación de cada stage. - Regenerar bindings:
openspec update. - Validar el ciclo end-to-end con un item de prueba antes de soltarlo al backlog real.
Mantenimiento al subir de versión
Parte de la auditoría de dependencias (ver operations.md) y del arranque de cada proyecto:
- Leer las release notes de OpenSpec.
- Diff del nuevo
spec-drivencontra el forkargui; re-aplicar el delta sobre una base fresca si cambió algo relevante. openspec updatepara refrescar los bindings.- Re-validar el ciclo.
- Actualizar en el CHANGELOG contra qué versión de OpenSpec se validó.
Mantener el delta mínimo y aditivo hace barato re-aplicarlo — y es la mejor defensa contra la obsolescencia.