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,148 +1,220 @@
1
- # Mermaid Diagram Reference
2
-
3
- Quick reference for selecting and writing diagrams in planning workflows.
4
-
5
- Hard rule for output artifacts:
6
- - Every diagram must be emitted only in fenced ` ```mermaid ` blocks.
7
- - Any other fenced diagram format (for example ` ```c4plantuml ` or ` ```plantuml `) is not allowed.
8
-
9
- ## Quick Type Selector
10
-
11
- ```mermaid
12
- flowchart TD
13
- inputTask[TaskContext] --> needTime{NeedTimeOrder}
14
- needTime -->|yes| seq[sequenceDiagram]
15
- needTime -->|no| needState{NeedStateTransitions}
16
- needState -->|yes| state[stateDiagram-v2]
17
- needState -->|no| needArch{NeedArchitectureView}
18
- needArch -->|yes| c4level{RequiredC4Level}
19
- c4level -->|system| c4context[C4Context]
20
- c4level -->|service| c4container[C4Container]
21
- c4level -->|module| c4component[C4Component]
22
- needArch -->|no| flow[flowchart]
23
- ```
24
-
25
- ## Minimal Templates
26
-
27
- ### flowchart
28
-
29
- ```mermaid
30
- flowchart TD
31
- start[Start] --> decision{"Condition?"}
32
- decision -->|"yes"| nextA[PathA]
33
- decision -->|"no"| nextB[PathB]
34
- nextA --> done[Done]
35
- nextB --> done
36
- ```
37
-
38
- ### sequenceDiagram
39
-
40
- ```mermaid
41
- sequenceDiagram
42
- participant User
43
- participant ServiceA
44
- participant ServiceB
45
- User->>ServiceA: Request
46
- alt ValidInput
47
- ServiceA->>ServiceB: FetchData
48
- ServiceB-->>ServiceA: Data
49
- ServiceA-->>User: Success
50
- else InvalidInput
51
- ServiceA-->>User: ValidationError
52
- end
53
- ```
54
-
55
- ### stateDiagram-v2
56
-
57
- ```mermaid
58
- stateDiagram-v2
59
- [*] --> Draft
60
- Draft --> Review: submit
61
- Review --> Approved: accept
62
- Review --> Draft: request_changes
63
- Approved --> [*]
64
- ```
65
-
66
- ### C4Context
67
-
68
- ```mermaid
69
- C4Context
70
- Person(user, "User")
71
- System(targetSystem, "TargetSystem")
72
- System_Ext(extSystem, "ExternalSystem")
73
- Rel(user, targetSystem, "Uses")
74
- Rel(targetSystem, extSystem, "Calls")
75
- ```
76
-
77
- ### C4Container
78
-
79
- ```mermaid
80
- C4Container
81
- Person(user, "User")
82
- System_Boundary(boundary, "TargetSystem") {
83
- Container(webApp, "WebApp", "React", "UI")
84
- Container(apiService, "APIService", "Node.js", "Business logic")
85
- ContainerDb(mainDb, "MainDB", "PostgreSQL", "Persistent storage")
86
- }
87
- Rel(user, webApp, "Interacts with")
88
- Rel(webApp, apiService, "Calls")
89
- Rel(apiService, mainDb, "Reads/Writes")
90
- ```
91
-
92
- ## Anti-Patterns
93
-
94
- 1. **Domain hallucination (critical)**
95
- Adding systems/components not present in supplied context.
96
-
97
- 2. **Abstraction mixing**
98
- Example: C4 context and function-level call chain in one chart.
99
-
100
- 3. **Unbounded complexity**
101
- One giant diagram instead of split views.
102
-
103
- 4. **Ambiguous naming**
104
- Non-semantic IDs (`A`, `B`, `step1`) without readable labels.
105
-
106
- 5. **Sequence misuse**
107
- Interaction diagram without meaningful order/branches.
108
-
109
- 6. **Non-Mermaid fenced output (hard failure)**
110
- Emitting any diagram in a non-`mermaid` fenced block.
111
-
112
- ## "Bad -> Better" Examples
113
-
114
- ### Inventing missing context
115
-
116
- Bad:
117
- - "Assume we also have Kafka and Redis" (not provided by user/context)
118
-
119
- Better:
120
- - "Current context is missing messaging/storage components. Please confirm whether any queue/cache exists."
121
-
122
- ### Mixed detail levels
123
-
124
- Bad:
125
- - One diagram contains external systems, services, and method-level internals.
126
-
127
- Better:
128
- - Diagram 1: C4 context/container; Diagram 2: sequence for one critical interaction.
129
-
130
- ## Parser Safety Notes
131
-
132
- - Use quoted labels for text with special characters.
133
- - Avoid fragile IDs and reserved keywords.
134
- - Prefer clear ASCII names for IDs.
135
- - Keep one diagram focused on one communication concern.
136
-
137
- ## Integration Candidates
138
-
139
- Integrated into:
140
- - `src/skills/flow-init/SKILL.md` - Phase 6 (architecture and tech-stack doc refinement)
141
- - `src/skills/dev-spec/SKILL.md` - `spec-written` (spec refinement); `src/skills/dev-plan/SKILL.md` - `plan-created` (plan refinement)
142
- - `src/skills/research-design/SKILL.md` - `design-generated` (high-level design refinement)
143
- - `src/skills/performance/SKILL.md` - `phase-3` (spec refinement), `phase-5` (plan refinement)
144
- - `src/skills/migration-spec/SKILL.md` - `strategy-specified` (spec refinement); `src/skills/migration-plan/SKILL.md` - `plan-created` (plan refinement)
145
-
146
- Reference files:
147
- - `src/skills/flow-init/references/architecture-template.md`
148
- - `src/skills/orchestrator-framework/references/orchestrator-patterns.md`
1
+ # Mermaid Diagram Reference
2
+
3
+ Quick reference for selecting, theming, and writing diagrams in planning workflows.
4
+
5
+ Hard rules and behavior are owned by `../SKILL.md` (file-first output, context-derived labels, fenced ` ```mermaid ` blocks only). Syntax constraints for this reference:
6
+
7
+ - Supported types: `flowchart`, `sequenceDiagram`, `stateDiagram-v2`.
8
+ - Any other fenced diagram format (for example ` ```c4plantuml ` or ` ```plantuml `) is not allowed.
9
+
10
+ ## Themes
11
+
12
+ Default: **github-dark**. Use **github-light** only when the target document/surface is light (print, light docs) or the user asks. Apply exactly one theme per document by copying the directive below as the **first line inside the mermaid fence**, before the diagram type.
13
+
14
+ The directives below pin those SVGs' palette variables (`--bg`, `--fg`, `--line`, `--accent`, `--muted`) and their derived CSS mixes: node fill = 3% foreground, node stroke = 20% foreground, group/note tint = 5% foreground.
15
+
16
+ ### github-dark (default)
17
+
18
+ ```text
19
+ %%{init: {
20
+ "theme": "base",
21
+ "themeVariables": {
22
+ "darkMode": true,
23
+ "background": "#0d1117",
24
+ "primaryColor": "#14181e",
25
+ "primaryTextColor": "#e6edf3",
26
+ "primaryBorderColor": "#383d43",
27
+ "lineColor": "#3d444d",
28
+ "arrowheadColor": "#4493f8",
29
+ "textColor": "#e6edf3",
30
+ "tertiaryColor": "#181c22",
31
+ "titleColor": "#e6edf3",
32
+ "edgeLabelBackground": "#0d1117",
33
+ "stateLabelColor": "#e6edf3",
34
+ "noteBkgColor": "#181c22",
35
+ "noteBorderColor": "#3d444d",
36
+ "noteTextColor": "#e6edf3"
37
+ }
38
+ }}%%
39
+ ```
40
+
41
+ ### github-light
42
+
43
+ ```text
44
+ %%{init: {
45
+ "theme": "base",
46
+ "themeVariables": {
47
+ "darkMode": false,
48
+ "background": "#ffffff",
49
+ "primaryColor": "#f8f8f9",
50
+ "primaryTextColor": "#1f2328",
51
+ "primaryBorderColor": "#d2d3d4",
52
+ "lineColor": "#d1d9e0",
53
+ "arrowheadColor": "#0969da",
54
+ "textColor": "#1f2328",
55
+ "tertiaryColor": "#f4f4f4",
56
+ "titleColor": "#1f2328",
57
+ "edgeLabelBackground": "#ffffff",
58
+ "stateLabelColor": "#1f2328",
59
+ "noteBkgColor": "#f4f4f4",
60
+ "noteBorderColor": "#d1d9e0",
61
+ "noteTextColor": "#1f2328"
62
+ }
63
+ }}%%
64
+ ```
65
+
66
+ ### Palette (source of truth)
67
+
68
+ | Role | github-dark | github-light |
69
+ | ------------------ | ----------- | ------------ |
70
+ | background | `#0d1117` | `#ffffff` |
71
+ | text / foreground | `#e6edf3` | `#1f2328` |
72
+ | edges (line) | `#3d444d` | `#d1d9e0` |
73
+ | arrowheads (accent) | `#4493f8` | `#0969da` |
74
+ | muted labels | `#9198a1` | `#59636e` |
75
+ | node fill (3% fg) | `#14181e` | `#f8f8f9` |
76
+ | node stroke (20% fg) | `#383d43` | `#d2d3d4` |
77
+ | group/note tint (5% fg) | `#181c22` | `#f4f4f4` |
78
+
79
+ `muted` is the source theme's secondary-text accent; no Mermaid `themeVariable` maps to it directly, so it is listed for palette fidelity only — the directives above never emit it.
80
+
81
+ ### Theme rules
82
+
83
+ - `github-dark` is the default; never invent other palettes or a third theme, and use the same directive for every diagram in one document.
84
+ - First line inside the fence, before the diagram type — no comments or blank lines before it.
85
+ - No other `style`/`classDef` color directives; never encode meaning in color alone.
86
+ - Standard Mermaid (`theme: base` + `themeVariables`); renderers that ignore it fall back to their active theme, while some strict or older parsers may reject the multiline form — verify rendering in the target surface when theming matters.
87
+
88
+ ### Placement example
89
+
90
+ Every diagram starts with the full directive above as its first line, then the diagram source (the directive below is elided — copy the complete block, never this snippet):
91
+
92
+ ```text
93
+ %%{init: { ...github-dark themeVariables from above... }}%%
94
+ flowchart LR
95
+ request["Incoming request"] --> validate{"Valid?"}
96
+ validate -->|"yes"| handle["Handle"]
97
+ validate -->|"no"| reject["Reject"]
98
+ ```
99
+
100
+ ## Quick Type Selector
101
+
102
+ ```mermaid
103
+ flowchart TD
104
+ context["TargetFile + Context"] --> needTime{"Time-ordered?"}
105
+ needTime -->|"yes"| seq["sequenceDiagram"]
106
+ needTime -->|"no"| needState{"State transitions?"}
107
+ needState -->|"yes"| state["stateDiagram-v2"]
108
+ needState -->|"no"| needArch{"Architecture view?"}
109
+ needArch -->|"yes"| arch["flowchart + subgraph boundaries"]
110
+ needArch -->|"no"| flow["flowchart"]
111
+ ```
112
+
113
+ The selector is illustrative and omits the theme directive; production diagrams always include it as the first line.
114
+
115
+ ## Minimal Templates
116
+
117
+ Syntax shapes only — replace every `<...>` placeholder and role ID with context-derived names before shipping. Examples here also omit the theme directive for brevity; production diagrams always include it as the first line.
118
+
119
+ ### flowchart
120
+
121
+ ```mermaid
122
+ flowchart TD
123
+ start["<entry step from context>"] --> decision{"<decision from context>"}
124
+ decision -->|"<yes condition>"| pathA["<step A from context>"]
125
+ decision -->|"<no condition>"| pathB["<step B from context>"]
126
+ pathA --> done["<completion from context>"]
127
+ pathB --> done
128
+ ```
129
+
130
+ `pathA` / `pathB` are role placeholders — use the real step names from context.
131
+
132
+ ### sequenceDiagram
133
+
134
+ ```mermaid
135
+ sequenceDiagram
136
+ participant Caller as <caller from context>
137
+ participant Service as <service from context>
138
+ Caller->>Service: <request from context>
139
+ alt <valid case from context>
140
+ Service-->>Caller: <success response from context>
141
+ else <invalid case from context>
142
+ Service-->>Caller: <error response from context>
143
+ end
144
+ ```
145
+
146
+ ### stateDiagram-v2
147
+
148
+ ```mermaid
149
+ stateDiagram-v2
150
+ [*] --> StateA
151
+ StateA --> StateB: <trigger from context>
152
+ StateB --> [*]: <completion from context>
153
+ ```
154
+
155
+ `StateA` / `StateB` are role placeholders — use the real state names from context.
156
+
157
+ ### Architecture view (flowchart + subgraphs)
158
+
159
+ ```mermaid
160
+ flowchart LR
161
+ actor["<actor from context>"]
162
+ subgraph boundary["<system boundary from context>"]
163
+ service["<service from context>"]
164
+ store[("<datastore from context>")]
165
+ service -->|"<protocol from context>"| store
166
+ end
167
+ ext["<external system from context>"]
168
+ actor -->|"<interaction from context>"| service
169
+ service -->|"<interaction from context>"| ext
170
+ ```
171
+
172
+ `subgraph` marks the boundary; one abstraction level per diagram; split landscape and component views into separate diagrams.
173
+
174
+ ## Anti-Patterns
175
+
176
+ Behavioral anti-patterns (chat-only output, invented domain context, shipped placeholders, abstraction mixing, off-palette styling, non-`mermaid` fences) are owned by `../SKILL.md` → Anti-Examples; this reference deliberately does not restate them.
177
+
178
+ ## "Bad -> Better" Examples
179
+
180
+ ### Inventing missing context
181
+
182
+ Bad:
183
+
184
+ - "Assume we also have Kafka and Redis" (not provided by user/context)
185
+
186
+ Better:
187
+
188
+ - "Current context is missing messaging/storage components. Please confirm whether any queue/cache exists."
189
+
190
+ ### Mixed detail levels
191
+
192
+ Bad:
193
+
194
+ - One diagram contains external systems, services, and method-level internals.
195
+
196
+ Better:
197
+
198
+ - Diagram 1: architecture view (`flowchart` with subgraphs); Diagram 2: `sequenceDiagram` for one critical interaction.
199
+
200
+ ## Parser Safety Notes
201
+
202
+ - Use quoted labels for text with special characters.
203
+ - Avoid fragile IDs and reserved keywords.
204
+ - Prefer clear ASCII names for IDs.
205
+ - Keep one diagram focused on one communication concern.
206
+
207
+ ## Integration Candidates
208
+
209
+ Integrated into (content-preserving refinement, target file in parentheses):
210
+
211
+ - `src/skills/flow-init/SKILL.md` — Phase 6 (`.owflow/docs/project/architecture.md`, `.owflow/docs/project/tech-stack.md`)
212
+ - `src/skills/dev-spec/SKILL.md` — `spec-written` (`implementation/spec.md`); `src/skills/dev-plan/SKILL.md` — `plan-created` (`implementation/implementation-plan.md`)
213
+ - `src/skills/research-design/SKILL.md` — `design-generated` (`outputs/high-level-design.md`)
214
+ - `src/skills/performance-spec/SKILL.md` — `spec-written` (`implementation/spec.md`); `src/skills/performance-plan/SKILL.md` — `plan-created` (`implementation/implementation-plan.md`)
215
+ - `src/skills/migration-spec/SKILL.md` — `strategy-specified` (`implementation/spec.md`); `src/skills/migration-plan/SKILL.md` — `plan-created` (`implementation/implementation-plan.md`)
216
+
217
+ Reference files:
218
+
219
+ - `src/skills/flow-init/references/architecture-template.md`
220
+ - `src/skills/orchestrator-framework/references/orchestrator-patterns.md`