okstra 0.36.0 → 0.36.2

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.
Files changed (45) hide show
  1. package/README.kr.md +3 -5
  2. package/README.md +3 -5
  3. package/docs/project-structure-overview.md +2 -7
  4. package/docs/superpowers/plans/2026-05-24-implementation-lead-context-slimming.md +1700 -0
  5. package/package.json +1 -1
  6. package/runtime/BUILD.json +2 -2
  7. package/runtime/agents/SKILL.md +18 -5
  8. package/runtime/agents/workers/claude-worker.md +5 -6
  9. package/runtime/agents/workers/codex-worker.md +10 -9
  10. package/runtime/agents/workers/gemini-worker.md +7 -6
  11. package/runtime/agents/workers/report-writer-worker.md +13 -11
  12. package/runtime/prompts/launch.template.md +1 -0
  13. package/runtime/prompts/profiles/_implementation-deliverable.md +53 -0
  14. package/runtime/prompts/profiles/_implementation-executor.md +60 -0
  15. package/runtime/prompts/profiles/_implementation-verifier.md +76 -0
  16. package/runtime/prompts/profiles/implementation.md +27 -134
  17. package/runtime/python/okstra_ctl/paths.py +3 -0
  18. package/runtime/python/okstra_ctl/render.py +19 -5
  19. package/runtime/python/okstra_ctl/render_final_report.py +4 -1
  20. package/runtime/python/okstra_ctl/run.py +7 -1
  21. package/runtime/python/okstra_ctl/session.py +65 -7
  22. package/runtime/python/okstra_token_usage/report.py +6 -2
  23. package/runtime/skills/okstra-brief/SKILL.md +2 -211
  24. package/runtime/skills/okstra-inspect/SKILL.md +581 -0
  25. package/runtime/skills/okstra-run/SKILL.md +3 -3
  26. package/runtime/skills/okstra-schedule/SKILL.md +10 -153
  27. package/runtime/skills/okstra-setup/SKILL.md +1 -1
  28. package/runtime/skills/okstra-team-contract/SKILL.md +15 -106
  29. package/runtime/templates/reports/brief.template.md +204 -0
  30. package/runtime/templates/reports/schedule.template.md +12 -3
  31. package/runtime/templates/worker-prompt-preamble.md +108 -0
  32. package/src/uninstall.mjs +7 -3
  33. package/runtime/prompts/profiles/kr/_common-contract.md +0 -92
  34. package/runtime/prompts/profiles/kr/error-analysis.md +0 -36
  35. package/runtime/prompts/profiles/kr/final-verification.md +0 -48
  36. package/runtime/prompts/profiles/kr/implementation-planning.md +0 -90
  37. package/runtime/prompts/profiles/kr/implementation.md +0 -144
  38. package/runtime/prompts/profiles/kr/improvement-discovery.md +0 -42
  39. package/runtime/prompts/profiles/kr/release-handoff.md +0 -104
  40. package/runtime/prompts/profiles/kr/requirements-discovery.md +0 -42
  41. package/runtime/skills/okstra-history/SKILL.md +0 -165
  42. package/runtime/skills/okstra-logs/SKILL.md +0 -173
  43. package/runtime/skills/okstra-report-finder/SKILL.md +0 -111
  44. package/runtime/skills/okstra-status/SKILL.md +0 -246
  45. package/runtime/skills/okstra-time-summary/SKILL.md +0 -172
package/README.kr.md CHANGED
@@ -128,7 +128,7 @@ okstra install # 'npx -y okstra@latest install' 와 동일
128
128
 
129
129
  글로벌 설치는 Node CLI 를 PATH 에 등록할 뿐입니다. 런타임(`~/.okstra/`) 과 Claude 스킬(`~/.claude/skills/`) 은 여전히 `okstra install` 이 생성합니다 — `npm i -g` 에 포함되지 않습니다. 이후 업그레이드: `npm i -g okstra@latest && okstra install`. 글로벌 바이너리 제거: `npm uninstall -g okstra` (`~/.okstra/` 는 그대로; 그것까지 지우려면 `okstra uninstall`).
130
130
 
131
- **글로벌 설치 시 스킬 동작.** 모든 okstra 스킬은 PATH 에 잡힌 `okstra` 를 자동 감지하여 `npx -y okstra@latest` 대신 우선 사용합니다. 즉 글로벌 설치를 해두면 매 스킬 호출(`okstra-run`, `okstra-status`, `okstra-history`, `okstra-schedule`, `okstra-report-finder`, `okstra-time-summary`, `okstra-setup` Step 2 의 Step 0) 마다 npx 가 패키지 fetch / 버전 체크하던 비용이 사라집니다. 스킬이 본인이 설치한 버전을 그대로 쓰므로 **업그레이드 타이밍은 사용자가 통제** 합니다 — 더 이상 호출마다 `@latest` 가 강제되지 않습니다. 새 릴리스를 받으려면 원하는 시점에 `npm i -g okstra@latest && okstra install` 을 실행하세요. `okstra` 가 PATH 에 없으면 스킬은 자동으로 npx fallback 으로 동작하므로 글로벌 설치가 없는 환경에서도 변경 없이 그대로 동작합니다.
131
+ **글로벌 설치 시 스킬 동작.** 모든 okstra 스킬은 PATH 에 잡힌 `okstra` 를 자동 감지하여 `npx -y okstra@latest` 대신 우선 사용합니다. 즉 글로벌 설치를 해두면 매 스킬 호출(`okstra-run`, `okstra-inspect`, `okstra-schedule`, `okstra-setup` Step 2 의 Step 0) 마다 npx 가 패키지 fetch / 버전 체크하던 비용이 사라집니다. 스킬이 본인이 설치한 버전을 그대로 쓰므로 **업그레이드 타이밍은 사용자가 통제** 합니다 — 더 이상 호출마다 `@latest` 가 강제되지 않습니다. 새 릴리스를 받으려면 원하는 시점에 `npm i -g okstra@latest && okstra install` 을 실행하세요. `okstra` 가 PATH 에 없으면 스킬은 자동으로 npx fallback 으로 동작하므로 글로벌 설치가 없는 환경에서도 변경 없이 그대로 동작합니다.
132
132
 
133
133
  ### 3.2 프로젝트 등록 (프로젝트당 1회)
134
134
 
@@ -155,13 +155,11 @@ Claude Code 세션 안에서 사용하는 슬래시 커맨드:
155
155
  |---|---|
156
156
  | `/okstra-brief` | ticket, 요구사항 문서, 링크, 대화 내용을 `okstra-run`용 task brief로 변환 |
157
157
  | `/okstra-run` | 새 task 시작 (또는 기존 task 의 다음 phase 이어가기) |
158
- | `/okstra-status` | phase / 상태 조회, task workStatus 설정 |
159
- | `/okstra-history` | 과거 task 목록, 이어할 task 선택 |
158
+ | `/okstra-inspect` | 통합 read-side 스킬. sub-command: `status` (phase / 상태, workStatus 설정), `history` (과거 task / re-run / resume), `report` (final-report 조회·읽기), `time` (소요 시간 breakdown), `logs` (wrapper log sidecar 조회·정리 제안) |
160
159
  | `/okstra-schedule` | task-group 전체에 대한 작업 계획표 생성 |
161
160
  | `/okstra-setup` | 프로젝트별 부트스트랩 (§3.2) |
162
- | `/okstra-logs` | worker wrapper log sidecar를 조회하고 cleanup 명령을 제안하되 직접 실행하지 않음 |
163
161
 
164
- 이 외에 `okstra-context-loader`, `okstra-team-contract`, `okstra-convergence`, `okstra-report-writer`, `okstra-time-summary`, `okstra-report-finder` 6종은 `user-invocable: false` 로 표시되어 슬래시 커맨드로 노출되지 않습니다. lead 또는 Claude 가 자연어 트리거(예: "이 task 얼마나 걸렸어?" → `okstra-time-summary`, "보고서 찾아줘" → `okstra-report-finder`)나 okstra phase 흐름에 따라 자동 호출합니다.
162
+ 이 외에 `okstra-context-loader`, `okstra-team-contract`, `okstra-convergence`, `okstra-report-writer` 4종은 `user-invocable: false` 로 표시되어 슬래시 커맨드로 노출되지 않습니다. lead 또는 Claude 가 자연어 트리거나 okstra phase 흐름에 따라 자동 호출합니다.
165
163
 
166
164
  ### 3.4 CLI 모드 (선택)
167
165
 
package/README.md CHANGED
@@ -127,7 +127,7 @@ okstra install # same as 'npx -y okstra@latest install'
127
127
 
128
128
  The global install only registers the Node CLI on your PATH. The runtime (`~/.okstra/`) and the Claude skills (`~/.claude/skills/`) are still provisioned by `okstra install` — they are not part of `npm i -g`. To upgrade later: `npm i -g okstra@latest && okstra install`. To remove the global binary: `npm uninstall -g okstra` (leaves `~/.okstra/` untouched; remove that with `okstra uninstall`).
129
129
 
130
- **Skill behaviour with a global install.** All okstra skills auto-detect a PATH-resolved `okstra` and prefer it over `npx -y okstra@latest`. That means a global install removes the per-call npx fetch / version-check from every skill invocation (Step 0 of `okstra-run`, `okstra-status`, `okstra-history`, `okstra-schedule`, `okstra-report-finder`, `okstra-time-summary`, `okstra-setup` Step 2). Since the skill uses your globally installed version directly, *you* control upgrade timing — `@latest` is no longer forced on each call. Run `npm i -g okstra@latest && okstra install` whenever you want to pull a new release. If `okstra` is not on PATH the skill silently falls back to npx, so machines without a global install keep working unchanged.
130
+ **Skill behaviour with a global install.** All okstra skills auto-detect a PATH-resolved `okstra` and prefer it over `npx -y okstra@latest`. That means a global install removes the per-call npx fetch / version-check from every skill invocation (Step 0 of `okstra-run`, `okstra-inspect`, `okstra-schedule`, `okstra-setup` Step 2). Since the skill uses your globally installed version directly, *you* control upgrade timing — `@latest` is no longer forced on each call. Run `npm i -g okstra@latest && okstra install` whenever you want to pull a new release. If `okstra` is not on PATH the skill silently falls back to npx, so machines without a global install keep working unchanged.
131
131
 
132
132
  ### 3.2 Register a project (once per project)
133
133
 
@@ -154,13 +154,11 @@ User-facing slash commands inside a Claude Code session:
154
154
  |---|---|
155
155
  | `/okstra-brief` | Turn a ticket, requirements doc, link, or conversation into an `okstra-run` task brief |
156
156
  | `/okstra-run` | Start a new task (or resume the next phase of an existing one) |
157
- | `/okstra-status` | Phase / state overview, or set a task's workStatus |
158
- | `/okstra-history` | List past tasks, choose what to resume |
157
+ | `/okstra-inspect` | Unified read-side. Sub-commands: `status` (phase / state, workStatus update), `history` (past runs, re-run, resume), `report` (find/read final-report), `time` (elapsed-time breakdown), `logs` (wrapper log sidecar inventory + cleanup) |
159
158
  | `/okstra-schedule` | Generate a work schedule for an entire task-group |
160
159
  | `/okstra-setup` | Per-project bootstrap (§3.2) |
161
- | `/okstra-logs` | Inspect worker wrapper log sidecars and print cleanup commands without executing them |
162
160
 
163
- Six support skills — `okstra-context-loader`, `okstra-team-contract`, `okstra-convergence`, `okstra-report-writer`, `okstra-time-summary`, `okstra-report-finder` — are marked `user-invocable: false` and do not appear as slash commands. Claude still invokes them automatically via natural-language triggers or okstra phase flow (e.g. "이 task 얼마나 걸렸어?" routes to `okstra-time-summary`; "show me the report for X" routes to `okstra-report-finder`).
161
+ Four support skills — `okstra-context-loader`, `okstra-team-contract`, `okstra-convergence`, `okstra-report-writer` — are marked `user-invocable: false` and do not appear as slash commands. Claude still invokes them automatically via natural-language triggers or okstra phase flow.
164
162
 
165
163
  ### 3.4 CLI mode (optional)
166
164
 
@@ -212,8 +212,7 @@ Token/cost accounting:
212
212
  |---|---|
213
213
  | `launch.template.md` | Lead prompt template rendered for each run |
214
214
  | `profiles/_common-contract.md` | Shared phase contract |
215
- | `profiles/<task-type>.md` | English phase profiles |
216
- | `profiles/kr/<task-type>.md` | Korean phase profile mirrors |
215
+ | `profiles/<task-type>.md` | Phase profiles (single language — runtime always loads from `profiles/`, never a translated mirror) |
217
216
  | `wizard/prompts.ko.json` | Korean wizard prompt single source of truth |
218
217
 
219
218
  ### 4.7 `templates/`
@@ -252,17 +251,13 @@ Token/cost accounting:
252
251
  |---|---:|---|
253
252
  | `okstra-brief` | yes | Produce task brief from ticket/doc/link/conversation |
254
253
  | `okstra-run` | yes | Start/resume okstra task in current Claude Code session |
255
- | `okstra-status` | yes | Inspect/update task lifecycle state |
256
- | `okstra-history` | yes | List previous runs and choose resume points |
254
+ | `okstra-inspect` | yes | Unified read-side — sub-commands `status` (lifecycle + workStatus), `history` (past runs / re-run / resume), `report` (find final-report), `time` (elapsed-time breakdown), `logs` (wrapper log inventory + cleanup) |
257
255
  | `okstra-schedule` | yes | Generate task-group schedule |
258
256
  | `okstra-setup` | yes | Install/check runtime and register project |
259
- | `okstra-logs` | yes | Inspect wrapper log sidecars; suggest cleanup commands |
260
257
  | `okstra-context-loader` | no | Load task bundle paths/manifests for phase start |
261
258
  | `okstra-team-contract` | no | Worker roster/model/rule contract |
262
259
  | `okstra-convergence` | no | Cross-worker convergence and plan-body verification |
263
260
  | `okstra-report-writer` | no | Final report data.json authoring flow |
264
- | `okstra-report-finder` | no | Locate/read previous reports |
265
- | `okstra-time-summary` | no | Duration/time breakdown |
266
261
 
267
262
  ### 4.11 `agents/`
268
263