ostacky 0.6.3 → 0.7.1
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 +9 -10
- package/assets/agents/ostacky.md +244 -62
- package/assets/commands/install-stack.md +62 -5
- package/assets/mcp/ostacky-controller/index.js +1377 -989
- package/assets/mcp/ostacky-controller/package.json +1 -1
- package/assets/skills/brainstorming/SKILL.md +8 -8
- package/assets/skills/execution-mode-evaluation/SKILL.md +8 -8
- package/assets/skills/graceful-degradation/SKILL.md +3 -3
- package/assets/skills/openspec-apply-change/SKILL.md +3 -3
- package/assets/skills/openspec-propose/SKILL.md +2 -2
- package/assets/skills/review/SKILL.md +2 -2
- package/assets/skills/subagent-driven-development/SKILL.md +8 -8
- package/dist/cli.js +142 -67
- package/manifest.json +36 -43
- package/package.json +1 -1
- package/assets/skills/writing-plans/SKILL.md +0 -149
|
@@ -9,7 +9,7 @@ A thinking partner that adapts to what the user needs: structured design when th
|
|
|
9
9
|
|
|
10
10
|
**Follow Core Instructions** — `ostacky.md` Core Instructions section for CodeGraph and Engram usage patterns.
|
|
11
11
|
|
|
12
|
-
**IMPORTANT:** Engram is an **MCP server**, not a skill. Tools `
|
|
12
|
+
**IMPORTANT:** Engram is an **MCP server**, not a skill. Tools `engram_mem_save`, `engram_mem_search`, `engram_mem_context` are MCP tools. Do NOT use `skill("engram")` — it doesn't exist.
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -35,29 +35,29 @@ Do NOT invoke any implementation skill, write any code, or scaffold any project
|
|
|
35
35
|
|
|
36
36
|
### Process
|
|
37
37
|
|
|
38
|
-
1. **Check Engram** — `
|
|
39
|
-
2. **Explore via CodeGraph** — `
|
|
38
|
+
1. **Check Engram** — `engram_mem_search` with keywords from the user's idea. Surface any prior design decisions or similar proposals.
|
|
39
|
+
2. **Explore via CodeGraph** — `codegraph_codegraph_explore` on the affected area. Only `Read` files CodeGraph didn't cover.
|
|
40
40
|
3. **Ask clarifying questions** — one at a time, understand purpose/constraints/success criteria
|
|
41
41
|
4. **Propose 2-3 approaches** — with trade-offs and your recommendation
|
|
42
42
|
5. **Present design** — in sections scaled to complexity, get user approval after each section
|
|
43
43
|
6. **Write design doc** — save to `docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md` and commit
|
|
44
44
|
7. **Spec self-review** — check for placeholders, contradictions, ambiguity, scope
|
|
45
45
|
8. **User reviews spec** — ask user to review before proceeding
|
|
46
|
-
9. **Save to Engram** — `
|
|
46
|
+
9. **Save to Engram** — `engram_mem_save` with the design decision and tradeoffs
|
|
47
47
|
10. **Transition** — based on routing decision (see Transition Rules below)
|
|
48
48
|
|
|
49
49
|
### Transition Rules
|
|
50
50
|
|
|
51
51
|
The next step depends on how the change was routed by Ostacky:
|
|
52
52
|
|
|
53
|
-
| Routing | Next
|
|
54
|
-
|
|
55
|
-
| **DIRECT** (Level 0/0+1) |
|
|
53
|
+
| Routing | Next Step | When |
|
|
54
|
+
|---------|-----------|------|
|
|
55
|
+
| **DIRECT** (Level 0/0+1) | **Implementación directa** (con gate de confirmación del usuario) | Small changes, no OpenSpec |
|
|
56
56
|
| **SPEC** (Level 1+) | `openspec-propose` | Complex changes requiring OpenSpec artifacts |
|
|
57
57
|
|
|
58
58
|
If you're unsure about routing, ask Ostacky or check the controller state.
|
|
59
59
|
|
|
60
|
-
**Terminal state:**
|
|
60
|
+
**Terminal state:** For DIRECT, present the design and get user approval before proceeding to implementation. For SPEC, invoke `openspec-propose`. Do NOT invoke implementation skills directly.
|
|
61
61
|
|
|
62
62
|
### Design Principles
|
|
63
63
|
|
|
@@ -8,7 +8,7 @@ metadata:
|
|
|
8
8
|
version: "2.0"
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
**IMPORTANT:** Engram is an **MCP server**, not a skill. Tools `
|
|
11
|
+
**IMPORTANT:** Engram is an **MCP server**, not a skill. Tools `engram_mem_save`, `engram_mem_search`, `engram_mem_context` are MCP tools. Do NOT use `skill("engram")` — it doesn't exist.
|
|
12
12
|
|
|
13
13
|
# Skill: execution-mode-evaluation
|
|
14
14
|
|
|
@@ -19,19 +19,19 @@ Determinar el modo de ejecución óptimo entre **inline** y **subagent-driven**
|
|
|
19
19
|
| Dato | Fuente | Obligatorio |
|
|
20
20
|
|------|--------|-------------|
|
|
21
21
|
| Tasks del change | `tasks.md` del cambio activo | ✅ |
|
|
22
|
-
| Archivos que modifica cada task | `
|
|
23
|
-
| Blast radius por símbolo | `
|
|
22
|
+
| Archivos que modifica cada task | `codegraph_codegraph_explore` o lectura directa | ✅ |
|
|
23
|
+
| Blast radius por símbolo | `codegraph_codegraph_impact` | Para alta precisión |
|
|
24
24
|
| Contratos entre tasks | `design.md` | Para evaluar dependencias |
|
|
25
25
|
|
|
26
26
|
## Procedimiento
|
|
27
27
|
|
|
28
28
|
### Paso 0: Verificar datos existentes en contexto
|
|
29
29
|
|
|
30
|
-
Si ya tenés output de `
|
|
30
|
+
Si ya tenés output de `codegraph_codegraph_explore` para el área del cambio **Y** ese output distingue archivos por task → **saltá al Paso 0.5**. Si no, ejecutá el Paso 1.
|
|
31
31
|
|
|
32
32
|
### Paso 0.1: Consultar Engram por decisiones previas
|
|
33
33
|
|
|
34
|
-
`
|
|
34
|
+
`engram_mem_search` con keywords del cambio (nombre del módulo, área afectada). Si existe una decisión de modo de ejecución anterior para un cambio similar, considerarla como referencia — no como vinculante. Las condiciones pueden haber cambiado.
|
|
35
35
|
|
|
36
36
|
### Paso 0.5: Early exit para cambios pequeños
|
|
37
37
|
|
|
@@ -51,7 +51,7 @@ Si el change tiene **≤2 tasks** Y **no comparten archivos entre sí** → devo
|
|
|
51
51
|
### Paso 1: Obtener datos de CodeGraph
|
|
52
52
|
|
|
53
53
|
```
|
|
54
|
-
|
|
54
|
+
codegraph_codegraph_explore con query: "<área del cambio>"
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
Si el output es muy general → `codegraph_impact` sobre símbolos centrales para blast radius preciso.
|
|
@@ -110,7 +110,7 @@ Para cada fase de `tasks.md`, evaluar intra-fase:
|
|
|
110
110
|
{
|
|
111
111
|
"recommendation": "INLINE" | "SUBAGENT_DRIVEN",
|
|
112
112
|
"reasons": ["razón principal", "razón secundaria"],
|
|
113
|
-
"codegraphUsed": ["
|
|
113
|
+
"codegraphUsed": ["codegraph_codegraph_explore"],
|
|
114
114
|
"taskCount": <N>,
|
|
115
115
|
"sharedFiles": { "src/archivo.ts": ["task1", "task2"] },
|
|
116
116
|
"fileClusters": [["task1", "task2"], ["task3"]],
|
|
@@ -178,7 +178,7 @@ Para cada fase de `tasks.md`, evaluar intra-fase:
|
|
|
178
178
|
|
|
179
179
|
## Checklist
|
|
180
180
|
|
|
181
|
-
- [ ] Ejecuté `
|
|
181
|
+
- [ ] Ejecuté `codegraph_codegraph_explore` (o verifiqué datos existentes)?
|
|
182
182
|
- [ ] Construí mapa de dependencias con `fileClusters`?
|
|
183
183
|
- [ ] Identifiqué clusters (componentes conectados)?
|
|
184
184
|
- [ ] Verifiqué deps ENTRE clusters (no solo intra)?
|
|
@@ -9,7 +9,7 @@ When critical tools are unavailable, this skill provides a systematic approach t
|
|
|
9
9
|
|
|
10
10
|
**Follow Core Instructions** — `ostacky.md` Core Instructions section for CodeGraph and Engram usage patterns.
|
|
11
11
|
|
|
12
|
-
**IMPORTANT:** Engram is an **MCP server**, not a skill. Tools `
|
|
12
|
+
**IMPORTANT:** Engram is an **MCP server**, not a skill. Tools `engram_mem_save`, `engram_mem_search`, `engram_mem_context` are MCP tools. Do NOT use `skill("engram")` — it doesn't exist.
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -45,7 +45,7 @@ Switch to basic mode with manual workflows.
|
|
|
45
45
|
|
|
46
46
|
**Workflow:**
|
|
47
47
|
```
|
|
48
|
-
1.
|
|
48
|
+
1. engram_mem_search for related analysis (if Engram available)
|
|
49
49
|
2. Use Glob to find relevant files: **/*.ts, src/**/*.ts
|
|
50
50
|
3. Read files manually to understand structure
|
|
51
51
|
4. Proceed with caution — no blast radius analysis
|
|
@@ -209,7 +209,7 @@ Voy a usar Engram para buscar análisis previos y luego leer archivos manualment
|
|
|
209
209
|
|
|
210
210
|
User: Sí
|
|
211
211
|
|
|
212
|
-
Agent: [Uses
|
|
212
|
+
Agent: [Uses engram_mem_search to find related analysis]
|
|
213
213
|
[Uses Glob to find relevant files]
|
|
214
214
|
[Reads files manually]
|
|
215
215
|
[Proceeds with task]
|
|
@@ -9,7 +9,7 @@ metadata:
|
|
|
9
9
|
generatedBy: "1.3.1"
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
-
**IMPORTANT:** Engram is an **MCP server**, not a skill. Tools `
|
|
12
|
+
**IMPORTANT:** Engram is an **MCP server**, not a skill. Tools `engram_mem_save`, `engram_mem_search`, `engram_mem_context` are MCP tools. Do NOT use `skill("engram")` — it doesn't exist.
|
|
13
13
|
|
|
14
14
|
Implement tasks from an OpenSpec change.
|
|
15
15
|
|
|
@@ -19,7 +19,7 @@ Implement tasks from an OpenSpec change.
|
|
|
19
19
|
|
|
20
20
|
1. **Check Engram for past implementation patterns**
|
|
21
21
|
|
|
22
|
-
Before implementing, `
|
|
22
|
+
Before implementing, `engram_mem_search` with keywords from the change name and affected modules. Look for:
|
|
23
23
|
- Similar changes implemented before (approaches that worked or failed)
|
|
24
24
|
- Known gotchas or edge cases in related areas
|
|
25
25
|
- Model selection patterns for similar task complexity
|
|
@@ -62,7 +62,7 @@ Implement tasks from an OpenSpec change.
|
|
|
62
62
|
|
|
63
63
|
5. **Read context files**
|
|
64
64
|
|
|
65
|
-
Use **CodeGraph** (`
|
|
65
|
+
Use **CodeGraph** (`codegraph_codegraph_explore`) to understand the code structure before reading files directly. Then read every file path listed under `contextFiles` from the apply instructions output.
|
|
66
66
|
The files depend on the schema being used:
|
|
67
67
|
- **spec-driven**: proposal, specs, design, tasks
|
|
68
68
|
- Other schemas: follow the contextFiles from CLI output
|
|
@@ -9,7 +9,7 @@ metadata:
|
|
|
9
9
|
generatedBy: "1.3.1"
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
-
**IMPORTANT:** Engram is an **MCP server**, not a skill. Tools `
|
|
12
|
+
**IMPORTANT:** Engram is an **MCP server**, not a skill. Tools `engram_mem_save`, `engram_mem_search`, `engram_mem_context` are MCP tools. Do NOT use `skill("engram")` — it doesn't exist.
|
|
13
13
|
|
|
14
14
|
Propose a new change - create the change and generate all artifacts in one step.
|
|
15
15
|
|
|
@@ -26,7 +26,7 @@ When ready to implement, run /opsx-apply
|
|
|
26
26
|
|
|
27
27
|
**Steps**
|
|
28
28
|
|
|
29
|
-
1. **Check Engram for similar changes** — `
|
|
29
|
+
1. **Check Engram for similar changes** — `engram_mem_search` with keywords from the user's description. If a similar change was proposed or implemented before, surface it to the user. They may want to extend the existing work instead of starting fresh.
|
|
30
30
|
|
|
31
31
|
2. **If no clear input provided, ask what they want to build**
|
|
32
32
|
|
|
@@ -52,8 +52,8 @@ After obtaining the diff, if it is empty, inform the user that there are no chan
|
|
|
52
52
|
|
|
53
53
|
Before analyzing the diff:
|
|
54
54
|
|
|
55
|
-
1. **Follow Core Instructions** — `ostacky.md` Core Instructions section for CodeGraph usage patterns. Use `
|
|
56
|
-
2. **Use CodeGraph for code understanding** — `
|
|
55
|
+
1. **Follow Core Instructions** — `ostacky.md` Core Instructions section for CodeGraph usage patterns. Use `codegraph_codegraph_explore` to understand the code structure before reading files directly.
|
|
56
|
+
2. **Use CodeGraph for code understanding** — `codegraph_codegraph_explore` on the changed symbols gives you call paths, blast radius, and related code in ONE call. Only `Read` files for details CodeGraph didn't cover.
|
|
57
57
|
3. **Read changed files for full context** — After CodeGraph exploration, read each modified file to understand the surrounding code, imports, types, and control flow.
|
|
58
58
|
4. **Identify the tech stack** — Note languages, frameworks, and libraries in use. This affects what patterns are risky.
|
|
59
59
|
5. **Check for related test files** — For each changed source file, look for corresponding test files. Note whether tests were updated alongside the changes.
|
|
@@ -5,14 +5,14 @@ description: Use when Ostacky has confirmed subagent-driven execution mode and d
|
|
|
5
5
|
|
|
6
6
|
# Subagent-Driven Development
|
|
7
7
|
|
|
8
|
-
**IMPORTANT:** Engram is an **MCP server**, not a skill. Tools `
|
|
8
|
+
**IMPORTANT:** Engram is an **MCP server**, not a skill. Tools `engram_mem_save`, `engram_mem_search`, `engram_mem_context` are MCP tools. Do NOT use `skill("engram")` — it doesn't exist.
|
|
9
9
|
|
|
10
10
|
**Prerequisite:** This skill runs AFTER the coordinator (Ostacky) has:
|
|
11
11
|
1. Performed execution analysis (via `execution-mode-evaluation` skill)
|
|
12
12
|
2. Presented evidence and recommendation to the user
|
|
13
13
|
3. Received explicit user confirmation for subagent-driven mode
|
|
14
|
-
4. Called `
|
|
15
|
-
5. Checked Engram (`
|
|
14
|
+
4. Called `ostacky-controller_consume_execution_decision({ mode: "SUBAGENT_DRIVEN" })`
|
|
15
|
+
5. Checked Engram (`engram_mem_search`) for past subagent execution patterns on similar changes — if a previous approach failed, avoid repeating it
|
|
16
16
|
|
|
17
17
|
Subagents are execution-only. They never create routing decisions, re-analyze execution mode, or duplicate discovery that the coordinator already resolved.
|
|
18
18
|
|
|
@@ -32,7 +32,7 @@ digraph when_to_use {
|
|
|
32
32
|
"Tasks mostly independent?" [shape=diamond];
|
|
33
33
|
"Stay in this session?" [shape=diamond];
|
|
34
34
|
"subagent-driven-development" [shape=box];
|
|
35
|
-
"
|
|
35
|
+
"Inline execution" [shape=box];
|
|
36
36
|
"Manual execution or brainstorm first" [shape=box];
|
|
37
37
|
|
|
38
38
|
"Have implementation plan?" -> "Tasks mostly independent?" [label="yes"];
|
|
@@ -40,11 +40,11 @@ digraph when_to_use {
|
|
|
40
40
|
"Tasks mostly independent?" -> "Stay in this session?" [label="yes"];
|
|
41
41
|
"Tasks mostly independent?" -> "Manual execution or brainstorm first" [label="no - tightly coupled"];
|
|
42
42
|
"Stay in this session?" -> "subagent-driven-development" [label="yes"];
|
|
43
|
-
"Stay in this session?" -> "
|
|
43
|
+
"Stay in this session?" -> "Inline execution" [label="no - parallel session"];
|
|
44
44
|
}
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
**vs.
|
|
47
|
+
**vs. Inline execution (parallel session):**
|
|
48
48
|
- Same session (no context switch)
|
|
49
49
|
- Fresh subagent per task (no context pollution)
|
|
50
50
|
- Two-stage review after each task: spec compliance first, then code quality
|
|
@@ -56,7 +56,7 @@ digraph when_to_use {
|
|
|
56
56
|
|
|
57
57
|
When constructing the context package for each subagent:
|
|
58
58
|
|
|
59
|
-
1. Use `
|
|
59
|
+
1. Use `codegraph_codegraph_explore` to get the verbatim source of relevant symbols, their call paths, and blast radius — in ONE call.
|
|
60
60
|
2. Only use `Read` for files or details CodeGraph didn't cover.
|
|
61
61
|
3. Include the CodeGraph output in the subagent's context package so they have structural understanding without needing to re-explore.
|
|
62
62
|
|
|
@@ -292,7 +292,7 @@ Done!
|
|
|
292
292
|
|
|
293
293
|
**Related workflow skills:**
|
|
294
294
|
- **using-git-worktrees** - Ensures isolated workspace (creates one or verifies existing)
|
|
295
|
-
- **
|
|
295
|
+
- **brainstorming** - Produces design that feeds into implementation (DIRECT) or OpenSpec (SPEC)
|
|
296
296
|
- **review** - Code review template for reviewer subagents
|
|
297
297
|
|
|
298
298
|
**Subagents should use:**
|