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.
- package/LICENSE +21 -21
- package/README.md +448 -283
- package/dist/agents/bottleneck-analyzer.md +332 -333
- package/dist/agents/code-quality-pragmatist.md +353 -354
- package/dist/agents/code-reviewer.md +238 -239
- package/dist/agents/codebase-analysis-reporter.md +245 -246
- package/dist/agents/docs-operator.md +22 -23
- package/dist/agents/e2e-test-verifier.md +447 -448
- package/dist/agents/gap-analyzer.md +501 -502
- package/dist/agents/implementation-completeness-checker.md +219 -220
- package/dist/agents/implementation-planner.md +308 -309
- package/dist/agents/information-gatherer.md +690 -691
- package/dist/agents/production-readiness-checker.md +278 -279
- package/dist/agents/project-analyzer.md +403 -403
- package/dist/agents/reality-assessor.md +365 -366
- package/dist/agents/research-planner.md +449 -450
- package/dist/agents/research-synthesizer.md +402 -403
- package/dist/agents/solution-brainstormer.md +256 -257
- package/dist/agents/solution-designer.md +371 -372
- package/dist/agents/spec-auditor.md +297 -298
- package/dist/agents/specification-creator.md +333 -334
- package/dist/agents/task-classifier.md +449 -450
- package/dist/agents/task-group-implementer.md +283 -284
- package/dist/agents/test-suite-runner.md +194 -195
- package/dist/agents/user-docs-generator.md +508 -509
- package/dist/commands/reviews-code.md +90 -90
- package/dist/commands/reviews-pragmatic.md +99 -99
- package/dist/commands/reviews-production-readiness.md +113 -113
- package/dist/commands/reviews-reality-check.md +110 -110
- package/dist/commands/reviews-spec-audit.md +114 -114
- package/dist/commands/work.md +280 -280
- package/dist/configuration/agents-config.d.ts +2 -0
- package/dist/configuration/agents-config.js +8 -44
- package/dist/configuration/commands-config.d.ts +23 -0
- package/dist/configuration/commands-config.js +17 -17
- package/dist/configuration/skills-config.d.ts +2 -0
- package/dist/configuration/skills-config.js +3 -3
- package/dist/hooks/hooks-diagnostics.d.ts +3 -0
- package/dist/hooks/hooks-diagnostics.js +21 -0
- package/dist/hooks/hooks-persistence.d.ts +17 -0
- package/dist/hooks/hooks-persistence.js +207 -0
- package/dist/hooks/hooks-registry.d.ts +6 -0
- package/dist/hooks/hooks-registry.js +104 -0
- package/dist/hooks/hooks-wrapper.d.ts +25 -0
- package/dist/hooks/hooks-wrapper.js +318 -0
- package/dist/hooks/internal/before-tool.d.ts +6 -0
- package/dist/hooks/internal/before-tool.js +13 -0
- package/dist/hooks/internal/session-compaction.d.ts +9 -0
- package/dist/hooks/{session-compaction.js → internal/session-compaction.js} +9 -7
- package/dist/hooks/runtime/circuit-breaker.d.ts +23 -0
- package/dist/hooks/runtime/circuit-breaker.js +39 -0
- package/dist/hooks/runtime/failure-policy.d.ts +15 -0
- package/dist/hooks/runtime/failure-policy.js +49 -0
- package/dist/hooks/runtime/process-executor.d.ts +33 -0
- package/dist/hooks/runtime/process-executor.js +147 -0
- package/dist/hooks/runtime/status-recorder.d.ts +27 -0
- package/dist/hooks/runtime/status-recorder.js +111 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +111 -40
- package/dist/skills/agents-md-generator/SKILL.md +223 -223
- package/dist/skills/codebase-analyzer/SKILL.md +162 -162
- package/dist/skills/codebase-analyzer/references/code-analysis.md +63 -63
- package/dist/skills/codebase-analyzer/references/combined.md +31 -31
- package/dist/skills/codebase-analyzer/references/context-discovery.md +63 -63
- package/dist/skills/codebase-analyzer/references/file-discovery.md +51 -51
- package/dist/skills/codebase-analyzer/references/migration-target.md +23 -23
- package/dist/skills/codebase-analyzer/references/pattern-mining.md +22 -22
- package/dist/skills/dev-analyze/SKILL.md +115 -115
- package/dist/skills/dev-bugfix/SKILL.md +452 -452
- package/dist/skills/dev-finalize/SKILL.md +118 -118
- package/dist/skills/dev-implement/SKILL.md +167 -167
- package/dist/skills/dev-plan/SKILL.md +147 -147
- package/dist/skills/dev-spec/SKILL.md +182 -182
- package/dist/skills/dev-tdd-red/SKILL.md +94 -94
- package/dist/skills/dev-verify/SKILL.md +153 -153
- package/dist/skills/development/SKILL.md +260 -260
- package/dist/skills/diagrams-mermaid/SKILL.md +183 -159
- package/dist/skills/diagrams-mermaid/references/reference.md +220 -148
- package/dist/skills/docs-manager/SKILL.md +379 -379
- package/dist/skills/docs-manager/docs/INDEX.md +199 -199
- package/dist/skills/docs-manager/docs/standards/backend/api.md +25 -25
- package/dist/skills/docs-manager/docs/standards/backend/migrations.md +22 -22
- package/dist/skills/docs-manager/docs/standards/backend/models.md +25 -25
- package/dist/skills/docs-manager/docs/standards/backend/queries.md +22 -22
- package/dist/skills/docs-manager/docs/standards/frontend/accessibility.md +25 -25
- package/dist/skills/docs-manager/docs/standards/frontend/components.md +28 -28
- package/dist/skills/docs-manager/docs/standards/frontend/css.md +16 -16
- package/dist/skills/docs-manager/docs/standards/frontend/responsive.md +28 -28
- package/dist/skills/docs-manager/docs/standards/global/coding-style.md +25 -25
- package/dist/skills/docs-manager/docs/standards/global/commenting.md +10 -10
- package/dist/skills/docs-manager/docs/standards/global/conventions.md +31 -31
- package/dist/skills/docs-manager/docs/standards/global/error-handling.md +22 -22
- package/dist/skills/docs-manager/docs/standards/global/minimal-implementation.md +22 -22
- package/dist/skills/docs-manager/docs/standards/global/validation.md +28 -28
- package/dist/skills/docs-manager/docs/standards/testing/test-writing.md +25 -25
- package/dist/skills/docs-manager/references/agents-md-template.md +29 -29
- package/dist/skills/docs-manager/references/index-md-template.md +73 -73
- package/dist/skills/flow-init/SKILL.md +234 -234
- package/dist/skills/flow-init/references/architecture-template.md +45 -45
- package/dist/skills/flow-init/references/roadmap-templates.md +93 -93
- package/dist/skills/flow-init/references/tech-stack-template.md +70 -70
- package/dist/skills/flow-init/references/vision-templates.md +75 -75
- package/dist/skills/goal-development/SKILL.md +96 -96
- package/dist/skills/goal-migration/SKILL.md +114 -114
- package/dist/skills/goal-performance/SKILL.md +126 -126
- package/dist/skills/goal-research/SKILL.md +118 -118
- package/dist/skills/html-renderer/SKILL.md +173 -173
- package/dist/skills/html-renderer/references/index.html +318 -318
- package/dist/skills/html-renderer/references/styles.css +388 -388
- package/dist/skills/html-renderer/references/tokens.json +104 -104
- package/dist/skills/implementation-plan-executor/SKILL.md +378 -378
- package/dist/skills/implementation-verifier/SKILL.md +307 -307
- package/dist/skills/migration/SKILL.md +268 -268
- package/dist/skills/migration-analyze/SKILL.md +126 -126
- package/dist/skills/migration-finalize/SKILL.md +161 -161
- package/dist/skills/migration-fix/SKILL.md +155 -155
- package/dist/skills/migration-implement/SKILL.md +131 -131
- package/dist/skills/migration-plan/SKILL.md +131 -131
- package/dist/skills/migration-spec/SKILL.md +135 -135
- package/dist/skills/migration-spec/references/migration-strategies.md +430 -430
- package/dist/skills/migration-target/SKILL.md +134 -134
- package/dist/skills/migration-target/references/migration-types.md +489 -489
- package/dist/skills/migration-verify/SKILL.md +184 -184
- package/dist/skills/orchestrator-framework/SKILL.md +65 -65
- package/dist/skills/orchestrator-framework/references/command-namespacing.md +7 -7
- package/dist/skills/orchestrator-framework/references/confirm-or-revise-exception.md +20 -20
- package/dist/skills/orchestrator-framework/references/delegation-rules.md +54 -54
- package/dist/skills/orchestrator-framework/references/dispatcher-handoff.md +27 -27
- package/dist/skills/orchestrator-framework/references/fix-loop-contract.md +65 -65
- package/dist/skills/orchestrator-framework/references/gate-contract.md +122 -122
- package/dist/skills/orchestrator-framework/references/orchestrator-creation-checklist.md +51 -51
- package/dist/skills/orchestrator-framework/references/orchestrator-patterns.md +235 -235
- package/dist/skills/performance/SKILL.md +267 -267
- package/dist/skills/performance-analyze/SKILL.md +129 -129
- package/dist/skills/performance-analyze/references/performance-optimization-guide.md +271 -271
- package/dist/skills/performance-finalize/SKILL.md +117 -117
- package/dist/skills/performance-implement/SKILL.md +114 -114
- package/dist/skills/performance-plan/SKILL.md +112 -112
- package/dist/skills/performance-spec/SKILL.md +145 -145
- package/dist/skills/performance-verify/SKILL.md +164 -164
- package/dist/skills/research/SKILL.md +249 -249
- package/dist/skills/research-brainstorm/SKILL.md +120 -120
- package/dist/skills/research-brainstorm/references/brainstorming-techniques.md +84 -84
- package/dist/skills/research-converge/SKILL.md +130 -130
- package/dist/skills/research-design/SKILL.md +146 -146
- package/dist/skills/research-design/references/design-techniques.md +40 -40
- package/dist/skills/research-finalize/SKILL.md +125 -125
- package/dist/skills/research-fork/SKILL.md +190 -190
- package/dist/skills/research-gather/SKILL.md +133 -133
- package/dist/skills/research-plan/SKILL.md +141 -141
- package/dist/skills/research-plan/references/research-methodologies.md +710 -710
- package/dist/skills/research-quick/SKILL.md +139 -139
- package/dist/skills/research-synthesize/SKILL.md +127 -127
- package/dist/skills/rule-reviewer/SKILL.md +334 -334
- package/dist/skills/standards-discover/SKILL.md +260 -260
- package/dist/skills/standards-discover/references/aggregation-strategy.md +76 -76
- package/dist/skills/standards-discover/references/code-pattern-prompt.md +68 -68
- package/dist/skills/standards-discover/references/config-analyzer-prompt.md +67 -67
- package/dist/skills/standards-discover/references/docs-extractor-prompt.md +65 -65
- package/dist/skills/standards-discover/references/external-analyzer-prompt.md +75 -75
- package/dist/skills/standards-update/SKILL.md +207 -207
- package/dist/templates/orchestrator-state-base.yml +17 -17
- package/dist/templates/orchestrator-state-development.yml +95 -95
- package/dist/templates/orchestrator-state-migration.yml +95 -95
- package/dist/templates/orchestrator-state-performance.yml +64 -64
- package/dist/templates/orchestrator-state-research.yml +67 -67
- package/dist/tools/fork_task.d.ts +17 -0
- package/dist/tools/fork_task.js +21 -11
- package/dist/tools/verify_template.d.ts +11 -0
- package/dist/tools/verify_template.js +32 -17
- package/dist/tui/hooks-dialogs.d.ts +20 -0
- package/dist/tui/hooks-dialogs.js +181 -0
- package/dist/tui/hooks-presenter.d.ts +15 -0
- package/dist/tui/hooks-presenter.js +70 -0
- package/dist/tui/hooks-sidebar.d.ts +10 -0
- package/dist/tui/hooks-sidebar.js +104 -0
- package/dist/tui/primitives.d.ts +21 -0
- package/dist/tui/primitives.js +47 -0
- package/dist/tui.d.ts +12 -0
- package/dist/tui.js +129 -0
- package/dist/types/hook-types.d.ts +125 -0
- package/dist/types/hook-types.js +76 -0
- package/dist/types/opencode-types.d.ts +13 -0
- package/dist/utils/file-util.d.ts +2 -0
- package/dist/utils/file-util.js +6 -6
- package/dist/utils/fork-task.d.ts +27 -0
- package/dist/utils/fork-task.js +18 -23
- package/dist/utils/plugin-info.d.ts +3 -0
- package/dist/utils/plugin-info.js +8 -10
- package/dist/utils/workflow-paths.d.ts +17 -0
- package/dist/utils/workflow-paths.js +18 -0
- package/dist/utils/yaml-structure.d.ts +7 -0
- package/dist/utils/yaml-structure.js +7 -11
- package/package.json +68 -48
- package/dist/hooks/before-tool.js +0 -19
|
@@ -1,120 +1,120 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: owflow:research-brainstorm
|
|
3
|
-
description: Research skill — optional subskill. Delegates multi-perspective solution-alternative generation to the solution-brainstormer agent, producing outputs/solution-exploration.md. Invoking this skill IS the decision to brainstorm — there is no enablement flag.
|
|
4
|
-
argument-hint: "[task-path-or-identifier]"
|
|
5
|
-
user-invocable: true
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Research Brainstorm — Solution Alternatives (alternatives-generated)
|
|
9
|
-
|
|
10
|
-
Work phase of the research workflow. Delegates divergent solution-alternative generation to the solution-brainstormer agent (`outputs/solution-exploration.md`). Optional phase — runs when the user chooses it: invoking this skill IS the decision to brainstorm (no enablement flag in state). There is no auto-continue into convergence: this skill's Exit Gate and `research-converge`'s Entry Gate make that boundary explicit. State lives in `orchestrator-state.yml` — this skill reads it on entry and writes results on exit.
|
|
11
|
-
|
|
12
|
-
Related phases: `/owflow:research-converge` (consumes the alternatives for per-area decisions). The brainstorming-techniques reference lives in this skill's own folder (`references/brainstorming-techniques.md`).
|
|
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/research/` (e.g., `2026-09-26-my-research`); 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. Steps that must be completed first (in order), each with its command:
|
|
22
|
-
- Research brief & plan (`brief-written`, `plan-created`) → `/owflow:research-plan <task-path>`
|
|
23
|
-
- Parallel findings fan (`findings-gathered`) → `/owflow:research-gather <task-path>`
|
|
24
|
-
- Synthesis & research report (`synthesis-complete`) → `/owflow:research-synthesize <task-path>`
|
|
25
|
-
2. List available research-task identifiers (directories under `.owflow/tasks/research/`) to resume from, if any.
|
|
26
|
-
3. Hint: `Run /owflow:research <question> to start a task from scratch, or pass a task path/identifier to resume.`
|
|
27
|
-
|
|
28
|
-
### Prerequisites
|
|
29
|
-
|
|
30
|
-
| Required for this skill | Where verified | Produced by |
|
|
31
|
-
| --------------------------- | ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
|
|
32
|
-
| State file exists | `<task-path>/orchestrator-state.yml` | `/owflow:research <question>` or `/owflow:research-quick` |
|
|
33
|
-
| Foundation complete | `synthesis-complete` in `completed_phases` + `analysis/synthesis.md` AND `outputs/research-report.md` exist | `/owflow:research-synthesize <task-path>` |
|
|
34
|
-
|
|
35
|
-
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 `alternatives-generated`): `question` — create a fresh standard research task starting at this step, or decline → print `No research task found at <path>. Run /owflow:research <question> to start a task from scratch.` and STOP.
|
|
36
|
-
2. **Skip/resume**: if `alternatives-generated` is in `completed_phases`, validate `outputs/solution-exploration.md` exists; missing → re-run below; present → report the existing alternatives summary and route to the Exit Gate.
|
|
37
|
-
3. **Prerequisite check**: `synthesis-complete` must be in `completed_phases`. If missing → print the blocked block, then STOP:
|
|
38
|
-
- Steps that must be completed first: synthesis (`synthesis-complete`).
|
|
39
|
-
- `Run /owflow:research-synthesize <task-path> first` (or the command for the earliest missing earlier step: `/owflow:research-plan` or `/owflow:research-gather`).
|
|
40
|
-
- If no task exists yet: `Run /owflow:research <question> to start a task from scratch.`
|
|
41
|
-
|
|
42
|
-
## Input / Output Artifacts
|
|
43
|
-
|
|
44
|
-
| Artifact | Normal mode (full lane) | Quick mode (`research-quick`) |
|
|
45
|
-
| ---------------------------------------------- | --------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
|
|
46
|
-
| Consumed: `analysis/synthesis.md`, `outputs/research-report.md` | foundation inputs (from synthesize) | identical — research-quick produces the same standard artifacts, so this skill runs unchanged afterwards |
|
|
47
|
-
| Produced: `outputs/solution-exploration.md` | delegated to `solution-brainstormer` (Task tool) | NOT produced here — the quick lane stops at synthesis; the optional chain always runs as this skill |
|
|
48
|
-
| State write | `alternatives-generated`; `phase_summaries.brainstorm`, `research_outputs.solution_exploration` | same (this skill never runs inside a quick pass) |
|
|
49
|
-
|
|
50
|
-
## Execute (delegated brainstorm)
|
|
51
|
-
|
|
52
|
-
**Read first**: the [Delegation Rules](../orchestrator-framework/references/delegation-rules.md).
|
|
53
|
-
|
|
54
|
-
**Read `references/brainstorming-techniques.md` NOW using the Read tool** — divergent/convergent thinking techniques, interactive exploration, scope guardrails.
|
|
55
|
-
|
|
56
|
-
> **ANTI-PATTERN — do NOT generate solution alternatives inline. "The question is simple" is NOT a reason to skip delegation. The solution-brainstormer agent has specialized multi-perspective analysis capabilities.**
|
|
57
|
-
|
|
58
|
-
1. **INVOKE NOW**: Task tool - `solution-brainstormer` subagent (never the Skill tool — this is an agent). Pass (Pattern 7 — accumulated context):
|
|
59
|
-
- `task_path`, `synthesis_path` (`analysis/synthesis.md`), `research_report_path` (`outputs/research-report.md`)
|
|
60
|
-
- `output_path`: `outputs/solution-exploration.md` — brainstormer MUST write to this exact path
|
|
61
|
-
- Accumulated context: `research_type`, `research_question`, `confidence_level`, `phase_summaries` (foundation slugs)
|
|
62
|
-
- `project_doc_paths` (from state)
|
|
63
|
-
|
|
64
|
-
2. > **SELF-CHECK**: After the Task tool returns, verify `outputs/solution-exploration.md` exists and contains alternatives. If missing: **STOP. Do NOT proceed to convergence or design.** Re-invoke the brainstormer with corrected context (ensure `output_path` is `outputs/solution-exploration.md`). If a second attempt also fails, use `question` to report the failure and ask whether to retry or skip brainstorming.
|
|
65
|
-
|
|
66
|
-
3. On a user-chosen skip (via `question` after repeated failures): record the reason in `phase_summaries.brainstorm`. Do not append `alternatives-generated` to `completed_phases` and do not append a `failed_phases` entry (a deliberate decision, not a failure). Then present the Exit Gate: the results box notes the skip, and the next step follows the user's call (`→ /owflow:research-design <task-path>` for the design-only branch, otherwise `→ /owflow:research-finalize <task-path>`).
|
|
67
|
-
|
|
68
|
-
### Close (`alternatives-generated`)
|
|
69
|
-
|
|
70
|
-
1. **State write**: append `alternatives-generated` to `completed_phases` after the SELF-CHECK passes; update `phase_summaries.brainstorm`; set `research_outputs.solution_exploration`; bump `orchestrator.updated`. On failure: append `alternatives-generated` to `failed_phases`, increment `auto_fix_attempts["alternatives-generated"]`. Then re-read state + run `verify_template` (see State Update Convention).
|
|
71
|
-
|
|
72
|
-
## State Update Convention (per step)
|
|
73
|
-
|
|
74
|
-
Apply after EVERY step above:
|
|
75
|
-
|
|
76
|
-
1. **Write immediately** — update `orchestrator-state.yml` as soon as the step completes, appending ONLY the step slug actually performed (`alternatives-generated`) plus that step's fields. Never batch multiple steps into one end-of-skill write.
|
|
77
|
-
2. **Timestamp** — set `orchestrator.updated` to the current UTC timestamp on every write.
|
|
78
|
-
3. **Failures** — if the brainstormer delegation fails or its retries are abandoned, do NOT append `alternatives-generated` to `completed_phases`; instead append it to `orchestrator.failed_phases` and increment `auto_fix_attempts["alternatives-generated"]`. A user-chosen skip is not a failure: record the reason in `phase_summaries.brainstorm` (see Execute step 3) instead of writing `failed_phases`.
|
|
79
|
-
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-research.yml`. Fix any reported issue immediately before proceeding.
|
|
80
|
-
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.
|
|
81
|
-
|
|
82
|
-
## Recovery
|
|
83
|
-
|
|
84
|
-
| Step | Max Attempts | Strategy |
|
|
85
|
-
| ----------------------------------- | ------------ | ---------------------------------------------------- |
|
|
86
|
-
| Brainstorm (`alternatives-generated`) | 2 | Re-invoke solution-brainstormer with adjusted context |
|
|
87
|
-
|
|
88
|
-
## Exit Gate
|
|
89
|
-
|
|
90
|
-
Present results, get user confirmation, then hand off (see [Gate Contract](../orchestrator-framework/references/gate-contract.md)). Never auto-invoke the next skill. There is no auto-continue into convergence — converge's Entry Gate re-validates the artifact. A user-chosen skip still uses this Exit Gate; its results box says the step was skipped and why.
|
|
91
|
-
|
|
92
|
-
### Results box
|
|
93
|
-
|
|
94
|
-
```markdown
|
|
95
|
-
## ✅ RESEARCH BRAINSTORM COMPLETE — <research question>
|
|
96
|
-
|
|
97
|
-
**Type** — [research type]
|
|
98
|
-
**Decision areas** — [N areas surfaced in solution-exploration.md]
|
|
99
|
-
**Alternatives** — [total alternatives across areas]
|
|
100
|
-
|
|
101
|
-
**Artifacts**
|
|
102
|
-
|
|
103
|
-
- `outputs/solution-exploration.md`
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
### Results-acceptance question
|
|
107
|
-
|
|
108
|
-
Use `question` — "Are these results correct?" with options:
|
|
109
|
-
|
|
110
|
-
- **Accept** — the alternatives are good; continue.
|
|
111
|
-
- **Adjust** — re-invoke the brainstormer with the user's corrections (refined scope or emphasis), update state and artifacts, re-present the results box.
|
|
112
|
-
- **Discuss** — walk through specific alternatives or a decision area in more depth; then re-ask.
|
|
113
|
-
- **Stop here** — print the resume command (`/owflow:research-brainstorm <task-path>`) and end.
|
|
114
|
-
|
|
115
|
-
### Next steps (after Accept)
|
|
116
|
-
|
|
117
|
-
- Alternatives produced → `→ /owflow:research-converge <task-path>` — `required` next: presents the alternatives per decision area with identical full detail, records each `chosen_approach` in state, and resolves the combination (`approaches-chosen`). Remaining after: design (when the user wants it) → finalize.
|
|
118
|
-
- User-chosen skip → `→ /owflow:research-design <task-path>` (design-only branch, seeded from the research report) or `→ /owflow:research-finalize <task-path>`, per the user's call. Do not suggest converge — there are no alternatives to converge on.
|
|
119
|
-
|
|
120
|
-
Then STOP.
|
|
1
|
+
---
|
|
2
|
+
name: owflow:research-brainstorm
|
|
3
|
+
description: Research skill — optional subskill. Delegates multi-perspective solution-alternative generation to the solution-brainstormer agent, producing outputs/solution-exploration.md. Invoking this skill IS the decision to brainstorm — there is no enablement flag.
|
|
4
|
+
argument-hint: "[task-path-or-identifier]"
|
|
5
|
+
user-invocable: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Research Brainstorm — Solution Alternatives (alternatives-generated)
|
|
9
|
+
|
|
10
|
+
Work phase of the research workflow. Delegates divergent solution-alternative generation to the solution-brainstormer agent (`outputs/solution-exploration.md`). Optional phase — runs when the user chooses it: invoking this skill IS the decision to brainstorm (no enablement flag in state). There is no auto-continue into convergence: this skill's Exit Gate and `research-converge`'s Entry Gate make that boundary explicit. State lives in `orchestrator-state.yml` — this skill reads it on entry and writes results on exit.
|
|
11
|
+
|
|
12
|
+
Related phases: `/owflow:research-converge` (consumes the alternatives for per-area decisions). The brainstorming-techniques reference lives in this skill's own folder (`references/brainstorming-techniques.md`).
|
|
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/research/` (e.g., `2026-09-26-my-research`); 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. Steps that must be completed first (in order), each with its command:
|
|
22
|
+
- Research brief & plan (`brief-written`, `plan-created`) → `/owflow:research-plan <task-path>`
|
|
23
|
+
- Parallel findings fan (`findings-gathered`) → `/owflow:research-gather <task-path>`
|
|
24
|
+
- Synthesis & research report (`synthesis-complete`) → `/owflow:research-synthesize <task-path>`
|
|
25
|
+
2. List available research-task identifiers (directories under `.owflow/tasks/research/`) to resume from, if any.
|
|
26
|
+
3. Hint: `Run /owflow:research <question> to start a task from scratch, or pass a task path/identifier to resume.`
|
|
27
|
+
|
|
28
|
+
### Prerequisites
|
|
29
|
+
|
|
30
|
+
| Required for this skill | Where verified | Produced by |
|
|
31
|
+
| --------------------------- | ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
|
|
32
|
+
| State file exists | `<task-path>/orchestrator-state.yml` | `/owflow:research <question>` or `/owflow:research-quick` |
|
|
33
|
+
| Foundation complete | `synthesis-complete` in `completed_phases` + `analysis/synthesis.md` AND `outputs/research-report.md` exist | `/owflow:research-synthesize <task-path>` |
|
|
34
|
+
|
|
35
|
+
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 `alternatives-generated`): `question` — create a fresh standard research task starting at this step, or decline → print `No research task found at <path>. Run /owflow:research <question> to start a task from scratch.` and STOP.
|
|
36
|
+
2. **Skip/resume**: if `alternatives-generated` is in `completed_phases`, validate `outputs/solution-exploration.md` exists; missing → re-run below; present → report the existing alternatives summary and route to the Exit Gate.
|
|
37
|
+
3. **Prerequisite check**: `synthesis-complete` must be in `completed_phases`. If missing → print the blocked block, then STOP:
|
|
38
|
+
- Steps that must be completed first: synthesis (`synthesis-complete`).
|
|
39
|
+
- `Run /owflow:research-synthesize <task-path> first` (or the command for the earliest missing earlier step: `/owflow:research-plan` or `/owflow:research-gather`).
|
|
40
|
+
- If no task exists yet: `Run /owflow:research <question> to start a task from scratch.`
|
|
41
|
+
|
|
42
|
+
## Input / Output Artifacts
|
|
43
|
+
|
|
44
|
+
| Artifact | Normal mode (full lane) | Quick mode (`research-quick`) |
|
|
45
|
+
| ---------------------------------------------- | --------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
|
|
46
|
+
| Consumed: `analysis/synthesis.md`, `outputs/research-report.md` | foundation inputs (from synthesize) | identical — research-quick produces the same standard artifacts, so this skill runs unchanged afterwards |
|
|
47
|
+
| Produced: `outputs/solution-exploration.md` | delegated to `solution-brainstormer` (Task tool) | NOT produced here — the quick lane stops at synthesis; the optional chain always runs as this skill |
|
|
48
|
+
| State write | `alternatives-generated`; `phase_summaries.brainstorm`, `research_outputs.solution_exploration` | same (this skill never runs inside a quick pass) |
|
|
49
|
+
|
|
50
|
+
## Execute (delegated brainstorm)
|
|
51
|
+
|
|
52
|
+
**Read first**: the [Delegation Rules](../orchestrator-framework/references/delegation-rules.md).
|
|
53
|
+
|
|
54
|
+
**Read `references/brainstorming-techniques.md` NOW using the Read tool** — divergent/convergent thinking techniques, interactive exploration, scope guardrails.
|
|
55
|
+
|
|
56
|
+
> **ANTI-PATTERN — do NOT generate solution alternatives inline. "The question is simple" is NOT a reason to skip delegation. The solution-brainstormer agent has specialized multi-perspective analysis capabilities.**
|
|
57
|
+
|
|
58
|
+
1. **INVOKE NOW**: Task tool - `solution-brainstormer` subagent (never the Skill tool — this is an agent). Pass (Pattern 7 — accumulated context):
|
|
59
|
+
- `task_path`, `synthesis_path` (`analysis/synthesis.md`), `research_report_path` (`outputs/research-report.md`)
|
|
60
|
+
- `output_path`: `outputs/solution-exploration.md` — brainstormer MUST write to this exact path
|
|
61
|
+
- Accumulated context: `research_type`, `research_question`, `confidence_level`, `phase_summaries` (foundation slugs)
|
|
62
|
+
- `project_doc_paths` (from state)
|
|
63
|
+
|
|
64
|
+
2. > **SELF-CHECK**: After the Task tool returns, verify `outputs/solution-exploration.md` exists and contains alternatives. If missing: **STOP. Do NOT proceed to convergence or design.** Re-invoke the brainstormer with corrected context (ensure `output_path` is `outputs/solution-exploration.md`). If a second attempt also fails, use `question` to report the failure and ask whether to retry or skip brainstorming.
|
|
65
|
+
|
|
66
|
+
3. On a user-chosen skip (via `question` after repeated failures): record the reason in `phase_summaries.brainstorm`. Do not append `alternatives-generated` to `completed_phases` and do not append a `failed_phases` entry (a deliberate decision, not a failure). Then present the Exit Gate: the results box notes the skip, and the next step follows the user's call (`→ /owflow:research-design <task-path>` for the design-only branch, otherwise `→ /owflow:research-finalize <task-path>`).
|
|
67
|
+
|
|
68
|
+
### Close (`alternatives-generated`)
|
|
69
|
+
|
|
70
|
+
1. **State write**: append `alternatives-generated` to `completed_phases` after the SELF-CHECK passes; update `phase_summaries.brainstorm`; set `research_outputs.solution_exploration`; bump `orchestrator.updated`. On failure: append `alternatives-generated` to `failed_phases`, increment `auto_fix_attempts["alternatives-generated"]`. Then re-read state + run `verify_template` (see State Update Convention).
|
|
71
|
+
|
|
72
|
+
## State Update Convention (per step)
|
|
73
|
+
|
|
74
|
+
Apply after EVERY step above:
|
|
75
|
+
|
|
76
|
+
1. **Write immediately** — update `orchestrator-state.yml` as soon as the step completes, appending ONLY the step slug actually performed (`alternatives-generated`) plus that step's fields. Never batch multiple steps into one end-of-skill write.
|
|
77
|
+
2. **Timestamp** — set `orchestrator.updated` to the current UTC timestamp on every write.
|
|
78
|
+
3. **Failures** — if the brainstormer delegation fails or its retries are abandoned, do NOT append `alternatives-generated` to `completed_phases`; instead append it to `orchestrator.failed_phases` and increment `auto_fix_attempts["alternatives-generated"]`. A user-chosen skip is not a failure: record the reason in `phase_summaries.brainstorm` (see Execute step 3) instead of writing `failed_phases`.
|
|
79
|
+
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-research.yml`. Fix any reported issue immediately before proceeding.
|
|
80
|
+
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.
|
|
81
|
+
|
|
82
|
+
## Recovery
|
|
83
|
+
|
|
84
|
+
| Step | Max Attempts | Strategy |
|
|
85
|
+
| ----------------------------------- | ------------ | ---------------------------------------------------- |
|
|
86
|
+
| Brainstorm (`alternatives-generated`) | 2 | Re-invoke solution-brainstormer with adjusted context |
|
|
87
|
+
|
|
88
|
+
## Exit Gate
|
|
89
|
+
|
|
90
|
+
Present results, get user confirmation, then hand off (see [Gate Contract](../orchestrator-framework/references/gate-contract.md)). Never auto-invoke the next skill. There is no auto-continue into convergence — converge's Entry Gate re-validates the artifact. A user-chosen skip still uses this Exit Gate; its results box says the step was skipped and why.
|
|
91
|
+
|
|
92
|
+
### Results box
|
|
93
|
+
|
|
94
|
+
```markdown
|
|
95
|
+
## ✅ RESEARCH BRAINSTORM COMPLETE — <research question>
|
|
96
|
+
|
|
97
|
+
**Type** — [research type]
|
|
98
|
+
**Decision areas** — [N areas surfaced in solution-exploration.md]
|
|
99
|
+
**Alternatives** — [total alternatives across areas]
|
|
100
|
+
|
|
101
|
+
**Artifacts**
|
|
102
|
+
|
|
103
|
+
- `outputs/solution-exploration.md`
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Results-acceptance question
|
|
107
|
+
|
|
108
|
+
Use `question` — "Are these results correct?" with options:
|
|
109
|
+
|
|
110
|
+
- **Accept** — the alternatives are good; continue.
|
|
111
|
+
- **Adjust** — re-invoke the brainstormer with the user's corrections (refined scope or emphasis), update state and artifacts, re-present the results box.
|
|
112
|
+
- **Discuss** — walk through specific alternatives or a decision area in more depth; then re-ask.
|
|
113
|
+
- **Stop here** — print the resume command (`/owflow:research-brainstorm <task-path>`) and end.
|
|
114
|
+
|
|
115
|
+
### Next steps (after Accept)
|
|
116
|
+
|
|
117
|
+
- Alternatives produced → `→ /owflow:research-converge <task-path>` — `required` next: presents the alternatives per decision area with identical full detail, records each `chosen_approach` in state, and resolves the combination (`approaches-chosen`). Remaining after: design (when the user wants it) → finalize.
|
|
118
|
+
- User-chosen skip → `→ /owflow:research-design <task-path>` (design-only branch, seeded from the research report) or `→ /owflow:research-finalize <task-path>`, per the user's call. Do not suggest converge — there are no alternatives to converge on.
|
|
119
|
+
|
|
120
|
+
Then STOP.
|
|
@@ -1,84 +1,84 @@
|
|
|
1
|
-
# Brainstorming Techniques
|
|
2
|
-
|
|
3
|
-
These techniques guide the Solution Brainstorming phase of the research-brainstorm skill. They provide patterns for expanding the solution space, evaluating alternatives, and managing scope.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
### Divergent Thinking Techniques
|
|
8
|
-
|
|
9
|
-
**Purpose**: Expand the solution space before narrowing. Generate quantity of ideas before evaluating quality.
|
|
10
|
-
|
|
11
|
-
**HMW (How Might We) Questions**:
|
|
12
|
-
- Transform research findings into opportunity statements
|
|
13
|
-
- Format: "How might we [desired outcome] while [respecting constraint]?"
|
|
14
|
-
- Generate 3-7 HMW questions from synthesis findings
|
|
15
|
-
- Good HMW questions are neither too broad ("How might we solve everything?") nor too narrow ("How might we add a button?")
|
|
16
|
-
- Each HMW should open multiple solution paths
|
|
17
|
-
|
|
18
|
-
**SCAMPER Framework** (for alternative generation):
|
|
19
|
-
- **S**ubstitute: What if we replaced component X with Y?
|
|
20
|
-
- **C**ombine: What if we merged two approaches?
|
|
21
|
-
- **A**dapt: What pattern from another domain applies here?
|
|
22
|
-
- **M**odify: What if we changed the scale or emphasis?
|
|
23
|
-
- **P**ut to other use: Can existing code serve a new purpose?
|
|
24
|
-
- **E**liminate: What if we removed this constraint?
|
|
25
|
-
- **R**everse: What if we did the opposite of the obvious approach?
|
|
26
|
-
|
|
27
|
-
**Brainstorming Guardrails**:
|
|
28
|
-
- Defer judgment during generation (evaluate later)
|
|
29
|
-
- Build on existing ideas ("yes, and..." not "no, but...")
|
|
30
|
-
- Aim for at least 3 genuine alternatives per decision area
|
|
31
|
-
- Alternatives should be meaningfully different, not minor variations
|
|
32
|
-
- Every alternative should be defensible by someone
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
### Convergent Thinking Techniques
|
|
37
|
-
|
|
38
|
-
**Purpose**: Evaluate and select from generated alternatives using structured criteria.
|
|
39
|
-
|
|
40
|
-
**5-Perspective Evaluation Matrix**:
|
|
41
|
-
|
|
42
|
-
| Perspective | Assessment Focus | When It Dominates |
|
|
43
|
-
|-------------|-----------------|-------------------|
|
|
44
|
-
| Technical Feasibility | Implementation complexity, technology maturity | Tight timeline, limited expertise |
|
|
45
|
-
| User Impact | UX improvement, adoption barriers, learning curve | User-facing features |
|
|
46
|
-
| Simplicity | Maintenance burden, cognitive load, conceptual clarity | Long-lived systems |
|
|
47
|
-
| Risk | Technical risk, schedule risk, reversibility | Critical systems, tight deadlines |
|
|
48
|
-
| Scalability | Growth handling, performance at scale, extensibility | High-growth scenarios |
|
|
49
|
-
|
|
50
|
-
**Trade-Off Patterns**:
|
|
51
|
-
- **Satisficing**: Choose the first option that meets all minimum thresholds (good for low-stakes decisions)
|
|
52
|
-
- **Optimizing**: Find the best option across weighted criteria (good for high-stakes, irreversible decisions)
|
|
53
|
-
- **Elimination**: Remove options that fail any critical criterion, then compare survivors
|
|
54
|
-
|
|
55
|
-
**Confidence-Weighted Selection**:
|
|
56
|
-
- Weight evidence quality when comparing alternatives
|
|
57
|
-
- High-confidence findings override low-confidence opinions
|
|
58
|
-
- Note assumptions that, if wrong, would change the recommendation
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
### Scope Guardrail Patterns
|
|
63
|
-
|
|
64
|
-
**Purpose**: Keep brainstorming focused on HOW to solve the identified problem, not WHETHER to expand scope.
|
|
65
|
-
|
|
66
|
-
**Three-Zone Classification**:
|
|
67
|
-
- **In-scope**: Directly addresses the research question as defined
|
|
68
|
-
- **Stretch**: Related and valuable, but could be deferred to a follow-up task
|
|
69
|
-
- **Out-of-scope**: Interesting but separate concern; capture and move on
|
|
70
|
-
|
|
71
|
-
**Detection Signals for Scope Creep**:
|
|
72
|
-
- Alternatives that require solving a different problem first
|
|
73
|
-
- Trade-off analysis revealing missing prerequisites
|
|
74
|
-
- User preferences that imply a larger project than originally scoped
|
|
75
|
-
- "While we're at it" additions during dialogue
|
|
76
|
-
|
|
77
|
-
**Deferred Idea Capture**:
|
|
78
|
-
- Record every out-of-scope idea with a brief rationale for why it's worth considering later
|
|
79
|
-
- Don't dismiss ideas - acknowledge value while maintaining focus
|
|
80
|
-
- Deferred ideas feed into future research or initiative planning
|
|
81
|
-
|
|
82
|
-
---
|
|
83
|
-
|
|
84
|
-
This reference provides patterns and frameworks for the brainstorming phase. Actual implementation adapts these concepts to specific research contexts.
|
|
1
|
+
# Brainstorming Techniques
|
|
2
|
+
|
|
3
|
+
These techniques guide the Solution Brainstorming phase of the research-brainstorm skill. They provide patterns for expanding the solution space, evaluating alternatives, and managing scope.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### Divergent Thinking Techniques
|
|
8
|
+
|
|
9
|
+
**Purpose**: Expand the solution space before narrowing. Generate quantity of ideas before evaluating quality.
|
|
10
|
+
|
|
11
|
+
**HMW (How Might We) Questions**:
|
|
12
|
+
- Transform research findings into opportunity statements
|
|
13
|
+
- Format: "How might we [desired outcome] while [respecting constraint]?"
|
|
14
|
+
- Generate 3-7 HMW questions from synthesis findings
|
|
15
|
+
- Good HMW questions are neither too broad ("How might we solve everything?") nor too narrow ("How might we add a button?")
|
|
16
|
+
- Each HMW should open multiple solution paths
|
|
17
|
+
|
|
18
|
+
**SCAMPER Framework** (for alternative generation):
|
|
19
|
+
- **S**ubstitute: What if we replaced component X with Y?
|
|
20
|
+
- **C**ombine: What if we merged two approaches?
|
|
21
|
+
- **A**dapt: What pattern from another domain applies here?
|
|
22
|
+
- **M**odify: What if we changed the scale or emphasis?
|
|
23
|
+
- **P**ut to other use: Can existing code serve a new purpose?
|
|
24
|
+
- **E**liminate: What if we removed this constraint?
|
|
25
|
+
- **R**everse: What if we did the opposite of the obvious approach?
|
|
26
|
+
|
|
27
|
+
**Brainstorming Guardrails**:
|
|
28
|
+
- Defer judgment during generation (evaluate later)
|
|
29
|
+
- Build on existing ideas ("yes, and..." not "no, but...")
|
|
30
|
+
- Aim for at least 3 genuine alternatives per decision area
|
|
31
|
+
- Alternatives should be meaningfully different, not minor variations
|
|
32
|
+
- Every alternative should be defensible by someone
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
### Convergent Thinking Techniques
|
|
37
|
+
|
|
38
|
+
**Purpose**: Evaluate and select from generated alternatives using structured criteria.
|
|
39
|
+
|
|
40
|
+
**5-Perspective Evaluation Matrix**:
|
|
41
|
+
|
|
42
|
+
| Perspective | Assessment Focus | When It Dominates |
|
|
43
|
+
|-------------|-----------------|-------------------|
|
|
44
|
+
| Technical Feasibility | Implementation complexity, technology maturity | Tight timeline, limited expertise |
|
|
45
|
+
| User Impact | UX improvement, adoption barriers, learning curve | User-facing features |
|
|
46
|
+
| Simplicity | Maintenance burden, cognitive load, conceptual clarity | Long-lived systems |
|
|
47
|
+
| Risk | Technical risk, schedule risk, reversibility | Critical systems, tight deadlines |
|
|
48
|
+
| Scalability | Growth handling, performance at scale, extensibility | High-growth scenarios |
|
|
49
|
+
|
|
50
|
+
**Trade-Off Patterns**:
|
|
51
|
+
- **Satisficing**: Choose the first option that meets all minimum thresholds (good for low-stakes decisions)
|
|
52
|
+
- **Optimizing**: Find the best option across weighted criteria (good for high-stakes, irreversible decisions)
|
|
53
|
+
- **Elimination**: Remove options that fail any critical criterion, then compare survivors
|
|
54
|
+
|
|
55
|
+
**Confidence-Weighted Selection**:
|
|
56
|
+
- Weight evidence quality when comparing alternatives
|
|
57
|
+
- High-confidence findings override low-confidence opinions
|
|
58
|
+
- Note assumptions that, if wrong, would change the recommendation
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
### Scope Guardrail Patterns
|
|
63
|
+
|
|
64
|
+
**Purpose**: Keep brainstorming focused on HOW to solve the identified problem, not WHETHER to expand scope.
|
|
65
|
+
|
|
66
|
+
**Three-Zone Classification**:
|
|
67
|
+
- **In-scope**: Directly addresses the research question as defined
|
|
68
|
+
- **Stretch**: Related and valuable, but could be deferred to a follow-up task
|
|
69
|
+
- **Out-of-scope**: Interesting but separate concern; capture and move on
|
|
70
|
+
|
|
71
|
+
**Detection Signals for Scope Creep**:
|
|
72
|
+
- Alternatives that require solving a different problem first
|
|
73
|
+
- Trade-off analysis revealing missing prerequisites
|
|
74
|
+
- User preferences that imply a larger project than originally scoped
|
|
75
|
+
- "While we're at it" additions during dialogue
|
|
76
|
+
|
|
77
|
+
**Deferred Idea Capture**:
|
|
78
|
+
- Record every out-of-scope idea with a brief rationale for why it's worth considering later
|
|
79
|
+
- Don't dismiss ideas - acknowledge value while maintaining focus
|
|
80
|
+
- Deferred ideas feed into future research or initiative planning
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
This reference provides patterns and frameworks for the brainstorming phase. Actual implementation adapts these concepts to specific research contexts.
|