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,51 +1,51 @@
1
- # File Discovery — Prompt Templates
2
-
3
- Replace `[description]` with the actual task description.
4
-
5
- ## Bug
6
- ```
7
- IMPORTANT: Do NOT create, write, or modify any files. Output all findings as text in your response only.
8
-
9
- Explore the codebase to find files related to: "[description]"
10
-
11
- Focus on:
12
- 1. Find files where the bug likely occurs (search for error keywords, related functionality)
13
- 2. Trace the code path - entry points, handlers, processing logic
14
- 3. Look for related error handling, validation, edge cases
15
- 4. Find configuration files that might affect this behavior
16
-
17
- Output a list of relevant files with their paths and why they're relevant.
18
- Be thorough - check multiple naming conventions (PascalCase, kebab-case, snake_case).
19
- ```
20
-
21
- ## Enhancement
22
- ```
23
- IMPORTANT: Do NOT create, write, or modify any files. Output all findings as text in your response only.
24
-
25
- Explore the codebase to find files that implement: "[description]"
26
-
27
- Focus on:
28
- 1. Find the main files for this feature (components, services, controllers)
29
- 2. Look for related files (types, utilities, hooks, styles)
30
- 3. Check multiple naming patterns: *{keyword}*, {Domain}{Component}, etc.
31
- 4. Search in likely directories: src/components/, src/services/, src/features/
32
-
33
- Output a ranked list of files with confidence indicators.
34
- Include file paths, approximate line counts, and why each file is relevant.
35
- ```
36
-
37
- ## Feature
38
- ```
39
- IMPORTANT: Do NOT create, write, or modify any files. Output all findings as text in your response only.
40
-
41
- Explore the codebase to find patterns and integration points for: "[description]"
42
-
43
- Focus on:
44
- 1. Find similar existing features/components to use as templates
45
- 2. Identify where this new feature should live (directory structure)
46
- 3. Look for shared utilities, hooks, or base classes to extend
47
- 4. Find entry points where this feature needs to integrate (routes, menus, etc.)
48
-
49
- List the files that serve as good examples or integration points.
50
- Include reasoning for why each pattern/location is appropriate.
51
- ```
1
+ # File Discovery — Prompt Templates
2
+
3
+ Replace `[description]` with the actual task description.
4
+
5
+ ## Bug
6
+ ```
7
+ IMPORTANT: Do NOT create, write, or modify any files. Output all findings as text in your response only.
8
+
9
+ Explore the codebase to find files related to: "[description]"
10
+
11
+ Focus on:
12
+ 1. Find files where the bug likely occurs (search for error keywords, related functionality)
13
+ 2. Trace the code path - entry points, handlers, processing logic
14
+ 3. Look for related error handling, validation, edge cases
15
+ 4. Find configuration files that might affect this behavior
16
+
17
+ Output a list of relevant files with their paths and why they're relevant.
18
+ Be thorough - check multiple naming conventions (PascalCase, kebab-case, snake_case).
19
+ ```
20
+
21
+ ## Enhancement
22
+ ```
23
+ IMPORTANT: Do NOT create, write, or modify any files. Output all findings as text in your response only.
24
+
25
+ Explore the codebase to find files that implement: "[description]"
26
+
27
+ Focus on:
28
+ 1. Find the main files for this feature (components, services, controllers)
29
+ 2. Look for related files (types, utilities, hooks, styles)
30
+ 3. Check multiple naming patterns: *{keyword}*, {Domain}{Component}, etc.
31
+ 4. Search in likely directories: src/components/, src/services/, src/features/
32
+
33
+ Output a ranked list of files with confidence indicators.
34
+ Include file paths, approximate line counts, and why each file is relevant.
35
+ ```
36
+
37
+ ## Feature
38
+ ```
39
+ IMPORTANT: Do NOT create, write, or modify any files. Output all findings as text in your response only.
40
+
41
+ Explore the codebase to find patterns and integration points for: "[description]"
42
+
43
+ Focus on:
44
+ 1. Find similar existing features/components to use as templates
45
+ 2. Identify where this new feature should live (directory structure)
46
+ 3. Look for shared utilities, hooks, or base classes to extend
47
+ 4. Find entry points where this feature needs to integrate (routes, menus, etc.)
48
+
49
+ List the files that serve as good examples or integration points.
50
+ Include reasoning for why each pattern/location is appropriate.
51
+ ```
@@ -1,23 +1,23 @@
1
- # Migration Target — Prompt Template
2
-
3
- Primarily for migrations. Replace `[description]` with the actual task description.
4
-
5
- ```
6
- IMPORTANT: Do NOT create, write, or modify any files. Output all findings as text in your response only.
7
-
8
- Analyze the target state for migration: "[description]"
9
-
10
- Focus on:
11
- 1. Find any existing usage of the target technology/pattern in the codebase
12
- 2. Look for partial migration attempts or hybrid implementations
13
- 3. Identify compatibility layers, adapters, or shims already in use
14
- 4. Check for migration-related configuration (build tools, transpilers, polyfills)
15
- 5. Document the target conventions and patterns to follow
16
-
17
- Output:
18
- - Existing target technology usage (if any)
19
- - Partial migration progress found
20
- - Compatibility concerns identified
21
- - Target conventions to follow
22
- - Migration configuration requirements
23
- ```
1
+ # Migration Target — Prompt Template
2
+
3
+ Primarily for migrations. Replace `[description]` with the actual task description.
4
+
5
+ ```
6
+ IMPORTANT: Do NOT create, write, or modify any files. Output all findings as text in your response only.
7
+
8
+ Analyze the target state for migration: "[description]"
9
+
10
+ Focus on:
11
+ 1. Find any existing usage of the target technology/pattern in the codebase
12
+ 2. Look for partial migration attempts or hybrid implementations
13
+ 3. Identify compatibility layers, adapters, or shims already in use
14
+ 4. Check for migration-related configuration (build tools, transpilers, polyfills)
15
+ 5. Document the target conventions and patterns to follow
16
+
17
+ Output:
18
+ - Existing target technology usage (if any)
19
+ - Partial migration progress found
20
+ - Compatibility concerns identified
21
+ - Target conventions to follow
22
+ - Migration configuration requirements
23
+ ```
@@ -1,22 +1,22 @@
1
- # Pattern Mining — Prompt Template
2
-
3
- Primarily for features, usable for enhancements. Replace `[description]` with the actual task description.
4
-
5
- ```
6
- IMPORTANT: Do NOT create, write, or modify any files. Output all findings as text in your response only.
7
-
8
- Find similar implementations and reusable patterns for: "[description]"
9
-
10
- Focus on:
11
- 1. Find the most similar existing feature/component in the codebase
12
- 2. Identify reusable abstractions, base classes, or utilities that can be extended
13
- 3. Document the conventions these similar implementations follow (file structure, naming, patterns)
14
- 4. Note any generators, templates, or scaffolding tools available
15
- 5. Identify shared hooks, mixins, or helper functions that should be reused
16
-
17
- Output:
18
- - Best template/example to replicate (with file paths)
19
- - Reusable abstractions and utilities (with file paths)
20
- - Convention checklist to follow
21
- - Anti-patterns observed in existing similar features (what NOT to copy)
22
- ```
1
+ # Pattern Mining — Prompt Template
2
+
3
+ Primarily for features, usable for enhancements. Replace `[description]` with the actual task description.
4
+
5
+ ```
6
+ IMPORTANT: Do NOT create, write, or modify any files. Output all findings as text in your response only.
7
+
8
+ Find similar implementations and reusable patterns for: "[description]"
9
+
10
+ Focus on:
11
+ 1. Find the most similar existing feature/component in the codebase
12
+ 2. Identify reusable abstractions, base classes, or utilities that can be extended
13
+ 3. Document the conventions these similar implementations follow (file structure, naming, patterns)
14
+ 4. Note any generators, templates, or scaffolding tools available
15
+ 5. Identify shared hooks, mixins, or helper functions that should be reused
16
+
17
+ Output:
18
+ - Best template/example to replicate (with file paths)
19
+ - Reusable abstractions and utilities (with file paths)
20
+ - Convention checklist to follow
21
+ - Anti-patterns observed in existing similar features (what NOT to copy)
22
+ ```
@@ -1,115 +1,115 @@
1
- ---
2
- name: owflow:dev-analyze
3
- description: Development — codebase analysis with clarifications, then gap analysis with scope decisions. First work phase of the development workflow.
4
- argument-hint: "[task-path-or-identifier]"
5
- user-invocable: true
6
- ---
7
-
8
- # Dev Analyze — Codebase & Gap Analysis (codebase-analysed, gap-analysed)
9
-
10
- Work phase of the development workflow. Runs codebase exploration, requirements clarification, gap analysis, and scope decisions for an existing development task. State lives in `orchestrator-state.yml` — this skill reads it on entry and writes results on exit.
11
-
12
- Related entry points: `/owflow:development` (assisted mode), `/owflow:goal-development` (autonomous mode). Both produce the same state; you may mix them freely.
13
-
14
- ## Entry Gate
15
-
16
- Resolve the `task-path-or-identifier` argument BEFORE anything else (see [Gate Contract](../orchestrator-framework/references/gate-contract.md)):
17
-
18
- - **Path** (absolute or project-relative) to the task directory — use as-is.
19
- - **Identifier** — exact directory name inside `.owflow/tasks/development/` (e.g., `2026-01-12-my-task`); resolve to its path.
20
- - If the argument is **missing**, the path does **not exist**, or matches **no identifier** → print the blocked block, then STOP (never guess or auto-pick a task):
21
- 1. Prerequisites: none — this is the first work phase. Everything else requires it.
22
- 2. List available dev-task identifiers (directories under `.owflow/tasks/development/`) to resume from, if any.
23
- 3. Hint: `Run /owflow:development <description> to start a task from scratch, or pass a task path/identifier to resume.`
24
-
25
- ### Prerequisites
26
-
27
- | Required for this skill | Where verified | Produced by |
28
- | ----------------------- | ------------------------------------ | ---------------------------- |
29
- | State file exists | `<task-path>/orchestrator-state.yml` | `/owflow:development <desc>` |
30
-
31
- 1. **Read `orchestrator-state.yml`** from the task path. If missing → mid-pipeline bootstrap ([Missing-state Bootstrap](../orchestrator-framework/references/gate-contract.md), starting slug `codebase-analysed`): `question` — create a fresh standard development task starting at this step, or decline → print `No development task found at <path>. Run /owflow:development <description> to start a task from scratch.` and STOP.
32
- 2. **Skip/resume**: if `codebase-analysed` is in `completed_phases`, skip that part. If `gap-analysed` is in `completed_phases`, the whole skill is done — report existing results and route to the Exit Gate.
33
-
34
- ## Execute
35
-
36
- **Read first**: the [Delegation Rules](../orchestrator-framework/references/delegation-rules.md) and the [Dispatcher & Handoff Pattern](../orchestrator-framework/references/dispatcher-handoff.md).
37
-
38
- ### Codebase Analysis (`codebase-analysed`)
39
-
40
- 1. Skill tool - `codebase-analyzer`. Pass: task description (`task.description`), task_path, risk-relevant state, `project_doc_paths` from state, research/quick-reference context if present in state.
41
- 2. Direct - use `question` for max 5 critical clarifying questions. Save to `analysis/clarifications.md`; set `task_context.clarifications_resolved`.
42
- 3. **State write**: append `codebase-analysed` to `completed_phases`; update `task_context.risk_level`, `task_context.clarifications_resolved`, `phase_summaries.codebase_analysis`; bump `orchestrator.updated`. On failure: append `codebase-analysed` to `failed_phases`, increment `auto_fix_attempts["codebase-analysed"]`. Then re-read state + run `verify_template` (see State Update Convention).
43
-
44
- ### Gap Analysis & Scope (`gap-analysed`)
45
-
46
- 1. Task tool - `gap-analyzer` subagent. Pass: task_path, risk level, codebase summary, key files, clarifications, `project_doc_paths`.
47
- 2. **Extract structured data from the result** (this gates later phases — do not summarize only):
48
- - Read `task_characteristics` (5 fields: `has_reproducible_defect`, `modifies_existing_code`, `creates_new_entities`, `involves_data_operations`, `ui_heavy`) → write to `task_context.task_characteristics`
49
- - Read `risk_level` → `task_context.risk_level`
50
- - Write 1-2 sentence summary to `phase_summaries.gap_analysis`
51
- - **SELF-CHECK**: re-read `orchestrator-state.yml` and verify the 5 characteristic values match the gap-analyzer output.
52
- 3. **Decision gate** (mandatory): if `decisions_needed.critical` or `decisions_needed.important` is non-empty → `question` (one per critical; batch important into multi-select). If empty, note "No scope decisions needed" in state.
53
- 4. Save scope clarifications to `analysis/scope-clarifications.md` (conditional).
54
- 5. **Optional phase defaults**: `ui_heavy: true` → `options.e2e_enabled: true` + `options.user_docs_enabled: true`; `creates_new_entities: true` → `options.user_docs_enabled: true`. Command flags in state (`options`) already set override these.
55
- 6. **State write**: append `gap-analysed` to `completed_phases`; update `task_context.task_characteristics`, `task_context.risk_level`, `phase_summaries.gap_analysis`; record decision-gate outcome (or "No scope decisions needed") in `task_context.gaps`; apply option defaults to `options.*`; bump `orchestrator.updated`. On failure: append `gap-analysed` to `failed_phases`, increment `auto_fix_attempts["gap-analysed"]`. Then re-read state + run `verify_template`.
56
-
57
- **ANTI-PATTERN**: Do NOT override `ui_heavy` with your own complexity judgment ("no new screens needed, just..."). It is a gap-analyzer signal.
58
-
59
- ## State Update Convention (per step)
60
-
61
- Apply after EVERY phase/step above:
62
-
63
- 1. **Write immediately** — update `orchestrator-state.yml` as soon as the step completes, appending ONLY the step slug actually performed (e.g. `codebase-analysed`, `gap-analysed`) plus that step's fields. Never batch multiple steps into one end-of-skill write.
64
- 2. **Timestamp** — set `orchestrator.updated` to the current UTC timestamp on every write.
65
- 3. **Failures** — if the step fails or its retries are abandoned, do NOT append to `completed_phases`; instead append the step's slug to `orchestrator.failed_phases` and increment `auto_fix_attempts["<slug>"]`.
66
- 4. **Validate** — after every write, re-read the file to confirm values, then run the `verify_template` tool with `filePath: <task-path>/orchestrator-state.yml`, `templateName: orchestrator-state-development.yml`. Fix any reported issue immediately before proceeding.
67
- 5. **Final check** — before the Exit Gate, one consolidated re-read + `verify_template` run to confirm the full state matches everything performed in this session.
68
-
69
- ## Exit Gate
70
-
71
- Present results, get user confirmation, then hand off (see [Gate Contract](../orchestrator-framework/references/gate-contract.md)). Never auto-invoke the next skill.
72
-
73
- ### Results box
74
-
75
- ```markdown
76
- ## ✅ DEV ANALYZE COMPLETE — <task name>
77
-
78
- **Task type** — [detected type]
79
- **Risk level** — [risk_level from state]
80
- **Characteristics** — [key characteristics — TDD gate, E2E, user docs]
81
- **Scope decisions** — [decisions made / "none needed"]
82
-
83
- **Artifacts**
84
-
85
- - `analysis/codebase-analysis.md`
86
- - `analysis/clarifications.md`
87
- - `analysis/gap-analysis.md`
88
- - `analysis/scope-clarifications.md` [conditional]
89
- ```
90
-
91
- ### Results-acceptance question
92
-
93
- Use `question` — "Are these results correct?" with options:
94
-
95
- - **Accept** — analysis is good; continue.
96
- - **Adjust** — re-run only the affected part (clarifications, gap analysis, or scope decisions), update state and artifacts, re-present the results box.
97
- - **Discuss** — walk through a specific result (risk level rationale, characteristics, scope decisions) in more depth; then re-ask.
98
- - **Stop here** — print the resume command (`/owflow:dev-analyze <task-path>`) and end.
99
-
100
- ### Next steps (after Accept)
101
-
102
- Read `task_context.task_characteristics` from state and print the suggested command with annotations (see [Gate Contract](../orchestrator-framework/references/gate-contract.md)):
103
-
104
- - `has_reproducible_defect: true` → `→ /owflow:dev-tdd-red <task-path>`
105
- What: writes a failing test that reproduces the defect — `required` before the spec when a reproducible defect exists; the test becomes the spec's acceptance criterion.
106
- - otherwise → `→ /owflow:dev-spec <task-path>`
107
- What: turns the analysis into a user-approved specification — `required` next phase. There is no shorter alternative path: spec → plan → implement → verify → finalize.
108
-
109
- **Other options**:
110
-
111
- - `/owflow:dev-spec --quick <task-path>` — `optional` condensed alternative: writes the condensed spec directly on the fly (no specification-creator subagent; audit skipped) instead of the full requirements/spec flow
112
- - `/owflow:goal-development <task-path>` — `optional` shortcut: runs all remaining phases in one loop (red gate if flagged → spec → plan → implement → verify → finalize)
113
- - `/owflow:dev-spec <task-path>` — `optional` — skips the TDD gate manually (not recommended for reproducible defects; remaining plan unchanged: plan → implement → verify → finalize)
114
-
115
- Then STOP.
1
+ ---
2
+ name: owflow:dev-analyze
3
+ description: Development — codebase analysis with clarifications, then gap analysis with scope decisions. First work phase of the development workflow.
4
+ argument-hint: "[task-path-or-identifier]"
5
+ user-invocable: true
6
+ ---
7
+
8
+ # Dev Analyze — Codebase & Gap Analysis (codebase-analysed, gap-analysed)
9
+
10
+ Work phase of the development workflow. Runs codebase exploration, requirements clarification, gap analysis, and scope decisions for an existing development task. State lives in `orchestrator-state.yml` — this skill reads it on entry and writes results on exit.
11
+
12
+ Related entry points: `/owflow:development` (assisted mode), `/owflow:goal-development` (autonomous mode). Both produce the same state; you may mix them freely.
13
+
14
+ ## Entry Gate
15
+
16
+ Resolve the `task-path-or-identifier` argument BEFORE anything else (see [Gate Contract](../orchestrator-framework/references/gate-contract.md)):
17
+
18
+ - **Path** (absolute or project-relative) to the task directory — use as-is.
19
+ - **Identifier** — exact directory name inside `.owflow/tasks/development/` (e.g., `2026-01-12-my-task`); resolve to its path.
20
+ - If the argument is **missing**, the path does **not exist**, or matches **no identifier** → print the blocked block, then STOP (never guess or auto-pick a task):
21
+ 1. Prerequisites: none — this is the first work phase. Everything else requires it.
22
+ 2. List available dev-task identifiers (directories under `.owflow/tasks/development/`) to resume from, if any.
23
+ 3. Hint: `Run /owflow:development <description> to start a task from scratch, or pass a task path/identifier to resume.`
24
+
25
+ ### Prerequisites
26
+
27
+ | Required for this skill | Where verified | Produced by |
28
+ | ----------------------- | ------------------------------------ | ---------------------------- |
29
+ | State file exists | `<task-path>/orchestrator-state.yml` | `/owflow:development <desc>` |
30
+
31
+ 1. **Read `orchestrator-state.yml`** from the task path. If missing → mid-pipeline bootstrap ([Missing-state Bootstrap](../orchestrator-framework/references/gate-contract.md), starting slug `codebase-analysed`): `question` — create a fresh standard development task starting at this step, or decline → print `No development task found at <path>. Run /owflow:development <description> to start a task from scratch.` and STOP.
32
+ 2. **Skip/resume**: if `codebase-analysed` is in `completed_phases`, skip that part. If `gap-analysed` is in `completed_phases`, the whole skill is done — report existing results and route to the Exit Gate.
33
+
34
+ ## Execute
35
+
36
+ **Read first**: the [Delegation Rules](../orchestrator-framework/references/delegation-rules.md) and the [Dispatcher & Handoff Pattern](../orchestrator-framework/references/dispatcher-handoff.md).
37
+
38
+ ### Codebase Analysis (`codebase-analysed`)
39
+
40
+ 1. Skill tool - `codebase-analyzer`. Pass: task description (`task.description`), task_path, risk-relevant state, `project_doc_paths` from state, research/quick-reference context if present in state.
41
+ 2. Direct - use `question` for max 5 critical clarifying questions. Save to `analysis/clarifications.md`; set `task_context.clarifications_resolved`.
42
+ 3. **State write**: append `codebase-analysed` to `completed_phases`; update `task_context.risk_level`, `task_context.clarifications_resolved`, `phase_summaries.codebase_analysis`; bump `orchestrator.updated`. On failure: append `codebase-analysed` to `failed_phases`, increment `auto_fix_attempts["codebase-analysed"]`. Then re-read state + run `verify_template` (see State Update Convention).
43
+
44
+ ### Gap Analysis & Scope (`gap-analysed`)
45
+
46
+ 1. Task tool - `gap-analyzer` subagent. Pass: task_path, risk level, codebase summary, key files, clarifications, `project_doc_paths`.
47
+ 2. **Extract structured data from the result** (this gates later phases — do not summarize only):
48
+ - Read `task_characteristics` (5 fields: `has_reproducible_defect`, `modifies_existing_code`, `creates_new_entities`, `involves_data_operations`, `ui_heavy`) → write to `task_context.task_characteristics`
49
+ - Read `risk_level` → `task_context.risk_level`
50
+ - Write 1-2 sentence summary to `phase_summaries.gap_analysis`
51
+ - **SELF-CHECK**: re-read `orchestrator-state.yml` and verify the 5 characteristic values match the gap-analyzer output.
52
+ 3. **Decision gate** (mandatory): if `decisions_needed.critical` or `decisions_needed.important` is non-empty → `question` (one per critical; batch important into multi-select). If empty, note "No scope decisions needed" in state.
53
+ 4. Save scope clarifications to `analysis/scope-clarifications.md` (conditional).
54
+ 5. **Optional phase defaults**: `ui_heavy: true` → `options.e2e_enabled: true` + `options.user_docs_enabled: true`; `creates_new_entities: true` → `options.user_docs_enabled: true`. Command flags in state (`options`) already set override these.
55
+ 6. **State write**: append `gap-analysed` to `completed_phases`; update `task_context.task_characteristics`, `task_context.risk_level`, `phase_summaries.gap_analysis`; record decision-gate outcome (or "No scope decisions needed") in `task_context.gaps`; apply option defaults to `options.*`; bump `orchestrator.updated`. On failure: append `gap-analysed` to `failed_phases`, increment `auto_fix_attempts["gap-analysed"]`. Then re-read state + run `verify_template`.
56
+
57
+ **ANTI-PATTERN**: Do NOT override `ui_heavy` with your own complexity judgment ("no new screens needed, just..."). It is a gap-analyzer signal.
58
+
59
+ ## State Update Convention (per step)
60
+
61
+ Apply after EVERY phase/step above:
62
+
63
+ 1. **Write immediately** — update `orchestrator-state.yml` as soon as the step completes, appending ONLY the step slug actually performed (e.g. `codebase-analysed`, `gap-analysed`) plus that step's fields. Never batch multiple steps into one end-of-skill write.
64
+ 2. **Timestamp** — set `orchestrator.updated` to the current UTC timestamp on every write.
65
+ 3. **Failures** — if the step fails or its retries are abandoned, do NOT append to `completed_phases`; instead append the step's slug to `orchestrator.failed_phases` and increment `auto_fix_attempts["<slug>"]`.
66
+ 4. **Validate** — after every write, re-read the file to confirm values, then run the `verify_template` tool with `filePath: <task-path>/orchestrator-state.yml`, `templateName: orchestrator-state-development.yml`. Fix any reported issue immediately before proceeding.
67
+ 5. **Final check** — before the Exit Gate, one consolidated re-read + `verify_template` run to confirm the full state matches everything performed in this session.
68
+
69
+ ## Exit Gate
70
+
71
+ Present results, get user confirmation, then hand off (see [Gate Contract](../orchestrator-framework/references/gate-contract.md)). Never auto-invoke the next skill.
72
+
73
+ ### Results box
74
+
75
+ ```markdown
76
+ ## ✅ DEV ANALYZE COMPLETE — <task name>
77
+
78
+ **Task type** — [detected type]
79
+ **Risk level** — [risk_level from state]
80
+ **Characteristics** — [key characteristics — TDD gate, E2E, user docs]
81
+ **Scope decisions** — [decisions made / "none needed"]
82
+
83
+ **Artifacts**
84
+
85
+ - `analysis/codebase-analysis.md`
86
+ - `analysis/clarifications.md`
87
+ - `analysis/gap-analysis.md`
88
+ - `analysis/scope-clarifications.md` [conditional]
89
+ ```
90
+
91
+ ### Results-acceptance question
92
+
93
+ Use `question` — "Are these results correct?" with options:
94
+
95
+ - **Accept** — analysis is good; continue.
96
+ - **Adjust** — re-run only the affected part (clarifications, gap analysis, or scope decisions), update state and artifacts, re-present the results box.
97
+ - **Discuss** — walk through a specific result (risk level rationale, characteristics, scope decisions) in more depth; then re-ask.
98
+ - **Stop here** — print the resume command (`/owflow:dev-analyze <task-path>`) and end.
99
+
100
+ ### Next steps (after Accept)
101
+
102
+ Read `task_context.task_characteristics` from state and print the suggested command with annotations (see [Gate Contract](../orchestrator-framework/references/gate-contract.md)):
103
+
104
+ - `has_reproducible_defect: true` → `→ /owflow:dev-tdd-red <task-path>`
105
+ What: writes a failing test that reproduces the defect — `required` before the spec when a reproducible defect exists; the test becomes the spec's acceptance criterion.
106
+ - otherwise → `→ /owflow:dev-spec <task-path>`
107
+ What: turns the analysis into a user-approved specification — `required` next phase. There is no shorter alternative path: spec → plan → implement → verify → finalize.
108
+
109
+ **Other options**:
110
+
111
+ - `/owflow:dev-spec --quick <task-path>` — `optional` condensed alternative: writes the condensed spec directly on the fly (no specification-creator subagent; audit skipped) instead of the full requirements/spec flow
112
+ - `/owflow:goal-development <task-path>` — `optional` shortcut: runs all remaining phases in one loop (red gate if flagged → spec → plan → implement → verify → finalize)
113
+ - `/owflow:dev-spec <task-path>` — `optional` — skips the TDD gate manually (not recommended for reproducible defects; remaining plan unchanged: plan → implement → verify → finalize)
114
+
115
+ Then STOP.