owflow 0.6.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 -283
  3. package/dist/agents/bottleneck-analyzer.md +332 -333
  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 -126
  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 -122
  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 -267
  134. package/dist/skills/performance-analyze/SKILL.md +129 -129
  135. package/dist/skills/performance-analyze/references/performance-optimization-guide.md +271 -271
  136. package/dist/skills/performance-finalize/SKILL.md +117 -117
  137. package/dist/skills/performance-implement/SKILL.md +114 -114
  138. package/dist/skills/performance-plan/SKILL.md +112 -112
  139. package/dist/skills/performance-spec/SKILL.md +145 -145
  140. package/dist/skills/performance-verify/SKILL.md +164 -164
  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 -64
  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,164 +1,164 @@
1
- ---
2
- name: owflow:performance-verify
3
- description: Performance — verification options prompt, comprehensive implementation verification, and user-driven fix loop. Continues with performance-finalize.
4
- argument-hint: "[task-path-or-identifier]"
5
- user-invocable: true
6
- ---
7
-
8
- # Performance Verify — Verification Options & Issue Resolution (options-chosen, verification-done)
9
-
10
- Work step of the performance workflow. Lets the user pick which additional verification checks run, writes the chosen `options.*` to state BEFORE verification starts, then delegates comprehensive verification with a fix-then-reverify loop. State lives in `orchestrator-state.yml` — this skill reads it on entry and writes results on exit.
11
-
12
- ## Entry Gate
13
-
14
- Resolve the argument BEFORE anything else (see [Gate Contract](../orchestrator-framework/references/gate-contract.md)). The argument may be:
15
-
16
- - **Path** (absolute or project-relative) to the task directory — use as-is.
17
- - **Identifier** — exact directory name inside `.owflow/tasks/performance/` (e.g., `2026-10-02-api-latency`); resolve to its path.
18
- - **Description** — anything else (free text) is treated as a new performance task description: ask via `question` whether to start a fresh standard task at this step (mid-pipeline bootstrap) or route through `/owflow:performance <description>`; on decline, print the blocked block and STOP.
19
- - 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):
20
-
21
- 1. Steps that must be completed first (in order), each with its command:
22
- - Codebase & bottleneck analysis (`codebase-analysed`, `bottlenecks-identified`) → `/owflow:performance-analyze <task-path>`
23
- - Requirements, specification & conditional audit (`spec-written`, `spec-audited`) → `/owflow:performance-spec <task-path>`
24
- - Implementation planning (`plan-created`) → `/owflow:performance-plan <task-path>`
25
- - Implementation (`implementation-done`) → `/owflow:performance-implement <task-path>`
26
- 2. List available performance-task identifiers (directories under `.owflow/tasks/performance/`) to resume from, if any.
27
- 3. Hint: `Run /owflow:performance <description> to start a task from scratch, or pass a task path/identifier to resume.`
28
-
29
- ### Prerequisites
30
-
31
- | Required for this skill | Where verified | Produced by |
32
- | ----------------------- | -------------------------------------------------------------------- | ----------------------------------------- |
33
- | State file exists | `<task-path>/orchestrator-state.yml` | `/owflow:performance <desc>` |
34
- | Implementation done | `implementation-done` in `completed_phases` + `implementation/work-log.md` exists | `/owflow:performance-implement <task-path>` |
35
-
36
- 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 `options-chosen`): `question` — create a fresh standard performance task starting at this step, or decline → print `No performance task found at <path>. Run /owflow:performance <description> to start a task from scratch.` and STOP.
37
- 2. **Skip/resume + options idempotence rule**: if `options-chosen` is in `completed_phases` AND at least one `orchestrator.options.*` review flag is non-null, the options are already chosen — report them and route straight to the verification-done step; do NOT re-ask. If `verification-done` is also complete (validated against `verification/implementation-verification.md`), report existing results and route to the Exit Gate; if that artifact is missing, drop `verification-done` and re-run verification.
38
- 3. **Prerequisite check (presence and content)**: `implementation-done` in `completed_phases` AND `implementation/work-log.md` exists. If missing → print the blocked block, then STOP:
39
- - Steps that must be completed first: implementation (`implementation-done`).
40
- - `Run /owflow:performance-implement <task-path> first` (or the command for the earliest missing earlier step: `/owflow:performance-analyze`, `/owflow:performance-spec`, or `/owflow:performance-plan`).
41
- - If no task exists yet: `Run /owflow:performance <description> to start a task from scratch.`
42
-
43
- ## Execute
44
-
45
- **Read first**: the [Delegation Rules](../orchestrator-framework/references/delegation-rules.md) and [Issue Resolution](../orchestrator-framework/references/orchestrator-patterns.md) (Section 6).
46
-
47
- ### Verification Options (`options-chosen`, inline)
48
-
49
- **Step 1**: Display the verification plan:
50
-
51
- ```
52
- Verification Plan:
53
- Obligatory (always run):
54
- ✓ Completeness check
55
- ✓ Test suite (skipped — passed during implementation; re-enabled after fixes)
56
-
57
- Recommended (adjustable):
58
- ✓ Code review — quality and security analysis
59
- ✓ Pragmatic review — detects over-engineering
60
- ✓ Reality check — validates the optimization solves the problem
61
- ✓ Production readiness — deployment readiness checks
62
- ```
63
-
64
- **Step 2**: `question` (multi-select) — "Which additional verification checks?" Options, pre-selected from state where non-null: "Code review (Recommended)", "Pragmatic review (Recommended)", "Reality check (Recommended)", "Production readiness (Recommended)".
65
-
66
- **Step 3**: Write the chosen flags to `orchestrator.options.*` (`code_review_enabled`, `pragmatic_review_enabled`, `reality_check_enabled`, `production_check_enabled`) and auto-set `skip_test_suite: true` (safe ONLY because `implementation-plan-executor` already ended with a full test-suite run; it is cleared before re-verification if fixes are applied). **WRITE `options.*` BEFORE the verification step below invokes `implementation-verifier`** — the verifier reads these flags from state and executes them without re-prompting; this is the one ordering constraint it cannot recover from.
67
-
68
- **State write**: append `options-chosen` to `completed_phases`; write the chosen `options.*` and `skip_test_suite`; bump `orchestrator.updated`; re-read + `verify_template` (see State Update Convention).
69
-
70
- ### Verification & Issue Resolution (`verification-done`)
71
-
72
- **Step 1**: **INVOKE NOW** (Skill tool — never the Task tool; this skill spawns its own subagents): Skill tool - `implementation-verifier`. Pass: task_path, task_description, the chosen verification options, and `verification_context` if re-verifying. The verifier reads `options.*` from state and executes the enabled reviews without re-prompting.
73
-
74
- **SELF-CHECK**: Did you just invoke the Skill tool with `implementation-verifier`? Or did you start running checks yourself? If the latter, STOP and invoke the Skill tool.
75
-
76
- **Step 2**: Display the detailed issue breakdown grouped by category and severity:
77
-
78
- ```
79
- Verification Results:
80
- Critical ([N]):
81
- - [category]: [description] — [file:line] [fixable/manual]
82
- Warning ([N]):
83
- - [category]: [description] — [file:line] [fixable/manual]
84
- Info ([N]):
85
- - [description] (listed for awareness, not actionable)
86
- ```
87
-
88
- **Step 3**: Gate on status — `passed` → skip to the state write. `passed_with_issues` or `failed` → fix loop (Step 4).
89
-
90
- **Step 4**: User-driven fix loop (max 3 iterations):
91
-
92
- 1. Present critical + warning issues as a numbered list.
93
- 2. `question` — "Which issues should I fix?" Options: "Fix all fixable issues" / "Let me choose specific issues" / "Skip fixes, proceed as-is".
94
- 3. Fix the selected issues; **immediately** log each to `verification_context.fixes_applied` in state (not deferred to the end).
95
- 4. After fixes: set `skip_test_suite: false` (code changed, tests must re-run).
96
- 5. `question` — "Re-run verification to check fixes?" → re-invoke `implementation-verifier` → back to Step 2, or "No, proceed to next step".
97
- 6. **Immediately** update `verification_context.reverify_count` and `verification_context.last_status` in state after each verifier run and after each fix-loop iteration.
98
-
99
- **Exit conditions**: no critical issues remain → proceed; the user explicitly chooses to proceed with issues → proceed with issues logged; max 3 iterations → `question` "Proceed with known issues?" / "Stop workflow". **MUST NOT proceed with unresolved critical issues unless the user explicitly approves.**
100
-
101
- **State write**: append `verification-done` to `completed_phases` only at skill exit — status `passed`, or user-approved proceed with issues logged. Bump `orchestrator.updated`. On failure: append `verification-done` to `failed_phases`, increment `auto_fix_attempts["verification-done"]`. Then re-read state + run `verify_template`.
102
-
103
- ## State Update Convention (per step)
104
-
105
- Apply after EVERY step above:
106
-
107
- 1. **Write immediately** — update `orchestrator-state.yml` as soon as the step completes, appending ONLY the step slug actually performed plus that step's fields. Never defer writes to the end of the skill:
108
- - Append `options-chosen` with the chosen `options.*` and `skip_test_suite` right after the options prompt, before verification starts.
109
- - Append `verification-done` only at skill exit: status `passed`, or user-approved proceed with issues logged.
110
- - Update `verification_context.last_status`, `issues_found`, `fixes_applied`, and `reverify_count` immediately after each `implementation-verifier` run and after each fix-loop iteration, so an interruption loses nothing.
111
- 2. **Timestamp** — set `orchestrator.updated` to the current UTC timestamp on every write.
112
- 3. **Failures** — if `implementation-verifier` itself fails or the workflow stops with unresolved critical issues, do NOT append `verification-done` to `completed_phases`; append it to `orchestrator.failed_phases` and increment `auto_fix_attempts["verification-done"]`.
113
- 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-performance.yml`. Fix any reported issue immediately before proceeding.
114
- 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.
115
-
116
- ## Recovery
117
-
118
- | Step | Max Attempts | Strategy |
119
- | --------------------------------------------- | ------------ | ----------------------------------------------------------------------------------------- |
120
- | Verification Options (`options-chosen`) | 1 | Re-ask the multi-select once if the answer is unusable; the recommended defaults stay |
121
- | Verification & Issue Resolution (`verification-done`) | 3 | Fix-then-reverify cycles; after 3 iterations ask the user to proceed with known issues or stop |
122
-
123
- ## Exit Gate
124
-
125
- Present results, get user confirmation, then hand off (see [Gate Contract](../orchestrator-framework/references/gate-contract.md)). Never auto-invoke the next skill.
126
-
127
- ### Results box
128
-
129
- ```markdown
130
- ## ✅ PERFORMANCE VERIFY COMPLETE — <task name>
131
-
132
- **Overall status** — [✅ passed / ⚠ passed_with_issues / ❌ failed]
133
- **Issues found** — [total] ([critical] C / [warning] W / [info] I)
134
- **Fixed** — [count]
135
- **Remaining** — [by severity]
136
-
137
- **Artifacts**
138
-
139
- - `verification/implementation-verification.md`
140
- - `verification/code-review-report.md` [if run]
141
- - `verification/pragmatic-review.md` [if run]
142
- - `verification/reality-check.md` [if run]
143
- - `verification/production-readiness-report.md` [if run]
144
- ```
145
-
146
- ### Results-acceptance question
147
-
148
- Use `question` — "Are these results correct?" with options:
149
-
150
- - **Accept** — verification outcome is good (including approved proceed-with-issues); continue.
151
- - **Adjust** — run additional fixes and/or another verification round (within the fix-loop limits), then re-present the results box.
152
- - **Discuss** — walk through specific findings (issue details, fixability assessment, measurement caveats) in more depth; then re-ask.
153
- - **Stop here** — print the resume command (`/owflow:performance-verify <task-path>`) and end.
154
-
155
- ### Next steps (after Accept)
156
-
157
- - `→ /owflow:performance-finalize <task-path>` — `required` to close the workflow: final summary, commit guidance, and post-completion measurement hints. Remaining after: none — workflow ends.
158
-
159
- **Other options**:
160
-
161
- - `/owflow:reviews-code <task-path>` / `/owflow:reviews-pragmatic <task-path>` — `optional` — standalone re-runs of individual reviews; do not advance phases
162
- - `/owflow:goal-performance <task-path>` — `optional` shortcut: finishes the remaining step in one loop (finalize)
163
-
164
- Then STOP.
1
+ ---
2
+ name: owflow:performance-verify
3
+ description: Performance — verification options prompt, comprehensive implementation verification, and user-driven fix loop. Continues with performance-finalize.
4
+ argument-hint: "[task-path-or-identifier]"
5
+ user-invocable: true
6
+ ---
7
+
8
+ # Performance Verify — Verification Options & Issue Resolution (options-chosen, verification-done)
9
+
10
+ Work step of the performance workflow. Lets the user pick which additional verification checks run, writes the chosen `options.*` to state BEFORE verification starts, then delegates comprehensive verification with a fix-then-reverify loop. State lives in `orchestrator-state.yml` — this skill reads it on entry and writes results on exit.
11
+
12
+ ## Entry Gate
13
+
14
+ Resolve the argument BEFORE anything else (see [Gate Contract](../orchestrator-framework/references/gate-contract.md)). The argument may be:
15
+
16
+ - **Path** (absolute or project-relative) to the task directory — use as-is.
17
+ - **Identifier** — exact directory name inside `.owflow/tasks/performance/` (e.g., `2026-10-02-api-latency`); resolve to its path.
18
+ - **Description** — anything else (free text) is treated as a new performance task description: ask via `question` whether to start a fresh standard task at this step (mid-pipeline bootstrap) or route through `/owflow:performance <description>`; on decline, print the blocked block and STOP.
19
+ - 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):
20
+
21
+ 1. Steps that must be completed first (in order), each with its command:
22
+ - Codebase & bottleneck analysis (`codebase-analysed`, `bottlenecks-identified`) → `/owflow:performance-analyze <task-path>`
23
+ - Requirements, specification & conditional audit (`spec-written`, `spec-audited`) → `/owflow:performance-spec <task-path>`
24
+ - Implementation planning (`plan-created`) → `/owflow:performance-plan <task-path>`
25
+ - Implementation (`implementation-done`) → `/owflow:performance-implement <task-path>`
26
+ 2. List available performance-task identifiers (directories under `.owflow/tasks/performance/`) to resume from, if any.
27
+ 3. Hint: `Run /owflow:performance <description> to start a task from scratch, or pass a task path/identifier to resume.`
28
+
29
+ ### Prerequisites
30
+
31
+ | Required for this skill | Where verified | Produced by |
32
+ | ----------------------- | -------------------------------------------------------------------- | ----------------------------------------- |
33
+ | State file exists | `<task-path>/orchestrator-state.yml` | `/owflow:performance <desc>` |
34
+ | Implementation done | `implementation-done` in `completed_phases` + `implementation/work-log.md` exists | `/owflow:performance-implement <task-path>` |
35
+
36
+ 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 `options-chosen`): `question` — create a fresh standard performance task starting at this step, or decline → print `No performance task found at <path>. Run /owflow:performance <description> to start a task from scratch.` and STOP.
37
+ 2. **Skip/resume + options idempotence rule**: if `options-chosen` is in `completed_phases` AND at least one `orchestrator.options.*` review flag is non-null, the options are already chosen — report them and route straight to the verification-done step; do NOT re-ask. If `verification-done` is also complete (validated against `verification/implementation-verification.md`), report existing results and route to the Exit Gate; if that artifact is missing, drop `verification-done` and re-run verification.
38
+ 3. **Prerequisite check (presence and content)**: `implementation-done` in `completed_phases` AND `implementation/work-log.md` exists. If missing → print the blocked block, then STOP:
39
+ - Steps that must be completed first: implementation (`implementation-done`).
40
+ - `Run /owflow:performance-implement <task-path> first` (or the command for the earliest missing earlier step: `/owflow:performance-analyze`, `/owflow:performance-spec`, or `/owflow:performance-plan`).
41
+ - If no task exists yet: `Run /owflow:performance <description> to start a task from scratch.`
42
+
43
+ ## Execute
44
+
45
+ **Read first**: the [Delegation Rules](../orchestrator-framework/references/delegation-rules.md) and [Issue Resolution](../orchestrator-framework/references/orchestrator-patterns.md) (Section 6).
46
+
47
+ ### Verification Options (`options-chosen`, inline)
48
+
49
+ **Step 1**: Display the verification plan:
50
+
51
+ ```
52
+ Verification Plan:
53
+ Obligatory (always run):
54
+ ✓ Completeness check
55
+ ✓ Test suite (skipped — passed during implementation; re-enabled after fixes)
56
+
57
+ Recommended (adjustable):
58
+ ✓ Code review — quality and security analysis
59
+ ✓ Pragmatic review — detects over-engineering
60
+ ✓ Reality check — validates the optimization solves the problem
61
+ ✓ Production readiness — deployment readiness checks
62
+ ```
63
+
64
+ **Step 2**: `question` (multi-select) — "Which additional verification checks?" Options, pre-selected from state where non-null: "Code review (Recommended)", "Pragmatic review (Recommended)", "Reality check (Recommended)", "Production readiness (Recommended)".
65
+
66
+ **Step 3**: Write the chosen flags to `orchestrator.options.*` (`code_review_enabled`, `pragmatic_review_enabled`, `reality_check_enabled`, `production_check_enabled`) and auto-set `skip_test_suite: true` (safe ONLY because `implementation-plan-executor` already ended with a full test-suite run; it is cleared before re-verification if fixes are applied). **WRITE `options.*` BEFORE the verification step below invokes `implementation-verifier`** — the verifier reads these flags from state and executes them without re-prompting; this is the one ordering constraint it cannot recover from.
67
+
68
+ **State write**: append `options-chosen` to `completed_phases`; write the chosen `options.*` and `skip_test_suite`; bump `orchestrator.updated`; re-read + `verify_template` (see State Update Convention).
69
+
70
+ ### Verification & Issue Resolution (`verification-done`)
71
+
72
+ **Step 1**: **INVOKE NOW** (Skill tool — never the Task tool; this skill spawns its own subagents): Skill tool - `implementation-verifier`. Pass: task_path, task_description, the chosen verification options, and `verification_context` if re-verifying. The verifier reads `options.*` from state and executes the enabled reviews without re-prompting.
73
+
74
+ **SELF-CHECK**: Did you just invoke the Skill tool with `implementation-verifier`? Or did you start running checks yourself? If the latter, STOP and invoke the Skill tool.
75
+
76
+ **Step 2**: Display the detailed issue breakdown grouped by category and severity:
77
+
78
+ ```
79
+ Verification Results:
80
+ Critical ([N]):
81
+ - [category]: [description] — [file:line] [fixable/manual]
82
+ Warning ([N]):
83
+ - [category]: [description] — [file:line] [fixable/manual]
84
+ Info ([N]):
85
+ - [description] (listed for awareness, not actionable)
86
+ ```
87
+
88
+ **Step 3**: Gate on status — `passed` → skip to the state write. `passed_with_issues` or `failed` → fix loop (Step 4).
89
+
90
+ **Step 4**: User-driven fix loop (max 3 iterations):
91
+
92
+ 1. Present critical + warning issues as a numbered list.
93
+ 2. `question` — "Which issues should I fix?" Options: "Fix all fixable issues" / "Let me choose specific issues" / "Skip fixes, proceed as-is".
94
+ 3. Fix the selected issues; **immediately** log each to `verification_context.fixes_applied` in state (not deferred to the end).
95
+ 4. After fixes: set `skip_test_suite: false` (code changed, tests must re-run).
96
+ 5. `question` — "Re-run verification to check fixes?" → re-invoke `implementation-verifier` → back to Step 2, or "No, proceed to next step".
97
+ 6. **Immediately** update `verification_context.reverify_count` and `verification_context.last_status` in state after each verifier run and after each fix-loop iteration.
98
+
99
+ **Exit conditions**: no critical issues remain → proceed; the user explicitly chooses to proceed with issues → proceed with issues logged; max 3 iterations → `question` "Proceed with known issues?" / "Stop workflow". **MUST NOT proceed with unresolved critical issues unless the user explicitly approves.**
100
+
101
+ **State write**: append `verification-done` to `completed_phases` only at skill exit — status `passed`, or user-approved proceed with issues logged. Bump `orchestrator.updated`. On failure: append `verification-done` to `failed_phases`, increment `auto_fix_attempts["verification-done"]`. Then re-read state + run `verify_template`.
102
+
103
+ ## State Update Convention (per step)
104
+
105
+ Apply after EVERY step above:
106
+
107
+ 1. **Write immediately** — update `orchestrator-state.yml` as soon as the step completes, appending ONLY the step slug actually performed plus that step's fields. Never defer writes to the end of the skill:
108
+ - Append `options-chosen` with the chosen `options.*` and `skip_test_suite` right after the options prompt, before verification starts.
109
+ - Append `verification-done` only at skill exit: status `passed`, or user-approved proceed with issues logged.
110
+ - Update `verification_context.last_status`, `issues_found`, `fixes_applied`, and `reverify_count` immediately after each `implementation-verifier` run and after each fix-loop iteration, so an interruption loses nothing.
111
+ 2. **Timestamp** — set `orchestrator.updated` to the current UTC timestamp on every write.
112
+ 3. **Failures** — if `implementation-verifier` itself fails or the workflow stops with unresolved critical issues, do NOT append `verification-done` to `completed_phases`; append it to `orchestrator.failed_phases` and increment `auto_fix_attempts["verification-done"]`.
113
+ 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-performance.yml`. Fix any reported issue immediately before proceeding.
114
+ 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.
115
+
116
+ ## Recovery
117
+
118
+ | Step | Max Attempts | Strategy |
119
+ | --------------------------------------------- | ------------ | ----------------------------------------------------------------------------------------- |
120
+ | Verification Options (`options-chosen`) | 1 | Re-ask the multi-select once if the answer is unusable; the recommended defaults stay |
121
+ | Verification & Issue Resolution (`verification-done`) | 3 | Fix-then-reverify cycles; after 3 iterations ask the user to proceed with known issues or stop |
122
+
123
+ ## Exit Gate
124
+
125
+ Present results, get user confirmation, then hand off (see [Gate Contract](../orchestrator-framework/references/gate-contract.md)). Never auto-invoke the next skill.
126
+
127
+ ### Results box
128
+
129
+ ```markdown
130
+ ## ✅ PERFORMANCE VERIFY COMPLETE — <task name>
131
+
132
+ **Overall status** — [✅ passed / ⚠ passed_with_issues / ❌ failed]
133
+ **Issues found** — [total] ([critical] C / [warning] W / [info] I)
134
+ **Fixed** — [count]
135
+ **Remaining** — [by severity]
136
+
137
+ **Artifacts**
138
+
139
+ - `verification/implementation-verification.md`
140
+ - `verification/code-review-report.md` [if run]
141
+ - `verification/pragmatic-review.md` [if run]
142
+ - `verification/reality-check.md` [if run]
143
+ - `verification/production-readiness-report.md` [if run]
144
+ ```
145
+
146
+ ### Results-acceptance question
147
+
148
+ Use `question` — "Are these results correct?" with options:
149
+
150
+ - **Accept** — verification outcome is good (including approved proceed-with-issues); continue.
151
+ - **Adjust** — run additional fixes and/or another verification round (within the fix-loop limits), then re-present the results box.
152
+ - **Discuss** — walk through specific findings (issue details, fixability assessment, measurement caveats) in more depth; then re-ask.
153
+ - **Stop here** — print the resume command (`/owflow:performance-verify <task-path>`) and end.
154
+
155
+ ### Next steps (after Accept)
156
+
157
+ - `→ /owflow:performance-finalize <task-path>` — `required` to close the workflow: final summary, commit guidance, and post-completion measurement hints. Remaining after: none — workflow ends.
158
+
159
+ **Other options**:
160
+
161
+ - `/owflow:reviews-code <task-path>` / `/owflow:reviews-pragmatic <task-path>` — `optional` — standalone re-runs of individual reviews; do not advance phases
162
+ - `/owflow:goal-performance <task-path>` — `optional` shortcut: finishes the remaining step in one loop (finalize)
163
+
164
+ Then STOP.