owflow 0.5.0 → 0.7.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.
Files changed (195) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +448 -261
  3. package/dist/agents/bottleneck-analyzer.md +332 -329
  4. package/dist/agents/code-quality-pragmatist.md +353 -354
  5. package/dist/agents/code-reviewer.md +238 -239
  6. package/dist/agents/codebase-analysis-reporter.md +245 -246
  7. package/dist/agents/docs-operator.md +22 -23
  8. package/dist/agents/e2e-test-verifier.md +447 -448
  9. package/dist/agents/gap-analyzer.md +501 -502
  10. package/dist/agents/implementation-completeness-checker.md +219 -220
  11. package/dist/agents/implementation-planner.md +308 -309
  12. package/dist/agents/information-gatherer.md +690 -691
  13. package/dist/agents/production-readiness-checker.md +278 -279
  14. package/dist/agents/project-analyzer.md +403 -403
  15. package/dist/agents/reality-assessor.md +365 -366
  16. package/dist/agents/research-planner.md +449 -450
  17. package/dist/agents/research-synthesizer.md +402 -403
  18. package/dist/agents/solution-brainstormer.md +256 -257
  19. package/dist/agents/solution-designer.md +371 -372
  20. package/dist/agents/spec-auditor.md +297 -298
  21. package/dist/agents/specification-creator.md +333 -334
  22. package/dist/agents/task-classifier.md +449 -450
  23. package/dist/agents/task-group-implementer.md +283 -284
  24. package/dist/agents/test-suite-runner.md +194 -195
  25. package/dist/agents/user-docs-generator.md +508 -509
  26. package/dist/commands/reviews-code.md +90 -90
  27. package/dist/commands/reviews-pragmatic.md +99 -99
  28. package/dist/commands/reviews-production-readiness.md +113 -113
  29. package/dist/commands/reviews-reality-check.md +110 -110
  30. package/dist/commands/reviews-spec-audit.md +114 -114
  31. package/dist/commands/work.md +280 -280
  32. package/dist/configuration/agents-config.d.ts +2 -0
  33. package/dist/configuration/agents-config.js +8 -44
  34. package/dist/configuration/commands-config.d.ts +23 -0
  35. package/dist/configuration/commands-config.js +17 -17
  36. package/dist/configuration/skills-config.d.ts +2 -0
  37. package/dist/configuration/skills-config.js +3 -3
  38. package/dist/hooks/hooks-diagnostics.d.ts +3 -0
  39. package/dist/hooks/hooks-diagnostics.js +21 -0
  40. package/dist/hooks/hooks-persistence.d.ts +17 -0
  41. package/dist/hooks/hooks-persistence.js +207 -0
  42. package/dist/hooks/hooks-registry.d.ts +6 -0
  43. package/dist/hooks/hooks-registry.js +104 -0
  44. package/dist/hooks/hooks-wrapper.d.ts +25 -0
  45. package/dist/hooks/hooks-wrapper.js +318 -0
  46. package/dist/hooks/internal/before-tool.d.ts +6 -0
  47. package/dist/hooks/internal/before-tool.js +13 -0
  48. package/dist/hooks/internal/session-compaction.d.ts +9 -0
  49. package/dist/hooks/{session-compaction.js → internal/session-compaction.js} +9 -7
  50. package/dist/hooks/runtime/circuit-breaker.d.ts +23 -0
  51. package/dist/hooks/runtime/circuit-breaker.js +39 -0
  52. package/dist/hooks/runtime/failure-policy.d.ts +15 -0
  53. package/dist/hooks/runtime/failure-policy.js +49 -0
  54. package/dist/hooks/runtime/process-executor.d.ts +33 -0
  55. package/dist/hooks/runtime/process-executor.js +147 -0
  56. package/dist/hooks/runtime/status-recorder.d.ts +27 -0
  57. package/dist/hooks/runtime/status-recorder.js +111 -0
  58. package/dist/index.d.ts +7 -0
  59. package/dist/index.js +111 -40
  60. package/dist/skills/agents-md-generator/SKILL.md +223 -223
  61. package/dist/skills/codebase-analyzer/SKILL.md +162 -162
  62. package/dist/skills/codebase-analyzer/references/code-analysis.md +63 -63
  63. package/dist/skills/codebase-analyzer/references/combined.md +31 -31
  64. package/dist/skills/codebase-analyzer/references/context-discovery.md +63 -63
  65. package/dist/skills/codebase-analyzer/references/file-discovery.md +51 -51
  66. package/dist/skills/codebase-analyzer/references/migration-target.md +23 -23
  67. package/dist/skills/codebase-analyzer/references/pattern-mining.md +22 -22
  68. package/dist/skills/dev-analyze/SKILL.md +115 -115
  69. package/dist/skills/dev-bugfix/SKILL.md +452 -452
  70. package/dist/skills/dev-finalize/SKILL.md +118 -118
  71. package/dist/skills/dev-implement/SKILL.md +167 -167
  72. package/dist/skills/dev-plan/SKILL.md +147 -147
  73. package/dist/skills/dev-spec/SKILL.md +182 -182
  74. package/dist/skills/dev-tdd-red/SKILL.md +94 -94
  75. package/dist/skills/dev-verify/SKILL.md +153 -153
  76. package/dist/skills/development/SKILL.md +260 -260
  77. package/dist/skills/diagrams-mermaid/SKILL.md +183 -159
  78. package/dist/skills/diagrams-mermaid/references/reference.md +220 -148
  79. package/dist/skills/docs-manager/SKILL.md +379 -379
  80. package/dist/skills/docs-manager/docs/INDEX.md +199 -199
  81. package/dist/skills/docs-manager/docs/standards/backend/api.md +25 -25
  82. package/dist/skills/docs-manager/docs/standards/backend/migrations.md +22 -22
  83. package/dist/skills/docs-manager/docs/standards/backend/models.md +25 -25
  84. package/dist/skills/docs-manager/docs/standards/backend/queries.md +22 -22
  85. package/dist/skills/docs-manager/docs/standards/frontend/accessibility.md +25 -25
  86. package/dist/skills/docs-manager/docs/standards/frontend/components.md +28 -28
  87. package/dist/skills/docs-manager/docs/standards/frontend/css.md +16 -16
  88. package/dist/skills/docs-manager/docs/standards/frontend/responsive.md +28 -28
  89. package/dist/skills/docs-manager/docs/standards/global/coding-style.md +25 -25
  90. package/dist/skills/docs-manager/docs/standards/global/commenting.md +10 -10
  91. package/dist/skills/docs-manager/docs/standards/global/conventions.md +31 -31
  92. package/dist/skills/docs-manager/docs/standards/global/error-handling.md +22 -22
  93. package/dist/skills/docs-manager/docs/standards/global/minimal-implementation.md +22 -22
  94. package/dist/skills/docs-manager/docs/standards/global/validation.md +28 -28
  95. package/dist/skills/docs-manager/docs/standards/testing/test-writing.md +25 -25
  96. package/dist/skills/docs-manager/references/agents-md-template.md +29 -29
  97. package/dist/skills/docs-manager/references/index-md-template.md +73 -73
  98. package/dist/skills/flow-init/SKILL.md +234 -234
  99. package/dist/skills/flow-init/references/architecture-template.md +45 -45
  100. package/dist/skills/flow-init/references/roadmap-templates.md +93 -93
  101. package/dist/skills/flow-init/references/tech-stack-template.md +70 -70
  102. package/dist/skills/flow-init/references/vision-templates.md +75 -75
  103. package/dist/skills/goal-development/SKILL.md +96 -96
  104. package/dist/skills/goal-migration/SKILL.md +114 -114
  105. package/dist/skills/goal-performance/SKILL.md +126 -0
  106. package/dist/skills/goal-research/SKILL.md +118 -118
  107. package/dist/skills/html-renderer/SKILL.md +173 -173
  108. package/dist/skills/html-renderer/references/index.html +318 -318
  109. package/dist/skills/html-renderer/references/styles.css +388 -388
  110. package/dist/skills/html-renderer/references/tokens.json +104 -104
  111. package/dist/skills/implementation-plan-executor/SKILL.md +378 -378
  112. package/dist/skills/implementation-verifier/SKILL.md +307 -307
  113. package/dist/skills/migration/SKILL.md +268 -268
  114. package/dist/skills/migration-analyze/SKILL.md +126 -126
  115. package/dist/skills/migration-finalize/SKILL.md +161 -161
  116. package/dist/skills/migration-fix/SKILL.md +155 -155
  117. package/dist/skills/migration-implement/SKILL.md +131 -131
  118. package/dist/skills/migration-plan/SKILL.md +131 -131
  119. package/dist/skills/migration-spec/SKILL.md +135 -135
  120. package/dist/skills/migration-spec/references/migration-strategies.md +430 -430
  121. package/dist/skills/migration-target/SKILL.md +134 -134
  122. package/dist/skills/migration-target/references/migration-types.md +489 -489
  123. package/dist/skills/migration-verify/SKILL.md +184 -184
  124. package/dist/skills/orchestrator-framework/SKILL.md +65 -65
  125. package/dist/skills/orchestrator-framework/references/command-namespacing.md +7 -7
  126. package/dist/skills/orchestrator-framework/references/confirm-or-revise-exception.md +20 -20
  127. package/dist/skills/orchestrator-framework/references/delegation-rules.md +54 -54
  128. package/dist/skills/orchestrator-framework/references/dispatcher-handoff.md +27 -27
  129. package/dist/skills/orchestrator-framework/references/fix-loop-contract.md +65 -65
  130. package/dist/skills/orchestrator-framework/references/gate-contract.md +122 -117
  131. package/dist/skills/orchestrator-framework/references/orchestrator-creation-checklist.md +51 -51
  132. package/dist/skills/orchestrator-framework/references/orchestrator-patterns.md +235 -235
  133. package/dist/skills/performance/SKILL.md +267 -437
  134. package/dist/skills/performance-analyze/SKILL.md +129 -0
  135. package/dist/skills/{performance → performance-analyze}/references/performance-optimization-guide.md +271 -365
  136. package/dist/skills/performance-finalize/SKILL.md +117 -0
  137. package/dist/skills/performance-implement/SKILL.md +114 -0
  138. package/dist/skills/performance-plan/SKILL.md +112 -0
  139. package/dist/skills/performance-spec/SKILL.md +145 -0
  140. package/dist/skills/performance-verify/SKILL.md +164 -0
  141. package/dist/skills/research/SKILL.md +249 -249
  142. package/dist/skills/research-brainstorm/SKILL.md +120 -120
  143. package/dist/skills/research-brainstorm/references/brainstorming-techniques.md +84 -84
  144. package/dist/skills/research-converge/SKILL.md +130 -130
  145. package/dist/skills/research-design/SKILL.md +146 -146
  146. package/dist/skills/research-design/references/design-techniques.md +40 -40
  147. package/dist/skills/research-finalize/SKILL.md +125 -125
  148. package/dist/skills/research-fork/SKILL.md +190 -190
  149. package/dist/skills/research-gather/SKILL.md +133 -133
  150. package/dist/skills/research-plan/SKILL.md +141 -141
  151. package/dist/skills/research-plan/references/research-methodologies.md +710 -710
  152. package/dist/skills/research-quick/SKILL.md +139 -139
  153. package/dist/skills/research-synthesize/SKILL.md +127 -127
  154. package/dist/skills/rule-reviewer/SKILL.md +334 -334
  155. package/dist/skills/standards-discover/SKILL.md +260 -260
  156. package/dist/skills/standards-discover/references/aggregation-strategy.md +76 -76
  157. package/dist/skills/standards-discover/references/code-pattern-prompt.md +68 -68
  158. package/dist/skills/standards-discover/references/config-analyzer-prompt.md +67 -67
  159. package/dist/skills/standards-discover/references/docs-extractor-prompt.md +65 -65
  160. package/dist/skills/standards-discover/references/external-analyzer-prompt.md +75 -75
  161. package/dist/skills/standards-update/SKILL.md +207 -207
  162. package/dist/templates/orchestrator-state-base.yml +17 -17
  163. package/dist/templates/orchestrator-state-development.yml +95 -95
  164. package/dist/templates/orchestrator-state-migration.yml +95 -95
  165. package/dist/templates/orchestrator-state-performance.yml +64 -53
  166. package/dist/templates/orchestrator-state-research.yml +67 -67
  167. package/dist/tools/fork_task.d.ts +17 -0
  168. package/dist/tools/fork_task.js +21 -11
  169. package/dist/tools/verify_template.d.ts +11 -0
  170. package/dist/tools/verify_template.js +32 -17
  171. package/dist/tui/hooks-dialogs.d.ts +20 -0
  172. package/dist/tui/hooks-dialogs.js +181 -0
  173. package/dist/tui/hooks-presenter.d.ts +15 -0
  174. package/dist/tui/hooks-presenter.js +70 -0
  175. package/dist/tui/hooks-sidebar.d.ts +10 -0
  176. package/dist/tui/hooks-sidebar.js +104 -0
  177. package/dist/tui/primitives.d.ts +21 -0
  178. package/dist/tui/primitives.js +47 -0
  179. package/dist/tui.d.ts +12 -0
  180. package/dist/tui.js +129 -0
  181. package/dist/types/hook-types.d.ts +125 -0
  182. package/dist/types/hook-types.js +76 -0
  183. package/dist/types/opencode-types.d.ts +13 -0
  184. package/dist/utils/file-util.d.ts +2 -0
  185. package/dist/utils/file-util.js +6 -6
  186. package/dist/utils/fork-task.d.ts +27 -0
  187. package/dist/utils/fork-task.js +18 -23
  188. package/dist/utils/plugin-info.d.ts +3 -0
  189. package/dist/utils/plugin-info.js +8 -10
  190. package/dist/utils/workflow-paths.d.ts +17 -0
  191. package/dist/utils/workflow-paths.js +18 -0
  192. package/dist/utils/yaml-structure.d.ts +7 -0
  193. package/dist/utils/yaml-structure.js +7 -11
  194. package/package.json +68 -48
  195. package/dist/hooks/before-tool.js +0 -19
@@ -1,260 +1,260 @@
1
- ---
2
- name: owflow:development
3
- description: Development workflow dispatcher. Initializes/resumes development tasks, derives the next phase from state, and hands off to the matching /owflow:dev-* subskill. Use /owflow:goal-development to run all phases in one loop.
4
- argument-hint: "[task description | task-path] [--from=<step-slug>] [--research=PATH] [--e2e] [--user-docs]"
5
- user-invocable: true
6
- ---
7
-
8
- # Development Dispatcher
9
-
10
- Entry point for development tasks in **assisted mode**: initialize (or resume) the task, derive the next pending step from `orchestrator-state.yml`, print the matching subskill command, and STOP. Each `/owflow:dev-*` subskill runs its steps with fresh context — the explicit invocation IS the step gate.
11
-
12
- Development state uses descriptive step slugs in `completed_phases` / `failed_phases` / `auto_fix_attempts` (NOT phase numbers): `codebase-analysed`, `gap-analysed`, `tdd-red-proven`, `spec-written`, `spec-audited`, `plan-created`, `implementation-done`, `tdd-green-proven`, `options-chosen`, `verification-done`, `e2e-run`, `docs-generated`, `task-completed`. The routing table below maps slugs to subskills.
13
-
14
- For the all-in-one loop with in-session `question` gates, use `/owflow:goal-development`.
15
-
16
- Gates follow the shared contract in the [Gate Contract](../orchestrator-framework/references/gate-contract.md), with the [dispatcher exception](../orchestrator-framework/references/gate-contract.md).
17
-
18
- ## Entry Gate
19
-
20
- **BEFORE deriving the handoff, complete these steps:**
21
-
22
- ### Step 1: Load Framework Patterns
23
-
24
- **Read the framework reference file NOW using the Read tool:**
25
-
26
- 1. The [Dispatcher & Handoff Pattern](../orchestrator-framework/references/dispatcher-handoff.md) and [Command Namespacing](../orchestrator-framework/references/command-namespacing.md) govern this skill.
27
-
28
- ### Step 2: Detect Prior Work Context
29
-
30
- **If argument is a research folder path** (matches `.owflow/tasks/research/*`):
31
-
32
- - Auto-detect research folder, extract task description from `research_context.research_question`
33
- - Read research artifacts (see Research-Based Development below)
34
- - Set `research_reference` in state automatically
35
-
36
- **If `--research=<path>` flag provided**:
37
-
38
- - Read research artifacts from specified path, copy to `analysis/research-context/`
39
- - Set `research_reference` in state
40
-
41
- **If the task's state shows `orchestrator.entry_point: "dev-bugfix"`** (task created or last run by the quick bug fix skill):
42
-
43
- 1. No special intake needed — it is a standard development task using the standard state file and artifacts. Its dev-bugfix run already recorded condensed analysis and TDD slugs in `completed_phases`.
44
- 2. Route by the FIRST step slug NOT in `completed_phases`, per the Routing Table — with one exception: if `implementation-done` is already complete (typical for a completed dev-bugfix run), route to `/owflow:dev-verify <task-path>`; verification does NOT require spec/plan. If the task's status is `escalated`, route normally from the first missing slug (usually `spec-written`).
45
-
46
- The dispatcher hands off to subskills from analysis onward — spec, plan, verify, finalize steps are unchanged; research context flows through all of them.
47
-
48
- **How dev-bugfix context informs subskills**: dev-spec receives `phase_summaries.quick_analysis` (root cause, affected files, test strategy) as condensed analysis input; dev-verify receives the fix summary.
49
-
50
- ### Step 3: Initialize or Resume
51
-
52
- **New task** (description argument):
53
-
54
- 1. **Create Task Directory**: `.owflow/tasks/development/YYYY-MM-DD-task-name/`
55
- 2. **Initialize State**: create `orchestrator-state.yml` with task info, research/quick reference, flags
56
- - **CRITICAL**: use the `verify_template` tool immediately after creation to check YAML validity against `orchestrator-state-development.yml`.
57
- 3. **Discover project documentation**: read `.owflow/docs/INDEX.md` (if exists), extract ALL file paths from the "Project Documentation" section; store as `project_context.project_doc_paths` in state.
58
- 4. **Command flags** (`--e2e`, `--no-e2e`, `--user-docs`, `--no-user-docs`, `--audit`, `--no-audit`) → write to `options.*` in state. Subskills read them from there.
59
-
60
- **Resume** (task-path argument):
61
-
62
- 1. Read `orchestrator-state.yml`; validate expected artifacts for `completed_phases` (remove entries with missing artifacts)
63
- 2. Find resume point: first step slug NOT in `completed_phases`; `--from=<step-slug>` overrides (validate prerequisites exist, else use `question`)
64
-
65
- **Output**:
66
-
67
- ```
68
- 🚀 Development Dispatcher
69
-
70
- Task: [description]
71
- Directory: [task-path]
72
- Next step: [step name]
73
- ```
74
-
75
- ---
76
-
77
- ## When to Use
78
-
79
- Use for **all development tasks**: bug fixes, enhancements, new features, and any work that modifies code. Bug-shaped work has a lighter entry point: `/owflow:dev-bugfix "<description>"` (or with a task path, to fix a bug that emerged on an existing task) — it produces the same standard state and is resumable by this dispatcher. Condensed quick lanes also exist per phase — `/owflow:dev-spec --quick "<description>"`, `/owflow:dev-plan --quick "<description>"`, `/owflow:dev-implement --quick "<description>"` — each bootstraps the same standard state and stops after its phase.
80
-
81
- **DO NOT use for**: Performance optimization, security remediation, migrations, documentation-only, pure refactoring (use the specialized orchestrators).
82
-
83
- ---
84
-
85
- ## Routing Table (completed_phases → next subskill)
86
-
87
- Derive the FIRST step slug not in `completed_phases`, then print the matching command:
88
-
89
- | Next step (slug) | Condition (from state) | Handoff command | Produces |
90
- | ------------------------------------------------------------- | ---------------------------------------------------------- | ------------------------------------- | ------------------------------------------------- |
91
- | Analysis (`codebase-analysed`, `gap-analysed`) | Always (new task or partial analysis) | `/owflow:dev-analyze <task-path>` | `analysis/codebase-analysis.md`, `gap-analysis.md` |
92
- | TDD red gate (`tdd-red-proven`) | `task_characteristics.has_reproducible_defect: true` | `/owflow:dev-tdd-red <task-path>` | `implementation/tdd-red-gate.md` |
93
- | Specification (`spec-written`, `spec-audited`) | `gap-analysed` completed (and `tdd-red-proven` if required)| `/owflow:dev-spec <task-path>` | `implementation/spec.md`, `verification/spec-audit.md` |
94
- | Planning (`plan-created`) | `implementation/spec.md` exists | `/owflow:dev-plan <task-path>` | `implementation/implementation-plan.md` |
95
- | Implementation (`implementation-done`, `tdd-green-proven`) | Spec + plan exist | `/owflow:dev-implement <task-path>` | implemented code, `work-log.md` |
96
- | Verification (`options-chosen`, `verification-done`) | `implementation-done` completed (also dev-bugfix tasks — see entry gate note; spec/plan NOT required) | `/owflow:dev-verify <task-path>` | `verification/implementation-verification.md` |
97
- | Finalization (`e2e-run`, `docs-generated`, `task-completed`) | `verification-done` completed | `/owflow:dev-finalize <task-path>` | `documentation/`, completed task |
98
-
99
- The TDD red gate is SKIPPED when `has_reproducible_defect` is false — route to dev-spec. All conditional flags (`e2e_enabled`, `user_docs_enabled`) live in state and are honored by the subskills.
100
-
101
- **Dev-bugfix tasks**: tasks whose `completed_phases` holds the quick slice (`codebase-analysed`, `gap-analysed`, `tdd-red-proven`, `implementation-done`, `tdd-green-proven` — no `spec-written`/`plan-created`) are valid dev tasks. The FIRST-missing-slug rule would route them to `dev-spec`; instead, when `implementation-done` is complete, prefer `/owflow:dev-verify`. Escalated (`task.status: escalated`) dev-bugfix tasks route normally from the first missing slug — the full pipeline fills in specification and planning.
102
-
103
- **Alternative entry points for bugs**: `/owflow:dev-bugfix "<description>"` — standalone bug fix creating the same state from scratch; `/owflow:dev-bugfix <task-path>` — fix a newly emerging problem on an existing dev task (resets downstream verification slugs after the fix, so this router re-routes to dev-verify).
104
-
105
- ### Exit Gate (adapted for dispatch mode)
106
-
107
- After deriving the handoff, present the results box, ask how to proceed, then hand off accordingly (see the [dispatcher exception](../orchestrator-framework/references/gate-contract.md)). Never auto-invoke the subskill.
108
-
109
- #### Results box
110
-
111
- ```markdown
112
- ## ✅ DEVELOPMENT TASK READY — <task name>
113
-
114
- **Task** — [description]
115
- **Directory** — `<task-path>`
116
- **Next step** — [step name]
117
- [Resume note: completed steps / fresh task]
118
-
119
- **Next ▸** `/owflow:<subskill> <task-path>`
120
- ```
121
-
122
- #### Acceptance question
123
-
124
- Use `question` — "Task ready. How would you like to proceed?" with options:
125
-
126
- - **Hand off to /owflow:<subskill>** — the user invokes the suggested command (dispatcher copies it to chat for convenience). Execution starts in a fresh context.
127
- - **Switch to autonomous mode** — illustrate with `/owflow:goal-development <task-path>` to run remaining phases in one session with gates.
128
- - **Adjust** — task set-up is wrong (wrong flags, wrong research reference, wrong task); re-run the affected initialization step, re-present the results box.
129
- - **Stop here** — print the resume command (`/owflow:development <task-path>`) and end.
130
-
131
- #### Handoff message
132
-
133
- On Accept (hand off choice), print, then STOP:
134
-
135
- ```
136
- ✓ Task ready at <task-path>
137
-
138
- Next step:
139
- → /owflow:<subskill> <task-path>
140
-
141
- Other options:
142
- /owflow:goal-development <task-path> — run remaining phases in one loop
143
- /owflow:development --from=<step-slug> <task-path> — jump to a specific step
144
- ```
145
-
146
- ---
147
-
148
- ## Task Structure
149
-
150
- ```
151
- .owflow/tasks/development/YYYY-MM-DD-task-name/
152
- ├── orchestrator-state.yml # Canonical state — all modes share it
153
- ├── analysis/
154
- │ ├── research-context/ # If --research provided
155
- │ ├── codebase-analysis.md # dev-analyze
156
- │ ├── clarifications.md # dev-analyze
157
- │ ├── gap-analysis.md # dev-analyze
158
- │ ├── scope-clarifications.md # dev-analyze (conditional)
159
- │ ├── technical-clarifications.md # dev-spec (conditional)
160
- │ ├── requirements.md # dev-spec
161
- │ └── visuals/ # user-provided mockups
162
- ├── implementation/
163
- │ ├── spec.md # dev-spec
164
- │ ├── implementation-plan.md # dev-plan
165
- │ ├── fix-plan.md # dev-bugfix (condensed approval-gated fix plan)
166
- │ ├── work-log.md # dev-implement / dev-bugfix
167
- │ ├── tdd-red-gate.md # dev-tdd-red / dev-bugfix (conditional)
168
- │ └── tdd-green-gate.md # dev-implement / dev-bugfix (conditional)
169
- ├── summary.md # dev-bugfix (per fix run)
170
- ├── verification/
171
- │ ├── spec-audit.md # dev-spec (recommended)
172
- │ ├── implementation-verification.md # dev-verify
173
- │ └── e2e-verification-report.md # dev-finalize (optional)
174
- └── documentation/
175
- └── user-guide.md # dev-finalize (optional)
176
- ```
177
-
178
- ---
179
-
180
- ## Auto-Recovery
181
-
182
- Retries are owned by each subskill (max attempts per phase):
183
-
184
- | Subskill | Max Attempts | Strategy |
185
- | -------------- | ------------ | ----------------------------------- |
186
- | dev-analyze | 2 | Expand search, re-analyze, ask user |
187
- | dev-tdd-red | 2 | Rewrite test, skip TDD with doc |
188
- | dev-spec | 2 | Regenerate spec |
189
- | dev-plan | 2 | Regenerate plan |
190
- | dev-implement | 5 (green) | Fix syntax, imports, tests |
191
- | dev-verify | 3 (loop) | Fix issues, re-run verification |
192
- | dev-finalize | 3 | Fix tests, re-run |
193
-
194
- ---
195
-
196
- ## Command Flags
197
-
198
- | Flag | Effect |
199
- | -------------------------------- | ------------------------------- |
200
- | `--from=<step-slug>` | Hand off from a specific step |
201
- | `--research=PATH` | Link to completed research task |
202
- | `--audit` / `--no-audit` | Force/skip specification audit |
203
- | `--e2e` / `--no-e2e` | Force/skip E2E testing |
204
- | `--user-docs` / `--no-user-docs` | Force/skip user documentation |
205
-
206
- ---
207
-
208
- ## Research-Based Development
209
-
210
- When starting from a completed research task, the dispatcher loads research context to **INFORM** all subskills — research never SKIPS phases. Artifacts pass via `task_context.phase_summaries.research` in state and `analysis/research-context/`.
211
-
212
- ### Invocation Methods
213
-
214
- **Method 1: Research folder as sole argument** (recommended)
215
-
216
- ```
217
- /owflow:development .owflow/tasks/research/2026-01-12-oauth-research
218
- ```
219
-
220
- **Method 2: Explicit --research flag**
221
-
222
- ```
223
- /owflow:development "Implement OAuth" --research=.owflow/tasks/research/2026-01-12-oauth-research
224
- ```
225
-
226
- ### Research Artifacts (Standard List)
227
-
228
- | Artifact | Path | Purpose |
229
- | -------------------- | --------------------------------- | ---------------------------------------------- |
230
- | State | `orchestrator-state.yml` | research_type, confidence_level |
231
- | Report | `outputs/research-report.md` | Main findings and conclusions |
232
- | Solution Exploration | `outputs/solution-exploration.md` | Alternatives and trade-offs (input to dev-spec) |
233
- | High-Level Design | `outputs/high-level-design.md` | C4 architecture (input to dev-spec) |
234
- | Decision Log | `outputs/decision-log.md` | ADR decisions (input to dev-spec) |
235
-
236
- ### How Research Informs Subskills
237
-
238
- | Subskill | How Research Context is Used |
239
- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
240
- | dev-analyze | Codebase analyzer and gap analyzer receive research findings as search/comparison guidance |
241
- | dev-spec | specification-creator uses high-level-design.md as INPUT (still creates full spec); architecture decisions use research report AND decision-log.md |
242
- | dev-plan | implementation-planner references research approach for task grouping |
243
-
244
- ---
245
-
246
- ## Command Integration
247
-
248
- Invoked via:
249
-
250
- - `/owflow:development [description] [--e2e] [--user-docs] [--research=PATH]` (new)
251
- - `/owflow:development [task-path] [--from=<step-slug>] [--reset-attempts]` (resume)
252
-
253
- Alternative: `/owflow:goal-development` — same task lifecycle, all subskills invoked in one session with `question` gates.
254
-
255
- ---
256
-
257
- ## TDD Gate Rules
258
-
259
- **Red Gate** (`/owflow:dev-tdd-red`): test MUST FAIL before implementation — activated when gap analysis detects a reproducible defect.
260
- **Green Gate** (inside `/owflow:dev-implement`): the same test MUST PASS after implementation — activated when the red gate was executed.
1
+ ---
2
+ name: owflow:development
3
+ description: Development workflow dispatcher. Initializes/resumes development tasks, derives the next phase from state, and hands off to the matching /owflow:dev-* subskill. Use /owflow:goal-development to run all phases in one loop.
4
+ argument-hint: "[task description | task-path] [--from=<step-slug>] [--research=PATH] [--e2e] [--user-docs]"
5
+ user-invocable: true
6
+ ---
7
+
8
+ # Development Dispatcher
9
+
10
+ Entry point for development tasks in **assisted mode**: initialize (or resume) the task, derive the next pending step from `orchestrator-state.yml`, print the matching subskill command, and STOP. Each `/owflow:dev-*` subskill runs its steps with fresh context — the explicit invocation IS the step gate.
11
+
12
+ Development state uses descriptive step slugs in `completed_phases` / `failed_phases` / `auto_fix_attempts` (NOT phase numbers): `codebase-analysed`, `gap-analysed`, `tdd-red-proven`, `spec-written`, `spec-audited`, `plan-created`, `implementation-done`, `tdd-green-proven`, `options-chosen`, `verification-done`, `e2e-run`, `docs-generated`, `task-completed`. The routing table below maps slugs to subskills.
13
+
14
+ For the all-in-one loop with in-session `question` gates, use `/owflow:goal-development`.
15
+
16
+ Gates follow the shared contract in the [Gate Contract](../orchestrator-framework/references/gate-contract.md), with the [dispatcher exception](../orchestrator-framework/references/gate-contract.md).
17
+
18
+ ## Entry Gate
19
+
20
+ **BEFORE deriving the handoff, complete these steps:**
21
+
22
+ ### Step 1: Load Framework Patterns
23
+
24
+ **Read the framework reference file NOW using the Read tool:**
25
+
26
+ 1. The [Dispatcher & Handoff Pattern](../orchestrator-framework/references/dispatcher-handoff.md) and [Command Namespacing](../orchestrator-framework/references/command-namespacing.md) govern this skill.
27
+
28
+ ### Step 2: Detect Prior Work Context
29
+
30
+ **If argument is a research folder path** (matches `.owflow/tasks/research/*`):
31
+
32
+ - Auto-detect research folder, extract task description from `research_context.research_question`
33
+ - Read research artifacts (see Research-Based Development below)
34
+ - Set `research_reference` in state automatically
35
+
36
+ **If `--research=<path>` flag provided**:
37
+
38
+ - Read research artifacts from specified path, copy to `analysis/research-context/`
39
+ - Set `research_reference` in state
40
+
41
+ **If the task's state shows `orchestrator.entry_point: "dev-bugfix"`** (task created or last run by the quick bug fix skill):
42
+
43
+ 1. No special intake needed — it is a standard development task using the standard state file and artifacts. Its dev-bugfix run already recorded condensed analysis and TDD slugs in `completed_phases`.
44
+ 2. Route by the FIRST step slug NOT in `completed_phases`, per the Routing Table — with one exception: if `implementation-done` is already complete (typical for a completed dev-bugfix run), route to `/owflow:dev-verify <task-path>`; verification does NOT require spec/plan. If the task's status is `escalated`, route normally from the first missing slug (usually `spec-written`).
45
+
46
+ The dispatcher hands off to subskills from analysis onward — spec, plan, verify, finalize steps are unchanged; research context flows through all of them.
47
+
48
+ **How dev-bugfix context informs subskills**: dev-spec receives `phase_summaries.quick_analysis` (root cause, affected files, test strategy) as condensed analysis input; dev-verify receives the fix summary.
49
+
50
+ ### Step 3: Initialize or Resume
51
+
52
+ **New task** (description argument):
53
+
54
+ 1. **Create Task Directory**: `.owflow/tasks/development/YYYY-MM-DD-task-name/`
55
+ 2. **Initialize State**: create `orchestrator-state.yml` with task info, research/quick reference, flags
56
+ - **CRITICAL**: use the `verify_template` tool immediately after creation to check YAML validity against `orchestrator-state-development.yml`.
57
+ 3. **Discover project documentation**: read `.owflow/docs/INDEX.md` (if exists), extract ALL file paths from the "Project Documentation" section; store as `project_context.project_doc_paths` in state.
58
+ 4. **Command flags** (`--e2e`, `--no-e2e`, `--user-docs`, `--no-user-docs`, `--audit`, `--no-audit`) → write to `options.*` in state. Subskills read them from there.
59
+
60
+ **Resume** (task-path argument):
61
+
62
+ 1. Read `orchestrator-state.yml`; validate expected artifacts for `completed_phases` (remove entries with missing artifacts)
63
+ 2. Find resume point: first step slug NOT in `completed_phases`; `--from=<step-slug>` overrides (validate prerequisites exist, else use `question`)
64
+
65
+ **Output**:
66
+
67
+ ```
68
+ 🚀 Development Dispatcher
69
+
70
+ Task: [description]
71
+ Directory: [task-path]
72
+ Next step: [step name]
73
+ ```
74
+
75
+ ---
76
+
77
+ ## When to Use
78
+
79
+ Use for **all development tasks**: bug fixes, enhancements, new features, and any work that modifies code. Bug-shaped work has a lighter entry point: `/owflow:dev-bugfix "<description>"` (or with a task path, to fix a bug that emerged on an existing task) — it produces the same standard state and is resumable by this dispatcher. Condensed quick lanes also exist per phase — `/owflow:dev-spec --quick "<description>"`, `/owflow:dev-plan --quick "<description>"`, `/owflow:dev-implement --quick "<description>"` — each bootstraps the same standard state and stops after its phase.
80
+
81
+ **DO NOT use for**: Performance optimization, security remediation, migrations, documentation-only, pure refactoring (use the specialized orchestrators).
82
+
83
+ ---
84
+
85
+ ## Routing Table (completed_phases → next subskill)
86
+
87
+ Derive the FIRST step slug not in `completed_phases`, then print the matching command:
88
+
89
+ | Next step (slug) | Condition (from state) | Handoff command | Produces |
90
+ | ------------------------------------------------------------- | ---------------------------------------------------------- | ------------------------------------- | ------------------------------------------------- |
91
+ | Analysis (`codebase-analysed`, `gap-analysed`) | Always (new task or partial analysis) | `/owflow:dev-analyze <task-path>` | `analysis/codebase-analysis.md`, `gap-analysis.md` |
92
+ | TDD red gate (`tdd-red-proven`) | `task_characteristics.has_reproducible_defect: true` | `/owflow:dev-tdd-red <task-path>` | `implementation/tdd-red-gate.md` |
93
+ | Specification (`spec-written`, `spec-audited`) | `gap-analysed` completed (and `tdd-red-proven` if required)| `/owflow:dev-spec <task-path>` | `implementation/spec.md`, `verification/spec-audit.md` |
94
+ | Planning (`plan-created`) | `implementation/spec.md` exists | `/owflow:dev-plan <task-path>` | `implementation/implementation-plan.md` |
95
+ | Implementation (`implementation-done`, `tdd-green-proven`) | Spec + plan exist | `/owflow:dev-implement <task-path>` | implemented code, `work-log.md` |
96
+ | Verification (`options-chosen`, `verification-done`) | `implementation-done` completed (also dev-bugfix tasks — see entry gate note; spec/plan NOT required) | `/owflow:dev-verify <task-path>` | `verification/implementation-verification.md` |
97
+ | Finalization (`e2e-run`, `docs-generated`, `task-completed`) | `verification-done` completed | `/owflow:dev-finalize <task-path>` | `documentation/`, completed task |
98
+
99
+ The TDD red gate is SKIPPED when `has_reproducible_defect` is false — route to dev-spec. All conditional flags (`e2e_enabled`, `user_docs_enabled`) live in state and are honored by the subskills.
100
+
101
+ **Dev-bugfix tasks**: tasks whose `completed_phases` holds the quick slice (`codebase-analysed`, `gap-analysed`, `tdd-red-proven`, `implementation-done`, `tdd-green-proven` — no `spec-written`/`plan-created`) are valid dev tasks. The FIRST-missing-slug rule would route them to `dev-spec`; instead, when `implementation-done` is complete, prefer `/owflow:dev-verify`. Escalated (`task.status: escalated`) dev-bugfix tasks route normally from the first missing slug — the full pipeline fills in specification and planning.
102
+
103
+ **Alternative entry points for bugs**: `/owflow:dev-bugfix "<description>"` — standalone bug fix creating the same state from scratch; `/owflow:dev-bugfix <task-path>` — fix a newly emerging problem on an existing dev task (resets downstream verification slugs after the fix, so this router re-routes to dev-verify).
104
+
105
+ ### Exit Gate (adapted for dispatch mode)
106
+
107
+ After deriving the handoff, present the results box, ask how to proceed, then hand off accordingly (see the [dispatcher exception](../orchestrator-framework/references/gate-contract.md)). Never auto-invoke the subskill.
108
+
109
+ #### Results box
110
+
111
+ ```markdown
112
+ ## ✅ DEVELOPMENT TASK READY — <task name>
113
+
114
+ **Task** — [description]
115
+ **Directory** — `<task-path>`
116
+ **Next step** — [step name]
117
+ [Resume note: completed steps / fresh task]
118
+
119
+ **Next ▸** `/owflow:<subskill> <task-path>`
120
+ ```
121
+
122
+ #### Acceptance question
123
+
124
+ Use `question` — "Task ready. How would you like to proceed?" with options:
125
+
126
+ - **Hand off to /owflow:<subskill>** — the user invokes the suggested command (dispatcher copies it to chat for convenience). Execution starts in a fresh context.
127
+ - **Switch to autonomous mode** — illustrate with `/owflow:goal-development <task-path>` to run remaining phases in one session with gates.
128
+ - **Adjust** — task set-up is wrong (wrong flags, wrong research reference, wrong task); re-run the affected initialization step, re-present the results box.
129
+ - **Stop here** — print the resume command (`/owflow:development <task-path>`) and end.
130
+
131
+ #### Handoff message
132
+
133
+ On Accept (hand off choice), print, then STOP:
134
+
135
+ ```
136
+ ✓ Task ready at <task-path>
137
+
138
+ Next step:
139
+ → /owflow:<subskill> <task-path>
140
+
141
+ Other options:
142
+ /owflow:goal-development <task-path> — run remaining phases in one loop
143
+ /owflow:development --from=<step-slug> <task-path> — jump to a specific step
144
+ ```
145
+
146
+ ---
147
+
148
+ ## Task Structure
149
+
150
+ ```
151
+ .owflow/tasks/development/YYYY-MM-DD-task-name/
152
+ ├── orchestrator-state.yml # Canonical state — all modes share it
153
+ ├── analysis/
154
+ │ ├── research-context/ # If --research provided
155
+ │ ├── codebase-analysis.md # dev-analyze
156
+ │ ├── clarifications.md # dev-analyze
157
+ │ ├── gap-analysis.md # dev-analyze
158
+ │ ├── scope-clarifications.md # dev-analyze (conditional)
159
+ │ ├── technical-clarifications.md # dev-spec (conditional)
160
+ │ ├── requirements.md # dev-spec
161
+ │ └── visuals/ # user-provided mockups
162
+ ├── implementation/
163
+ │ ├── spec.md # dev-spec
164
+ │ ├── implementation-plan.md # dev-plan
165
+ │ ├── fix-plan.md # dev-bugfix (condensed approval-gated fix plan)
166
+ │ ├── work-log.md # dev-implement / dev-bugfix
167
+ │ ├── tdd-red-gate.md # dev-tdd-red / dev-bugfix (conditional)
168
+ │ └── tdd-green-gate.md # dev-implement / dev-bugfix (conditional)
169
+ ├── summary.md # dev-bugfix (per fix run)
170
+ ├── verification/
171
+ │ ├── spec-audit.md # dev-spec (recommended)
172
+ │ ├── implementation-verification.md # dev-verify
173
+ │ └── e2e-verification-report.md # dev-finalize (optional)
174
+ └── documentation/
175
+ └── user-guide.md # dev-finalize (optional)
176
+ ```
177
+
178
+ ---
179
+
180
+ ## Auto-Recovery
181
+
182
+ Retries are owned by each subskill (max attempts per phase):
183
+
184
+ | Subskill | Max Attempts | Strategy |
185
+ | -------------- | ------------ | ----------------------------------- |
186
+ | dev-analyze | 2 | Expand search, re-analyze, ask user |
187
+ | dev-tdd-red | 2 | Rewrite test, skip TDD with doc |
188
+ | dev-spec | 2 | Regenerate spec |
189
+ | dev-plan | 2 | Regenerate plan |
190
+ | dev-implement | 5 (green) | Fix syntax, imports, tests |
191
+ | dev-verify | 3 (loop) | Fix issues, re-run verification |
192
+ | dev-finalize | 3 | Fix tests, re-run |
193
+
194
+ ---
195
+
196
+ ## Command Flags
197
+
198
+ | Flag | Effect |
199
+ | -------------------------------- | ------------------------------- |
200
+ | `--from=<step-slug>` | Hand off from a specific step |
201
+ | `--research=PATH` | Link to completed research task |
202
+ | `--audit` / `--no-audit` | Force/skip specification audit |
203
+ | `--e2e` / `--no-e2e` | Force/skip E2E testing |
204
+ | `--user-docs` / `--no-user-docs` | Force/skip user documentation |
205
+
206
+ ---
207
+
208
+ ## Research-Based Development
209
+
210
+ When starting from a completed research task, the dispatcher loads research context to **INFORM** all subskills — research never SKIPS phases. Artifacts pass via `task_context.phase_summaries.research` in state and `analysis/research-context/`.
211
+
212
+ ### Invocation Methods
213
+
214
+ **Method 1: Research folder as sole argument** (recommended)
215
+
216
+ ```
217
+ /owflow:development .owflow/tasks/research/2026-01-12-oauth-research
218
+ ```
219
+
220
+ **Method 2: Explicit --research flag**
221
+
222
+ ```
223
+ /owflow:development "Implement OAuth" --research=.owflow/tasks/research/2026-01-12-oauth-research
224
+ ```
225
+
226
+ ### Research Artifacts (Standard List)
227
+
228
+ | Artifact | Path | Purpose |
229
+ | -------------------- | --------------------------------- | ---------------------------------------------- |
230
+ | State | `orchestrator-state.yml` | research_type, confidence_level |
231
+ | Report | `outputs/research-report.md` | Main findings and conclusions |
232
+ | Solution Exploration | `outputs/solution-exploration.md` | Alternatives and trade-offs (input to dev-spec) |
233
+ | High-Level Design | `outputs/high-level-design.md` | C4 architecture (input to dev-spec) |
234
+ | Decision Log | `outputs/decision-log.md` | ADR decisions (input to dev-spec) |
235
+
236
+ ### How Research Informs Subskills
237
+
238
+ | Subskill | How Research Context is Used |
239
+ | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
240
+ | dev-analyze | Codebase analyzer and gap analyzer receive research findings as search/comparison guidance |
241
+ | dev-spec | specification-creator uses high-level-design.md as INPUT (still creates full spec); architecture decisions use research report AND decision-log.md |
242
+ | dev-plan | implementation-planner references research approach for task grouping |
243
+
244
+ ---
245
+
246
+ ## Command Integration
247
+
248
+ Invoked via:
249
+
250
+ - `/owflow:development [description] [--e2e] [--user-docs] [--research=PATH]` (new)
251
+ - `/owflow:development [task-path] [--from=<step-slug>] [--reset-attempts]` (resume)
252
+
253
+ Alternative: `/owflow:goal-development` — same task lifecycle, all subskills invoked in one session with `question` gates.
254
+
255
+ ---
256
+
257
+ ## TDD Gate Rules
258
+
259
+ **Red Gate** (`/owflow:dev-tdd-red`): test MUST FAIL before implementation — activated when gap analysis detects a reproducible defect.
260
+ **Green Gate** (inside `/owflow:dev-implement`): the same test MUST PASS after implementation — activated when the red gate was executed.