ostacky 0.0.6 → 0.1.0
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 +27 -6
- package/assets/agents/ostacky.md +11 -0
- package/assets/commands/install-stack.md +95 -2
- package/dist/cli.js +17 -17
- package/manifest.json +15 -15
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,11 +1,31 @@
|
|
|
1
1
|
# Ostacky
|
|
2
2
|
|
|
3
|
-
Ostacky es el agente de [OpenCode](https://opencode.ai) que instalás en tu proyecto.
|
|
3
|
+
Ostacky es el agente de [OpenCode](https://opencode.ai) que instalás en tu proyecto. Orquesta **4 herramientas** para que trabajen en sinergia: [CodeGraph](https://github.com/colbymchenry/codegraph) entiende el código existente, [OpenSpec](https://github.com/Fission-AI/OpenSpec/) define requisitos y contratos, [Superpowers](https://github.com/obra/superpowers) ejecuta con TDD y review, y [Engram](https://github.com/Gentleman-Programming/engram) da memoria persistente entre sesiones. Ostacky las rutea según el nivel de impacto del cambio para ser eficiente con tokens y evitar recorrer todo el proyecto cuando no hace falta.
|
|
4
4
|
|
|
5
5
|
## ¿Qué es?
|
|
6
6
|
|
|
7
7
|
`Ostacky` es el agente (`.opencode/agents/`) que se instala directamente desde GitHub Releases. Cada instalación queda registrada en un lockfile con versión y checksum, lo que permite actualizaciones controladas y reproducibles.
|
|
8
8
|
|
|
9
|
+
## Stack
|
|
10
|
+
|
|
11
|
+
Ostacky no es solo un agente — es un **orquestador** que integra cuatro herramientas especializadas para que trabajen en conjunto sin pisarse:
|
|
12
|
+
|
|
13
|
+
| Herramienta | Rol | Define |
|
|
14
|
+
| ------------------------------------------------------------- | ------------------- | ------------------------------------------------ |
|
|
15
|
+
| **[CodeGraph](https://github.com/colbymchenry/codegraph)** | Grafo de código | DÓNDE está el código y a quién impacta un cambio |
|
|
16
|
+
| **[OpenSpec](https://github.com/Fission-AI/OpenSpec/)** | Especificaciones | QUÉ hay que construir y POR QUÉ |
|
|
17
|
+
| **[Superpowers](https://github.com/obra/superpowers)** | Ejecución | CÓMO se implementa, prueba y revisa |
|
|
18
|
+
| **[Engram](https://github.com/Gentleman-Programming/engram)** | Memoria persistente | QUÉ aprendimos en sesiones anteriores |
|
|
19
|
+
|
|
20
|
+
### Cómo trabajan en sinergia
|
|
21
|
+
|
|
22
|
+
1. **CodeGraph** descubre el alcance del cambio sin escanear el repo entero (consulta `codegraph_context`, `codegraph_impact`).
|
|
23
|
+
2. **OpenSpec** documenta requisitos, contratos y escenarios de aceptación (proposal → design → spec → tasks).
|
|
24
|
+
3. **Superpowers** ejecuta con TDD, testing automatizado y review (brainstorming → plans → tdd → review).
|
|
25
|
+
4. **Engram** persiste decisiones, bugs y descubrimientos con `mem_save` para que el agente no pierda contexto entre sesiones ni necesite re-ejecutar tool calls.
|
|
26
|
+
|
|
27
|
+
Ostacky decide **cuándo y cómo** usar cada herramienta según el nivel de impacto del cambio (Nivel 0, Nivel 0+1, Nivel 1+), priorizando siempre eficiencia de tokens.
|
|
28
|
+
|
|
9
29
|
## ¿Para qué sirve?
|
|
10
30
|
|
|
11
31
|
- Instalar el agente `Ostacky` en cualquier proyecto con un solo comando.
|
|
@@ -19,6 +39,7 @@ Ostacky es el agente de [OpenCode](https://opencode.ai) que instalás en tu proy
|
|
|
19
39
|
- [Node.js](https://nodejs.org/) >= 18 (para usar con `npx`)
|
|
20
40
|
- o [Bun](https://bun.sh/) >= 1.x (para usar con `bunx` o desarrollo)
|
|
21
41
|
- [OpenCode](https://opencode.ai) instalado en tu máquina
|
|
42
|
+
- **WSL:** Si usás Windows con WSL, seguí las instrucciones para **Linux** — WSL corre un kernel Linux real. No uses los comandos de PowerShell aunque estés en Windows.
|
|
22
43
|
|
|
23
44
|
## Uso rápido (para usuarios)
|
|
24
45
|
|
|
@@ -135,20 +156,20 @@ Tras instalar, el proyecto queda así:
|
|
|
135
156
|
|
|
136
157
|
```json
|
|
137
158
|
{
|
|
138
|
-
"version": "0.0
|
|
159
|
+
"version": "0.1.0",
|
|
139
160
|
"lockedAt": "2025-01-01T00:00:00.000Z",
|
|
140
161
|
"repo": "JaimeHoracio/Ostacky",
|
|
141
|
-
"tag": "v0.0
|
|
162
|
+
"tag": "v0.1.0",
|
|
142
163
|
"agents": {
|
|
143
164
|
"ostacky": {
|
|
144
|
-
"version": "0.0
|
|
165
|
+
"version": "0.1.0",
|
|
145
166
|
"installedAt": "2025-01-01T00:00:00.000Z",
|
|
146
167
|
"sha256": "abc123..."
|
|
147
168
|
}
|
|
148
169
|
},
|
|
149
170
|
"commands": {
|
|
150
171
|
"install-stack": {
|
|
151
|
-
"version": "0.0
|
|
172
|
+
"version": "0.1.0",
|
|
152
173
|
"installedAt": "2025-01-01T00:00:00.000Z",
|
|
153
174
|
"sha256": "def456..."
|
|
154
175
|
}
|
|
@@ -180,7 +201,7 @@ Ese paso es opcional. Si no aparece en la terminal, recargá OpenCode y volvé a
|
|
|
180
201
|
## Seguridad
|
|
181
202
|
|
|
182
203
|
- `opencode.jsonc` se versiona en el repo para compartir permisos y MCP de forma reproducible.
|
|
183
|
-
- Las URLs de descarga usan **tags de GitHub** (ej. `v0.0
|
|
204
|
+
- Las URLs de descarga usan **tags de GitHub** (ej. `v0.1.0`), nunca `main` — instalaciones reproducibles
|
|
184
205
|
- Cada path de archivo descargado es validado para prevenir **path traversal**
|
|
185
206
|
- Los archivos incluyen **checksum SHA-256** opcional; si el manifest lo define, el contenido se verifica antes de escribir
|
|
186
207
|
- El cache local (`~/.opencode/cache/`) también valida integridad al servir archivos cacheados
|
package/assets/agents/ostacky.md
CHANGED
|
@@ -103,6 +103,17 @@ Eres **Ostacky**, el orquestador de desarrollo del proyecto.
|
|
|
103
103
|
- El set curado de skills vive en `assets/skills/` y `.opencode/skills/`. No depender del plugin upstream `superpowers@git+...` en runtime.
|
|
104
104
|
- `opsx-sync` sincroniza OpenSpec. `codegraph sync` sincroniza el grafo. Son complementarios, no redundantes.
|
|
105
105
|
- 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/`.
|
|
106
|
+
- 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.
|
|
107
|
+
|
|
108
|
+
## Memoria persistente (Engram)
|
|
109
|
+
|
|
110
|
+
Engram es el sistema de memoria persistente del stack. Su uso es **obligatorio y proactivo** — no esperes a que te lo pidan:
|
|
111
|
+
|
|
112
|
+
1. **`mem_save` después de cada paso significativo** — arquitectura, decisiones, bugs, patrones, descubrimientos. Guardalos inmediatamente después de completar el paso.
|
|
113
|
+
|
|
114
|
+
2. **`mem_search` proactivo al inicio de cada tarea** — si el usuario menciona algo que ya se trabajó antes, o si vas a trabajar en un área con trabajo previo, buscá en Engram primero. No asumas que no hay contexto.
|
|
115
|
+
|
|
116
|
+
3. **Razonamiento para reducir tokens:** "Engram saves después de cada paso significativo — `mem_save` persiste 'ya hice X con estos resultados' y si vuelvo a preguntar 'qué hice?', tengo la respuesta sin re-ejecutar." Esto evita tool calls redundantes para recuperar contexto propio, reduciendo drásticamente el consumo de tokens en sesiones largas.
|
|
106
117
|
|
|
107
118
|
## Skills y comandos de referencia
|
|
108
119
|
|
|
@@ -108,14 +108,107 @@ openspec update
|
|
|
108
108
|
|
|
109
109
|
---
|
|
110
110
|
|
|
111
|
+
## Paso 5 — Engram
|
|
112
|
+
|
|
113
|
+
[Engram](https://github.com/Gentleman-Programming/engram) es el sistema de memoria persistente para agentes de IA. Se instala como un único binario Go con SQLite + FTS5, sin Node.js, Python ni Docker.
|
|
114
|
+
|
|
115
|
+
**RESTRICCIÓN:** configurar ÚNICAMENTE para OpenCode. No crear archivos en `.claude/`, `.cursor/` ni otros directorios de otras plataformas.
|
|
116
|
+
|
|
117
|
+
### Verificar instalación actual
|
|
118
|
+
|
|
119
|
+
Chequeá si Engram ya está disponible:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
engram --version 2>/dev/null || echo "no-instalado"
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
#### Si ya está instalado
|
|
126
|
+
|
|
127
|
+
Si el comando devuelve una versión, Engram ya está en el sistema. Verificá si es la más reciente comparando con la [última release en GitHub](https://github.com/Gentleman-Programming/engram/releases).
|
|
128
|
+
|
|
129
|
+
Si está desactualizado, actualizá según cómo lo instalaste originalmente:
|
|
130
|
+
|
|
131
|
+
- **go install:** `go install github.com/Gentleman-Programming/engram/cmd/engram@latest`
|
|
132
|
+
- **Homebrew:** `brew update && brew upgrade engram`
|
|
133
|
+
- **Binario propio:** descargá la nueva versión desde [releases](https://github.com/Gentleman-Programming/engram/releases) y reemplazá el binario
|
|
134
|
+
|
|
135
|
+
Luego de actualizar, saltá directo a [Configurar para OpenCode](#configurar-para-opencode) — no necesitás reinstalar.
|
|
136
|
+
|
|
137
|
+
#### Si no está instalado
|
|
138
|
+
|
|
139
|
+
Preferí métodos de instalación local antes que global:
|
|
140
|
+
|
|
141
|
+
**Opción recomendada — `go install` (local por usuario, sin sudo):**
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
go install github.com/Gentleman-Programming/engram/cmd/engram@latest
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
El binario se instala en `$GOPATH/bin/engram` (usualmente `~/go/bin/engram`).
|
|
148
|
+
|
|
149
|
+
**Alternativa — Homebrew (macOS/Linux):**
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
brew install gentleman-programming/tap/engram
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
**Alternativa — binario en el proyecto (máxima localidad):**
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
mkdir -p .opencode/bin
|
|
159
|
+
# Descargar el binario desde https://github.com/Gentleman-Programming/engram/releases
|
|
160
|
+
# y colocarlo en .opencode/bin/engram, luego:
|
|
161
|
+
chmod +x .opencode/bin/engram
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Configurar para OpenCode
|
|
165
|
+
|
|
166
|
+
Una vez que Engram está instalado (ya sea porque ya lo tenías, lo actualizaste o lo instalaste ahora), ejecutá el setup que lo registra exclusivamente para OpenCode:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
engram setup opencode
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Este comando:
|
|
173
|
+
- Agrega el MCP server de Engram en `opencode.json` (tipo `local`, comando `engram mcp`)
|
|
174
|
+
- Instala el plugin de Engram para OpenCode
|
|
175
|
+
- **NO** toca `.claude/`, `.cursor/`, `.gemini/` ni ninguna otra plataforma
|
|
176
|
+
|
|
177
|
+
Verificá que `opencode.json` contenga la entrada MCP de Engram:
|
|
178
|
+
|
|
179
|
+
```json
|
|
180
|
+
{
|
|
181
|
+
"mcp": {
|
|
182
|
+
"engram": {
|
|
183
|
+
"type": "local",
|
|
184
|
+
"command": ["engram", "mcp"],
|
|
185
|
+
"enabled": true
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Session tracking
|
|
192
|
+
|
|
193
|
+
El plugin de Engram para OpenCode usa `engram serve` para session tracking y recuperación ante compaction. El plugin intenta auto-iniciar el servidor, pero si tu entorno bloquea procesos en background, iniciálo manualmente:
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
engram serve
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Corre en el puerto 7437 por defecto. Los datos se almacenan en `~/.engram/engram.db` (SQLite local).
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
111
203
|
## Verificación final
|
|
112
204
|
|
|
113
205
|
Confirmá que:
|
|
114
206
|
|
|
115
207
|
1. `.opencode/skills/` contiene las 10 skills curadas (cada una con su `SKILL.md`; algunas traen `scripts/` y `references/`)
|
|
116
208
|
2. `.opencode/commands/` contiene los 5 opsx-* commands (`opsx-apply`, `opsx-archive`, `opsx-explore`, `opsx-propose`, `opsx-sync`)
|
|
117
|
-
3. `opencode.json` (o `.jsonc`) tiene
|
|
209
|
+
3. `opencode.json` (o `.jsonc`) tiene los bloques `mcp.codegraph` y `mcp.engram` — sin campo `plugin`
|
|
118
210
|
4. `.codegraph/` existe en la raíz del proyecto (índice local de CodeGraph)
|
|
119
|
-
5.
|
|
211
|
+
5. `engram --version` funciona y `engram setup opencode` ya fue ejecutado
|
|
212
|
+
6. **NO existen** archivos generados en `.claude/`, `.kiro/`, `.cursor/`, `.gemini/`, `.codex/` ni ningún directorio de otra plataforma
|
|
120
213
|
|
|
121
214
|
Reportá el estado de cada componente con ✓ o ✗.
|
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.0
|
|
164
|
+
version: "0.1.0",
|
|
165
165
|
description: "Instalador interactivo de agentes y comandos para OpenCode",
|
|
166
166
|
type: "module",
|
|
167
167
|
bin: {
|
|
@@ -877,15 +877,15 @@ var L2 = () => {
|
|
|
877
877
|
import { join as join5 } from "path";
|
|
878
878
|
// manifest.json
|
|
879
879
|
var manifest_default = {
|
|
880
|
-
version: "0.0
|
|
880
|
+
version: "0.1.0",
|
|
881
881
|
repo: "JaimeHoracio/Ostacky",
|
|
882
|
-
tag: "v0.0
|
|
882
|
+
tag: "v0.1.0",
|
|
883
883
|
agents: [
|
|
884
884
|
{
|
|
885
885
|
name: "ostacky",
|
|
886
886
|
file: "assets/agents/ostacky.md",
|
|
887
887
|
description: "Agente principal de desarrollo con ejecución inline-first y local-first",
|
|
888
|
-
version: "0.0
|
|
888
|
+
version: "0.1.0",
|
|
889
889
|
sha256: null
|
|
890
890
|
}
|
|
891
891
|
],
|
|
@@ -894,14 +894,14 @@ var manifest_default = {
|
|
|
894
894
|
name: "install-stack",
|
|
895
895
|
file: "assets/commands/install-stack.md",
|
|
896
896
|
description: "Instala el stack tecnológico del proyecto",
|
|
897
|
-
version: "0.0
|
|
897
|
+
version: "0.1.0",
|
|
898
898
|
sha256: null
|
|
899
899
|
},
|
|
900
900
|
{
|
|
901
901
|
name: "opsx-sync",
|
|
902
902
|
file: "assets/commands/opsx-sync.md",
|
|
903
903
|
description: "Sincroniza delta specs del change activo (wrapper de openspec update)",
|
|
904
|
-
version: "0.0
|
|
904
|
+
version: "0.1.0",
|
|
905
905
|
sha256: null
|
|
906
906
|
}
|
|
907
907
|
],
|
|
@@ -910,70 +910,70 @@ var manifest_default = {
|
|
|
910
910
|
name: "brainstorming",
|
|
911
911
|
file: "assets/skills/brainstorming/SKILL.md",
|
|
912
912
|
description: "Skill de descubrimiento y exploración (Superpowers)",
|
|
913
|
-
version: "0.0
|
|
913
|
+
version: "0.1.0",
|
|
914
914
|
sha256: "22be76380b086c4ac6d38b8b124f6f7df47c32a67237a6ceaf8c7fd19aa524b0"
|
|
915
915
|
},
|
|
916
916
|
{
|
|
917
917
|
name: "writing-plans",
|
|
918
918
|
file: "assets/skills/writing-plans/SKILL.md",
|
|
919
919
|
description: "Skill de planificación de implementación (Superpowers)",
|
|
920
|
-
version: "0.0
|
|
920
|
+
version: "0.1.0",
|
|
921
921
|
sha256: "4d56ce833af79c628e72cd95b06d13597131a09f9d98aae0a42c6a98a8ee1b95"
|
|
922
922
|
},
|
|
923
923
|
{
|
|
924
924
|
name: "tdd",
|
|
925
925
|
file: "assets/skills/tdd/SKILL.md",
|
|
926
926
|
description: "Skill de test-driven development (Superpowers)",
|
|
927
|
-
version: "0.0
|
|
927
|
+
version: "0.1.0",
|
|
928
928
|
sha256: "b5cd98b3c122162b5a5eac3c78858a64ba165bf4e8c251d8a804a593c0c72312"
|
|
929
929
|
},
|
|
930
930
|
{
|
|
931
931
|
name: "subagent-driven-development",
|
|
932
932
|
file: "assets/skills/subagent-driven-development/SKILL.md",
|
|
933
933
|
description: "Skill de ejecución con subagentes (Superpowers)",
|
|
934
|
-
version: "0.0
|
|
934
|
+
version: "0.1.0",
|
|
935
935
|
sha256: "7534b60788e05644831347194b1f99bcb41e2eda130994cfddafee3146ba63bd"
|
|
936
936
|
},
|
|
937
937
|
{
|
|
938
938
|
name: "dispatching-parallel-agents",
|
|
939
939
|
file: "assets/skills/dispatching-parallel-agents/SKILL.md",
|
|
940
940
|
description: "Skill de dispatch paralelo de agentes (Superpowers)",
|
|
941
|
-
version: "0.0
|
|
941
|
+
version: "0.1.0",
|
|
942
942
|
sha256: "b7e99d62c5d2ade21a3b6cdc94a7f90772e23fe3294ca600386f192f6181f6b2"
|
|
943
943
|
},
|
|
944
944
|
{
|
|
945
945
|
name: "review",
|
|
946
946
|
file: "assets/skills/review/SKILL.md",
|
|
947
947
|
description: "Skill de revisión de código (Superpowers)",
|
|
948
|
-
version: "0.0
|
|
948
|
+
version: "0.1.0",
|
|
949
949
|
sha256: "af8fd392835967111e865f170d90d3dd9b8266b517ffb7d551dffda704500a90"
|
|
950
950
|
},
|
|
951
951
|
{
|
|
952
952
|
name: "openspec-explore",
|
|
953
953
|
file: "assets/skills/openspec-explore/SKILL.md",
|
|
954
954
|
description: "Skill de exploración pre-spec (OpenSpec)",
|
|
955
|
-
version: "0.0
|
|
955
|
+
version: "0.1.0",
|
|
956
956
|
sha256: "c3eaff7d64b7e5e757b120dd231d2e6b56e9f440055dc9ab5431b466d6244bd7"
|
|
957
957
|
},
|
|
958
958
|
{
|
|
959
959
|
name: "openspec-propose",
|
|
960
960
|
file: "assets/skills/openspec-propose/SKILL.md",
|
|
961
961
|
description: "Skill de generación de proposal (OpenSpec)",
|
|
962
|
-
version: "0.0
|
|
962
|
+
version: "0.1.0",
|
|
963
963
|
sha256: "28c59bdce6e9af0ab07102b2e6d0b47a0f0dc2f1bfb8321576d47f6c240e778b"
|
|
964
964
|
},
|
|
965
965
|
{
|
|
966
966
|
name: "openspec-apply-change",
|
|
967
967
|
file: "assets/skills/openspec-apply-change/SKILL.md",
|
|
968
968
|
description: "Skill de aplicación de change (OpenSpec)",
|
|
969
|
-
version: "0.0
|
|
969
|
+
version: "0.1.0",
|
|
970
970
|
sha256: "8fa8182e40fd92cefbbcc1e303d9aa9c02e2b7f3f2c0625cb61fb916e4fc5760"
|
|
971
971
|
},
|
|
972
972
|
{
|
|
973
973
|
name: "openspec-archive-change",
|
|
974
974
|
file: "assets/skills/openspec-archive-change/SKILL.md",
|
|
975
975
|
description: "Skill de archivo de change (OpenSpec)",
|
|
976
|
-
version: "0.0
|
|
976
|
+
version: "0.1.0",
|
|
977
977
|
sha256: "564b8dca28084c75ca192137113e9186c4fb31d2de0e26c081fd67c37f7d4a56"
|
|
978
978
|
}
|
|
979
979
|
]
|
|
@@ -1159,7 +1159,7 @@ function clearLockfile(opencodeRoot) {
|
|
|
1159
1159
|
const lockfile = readLockfile(opencodeRoot);
|
|
1160
1160
|
if (!lockfile) {
|
|
1161
1161
|
writeLockfile(opencodeRoot, {
|
|
1162
|
-
version: "0.0
|
|
1162
|
+
version: "0.1.0",
|
|
1163
1163
|
lockedAt: new Date().toISOString(),
|
|
1164
1164
|
repo: "",
|
|
1165
1165
|
tag: "",
|
package/manifest.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.0
|
|
2
|
+
"version": "0.1.0",
|
|
3
3
|
"repo": "JaimeHoracio/Ostacky",
|
|
4
|
-
"tag": "v0.0
|
|
4
|
+
"tag": "v0.1.0",
|
|
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.0
|
|
10
|
+
"version": "0.1.0",
|
|
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.0
|
|
19
|
+
"version": "0.1.0",
|
|
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.0
|
|
26
|
+
"version": "0.1.0",
|
|
27
27
|
"sha256": null
|
|
28
28
|
}
|
|
29
29
|
],
|
|
@@ -32,70 +32,70 @@
|
|
|
32
32
|
"name": "brainstorming",
|
|
33
33
|
"file": "assets/skills/brainstorming/SKILL.md",
|
|
34
34
|
"description": "Skill de descubrimiento y exploración (Superpowers)",
|
|
35
|
-
"version": "0.0
|
|
35
|
+
"version": "0.1.0",
|
|
36
36
|
"sha256": "22be76380b086c4ac6d38b8b124f6f7df47c32a67237a6ceaf8c7fd19aa524b0"
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
39
|
"name": "writing-plans",
|
|
40
40
|
"file": "assets/skills/writing-plans/SKILL.md",
|
|
41
41
|
"description": "Skill de planificación de implementación (Superpowers)",
|
|
42
|
-
"version": "0.0
|
|
42
|
+
"version": "0.1.0",
|
|
43
43
|
"sha256": "4d56ce833af79c628e72cd95b06d13597131a09f9d98aae0a42c6a98a8ee1b95"
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
46
|
"name": "tdd",
|
|
47
47
|
"file": "assets/skills/tdd/SKILL.md",
|
|
48
48
|
"description": "Skill de test-driven development (Superpowers)",
|
|
49
|
-
"version": "0.0
|
|
49
|
+
"version": "0.1.0",
|
|
50
50
|
"sha256": "b5cd98b3c122162b5a5eac3c78858a64ba165bf4e8c251d8a804a593c0c72312"
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
53
|
"name": "subagent-driven-development",
|
|
54
54
|
"file": "assets/skills/subagent-driven-development/SKILL.md",
|
|
55
55
|
"description": "Skill de ejecución con subagentes (Superpowers)",
|
|
56
|
-
"version": "0.0
|
|
56
|
+
"version": "0.1.0",
|
|
57
57
|
"sha256": "7534b60788e05644831347194b1f99bcb41e2eda130994cfddafee3146ba63bd"
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
60
|
"name": "dispatching-parallel-agents",
|
|
61
61
|
"file": "assets/skills/dispatching-parallel-agents/SKILL.md",
|
|
62
62
|
"description": "Skill de dispatch paralelo de agentes (Superpowers)",
|
|
63
|
-
"version": "0.0
|
|
63
|
+
"version": "0.1.0",
|
|
64
64
|
"sha256": "b7e99d62c5d2ade21a3b6cdc94a7f90772e23fe3294ca600386f192f6181f6b2"
|
|
65
65
|
},
|
|
66
66
|
{
|
|
67
67
|
"name": "review",
|
|
68
68
|
"file": "assets/skills/review/SKILL.md",
|
|
69
69
|
"description": "Skill de revisión de código (Superpowers)",
|
|
70
|
-
"version": "0.0
|
|
70
|
+
"version": "0.1.0",
|
|
71
71
|
"sha256": "af8fd392835967111e865f170d90d3dd9b8266b517ffb7d551dffda704500a90"
|
|
72
72
|
},
|
|
73
73
|
{
|
|
74
74
|
"name": "openspec-explore",
|
|
75
75
|
"file": "assets/skills/openspec-explore/SKILL.md",
|
|
76
76
|
"description": "Skill de exploración pre-spec (OpenSpec)",
|
|
77
|
-
"version": "0.0
|
|
77
|
+
"version": "0.1.0",
|
|
78
78
|
"sha256": "c3eaff7d64b7e5e757b120dd231d2e6b56e9f440055dc9ab5431b466d6244bd7"
|
|
79
79
|
},
|
|
80
80
|
{
|
|
81
81
|
"name": "openspec-propose",
|
|
82
82
|
"file": "assets/skills/openspec-propose/SKILL.md",
|
|
83
83
|
"description": "Skill de generación de proposal (OpenSpec)",
|
|
84
|
-
"version": "0.0
|
|
84
|
+
"version": "0.1.0",
|
|
85
85
|
"sha256": "28c59bdce6e9af0ab07102b2e6d0b47a0f0dc2f1bfb8321576d47f6c240e778b"
|
|
86
86
|
},
|
|
87
87
|
{
|
|
88
88
|
"name": "openspec-apply-change",
|
|
89
89
|
"file": "assets/skills/openspec-apply-change/SKILL.md",
|
|
90
90
|
"description": "Skill de aplicación de change (OpenSpec)",
|
|
91
|
-
"version": "0.0
|
|
91
|
+
"version": "0.1.0",
|
|
92
92
|
"sha256": "8fa8182e40fd92cefbbcc1e303d9aa9c02e2b7f3f2c0625cb61fb916e4fc5760"
|
|
93
93
|
},
|
|
94
94
|
{
|
|
95
95
|
"name": "openspec-archive-change",
|
|
96
96
|
"file": "assets/skills/openspec-archive-change/SKILL.md",
|
|
97
97
|
"description": "Skill de archivo de change (OpenSpec)",
|
|
98
|
-
"version": "0.0
|
|
98
|
+
"version": "0.1.0",
|
|
99
99
|
"sha256": "564b8dca28084c75ca192137113e9186c4fb31d2de0e26c081fd67c37f7d4a56"
|
|
100
100
|
}
|
|
101
101
|
]
|