refacil-sdd-ai 2.0.6 → 2.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
package/skills/apply/SKILL.md
CHANGED
|
@@ -16,28 +16,32 @@ Lee `SKILL.md` en `.claude/skills/refacil-prereqs/` o `.cursor/skills/refacil-pr
|
|
|
16
16
|
|
|
17
17
|
### Paso 0: Verificar que existan artefactos SDD
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Por cada carpeta bajo `openspec/changes/` (excluye `archive/` si aplica), comprueba:
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
| Artefacto | Requisito |
|
|
22
|
+
|-----------|-----------|
|
|
23
|
+
| `proposal.md` | Obligatorio en la raiz del cambio |
|
|
24
|
+
| `design.md` | Obligatorio en la raiz del cambio |
|
|
25
|
+
| `tasks.md` | Obligatorio en la raiz del cambio |
|
|
26
|
+
| **Especificacion** | **`specs.md` en la raiz** **O** al menos un `.md` bajo `specs/` del cambio (recursivo, ej. `specs/foo/spec.md`) |
|
|
27
|
+
|
|
28
|
+
OpenSpec a veces solo genera el arbol `specs/**/*.md`; eso **cumple** la fila de especificacion. Ver `OPENSPEC-DELTAS.md` (seccion **Specs: archivo unico vs arbol**).
|
|
29
|
+
|
|
30
|
+
- **Si `openspec/changes/` no existe o no hay cambios activos**: informa que ejecute `/refacil:propose` y **detente**.
|
|
27
31
|
|
|
28
|
-
- **Si
|
|
32
|
+
- **Si falta proposal, design o tasks**, o **no hay ni `specs.md` ni ningun `.md` bajo `specs/`**:
|
|
29
33
|
```
|
|
30
34
|
El cambio en openspec/changes/[nombre]/ esta incompleto.
|
|
31
|
-
Faltan: [lista
|
|
35
|
+
Faltan: [lista]
|
|
32
36
|
Ejecuta: /refacil:propose para completar los artefactos antes de implementar.
|
|
33
37
|
```
|
|
34
38
|
**Detente.**
|
|
35
39
|
|
|
36
|
-
- **
|
|
40
|
+
- **Multiples cambios activos**: lista carpetas y pregunta cual implementar.
|
|
37
41
|
|
|
38
|
-
- **
|
|
42
|
+
- **Antes de implementar**: lee **toda** la especificacion relevante — si hay `specs.md` y ademas `specs/**/*.md`, lee **ambos**; si hay contradiccion, pregunta al usuario.
|
|
39
43
|
|
|
40
|
-
**IMPORTANTE**: Este comando NUNCA genera artefactos SDD. Si no existen, el usuario debe usar `/refacil:propose`.
|
|
44
|
+
**IMPORTANTE**: Este comando NUNCA genera artefactos SDD. Si no existen, el usuario debe usar `/refacil:propose`.
|
|
41
45
|
|
|
42
46
|
### Paso 1: Validar rama de trabajo
|
|
43
47
|
|
|
@@ -104,7 +108,7 @@ Al terminar la implementacion de OpenSpec, agrega este resumen:
|
|
|
104
108
|
|
|
105
109
|
## Reglas
|
|
106
110
|
|
|
107
|
-
- NUNCA implementar codigo sin
|
|
111
|
+
- NUNCA implementar codigo sin proposal, design, tasks y **especificacion** (`specs.md` y/o `specs/**/*.md` segun la tabla del Paso 0)
|
|
108
112
|
- NUNCA generar artefactos SDD desde este comando — eso es responsabilidad exclusiva de `/refacil:propose`
|
|
109
113
|
- SIEMPRE leer los artefactos completos antes de escribir codigo
|
|
110
114
|
- Si `openspec/changes/` no tiene cambios activos o estan incompletos, informar y redirigir a `/refacil:propose`
|
package/skills/archive/SKILL.md
CHANGED
|
@@ -38,7 +38,7 @@ Despues de que OpenSpec archive, verifica que `openspec/specs/` fue actualizada:
|
|
|
38
38
|
|
|
39
39
|
1. Revisa si hay archivos nuevos o modificados en `openspec/specs/`
|
|
40
40
|
2. Si la sincronizacion no ocurrio (OpenSpec la salto o fallo), ejecuta manualmente la sincronizacion:
|
|
41
|
-
- Lee
|
|
41
|
+
- Lee la especificacion del cambio archivado: `specs.md` si existe **y** todos los `.md` bajo `specs/` de esa carpeta (misma regla que `refacil:apply`)
|
|
42
42
|
- Busca el spec principal relevante en `openspec/specs/`
|
|
43
43
|
- Si existe, integra los cambios (ADDED → agregar, MODIFIED → actualizar, REMOVED → eliminar)
|
|
44
44
|
- Si NO existe, crea un spec principal nuevo con nombre descriptivo
|
package/skills/bug/SKILL.md
CHANGED
|
@@ -156,7 +156,7 @@ describe('Bug Fix: [descripcion corta]', () => {
|
|
|
156
156
|
|
|
157
157
|
Si el bug es significativo, preguntar al usuario si quiere documentarlo en OpenSpec:
|
|
158
158
|
- Crear carpeta en `openspec/changes/fix-[nombre]/`
|
|
159
|
-
- Generar proposal.md y specs.md
|
|
159
|
+
- Generar `proposal.md`, `design.md`, `tasks.md` y especificacion (`specs.md` y/o `specs/**/*.md`, misma regla que `refacil:propose`)
|
|
160
160
|
|
|
161
161
|
## Reglas
|
|
162
162
|
|
|
@@ -15,12 +15,26 @@ Lee este archivo **ademas** de la skill `openspec-*` que indique el comando `ref
|
|
|
15
15
|
- Tasks con estimacion de esfuerzo **S / M / L**.
|
|
16
16
|
- Design alineado a **patrones existentes** del repo (desde `AGENTS.md` o exploracion acotada).
|
|
17
17
|
|
|
18
|
+
### Specs: archivo unico vs arbol `specs/` (compatibilidad Refacil)
|
|
19
|
+
|
|
20
|
+
OpenSpec puede indicar `specs/**/*.md` y crear **un archivo por capability** (ej. `specs/product-amount-percentile/spec.md`). Los comandos **refacil:*** deben soportar **ambas** formas:
|
|
21
|
+
|
|
22
|
+
| Forma | Validacion |
|
|
23
|
+
|-------|------------|
|
|
24
|
+
| **A** | `specs.md` en la raiz del cambio (`openspec/changes/<id>/specs.md`) |
|
|
25
|
+
| **B** | Sin `specs.md`, pero existe al menos un `.md` bajo `openspec/changes/<id>/specs/` (recursivo) |
|
|
26
|
+
|
|
27
|
+
- **Si OpenSpec solo genera B:** no es error. **No hace falta** duplicar obligatoriamente en `specs.md` salvo que el equipo quiera un indice unico para humanos.
|
|
28
|
+
- **Si coexisten A y B:** lee **ambos**; si hay contradiccion clara entre `specs.md` y los fragmentos, **pregunta al usuario** cual manda antes de `apply`.
|
|
29
|
+
- Al cerrar **propose**, en el resumen de revision lista **todas** las rutas de spec (archivo raiz y/o cada `specs/**.md`).
|
|
30
|
+
|
|
18
31
|
## apply — `openspec-apply-change`
|
|
19
32
|
|
|
20
33
|
- Respetar **estrictamente** `AGENTS.md`.
|
|
21
34
|
- No agregar funcionalidad fuera del alcance de las specs aprobadas.
|
|
22
35
|
- No refactorizar codigo no relacionado con el cambio.
|
|
23
36
|
- Si una task es ambigua, **preguntar** antes de implementar.
|
|
37
|
+
- **Especificacion**: aplica la tabla del Paso 0 de `refacil:apply` (`specs.md` y/o `specs/**/*.md`); no asumas que solo existe `specs.md` en la raiz.
|
|
24
38
|
|
|
25
39
|
## archive — `openspec-archive-change`
|
|
26
40
|
|
package/skills/propose/SKILL.md
CHANGED
|
@@ -36,7 +36,7 @@ Si $ARGUMENTS ya es claro, no preguntes de nuevo.
|
|
|
36
36
|
Despues de que OpenSpec genere los artefactos, presenta al usuario un resumen claro para su revision:
|
|
37
37
|
|
|
38
38
|
1. **Proposal**: Objetivo, alcance y justificacion del cambio
|
|
39
|
-
2. **Specs**: Criterios de aceptacion y rechazo —
|
|
39
|
+
2. **Specs**: Criterios de aceptacion y rechazo — listar **rutas reales**: `specs.md` y/o cada `specs/**/spec.md` (OpenSpec puede usar solo el arbol `specs/`)
|
|
40
40
|
3. **Design**: Archivos a crear/modificar y patrones a usar — verificar que se alineen con la arquitectura
|
|
41
41
|
4. **Tasks**: Lista de tareas con estimacion — verificar que el desglose sea correcto y completo
|
|
42
42
|
|
|
@@ -46,7 +46,7 @@ Pregunta explicitamente:
|
|
|
46
46
|
=== Revision requerida ===
|
|
47
47
|
Los artefactos estan listos para tu revision:
|
|
48
48
|
- openspec/changes/[nombre]/proposal.md
|
|
49
|
-
- openspec/changes/[nombre]/specs.md
|
|
49
|
+
- Especificacion: openspec/changes/[nombre]/specs.md y/o openspec/changes/[nombre]/specs/**/*.md (listar archivos)
|
|
50
50
|
- openspec/changes/[nombre]/design.md
|
|
51
51
|
- openspec/changes/[nombre]/tasks.md
|
|
52
52
|
|
|
@@ -69,7 +69,7 @@ Siguiente paso: ejecuta /refacil:apply para implementar las tasks.
|
|
|
69
69
|
|
|
70
70
|
## Reglas
|
|
71
71
|
|
|
72
|
-
- **NUNCA escribir, modificar o generar codigo fuente** en esta fase — solo artefactos SDD
|
|
72
|
+
- **NUNCA escribir, modificar o generar codigo fuente** en esta fase — solo artefactos SDD: `proposal.md`, `design.md`, `tasks.md`, y especificacion en `specs.md` y/o `specs/**/*.md` (convencion OpenSpec)
|
|
73
73
|
- Aunque el usuario pase una descripcion completa y detallada en $ARGUMENTS, la salida es EXCLUSIVAMENTE artefactos de planificacion
|
|
74
74
|
- Si el usuario pide que tambien implemente, responder: "La implementacion se hace con `/refacil:apply` despues de aprobar los artefactos."
|
|
75
75
|
- Siempre explorar el codebase ANTES de generar artefactos (para que el design sea realista)
|
package/skills/test/SKILL.md
CHANGED
|
@@ -46,7 +46,7 @@ Si el usuario ejecuta `/refacil:test` sin argumentos:
|
|
|
46
46
|
1. **Buscar cambio activo**: Lista carpetas en `openspec/changes/` y pregunta cual testear si hay mas de uno.
|
|
47
47
|
|
|
48
48
|
2. **Leer artefactos**:
|
|
49
|
-
- `specs.md`
|
|
49
|
+
- **Especificacion**: lee `specs.md` si existe **y** todos los `.md` bajo `specs/` del cambio (recursivo). De ahi extrae criterios de aceptacion (CA-XX) y rechazo (CR-XX).
|
|
50
50
|
- `design.md` — Identificar componentes y archivos creados/modificados
|
|
51
51
|
- `tasks.md` — Identificar archivos implementados
|
|
52
52
|
|