ostacky 0.9.7 → 0.10.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/dist/cli.js CHANGED
@@ -641,31 +641,31 @@ var init_fs = __esm(() => {
641
641
  var manifest_default;
642
642
  var init_manifest = __esm(() => {
643
643
  manifest_default = {
644
- version: "0.9.7",
644
+ version: "0.10.0",
645
645
  repo: "JaimeHoracio/Ostacky",
646
- tag: "v0.9.7",
646
+ tag: "v0.10.0",
647
647
  agents: [
648
648
  {
649
649
  name: "ostacky",
650
650
  file: "assets/agents/ostacky.md",
651
- description: "Orquestador con recuperación automática (nunca se congela), ruteo por nivel de impacto, controller MCP con SDK oficial, edición segura con fallback inline, y delegación en OpenSpec + Superpowers. v0.9.7: prune de skills obsoletas, lastHandoff, getAvailableTransitions, consecutiveFailures real, mem_session_summary automático al cierre.",
652
- version: "0.9.7",
653
- sha256: "4481017881dadef3cabf516053d13930b5c948f879f8996fcb03ca5133073199"
651
+ description: "Orquestador con recuperación automática (nunca se congela), ruteo por nivel de impacto, controller MCP con SDK oficial, edición segura con fallback inline, y delegación en OpenSpec + Superpowers. v0.10.0: prune de skills obsoletas, lastHandoff, getAvailableTransitions, consecutiveFailures real, mem_session_summary automático al cierre.",
652
+ version: "0.10.0",
653
+ sha256: "d092ac75eb83f56354e5accf479ae6f0309253077b7071b2cd93bcc959f9dc63"
654
654
  }
655
655
  ],
656
656
  commands: [
657
657
  {
658
658
  name: "install-stack",
659
659
  file: "assets/commands/install-stack.md",
660
- description: "Instala el stack tecnológico del proyecto (CodeGraph, skills, OpenSpec, Engram, controller plugin). v0.9.7: controller plugin como alma hard-gate, Context7 removido del stack.",
661
- version: "0.9.7",
662
- sha256: "0e1f52a236843fffbf166c1b381c52907abe19887e2472f667642ecbcb0f43a8"
660
+ description: "Instala el stack tecnológico del proyecto (CodeGraph, skills, OpenSpec, Engram, controller plugin). v0.10.0: controller plugin como alma hard-gate, Context7 removido del stack.",
661
+ version: "0.10.0",
662
+ sha256: "2ed68d2451bfad3c142c943ca8cb4dba86616e6be8ef89f9af3849bcdc5d41c3"
663
663
  },
664
664
  {
665
665
  name: "opsx-sync",
666
666
  file: "assets/commands/opsx-sync.md",
667
667
  description: "Sincroniza delta specs del change activo sin inicializar CodeGraph si ya existe índice",
668
- version: "0.9.7",
668
+ version: "0.10.0",
669
669
  sha256: "f883f9ad96f7d75778631d5cc13d8a1a9c3e6ec41396bbce8ce13cff2e66fca2"
670
670
  }
671
671
  ],
@@ -673,15 +673,15 @@ var init_manifest = __esm(() => {
673
673
  {
674
674
  name: "ostacky-controller",
675
675
  file: "assets/mcp/ostacky-controller/",
676
- description: "Máquina de estados persistida con @modelcontextprotocol/server SDK. v0.9.7: 22 tools (incluye set_handoff, get_handoff, clear_handoff, get_available_transitions funcional). Bugfixes: consecutiveFailures real, lastHandoff state, defaultChoice persistido. Robustez: degraded mode automático tras 3 fallos, persistence condicional para Nivel 0, prune de skills obsoletas.",
677
- version: "0.9.7",
678
- sha256: "41bfad0ddf21fac992c72e2a4e590445d075a5f8e8cb30a165728dff23a5d41a"
676
+ description: "Máquina de estados persistida con @modelcontextprotocol/server SDK. v0.10.0: 22 tools (incluye set_handoff, get_handoff, clear_handoff, get_available_transitions funcional). Bugfixes: consecutiveFailures real, lastHandoff state, defaultChoice persistido. Robustez: degraded mode automático tras 3 fallos, persistence condicional para Nivel 0, prune de skills obsoletas.",
677
+ version: "0.10.0",
678
+ sha256: "9e6647f1540c21063d32bc3e163a7c0a379bbc1859416c3e7f55af39f2dd8e4e"
679
679
  },
680
680
  {
681
681
  name: "openspec",
682
682
  file: "assets/mcp/openspec/",
683
683
  description: "MCP server local para OpenSpec - proposal, apply, archive, sync de cambios",
684
- version: "0.9.7",
684
+ version: "0.10.0",
685
685
  sha256: "bdb283fe8ec2dfcba2ec4f38191f4039e58cd7ae12e44e66310783b42c827638"
686
686
  }
687
687
  ],
@@ -690,105 +690,105 @@ var init_manifest = __esm(() => {
690
690
  name: "brainstorming",
691
691
  file: "assets/skills/brainstorming/SKILL.md",
692
692
  description: "Skill unificado de pensamiento con dos modos: creative-design (producción de diseño → transición a implementación directa o openspec-propose) y open-exploration (exploración libre)",
693
- version: "0.9.7",
693
+ version: "0.10.0",
694
694
  sha256: "f1013a86a8f27914d85a716e23c7fd32db1786d93615e8b0834b13d184308549"
695
695
  },
696
696
  {
697
697
  name: "execution-mode-evaluation",
698
698
  file: "assets/skills/execution-mode-evaluation/SKILL.md",
699
699
  description: "Skill de análisis de modo de ejecución — output reconciliado con controller snapshot contract (recommendation field)",
700
- version: "0.9.7",
700
+ version: "0.10.0",
701
701
  sha256: "2158a6864c0912e868a9d720db7fd79441e6cc298e3320833d2527c9727c852e"
702
702
  },
703
703
  {
704
704
  name: "tdd",
705
705
  file: "assets/skills/tdd/SKILL.md",
706
706
  description: "Skill de test-driven development (Superpowers)",
707
- version: "0.9.7",
707
+ version: "0.10.0",
708
708
  sha256: "f0ebfbbc43a8868d31a3fd2df37ae7f60fe8add09c6475862395a68269e5ff7f"
709
709
  },
710
710
  {
711
711
  name: "subagent-driven-development",
712
712
  file: "assets/skills/subagent-driven-development/SKILL.md",
713
713
  description: "Skill de ejecución con subagentes (Superpowers) — ejecuta solo después de confirmación del coordinador Ostacky",
714
- version: "0.9.7",
714
+ version: "0.10.0",
715
715
  sha256: "1a42d714a9a13faf05f0bf7b580e8d837c2e77a5633839542ccce603023419e8"
716
716
  },
717
717
  {
718
718
  name: "dispatching-parallel-agents",
719
719
  file: "assets/skills/dispatching-parallel-agents/SKILL.md",
720
720
  description: "Skill de dispatch paralelo de agentes (Superpowers)",
721
- version: "0.9.7",
721
+ version: "0.10.0",
722
722
  sha256: "7e7b712ef742d5631e302e6a71583e2bbbd33094da9281abfb84b43505fc3ef1"
723
723
  },
724
724
  {
725
725
  name: "review",
726
726
  file: "assets/skills/review/SKILL.md",
727
727
  description: "Skill de revisión de código (Superpowers)",
728
- version: "0.9.7",
728
+ version: "0.10.0",
729
729
  sha256: "b19650ed4d1d4d9857a4dd5b7e08e91328a1a1fc9c45bcc2fb600fa9d0213279"
730
730
  },
731
731
  {
732
732
  name: "receiving-code-review",
733
733
  file: "assets/skills/receiving-code-review/SKILL.md",
734
734
  description: "Skill de recibir y procesar feedback de code review",
735
- version: "0.9.7",
735
+ version: "0.10.0",
736
736
  sha256: "d761e884e71d8d3476ac734d287cae403a4024506a7d12e7361a448217c0a831"
737
737
  },
738
738
  {
739
739
  name: "openspec-propose",
740
740
  file: "assets/skills/openspec-propose/SKILL.md",
741
741
  description: "Skill de generación de proposal (OpenSpec)",
742
- version: "0.9.7",
742
+ version: "0.10.0",
743
743
  sha256: "6a517f750f24c008208156a2d653e97ed30b1e53878aeac5ce394e573db0678f"
744
744
  },
745
745
  {
746
746
  name: "openspec-apply-change",
747
747
  file: "assets/skills/openspec-apply-change/SKILL.md",
748
748
  description: "Skill de aplicación de change (OpenSpec)",
749
- version: "0.9.7",
749
+ version: "0.10.0",
750
750
  sha256: "dfc823bf89fc7505e91ab6dee9c1f004be38a410bd3d88fb67b211b1b6cbb1d0"
751
751
  },
752
752
  {
753
753
  name: "openspec-archive-change",
754
754
  file: "assets/skills/openspec-archive-change/SKILL.md",
755
755
  description: "Skill de archivo de change (OpenSpec)",
756
- version: "0.9.7",
756
+ version: "0.10.0",
757
757
  sha256: "16e4b561de7747283663fed602e506abf502452c49a8d4b86d7a5539c40f0195"
758
758
  },
759
759
  {
760
760
  name: "openspec-explore",
761
761
  file: "assets/skills/openspec-explore/SKILL.md",
762
762
  description: "Modo explore para OpenSpec — thinking partner para explorar ideas, investigar problemas y clarificar requisitos antes/durante un cambio",
763
- version: "0.9.7",
763
+ version: "0.10.0",
764
764
  sha256: "9eafc3a8c693b8d9916867ef764d49e5222da717fde501c957bb3f6c312d2415"
765
765
  },
766
766
  {
767
767
  name: "using-git-worktrees",
768
768
  file: "assets/skills/using-git-worktrees/SKILL.md",
769
769
  description: "Skill de uso de git worktrees para aislamiento de trabajo",
770
- version: "0.9.7",
770
+ version: "0.10.0",
771
771
  sha256: "93341bc1b7c053618a8b6dc07e3615b77990d7b549a0201f5835d95fef67ce13"
772
772
  },
773
773
  {
774
774
  name: "using-superpowers",
775
775
  file: "assets/skills/using-superpowers/SKILL.md",
776
776
  description: "Skill de orquestación de Superpowers skills",
777
- version: "0.9.7",
777
+ version: "0.10.0",
778
778
  sha256: "7e54536f96d2a379185a10bfc1e970850caa2561b6d8aca7080f0defea0381a4"
779
779
  },
780
780
  {
781
781
  name: "writing-skills",
782
782
  file: "assets/skills/writing-skills/SKILL.md",
783
783
  description: "Skill de creación y edición de skills",
784
- version: "0.9.7",
784
+ version: "0.10.0",
785
785
  sha256: "3d76b906cee518a2b809febb70db95697a35b9f368986bb504b4120c3bfb437a"
786
786
  },
787
787
  {
788
788
  name: "graceful-degradation",
789
789
  file: "assets/skills/graceful-degradation/SKILL.md",
790
790
  description: "Skill de degradación graceful cuando múltiples tools están indisponibles",
791
- version: "0.9.7",
791
+ version: "0.10.0",
792
792
  sha256: "363449bd9e6f800a0a3168667cf78f767fb105d86e4a4adadcc649d418139303"
793
793
  }
794
794
  ]
@@ -1138,13 +1138,13 @@ var init_config = __esm(() => {
1138
1138
 
1139
1139
  // src/stack.ts
1140
1140
  import { chmodSync, copyFileSync as copyFileSync3, existsSync as existsSync6, mkdirSync as mkdirSync4, rmSync as rmSync4, unlinkSync as unlinkSync3 } from "fs";
1141
- import { basename as basename2, dirname as dirname5, join as join7, resolve as resolve3 } from "path";
1141
+ import { basename as basename3, dirname as dirname5, join as join7, resolve as resolve3 } from "path";
1142
1142
  import { execFileSync as execFileSync3 } from "child_process";
1143
1143
  function resolveToolInstallLocation(toolsDir) {
1144
1144
  const resolvedToolsDir = resolve3(toolsDir ?? join7(findProjectRoot(), ".opencode", "tools"));
1145
1145
  const possibleOpenCodeDir = dirname5(resolvedToolsDir);
1146
1146
  return {
1147
- projectRoot: basename2(possibleOpenCodeDir) === ".opencode" ? dirname5(possibleOpenCodeDir) : findProjectRoot(),
1147
+ projectRoot: basename3(possibleOpenCodeDir) === ".opencode" ? dirname5(possibleOpenCodeDir) : findProjectRoot(),
1148
1148
  toolsDir: resolvedToolsDir
1149
1149
  };
1150
1150
  }
@@ -1727,7 +1727,7 @@ var init_doctor_v2 = __esm(() => {
1727
1727
  // package.json
1728
1728
  var package_default = {
1729
1729
  name: "ostacky",
1730
- version: "0.9.7",
1730
+ version: "0.10.0",
1731
1731
  description: "Instalador interactivo de agentes y comandos para OpenCode",
1732
1732
  type: "module",
1733
1733
  bin: {
@@ -2748,7 +2748,7 @@ import {
2748
2748
  rmSync as rmSync3
2749
2749
  } from "fs";
2750
2750
  import { execFileSync as execFileSync2, spawn } from "child_process";
2751
- import { dirname as dirname4, join as join6 } from "path";
2751
+ import { dirname as dirname4, join as join6, basename as basename2 } from "path";
2752
2752
  import { pathToFileURL } from "url";
2753
2753
  function createMcpConfigEntry(name, nodeExecutable, serverPath, statePath) {
2754
2754
  const entry = {
@@ -2906,20 +2906,25 @@ async function probeMcpServer(nodeExecutable, serverPath, cwd, statePath, option
2906
2906
  params: {
2907
2907
  protocolVersion: "2025-03-26",
2908
2908
  capabilities: {},
2909
- clientInfo: { name: "ostacky-installer", version: "0.9.7" }
2909
+ clientInfo: { name: "ostacky-installer", version: "0.10.0" }
2910
2910
  }
2911
2911
  });
2912
2912
  });
2913
2913
  } finally {
2914
2914
  await new Promise((r) => setTimeout(r, 200));
2915
2915
  if (statePath) {
2916
- for (const p of [
2916
+ const probeDir = dirname4(statePath);
2917
+ const probeBase = basename2(statePath);
2918
+ const probePrefix = probeBase + ".";
2919
+ for (const p of readdirSync2(probeDir).filter((entry) => entry === probeBase || entry.startsWith(probePrefix)).map((entry) => join6(probeDir, entry)).concat([
2917
2920
  statePath,
2918
2921
  statePath + ".backup",
2922
+ statePath + ".backup.1",
2923
+ statePath + ".backup.2",
2919
2924
  statePath + ".lock.pid",
2920
2925
  statePath + ".lock.timestamp",
2921
2926
  statePath + ".tmp." + process.pid
2922
- ]) {
2927
+ ])) {
2923
2928
  try {
2924
2929
  if (existsSync5(p))
2925
2930
  rmSync3(p, { force: true });
@@ -3425,6 +3430,15 @@ async function doInstallStack(toolsDir, projectRoot) {
3425
3430
  let allOk = true;
3426
3431
  const resolvedProjectRoot = projectRoot ?? dirname6(dirname6(toolsDir ?? join8(process.cwd(), ".opencode", "tools")));
3427
3432
  const resolvedToolsDir = toolsDir ?? join8(resolvedProjectRoot, ".opencode", "tools");
3433
+ try {
3434
+ await Promise.resolve().then(() => init_fs());
3435
+ const globalDir = getGlobalOpenCodeDir().replace(/\\/g, "/").toLowerCase();
3436
+ const toolsNorm = resolvedToolsDir.replace(/\\/g, "/").toLowerCase();
3437
+ if (toolsNorm === globalDir || toolsNorm.startsWith(globalDir + "/")) {
3438
+ v2.warn("Scope global: el stack (CodeGraph/Engram) es siempre local por proyecto — omitido aquí. Instalalo por proyecto con `npx ostacky install-stack --scope local`.");
3439
+ return true;
3440
+ }
3441
+ } catch {}
3428
3442
  v2.info(`Stack → projectRoot: ${resolvedProjectRoot} | toolsDir: ${resolvedToolsDir}`);
3429
3443
  try {
3430
3444
  const { homedir } = await import("os");
@@ -4265,7 +4279,7 @@ async function runInteractiveMenu(scope) {
4265
4279
  onCancel(action);
4266
4280
  switch (action) {
4267
4281
  case "all":
4268
- if (!await doInstallAll(manifest, paths))
4282
+ if (!await doInstallAll(manifest, paths, { scope: scope ?? "local" }))
4269
4283
  process.exitCode = 1;
4270
4284
  printPostInstallSteps();
4271
4285
  fe(process.exitCode ? "Instalación parcial." : "Listo.");
@@ -4291,6 +4305,11 @@ async function runInteractiveMenu(scope) {
4291
4305
  fe("Listo.");
4292
4306
  break;
4293
4307
  case "stack": {
4308
+ if ((scope ?? "local") === "global") {
4309
+ v2.warn("El stack (CodeGraph/Engram) es siempre local por proyecto. En scope global se omite; usá `npx ostacky install-stack --scope local` dentro del proyecto.");
4310
+ fe("Listo.");
4311
+ break;
4312
+ }
4294
4313
  ensureToolDirs(paths.tools, ["codegraph", "engram"]);
4295
4314
  const stackOk = await doInstallStack(paths.tools, dirname7(paths.root));
4296
4315
  if (!stackOk)
package/manifest.json CHANGED
@@ -1,29 +1,29 @@
1
1
  {
2
- "version": "0.9.7",
2
+ "version": "0.10.0",
3
3
  "repo": "JaimeHoracio/Ostacky",
4
- "tag": "v0.9.7",
4
+ "tag": "v0.10.0",
5
5
  "agents": [
6
6
  {
7
7
  "name": "ostacky",
8
8
  "file": "assets/agents/ostacky.md",
9
- "description": "Orquestador con recuperación automática (nunca se congela), ruteo por nivel de impacto, controller MCP con SDK oficial, edición segura con fallback inline, y delegación en OpenSpec + Superpowers. v0.9.7: prune de skills obsoletas, lastHandoff, getAvailableTransitions, consecutiveFailures real, mem_session_summary automático al cierre.",
10
- "version": "0.9.7",
11
- "sha256": "4481017881dadef3cabf516053d13930b5c948f879f8996fcb03ca5133073199"
9
+ "description": "Orquestador con recuperación automática (nunca se congela), ruteo por nivel de impacto, controller MCP con SDK oficial, edición segura con fallback inline, y delegación en OpenSpec + Superpowers. v0.10.0: prune de skills obsoletas, lastHandoff, getAvailableTransitions, consecutiveFailures real, mem_session_summary automático al cierre.",
10
+ "version": "0.10.0",
11
+ "sha256": "d092ac75eb83f56354e5accf479ae6f0309253077b7071b2cd93bcc959f9dc63"
12
12
  }
13
13
  ],
14
14
  "commands": [
15
15
  {
16
16
  "name": "install-stack",
17
17
  "file": "assets/commands/install-stack.md",
18
- "description": "Instala el stack tecnológico del proyecto (CodeGraph, skills, OpenSpec, Engram, controller plugin). v0.9.7: controller plugin como alma hard-gate, Context7 removido del stack.",
19
- "version": "0.9.7",
20
- "sha256": "0e1f52a236843fffbf166c1b381c52907abe19887e2472f667642ecbcb0f43a8"
18
+ "description": "Instala el stack tecnológico del proyecto (CodeGraph, skills, OpenSpec, Engram, controller plugin). v0.10.0: controller plugin como alma hard-gate, Context7 removido del stack.",
19
+ "version": "0.10.0",
20
+ "sha256": "2ed68d2451bfad3c142c943ca8cb4dba86616e6be8ef89f9af3849bcdc5d41c3"
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 sin inicializar CodeGraph si ya existe índice",
26
- "version": "0.9.7",
26
+ "version": "0.10.0",
27
27
  "sha256": "f883f9ad96f7d75778631d5cc13d8a1a9c3e6ec41396bbce8ce13cff2e66fca2"
28
28
  }
29
29
  ],
@@ -31,15 +31,15 @@
31
31
  {
32
32
  "name": "ostacky-controller",
33
33
  "file": "assets/mcp/ostacky-controller/",
34
- "description": "Máquina de estados persistida con @modelcontextprotocol/server SDK. v0.9.7: 22 tools (incluye set_handoff, get_handoff, clear_handoff, get_available_transitions funcional). Bugfixes: consecutiveFailures real, lastHandoff state, defaultChoice persistido. Robustez: degraded mode automático tras 3 fallos, persistence condicional para Nivel 0, prune de skills obsoletas.",
35
- "version": "0.9.7",
36
- "sha256": "41bfad0ddf21fac992c72e2a4e590445d075a5f8e8cb30a165728dff23a5d41a"
34
+ "description": "Máquina de estados persistida con @modelcontextprotocol/server SDK. v0.10.0: 22 tools (incluye set_handoff, get_handoff, clear_handoff, get_available_transitions funcional). Bugfixes: consecutiveFailures real, lastHandoff state, defaultChoice persistido. Robustez: degraded mode automático tras 3 fallos, persistence condicional para Nivel 0, prune de skills obsoletas.",
35
+ "version": "0.10.0",
36
+ "sha256": "9e6647f1540c21063d32bc3e163a7c0a379bbc1859416c3e7f55af39f2dd8e4e"
37
37
  },
38
38
  {
39
39
  "name": "openspec",
40
40
  "file": "assets/mcp/openspec/",
41
41
  "description": "MCP server local para OpenSpec - proposal, apply, archive, sync de cambios",
42
- "version": "0.9.7",
42
+ "version": "0.10.0",
43
43
  "sha256": "bdb283fe8ec2dfcba2ec4f38191f4039e58cd7ae12e44e66310783b42c827638"
44
44
  }
45
45
  ],
@@ -48,105 +48,105 @@
48
48
  "name": "brainstorming",
49
49
  "file": "assets/skills/brainstorming/SKILL.md",
50
50
  "description": "Skill unificado de pensamiento con dos modos: creative-design (producción de diseño → transición a implementación directa o openspec-propose) y open-exploration (exploración libre)",
51
- "version": "0.9.7",
51
+ "version": "0.10.0",
52
52
  "sha256": "f1013a86a8f27914d85a716e23c7fd32db1786d93615e8b0834b13d184308549"
53
53
  },
54
54
  {
55
55
  "name": "execution-mode-evaluation",
56
56
  "file": "assets/skills/execution-mode-evaluation/SKILL.md",
57
57
  "description": "Skill de análisis de modo de ejecución — output reconciliado con controller snapshot contract (recommendation field)",
58
- "version": "0.9.7",
58
+ "version": "0.10.0",
59
59
  "sha256": "2158a6864c0912e868a9d720db7fd79441e6cc298e3320833d2527c9727c852e"
60
60
  },
61
61
  {
62
62
  "name": "tdd",
63
63
  "file": "assets/skills/tdd/SKILL.md",
64
64
  "description": "Skill de test-driven development (Superpowers)",
65
- "version": "0.9.7",
65
+ "version": "0.10.0",
66
66
  "sha256": "f0ebfbbc43a8868d31a3fd2df37ae7f60fe8add09c6475862395a68269e5ff7f"
67
67
  },
68
68
  {
69
69
  "name": "subagent-driven-development",
70
70
  "file": "assets/skills/subagent-driven-development/SKILL.md",
71
71
  "description": "Skill de ejecución con subagentes (Superpowers) — ejecuta solo después de confirmación del coordinador Ostacky",
72
- "version": "0.9.7",
72
+ "version": "0.10.0",
73
73
  "sha256": "1a42d714a9a13faf05f0bf7b580e8d837c2e77a5633839542ccce603023419e8"
74
74
  },
75
75
  {
76
76
  "name": "dispatching-parallel-agents",
77
77
  "file": "assets/skills/dispatching-parallel-agents/SKILL.md",
78
78
  "description": "Skill de dispatch paralelo de agentes (Superpowers)",
79
- "version": "0.9.7",
79
+ "version": "0.10.0",
80
80
  "sha256": "7e7b712ef742d5631e302e6a71583e2bbbd33094da9281abfb84b43505fc3ef1"
81
81
  },
82
82
  {
83
83
  "name": "review",
84
84
  "file": "assets/skills/review/SKILL.md",
85
85
  "description": "Skill de revisión de código (Superpowers)",
86
- "version": "0.9.7",
86
+ "version": "0.10.0",
87
87
  "sha256": "b19650ed4d1d4d9857a4dd5b7e08e91328a1a1fc9c45bcc2fb600fa9d0213279"
88
88
  },
89
89
  {
90
90
  "name": "receiving-code-review",
91
91
  "file": "assets/skills/receiving-code-review/SKILL.md",
92
92
  "description": "Skill de recibir y procesar feedback de code review",
93
- "version": "0.9.7",
93
+ "version": "0.10.0",
94
94
  "sha256": "d761e884e71d8d3476ac734d287cae403a4024506a7d12e7361a448217c0a831"
95
95
  },
96
96
  {
97
97
  "name": "openspec-propose",
98
98
  "file": "assets/skills/openspec-propose/SKILL.md",
99
99
  "description": "Skill de generación de proposal (OpenSpec)",
100
- "version": "0.9.7",
100
+ "version": "0.10.0",
101
101
  "sha256": "6a517f750f24c008208156a2d653e97ed30b1e53878aeac5ce394e573db0678f"
102
102
  },
103
103
  {
104
104
  "name": "openspec-apply-change",
105
105
  "file": "assets/skills/openspec-apply-change/SKILL.md",
106
106
  "description": "Skill de aplicación de change (OpenSpec)",
107
- "version": "0.9.7",
107
+ "version": "0.10.0",
108
108
  "sha256": "dfc823bf89fc7505e91ab6dee9c1f004be38a410bd3d88fb67b211b1b6cbb1d0"
109
109
  },
110
110
  {
111
111
  "name": "openspec-archive-change",
112
112
  "file": "assets/skills/openspec-archive-change/SKILL.md",
113
113
  "description": "Skill de archivo de change (OpenSpec)",
114
- "version": "0.9.7",
114
+ "version": "0.10.0",
115
115
  "sha256": "16e4b561de7747283663fed602e506abf502452c49a8d4b86d7a5539c40f0195"
116
116
  },
117
117
  {
118
118
  "name": "openspec-explore",
119
119
  "file": "assets/skills/openspec-explore/SKILL.md",
120
120
  "description": "Modo explore para OpenSpec — thinking partner para explorar ideas, investigar problemas y clarificar requisitos antes/durante un cambio",
121
- "version": "0.9.7",
121
+ "version": "0.10.0",
122
122
  "sha256": "9eafc3a8c693b8d9916867ef764d49e5222da717fde501c957bb3f6c312d2415"
123
123
  },
124
124
  {
125
125
  "name": "using-git-worktrees",
126
126
  "file": "assets/skills/using-git-worktrees/SKILL.md",
127
127
  "description": "Skill de uso de git worktrees para aislamiento de trabajo",
128
- "version": "0.9.7",
128
+ "version": "0.10.0",
129
129
  "sha256": "93341bc1b7c053618a8b6dc07e3615b77990d7b549a0201f5835d95fef67ce13"
130
130
  },
131
131
  {
132
132
  "name": "using-superpowers",
133
133
  "file": "assets/skills/using-superpowers/SKILL.md",
134
134
  "description": "Skill de orquestación de Superpowers skills",
135
- "version": "0.9.7",
135
+ "version": "0.10.0",
136
136
  "sha256": "7e54536f96d2a379185a10bfc1e970850caa2561b6d8aca7080f0defea0381a4"
137
137
  },
138
138
  {
139
139
  "name": "writing-skills",
140
140
  "file": "assets/skills/writing-skills/SKILL.md",
141
141
  "description": "Skill de creación y edición de skills",
142
- "version": "0.9.7",
142
+ "version": "0.10.0",
143
143
  "sha256": "3d76b906cee518a2b809febb70db95697a35b9f368986bb504b4120c3bfb437a"
144
144
  },
145
145
  {
146
146
  "name": "graceful-degradation",
147
147
  "file": "assets/skills/graceful-degradation/SKILL.md",
148
148
  "description": "Skill de degradación graceful cuando múltiples tools están indisponibles",
149
- "version": "0.9.7",
149
+ "version": "0.10.0",
150
150
  "sha256": "363449bd9e6f800a0a3168667cf78f767fb105d86e4a4adadcc649d418139303"
151
151
  }
152
152
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ostacky",
3
- "version": "0.9.7",
3
+ "version": "0.10.0",
4
4
  "description": "Instalador interactivo de agentes y comandos para OpenCode",
5
5
  "type": "module",
6
6
  "bin": {