ostacky 0.3.2 → 0.3.4
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/README.md +5 -5
- package/assets/agents/ostacky.md +58 -10
- package/dist/cli.js +18 -18
- package/manifest.json +16 -16
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -193,20 +193,20 @@ Tras instalar, el proyecto queda así:
|
|
|
193
193
|
|
|
194
194
|
```json
|
|
195
195
|
{
|
|
196
|
-
"version": "0.3.
|
|
196
|
+
"version": "0.3.4",
|
|
197
197
|
"lockedAt": "2025-01-01T00:00:00.000Z",
|
|
198
198
|
"repo": "JaimeHoracio/Ostacky",
|
|
199
|
-
"tag": "v0.3.
|
|
199
|
+
"tag": "v0.3.4",
|
|
200
200
|
"agents": {
|
|
201
201
|
"ostacky": {
|
|
202
|
-
"version": "0.3.
|
|
202
|
+
"version": "0.3.4",
|
|
203
203
|
"installedAt": "2025-01-01T00:00:00.000Z",
|
|
204
204
|
"sha256": "abc123..."
|
|
205
205
|
}
|
|
206
206
|
},
|
|
207
207
|
"commands": {
|
|
208
208
|
"install-stack": {
|
|
209
|
-
"version": "0.3.
|
|
209
|
+
"version": "0.3.4",
|
|
210
210
|
"installedAt": "2025-01-01T00:00:00.000Z",
|
|
211
211
|
"sha256": "def456..."
|
|
212
212
|
}
|
|
@@ -239,7 +239,7 @@ Es opcional y solo necesario si algo falló durante la instalación o si querés
|
|
|
239
239
|
## Seguridad
|
|
240
240
|
|
|
241
241
|
- `opencode.jsonc` se versiona en el repo para compartir permisos y MCP de forma reproducible.
|
|
242
|
-
- Las URLs de descarga usan **tags de GitHub** (ej. `v0.3.
|
|
242
|
+
- Las URLs de descarga usan **tags de GitHub** (ej. `v0.3.4`), nunca `main` — instalaciones reproducibles
|
|
243
243
|
- Cada path de archivo descargado es validado para prevenir **path traversal**
|
|
244
244
|
- Los archivos incluyen **checksum SHA-256** opcional; si el manifest lo define, el contenido se verifica antes de escribir
|
|
245
245
|
- El cache local (`~/.opencode/cache/`) también valida integridad al servir archivos cacheados
|
package/assets/agents/ostacky.md
CHANGED
|
@@ -106,12 +106,25 @@ Si el usuario no responde, **detenete y esperá**. No asumas un camino.
|
|
|
106
106
|
|
|
107
107
|
### 4. Execution
|
|
108
108
|
|
|
109
|
-
1. **
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
Si
|
|
113
|
-
|
|
114
|
-
2. **
|
|
109
|
+
1. **Consultar estado actual (Engram) — obligatorio antes de cualquier otra cosa:**
|
|
110
|
+
a. Ejecutar `mem_search(query: "completed for change {changeId}")` para identificar qué tasks ya están completadas.
|
|
111
|
+
b. Excluir del plan de ejecución las tasks ya completadas.
|
|
112
|
+
c. Si Engram no responde → continuar sin tracking (degradación graceful, ejecutar todas).
|
|
113
|
+
|
|
114
|
+
2. **Cargar el skill `execution-mode-evaluation` (con recovery acotado):**
|
|
115
|
+
a. Primer intento de carga del skill.
|
|
116
|
+
b. Si el tool call falla (error MCP, timeout):
|
|
117
|
+
- Esperar 1 segundo, reintentar.
|
|
118
|
+
- Esperar 2 segundos, reintentar.
|
|
119
|
+
- Si falla 3 veces → reportar bloqueo al usuario. No avanzar.
|
|
120
|
+
c. Si se carga pero el output está incompleto:
|
|
121
|
+
- NO reintentar la carga del skill (el contenido será el mismo).
|
|
122
|
+
- Ejecutar `codegraph_context` de nuevo para obtener más datos.
|
|
123
|
+
- Si aún así no alcanza para decidir → reportar bloqueo al usuario.
|
|
124
|
+
- No avanzar sin poder decidir el modo de ejecución.
|
|
125
|
+
d. Seguir el procedimiento del skill (Paso 0 a Paso 4) estrictamente, con reglas en orden de precedencia.
|
|
126
|
+
|
|
127
|
+
3. **Elegir el modo SEGUN el output del skill:**
|
|
115
128
|
- Si `mode` es `"inline"` → ejecutar inline (norma general)
|
|
116
129
|
- Si `mode` es `"subagent-driven"` → ejecutar con subagentes
|
|
117
130
|
- Usar `phaseRecommendations` para planificar el orden de ejecucion:
|
|
@@ -119,10 +132,44 @@ Si el usuario no responde, **detenete y esperá**. No asumas un camino.
|
|
|
119
132
|
* Despues las fases con `mode: "subagent-driven"`
|
|
120
133
|
- Si el output no tiene `phaseRecommendations`, todo el cambio va en el modo global.
|
|
121
134
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
135
|
+
4. **Ejecutar cada task no completada aplicando pre-edit validation:**
|
|
136
|
+
a. Aplicar la sección "Pre-edit validation" antes de cada llamada al edit tool.
|
|
137
|
+
b. Si pre-edit devuelve "skip-and-mark" → no editar. Ejecutar `mem_save` con topic_key del change.
|
|
138
|
+
c. Si pre-edit devuelve "conflict" → reportar al usuario. No editar ni marcar.
|
|
139
|
+
d. Después de completar exitosamente una task → `mem_save` con topic_key del change.
|
|
140
|
+
e. Si una task falla → reportar al usuario. No reintentar automáticamente.
|
|
141
|
+
|
|
142
|
+
5. **Superpowers** es el unico orquestador de ejecucion, TDD, review y delegacion.
|
|
143
|
+
6. Los subagentes son **execution-only**.
|
|
144
|
+
7. Los subagentes heredan la sección "Pre-edit validation" (4a). Incluir esta sección en el brief de cada subagente para que aplique la misma validación antes de editar.
|
|
145
|
+
8. Los subagentes no se usan para "hacerlo mas rapido" por defecto: se usan para aislar complejidad cuando eso reduce contexto total.
|
|
146
|
+
9. Los subagentes no crean proposals, no planifican, no inician nueva delegacion y no repiten retrieval ya resuelto por el coordinador.
|
|
147
|
+
|
|
148
|
+
### 4a. Pre-edit validation (obligatorio antes de cada edit)
|
|
149
|
+
|
|
150
|
+
Antes de cada llamada al `edit` tool, ejecutar esta validación **sobre el archivo fresco**:
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
Paso 0: Leer el archivo actual con el Read tool. No confiar en lecturas previas
|
|
154
|
+
del contexto (pueden estar stale por edits anteriores o subagentes).
|
|
155
|
+
|
|
156
|
+
Input: filePath, oldString, newString + contenido fresco del archivo
|
|
157
|
+
Output: "proceed", "skip-and-mark", "conflict"
|
|
158
|
+
|
|
159
|
+
1. oldString === newString?
|
|
160
|
+
→ "skip-and-mark": el cambio ya está aplicado.
|
|
161
|
+
Ejecutar mem_save con topic_key del change. No editar.
|
|
162
|
+
|
|
163
|
+
2. oldString existe en el contenido fresco del archivo?
|
|
164
|
+
→ "proceed": ejecutar edit normalmente.
|
|
165
|
+
|
|
166
|
+
3. oldString NO existe en el contenido fresco del archivo:
|
|
167
|
+
a. ¿newString ya existe en el contenido fresco (exactamente, incluyendo whitespace)?
|
|
168
|
+
→ Sí: "skip-and-mark": cambio ya aplicado (por otro paso/agente).
|
|
169
|
+
Ejecutar mem_save con topic_key del change.
|
|
170
|
+
→ No: "conflict": el archivo cambió inesperadamente.
|
|
171
|
+
Reportar al usuario. No editar. No marcar nada.
|
|
172
|
+
```
|
|
126
173
|
|
|
127
174
|
### 5. Sync y cierre
|
|
128
175
|
|
|
@@ -148,6 +195,7 @@ Si el usuario no responde, **detenete y esperá**. No asumas un camino.
|
|
|
148
195
|
- Este proyecto NO usa CLAUDE.md. Si un skill referencia CLAUDE.md, usar el override local en `assets/skills/<skill>/` que reemplaza esas referencias por AGENTS.md y `.opencode/`.
|
|
149
196
|
- Browser/local URL use is never suggested proactively; it is only allowed when the user explicitly asks for browser/visual help, and the default is text-only to conserve tokens.
|
|
150
197
|
- Context7 está disponible para consultas de documentación de librerías/APIs. No intentes responder de memoria sobre APIs externas; usá Context7.
|
|
198
|
+
- Fase gate: si estás en Step 4 (Execution) o Step 5 (Sync), no volvás a Discovery, Planning o Specification automáticamente. Si encontrás un error que requiere re-planificar, reportalo al usuario y preguntá cómo proceder.
|
|
151
199
|
|
|
152
200
|
## Memoria persistente (Engram)
|
|
153
201
|
|
package/dist/cli.js
CHANGED
|
@@ -161,7 +161,7 @@ var require_picocolors = __commonJS((exports, module) => {
|
|
|
161
161
|
// package.json
|
|
162
162
|
var package_default = {
|
|
163
163
|
name: "ostacky",
|
|
164
|
-
version: "0.3.
|
|
164
|
+
version: "0.3.4",
|
|
165
165
|
description: "Instalador interactivo de agentes y comandos para OpenCode",
|
|
166
166
|
type: "module",
|
|
167
167
|
bin: {
|
|
@@ -876,15 +876,15 @@ var L2 = () => {
|
|
|
876
876
|
import { join as join5 } from "path";
|
|
877
877
|
// manifest.json
|
|
878
878
|
var manifest_default = {
|
|
879
|
-
version: "0.3.
|
|
879
|
+
version: "0.3.4",
|
|
880
880
|
repo: "JaimeHoracio/Ostacky",
|
|
881
|
-
tag: "v0.3.
|
|
881
|
+
tag: "v0.3.4",
|
|
882
882
|
agents: [
|
|
883
883
|
{
|
|
884
884
|
name: "ostacky",
|
|
885
885
|
file: "assets/agents/ostacky.md",
|
|
886
886
|
description: "Agente principal de desarrollo con ejecución inline-first y local-first",
|
|
887
|
-
version: "0.3.
|
|
887
|
+
version: "0.3.4",
|
|
888
888
|
sha256: null
|
|
889
889
|
}
|
|
890
890
|
],
|
|
@@ -893,14 +893,14 @@ var manifest_default = {
|
|
|
893
893
|
name: "install-stack",
|
|
894
894
|
file: "assets/commands/install-stack.md",
|
|
895
895
|
description: "Instala el stack tecnológico del proyecto",
|
|
896
|
-
version: "0.3.
|
|
896
|
+
version: "0.3.4",
|
|
897
897
|
sha256: null
|
|
898
898
|
},
|
|
899
899
|
{
|
|
900
900
|
name: "opsx-sync",
|
|
901
901
|
file: "assets/commands/opsx-sync.md",
|
|
902
902
|
description: "Sincroniza delta specs del change activo (wrapper de openspec update)",
|
|
903
|
-
version: "0.3.
|
|
903
|
+
version: "0.3.4",
|
|
904
904
|
sha256: null
|
|
905
905
|
}
|
|
906
906
|
],
|
|
@@ -909,77 +909,77 @@ var manifest_default = {
|
|
|
909
909
|
name: "execution-mode-evaluation",
|
|
910
910
|
file: "assets/skills/execution-mode-evaluation/SKILL.md",
|
|
911
911
|
description: "Skill de decision de modo de ejecucion inline vs subagent-driven con CodeGraph",
|
|
912
|
-
version: "0.3.
|
|
912
|
+
version: "0.3.4",
|
|
913
913
|
sha256: "eaa7cd3205b22c6db79a5d5f542ea554d5f1ca2d57127490011ba3abe4cb912b"
|
|
914
914
|
},
|
|
915
915
|
{
|
|
916
916
|
name: "brainstorming",
|
|
917
917
|
file: "assets/skills/brainstorming/SKILL.md",
|
|
918
918
|
description: "Skill de descubrimiento y exploración (Superpowers)",
|
|
919
|
-
version: "0.3.
|
|
919
|
+
version: "0.3.4",
|
|
920
920
|
sha256: "ad15458c54912007ae3f708c698a11f0a4a58e2a7c7860a1ae8874db573c9e98"
|
|
921
921
|
},
|
|
922
922
|
{
|
|
923
923
|
name: "writing-plans",
|
|
924
924
|
file: "assets/skills/writing-plans/SKILL.md",
|
|
925
925
|
description: "Skill de planificación de implementación (Superpowers)",
|
|
926
|
-
version: "0.3.
|
|
926
|
+
version: "0.3.4",
|
|
927
927
|
sha256: "4d675df944b9c846e9066ff971861ad1c9673cd2c88375081b00a75872ad621a"
|
|
928
928
|
},
|
|
929
929
|
{
|
|
930
930
|
name: "tdd",
|
|
931
931
|
file: "assets/skills/tdd/SKILL.md",
|
|
932
932
|
description: "Skill de test-driven development (Superpowers)",
|
|
933
|
-
version: "0.3.
|
|
933
|
+
version: "0.3.4",
|
|
934
934
|
sha256: "7eacd8ee81dc5c0b85065c0392e37ee10314661f7edb59dd8e70a9e0dae8f371"
|
|
935
935
|
},
|
|
936
936
|
{
|
|
937
937
|
name: "subagent-driven-development",
|
|
938
938
|
file: "assets/skills/subagent-driven-development/SKILL.md",
|
|
939
939
|
description: "Skill de ejecución con subagentes (Superpowers)",
|
|
940
|
-
version: "0.3.
|
|
940
|
+
version: "0.3.4",
|
|
941
941
|
sha256: "14e0f685b1dc1d7e02b7226d18f037fe4b6cba49b512a1fadf67cfad2a9dcc96"
|
|
942
942
|
},
|
|
943
943
|
{
|
|
944
944
|
name: "dispatching-parallel-agents",
|
|
945
945
|
file: "assets/skills/dispatching-parallel-agents/SKILL.md",
|
|
946
946
|
description: "Skill de dispatch paralelo de agentes (Superpowers)",
|
|
947
|
-
version: "0.3.
|
|
947
|
+
version: "0.3.4",
|
|
948
948
|
sha256: "281edf0c38f358497c7e2066fa8217a2ba3e2a39b4205c4af0c41d328fc035a1"
|
|
949
949
|
},
|
|
950
950
|
{
|
|
951
951
|
name: "review",
|
|
952
952
|
file: "assets/skills/review/SKILL.md",
|
|
953
953
|
description: "Skill de revisión de código (Superpowers)",
|
|
954
|
-
version: "0.3.
|
|
954
|
+
version: "0.3.4",
|
|
955
955
|
sha256: "c78d3beff45e9bb6b5e9e1d7155910f379e082d7aaf3c61b90d651d09e0d2e2a"
|
|
956
956
|
},
|
|
957
957
|
{
|
|
958
958
|
name: "openspec-explore",
|
|
959
959
|
file: "assets/skills/openspec-explore/SKILL.md",
|
|
960
960
|
description: "Skill de exploración pre-spec (OpenSpec)",
|
|
961
|
-
version: "0.3.
|
|
961
|
+
version: "0.3.4",
|
|
962
962
|
sha256: "1c75cab8672c2eb8b12f27a0b31f0b7fdb73c21c72583c1e8a566e09fe4108a6"
|
|
963
963
|
},
|
|
964
964
|
{
|
|
965
965
|
name: "openspec-propose",
|
|
966
966
|
file: "assets/skills/openspec-propose/SKILL.md",
|
|
967
967
|
description: "Skill de generación de proposal (OpenSpec)",
|
|
968
|
-
version: "0.3.
|
|
968
|
+
version: "0.3.4",
|
|
969
969
|
sha256: "ab88e9aa22db09559ccf7987d08adc0469b7c6fbe46498e63a3b64926f19e66b"
|
|
970
970
|
},
|
|
971
971
|
{
|
|
972
972
|
name: "openspec-apply-change",
|
|
973
973
|
file: "assets/skills/openspec-apply-change/SKILL.md",
|
|
974
974
|
description: "Skill de aplicación de change (OpenSpec)",
|
|
975
|
-
version: "0.3.
|
|
975
|
+
version: "0.3.4",
|
|
976
976
|
sha256: "847c2f88a66e8d5946c1fec422a5367c89eca5340839b659bbaaeb6f0bdac487"
|
|
977
977
|
},
|
|
978
978
|
{
|
|
979
979
|
name: "openspec-archive-change",
|
|
980
980
|
file: "assets/skills/openspec-archive-change/SKILL.md",
|
|
981
981
|
description: "Skill de archivo de change (OpenSpec)",
|
|
982
|
-
version: "0.3.
|
|
982
|
+
version: "0.3.4",
|
|
983
983
|
sha256: "3d35905ec40a081b8fd77b144426e540c67b1f50cc5801b655313a4fdfaa087a"
|
|
984
984
|
}
|
|
985
985
|
]
|
|
@@ -1165,7 +1165,7 @@ function clearLockfile(opencodeRoot) {
|
|
|
1165
1165
|
const lockfile = readLockfile(opencodeRoot);
|
|
1166
1166
|
if (!lockfile) {
|
|
1167
1167
|
writeLockfile(opencodeRoot, {
|
|
1168
|
-
version: "0.3.
|
|
1168
|
+
version: "0.3.4",
|
|
1169
1169
|
lockedAt: new Date().toISOString(),
|
|
1170
1170
|
repo: "",
|
|
1171
1171
|
tag: "",
|
package/manifest.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.3.
|
|
2
|
+
"version": "0.3.4",
|
|
3
3
|
"repo": "JaimeHoracio/Ostacky",
|
|
4
|
-
"tag": "v0.3.
|
|
4
|
+
"tag": "v0.3.4",
|
|
5
5
|
"agents": [
|
|
6
6
|
{
|
|
7
7
|
"name": "ostacky",
|
|
8
8
|
"file": "assets/agents/ostacky.md",
|
|
9
9
|
"description": "Agente principal de desarrollo con ejecución inline-first y local-first",
|
|
10
|
-
"version": "0.3.
|
|
10
|
+
"version": "0.3.4",
|
|
11
11
|
"sha256": null
|
|
12
12
|
}
|
|
13
13
|
],
|
|
@@ -16,14 +16,14 @@
|
|
|
16
16
|
"name": "install-stack",
|
|
17
17
|
"file": "assets/commands/install-stack.md",
|
|
18
18
|
"description": "Instala el stack tecnológico del proyecto",
|
|
19
|
-
"version": "0.3.
|
|
19
|
+
"version": "0.3.4",
|
|
20
20
|
"sha256": null
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
"name": "opsx-sync",
|
|
24
24
|
"file": "assets/commands/opsx-sync.md",
|
|
25
25
|
"description": "Sincroniza delta specs del change activo (wrapper de openspec update)",
|
|
26
|
-
"version": "0.3.
|
|
26
|
+
"version": "0.3.4",
|
|
27
27
|
"sha256": null
|
|
28
28
|
}
|
|
29
29
|
],
|
|
@@ -32,77 +32,77 @@
|
|
|
32
32
|
"name": "execution-mode-evaluation",
|
|
33
33
|
"file": "assets/skills/execution-mode-evaluation/SKILL.md",
|
|
34
34
|
"description": "Skill de decision de modo de ejecucion inline vs subagent-driven con CodeGraph",
|
|
35
|
-
"version": "0.3.
|
|
35
|
+
"version": "0.3.4",
|
|
36
36
|
"sha256": "eaa7cd3205b22c6db79a5d5f542ea554d5f1ca2d57127490011ba3abe4cb912b"
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
39
|
"name": "brainstorming",
|
|
40
40
|
"file": "assets/skills/brainstorming/SKILL.md",
|
|
41
41
|
"description": "Skill de descubrimiento y exploración (Superpowers)",
|
|
42
|
-
"version": "0.3.
|
|
42
|
+
"version": "0.3.4",
|
|
43
43
|
"sha256": "ad15458c54912007ae3f708c698a11f0a4a58e2a7c7860a1ae8874db573c9e98"
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
46
|
"name": "writing-plans",
|
|
47
47
|
"file": "assets/skills/writing-plans/SKILL.md",
|
|
48
48
|
"description": "Skill de planificación de implementación (Superpowers)",
|
|
49
|
-
"version": "0.3.
|
|
49
|
+
"version": "0.3.4",
|
|
50
50
|
"sha256": "4d675df944b9c846e9066ff971861ad1c9673cd2c88375081b00a75872ad621a"
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
53
|
"name": "tdd",
|
|
54
54
|
"file": "assets/skills/tdd/SKILL.md",
|
|
55
55
|
"description": "Skill de test-driven development (Superpowers)",
|
|
56
|
-
"version": "0.3.
|
|
56
|
+
"version": "0.3.4",
|
|
57
57
|
"sha256": "7eacd8ee81dc5c0b85065c0392e37ee10314661f7edb59dd8e70a9e0dae8f371"
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
60
|
"name": "subagent-driven-development",
|
|
61
61
|
"file": "assets/skills/subagent-driven-development/SKILL.md",
|
|
62
62
|
"description": "Skill de ejecución con subagentes (Superpowers)",
|
|
63
|
-
"version": "0.3.
|
|
63
|
+
"version": "0.3.4",
|
|
64
64
|
"sha256": "14e0f685b1dc1d7e02b7226d18f037fe4b6cba49b512a1fadf67cfad2a9dcc96"
|
|
65
65
|
},
|
|
66
66
|
{
|
|
67
67
|
"name": "dispatching-parallel-agents",
|
|
68
68
|
"file": "assets/skills/dispatching-parallel-agents/SKILL.md",
|
|
69
69
|
"description": "Skill de dispatch paralelo de agentes (Superpowers)",
|
|
70
|
-
"version": "0.3.
|
|
70
|
+
"version": "0.3.4",
|
|
71
71
|
"sha256": "281edf0c38f358497c7e2066fa8217a2ba3e2a39b4205c4af0c41d328fc035a1"
|
|
72
72
|
},
|
|
73
73
|
{
|
|
74
74
|
"name": "review",
|
|
75
75
|
"file": "assets/skills/review/SKILL.md",
|
|
76
76
|
"description": "Skill de revisión de código (Superpowers)",
|
|
77
|
-
"version": "0.3.
|
|
77
|
+
"version": "0.3.4",
|
|
78
78
|
"sha256": "c78d3beff45e9bb6b5e9e1d7155910f379e082d7aaf3c61b90d651d09e0d2e2a"
|
|
79
79
|
},
|
|
80
80
|
{
|
|
81
81
|
"name": "openspec-explore",
|
|
82
82
|
"file": "assets/skills/openspec-explore/SKILL.md",
|
|
83
83
|
"description": "Skill de exploración pre-spec (OpenSpec)",
|
|
84
|
-
"version": "0.3.
|
|
84
|
+
"version": "0.3.4",
|
|
85
85
|
"sha256": "1c75cab8672c2eb8b12f27a0b31f0b7fdb73c21c72583c1e8a566e09fe4108a6"
|
|
86
86
|
},
|
|
87
87
|
{
|
|
88
88
|
"name": "openspec-propose",
|
|
89
89
|
"file": "assets/skills/openspec-propose/SKILL.md",
|
|
90
90
|
"description": "Skill de generación de proposal (OpenSpec)",
|
|
91
|
-
"version": "0.3.
|
|
91
|
+
"version": "0.3.4",
|
|
92
92
|
"sha256": "ab88e9aa22db09559ccf7987d08adc0469b7c6fbe46498e63a3b64926f19e66b"
|
|
93
93
|
},
|
|
94
94
|
{
|
|
95
95
|
"name": "openspec-apply-change",
|
|
96
96
|
"file": "assets/skills/openspec-apply-change/SKILL.md",
|
|
97
97
|
"description": "Skill de aplicación de change (OpenSpec)",
|
|
98
|
-
"version": "0.3.
|
|
98
|
+
"version": "0.3.4",
|
|
99
99
|
"sha256": "847c2f88a66e8d5946c1fec422a5367c89eca5340839b659bbaaeb6f0bdac487"
|
|
100
100
|
},
|
|
101
101
|
{
|
|
102
102
|
"name": "openspec-archive-change",
|
|
103
103
|
"file": "assets/skills/openspec-archive-change/SKILL.md",
|
|
104
104
|
"description": "Skill de archivo de change (OpenSpec)",
|
|
105
|
-
"version": "0.3.
|
|
105
|
+
"version": "0.3.4",
|
|
106
106
|
"sha256": "3d35905ec40a081b8fd77b144426e540c67b1f50cc5801b655313a4fdfaa087a"
|
|
107
107
|
}
|
|
108
108
|
]
|