@tiic-tech/openworkflow 0.1.0 → 0.1.2

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 (217) hide show
  1. package/README.md +10 -0
  2. package/dist/adapters/codex/src/cleanCodexAdapter.d.ts +7 -0
  3. package/dist/adapters/codex/src/cleanCodexAdapter.js +99 -0
  4. package/dist/adapters/codex/src/cleanCodexAdapter.js.map +1 -0
  5. package/dist/adapters/codex/src/constants.d.ts +1 -0
  6. package/dist/adapters/codex/src/constants.js +2 -0
  7. package/dist/adapters/codex/src/constants.js.map +1 -0
  8. package/dist/adapters/codex/src/generateCommands.js +14 -9
  9. package/dist/adapters/codex/src/generateCommands.js.map +1 -1
  10. package/dist/adapters/codex/src/generateSkills.js +13 -0
  11. package/dist/adapters/codex/src/generateSkills.js.map +1 -1
  12. package/dist/adapters/codex/src/generatedFiles.js +1 -1
  13. package/dist/adapters/codex/src/manifest.js +11 -2
  14. package/dist/adapters/codex/src/manifest.js.map +1 -1
  15. package/dist/adapters/codex/src/templates.d.ts +0 -1
  16. package/dist/adapters/codex/src/templates.js +0 -1
  17. package/dist/adapters/codex/src/templates.js.map +1 -1
  18. package/dist/adapters/src/registry.d.ts +20 -0
  19. package/dist/adapters/src/registry.js +81 -0
  20. package/dist/adapters/src/registry.js.map +1 -0
  21. package/dist/cli/src/commands/brief.d.ts +46 -0
  22. package/dist/cli/src/commands/brief.js +294 -0
  23. package/dist/cli/src/commands/brief.js.map +1 -0
  24. package/dist/cli/src/commands/check.d.ts +42 -0
  25. package/dist/cli/src/commands/check.js +326 -0
  26. package/dist/cli/src/commands/check.js.map +1 -0
  27. package/dist/cli/src/commands/clean.d.ts +1 -0
  28. package/dist/cli/src/commands/clean.js +98 -0
  29. package/dist/cli/src/commands/clean.js.map +1 -0
  30. package/dist/cli/src/commands/context.d.ts +1 -0
  31. package/dist/cli/src/commands/context.js +471 -0
  32. package/dist/cli/src/commands/context.js.map +1 -0
  33. package/dist/cli/src/commands/doctor.js +122 -12
  34. package/dist/cli/src/commands/doctor.js.map +1 -1
  35. package/dist/cli/src/commands/draft.d.ts +1 -0
  36. package/dist/cli/src/commands/draft.js +175 -0
  37. package/dist/cli/src/commands/draft.js.map +1 -0
  38. package/dist/cli/src/commands/gitAutomation.d.ts +1 -0
  39. package/dist/cli/src/commands/gitAutomation.js +378 -0
  40. package/dist/cli/src/commands/gitAutomation.js.map +1 -0
  41. package/dist/cli/src/commands/handoff.d.ts +22 -0
  42. package/dist/cli/src/commands/handoff.js +122 -0
  43. package/dist/cli/src/commands/handoff.js.map +1 -0
  44. package/dist/cli/src/commands/init.js +52 -1
  45. package/dist/cli/src/commands/init.js.map +1 -1
  46. package/dist/cli/src/commands/inspect.d.ts +23 -0
  47. package/dist/cli/src/commands/inspect.js +157 -0
  48. package/dist/cli/src/commands/inspect.js.map +1 -0
  49. package/dist/cli/src/commands/register.d.ts +1 -0
  50. package/dist/cli/src/commands/register.js +251 -0
  51. package/dist/cli/src/commands/register.js.map +1 -0
  52. package/dist/cli/src/commands/resume.d.ts +59 -0
  53. package/dist/cli/src/commands/resume.js +280 -0
  54. package/dist/cli/src/commands/resume.js.map +1 -0
  55. package/dist/cli/src/commands/shared.js +6 -2
  56. package/dist/cli/src/commands/shared.js.map +1 -1
  57. package/dist/cli/src/commands/summaries.d.ts +1 -0
  58. package/dist/cli/src/commands/summaries.js +77 -0
  59. package/dist/cli/src/commands/summaries.js.map +1 -0
  60. package/dist/cli/src/commands/summarize.d.ts +1 -0
  61. package/dist/cli/src/commands/summarize.js +316 -0
  62. package/dist/cli/src/commands/summarize.js.map +1 -0
  63. package/dist/cli/src/commands/sync.js +135 -12
  64. package/dist/cli/src/commands/sync.js.map +1 -1
  65. package/dist/cli/src/commands/validate.js +25 -1
  66. package/dist/cli/src/commands/validate.js.map +1 -1
  67. package/dist/cli/src/dev/verifyAgentE2E.d.ts +2 -0
  68. package/dist/cli/src/dev/verifyAgentE2E.js +391 -0
  69. package/dist/cli/src/dev/verifyAgentE2E.js.map +1 -0
  70. package/dist/cli/src/dev/verifyCleanCommand.d.ts +2 -0
  71. package/dist/cli/src/dev/verifyCleanCommand.js +338 -0
  72. package/dist/cli/src/dev/verifyCleanCommand.js.map +1 -0
  73. package/dist/cli/src/dev/verifyRuntimeSurface.js +4940 -54
  74. package/dist/cli/src/dev/verifyRuntimeSurface.js.map +1 -1
  75. package/dist/cli/src/dev/verifyWorkflowE2E.js +477 -45
  76. package/dist/cli/src/dev/verifyWorkflowE2E.js.map +1 -1
  77. package/dist/cli/src/index.js +189 -5
  78. package/dist/cli/src/index.js.map +1 -1
  79. package/dist/cli/src/report.d.ts +26 -0
  80. package/dist/cli/src/report.js +17 -0
  81. package/dist/cli/src/report.js.map +1 -0
  82. package/dist/core/src/artifacts/readiness.d.ts +7 -0
  83. package/dist/core/src/artifacts/readiness.js +240 -0
  84. package/dist/core/src/artifacts/readiness.js.map +1 -0
  85. package/dist/core/src/artifacts/registry.d.ts +9 -2
  86. package/dist/core/src/artifacts/registry.js +687 -60
  87. package/dist/core/src/artifacts/registry.js.map +1 -1
  88. package/dist/core/src/commands/registry.js +1425 -146
  89. package/dist/core/src/commands/registry.js.map +1 -1
  90. package/dist/core/src/contracts/index.d.ts +1 -1
  91. package/dist/core/src/fs/index.d.ts +24 -0
  92. package/dist/core/src/fs/index.js +48 -1
  93. package/dist/core/src/fs/index.js.map +1 -1
  94. package/dist/core/src/git/autonomousSimulator.d.ts +46 -0
  95. package/dist/core/src/git/autonomousSimulator.js +163 -0
  96. package/dist/core/src/git/autonomousSimulator.js.map +1 -0
  97. package/dist/core/src/git/branchIdentity.d.ts +19 -0
  98. package/dist/core/src/git/branchIdentity.js +75 -0
  99. package/dist/core/src/git/branchIdentity.js.map +1 -0
  100. package/dist/core/src/git/draftPrPilot.d.ts +47 -0
  101. package/dist/core/src/git/draftPrPilot.js +196 -0
  102. package/dist/core/src/git/draftPrPilot.js.map +1 -0
  103. package/dist/core/src/git/localEvidenceReader.d.ts +21 -0
  104. package/dist/core/src/git/localEvidenceReader.js +142 -0
  105. package/dist/core/src/git/localEvidenceReader.js.map +1 -0
  106. package/dist/core/src/git/localGitAutomation.d.ts +68 -0
  107. package/dist/core/src/git/localGitAutomation.js +470 -0
  108. package/dist/core/src/git/localGitAutomation.js.map +1 -0
  109. package/dist/core/src/git/mergeReadinessCheckpoint.d.ts +31 -0
  110. package/dist/core/src/git/mergeReadinessCheckpoint.js +110 -0
  111. package/dist/core/src/git/mergeReadinessCheckpoint.js.map +1 -0
  112. package/dist/core/src/git/prReadySummary.d.ts +16 -0
  113. package/dist/core/src/git/prReadySummary.js +144 -0
  114. package/dist/core/src/git/prReadySummary.js.map +1 -0
  115. package/dist/core/src/git/remoteReadonlyPlanner.d.ts +60 -0
  116. package/dist/core/src/git/remoteReadonlyPlanner.js +223 -0
  117. package/dist/core/src/git/remoteReadonlyPlanner.js.map +1 -0
  118. package/dist/core/src/onboarding/agentsGuide.d.ts +32 -0
  119. package/dist/core/src/onboarding/agentsGuide.js +164 -0
  120. package/dist/core/src/onboarding/agentsGuide.js.map +1 -0
  121. package/dist/core/src/validators/validateOpenWorkflow.js +1331 -15
  122. package/dist/core/src/validators/validateOpenWorkflow.js.map +1 -1
  123. package/dist/core/src/validators/validateRepositoryContracts.js +2327 -306
  124. package/dist/core/src/validators/validateRepositoryContracts.js.map +1 -1
  125. package/dist/core/src/workflow/cleanOpenWorkflow.d.ts +18 -0
  126. package/dist/core/src/workflow/cleanOpenWorkflow.js +124 -0
  127. package/dist/core/src/workflow/cleanOpenWorkflow.js.map +1 -0
  128. package/dist/core/src/workflow/doctorOpenWorkflow.d.ts +7 -0
  129. package/dist/core/src/workflow/doctorOpenWorkflow.js +26 -0
  130. package/dist/core/src/workflow/doctorOpenWorkflow.js.map +1 -0
  131. package/dist/core/src/workflow/initOpenWorkflow.d.ts +7 -0
  132. package/dist/core/src/workflow/initOpenWorkflow.js +96 -8
  133. package/dist/core/src/workflow/initOpenWorkflow.js.map +1 -1
  134. package/dist/core/src/workflow/planningQueueResume.d.ts +105 -0
  135. package/dist/core/src/workflow/planningQueueResume.js +596 -0
  136. package/dist/core/src/workflow/planningQueueResume.js.map +1 -0
  137. package/dist/core/src/workflow/readWorkflowConfig.d.ts +6 -0
  138. package/dist/core/src/workflow/readWorkflowConfig.js +28 -0
  139. package/dist/core/src/workflow/readWorkflowConfig.js.map +1 -0
  140. package/dist/core/src/workflow/summaryHealth.d.ts +60 -0
  141. package/dist/core/src/workflow/summaryHealth.js +713 -0
  142. package/dist/core/src/workflow/summaryHealth.js.map +1 -0
  143. package/dist/core/src/workflow/syncOpenWorkflow.d.ts +22 -0
  144. package/dist/core/src/workflow/syncOpenWorkflow.js +235 -0
  145. package/dist/core/src/workflow/syncOpenWorkflow.js.map +1 -0
  146. package/package.json +4 -2
  147. package/references/artifact-authoring-templates.md +14 -12
  148. package/references/artifact-instruction-envelope.md +133 -0
  149. package/references/coder-continuous-growth-loop.md +68 -0
  150. package/references/gh-operation-governance.md +114 -0
  151. package/references/git-automation-governance.md +324 -0
  152. package/references/git-version-control-governance.md +227 -0
  153. package/references/internal-coder-protocol.md +202 -0
  154. package/references/issue-governance.md +115 -0
  155. package/references/planning-artifact-contracts.md +595 -0
  156. package/references/planning-skill-runtime-exposure.md +159 -0
  157. package/references/proto-redesign-artifact-contracts.md +217 -0
  158. package/references/proto2html-artifact-contracts.md +113 -0
  159. package/references/skill-system-lifecycle.md +198 -0
  160. package/references/validation-trust-domains.md +286 -0
  161. package/references/workflow-blueprint-runtime-alignment.md +287 -0
  162. package/schemas/atom-tasks.schema.json +101 -0
  163. package/schemas/candidate-changes.schema.json +323 -0
  164. package/schemas/current-state.schema.json +113 -0
  165. package/schemas/html-prototype.schema.json +288 -0
  166. package/schemas/openworkflow-contract.schema.json +9 -1
  167. package/schemas/proto-prompt-pack.schema.json +1333 -0
  168. package/schemas/prototype-evidence.schema.json +684 -142
  169. package/schemas/selected-change.schema.json +104 -0
  170. package/schemas/validation-target.schema.json +187 -1
  171. package/schemas/validation.schema.json +187 -1
  172. package/schemas/vision-session.schema.json +151 -0
  173. package/skills/analyze-changes/SKILL.md +92 -0
  174. package/skills/analyze-changes/agents/openai.yaml +4 -0
  175. package/skills/analyze-changes/references/analysis-protocol.md +116 -0
  176. package/skills/build-proto-prompt/SKILL.md +125 -0
  177. package/skills/build-proto-prompt/references/output-boundary.md +54 -0
  178. package/skills/build-proto-prompt/references/prompt-pack-compiler-protocol.md +80 -0
  179. package/skills/build-prototype/SKILL.md +162 -38
  180. package/skills/build-prototype/agents/openai.yaml +2 -2
  181. package/skills/build-prototype/references/philosophy-engine.md +61 -0
  182. package/skills/build-prototype/references/strategic-prompt-pack-protocol.md +365 -0
  183. package/skills/build-prototype/references/vision2prompt/01_input_contract.md +84 -0
  184. package/skills/build-prototype/references/vision2prompt/02_vision_decomposition.md +108 -0
  185. package/skills/build-prototype/references/vision2prompt/03_strategy_hypothesis_generation.md +89 -0
  186. package/skills/build-prototype/references/vision2prompt/04_product_system_extraction.md +78 -0
  187. package/skills/build-prototype/references/vision2prompt/05_prototype_prompt_schema.md +189 -0
  188. package/skills/build-prototype/references/vision2prompt/06_output_templates.md +125 -0
  189. package/skills/build-prototype/references/vision2prompt/07_quality_rubric.md +171 -0
  190. package/skills/build-validation/SKILL.md +136 -54
  191. package/skills/build-validation/references/prototype-validation-target-rubric.md +35 -0
  192. package/skills/build-validation/references/return-to-vision-gate.md +32 -0
  193. package/skills/build-vision/SKILL.md +192 -0
  194. package/skills/build-vision/references/proto-readiness-rubric.md +48 -0
  195. package/skills/build-vision/references/vision-interview-protocol.md +48 -0
  196. package/skills/coder/SKILL.md +204 -0
  197. package/skills/decompose-to-changes/SKILL.md +176 -0
  198. package/skills/decompose-to-changes/agents/openai.yaml +4 -0
  199. package/skills/decompose-to-changes/references/decomposition-protocol.md +278 -0
  200. package/skills/prompt2proto/SKILL.md +157 -0
  201. package/skills/prompt2proto/agents/openai.yaml +4 -0
  202. package/skills/prompt2proto/references/00_role_philosophy_engine.md +96 -0
  203. package/skills/prompt2proto/references/01_input_contract.md +53 -0
  204. package/skills/prompt2proto/references/02_prompt_pack_readiness.md +50 -0
  205. package/skills/prompt2proto/references/03_visual_translation_workflow.md +64 -0
  206. package/skills/prompt2proto/references/04_output_contract.md +67 -0
  207. package/skills/prompt2proto/references/05_quality_rubric.md +46 -0
  208. package/skills/proto2html/SKILL.md +136 -0
  209. package/skills/proto2html/agents/openai.yaml +4 -0
  210. package/skills/proto2html/references/proto2html-protocol.md +115 -0
  211. package/skills/run-team/SKILL.md +4 -0
  212. package/skills/select-change/SKILL.md +200 -0
  213. package/skills/select-change/agents/openai.yaml +4 -0
  214. package/skills/select-change/references/selection-protocol.md +281 -0
  215. package/skills/tune-prototype/SKILL.md +121 -0
  216. package/skills/tune-prototype/agents/openai.yaml +4 -0
  217. package/skills/tune-prototype/references/refined-prompt-pack-protocol.md +161 -0
@@ -1,40 +1,94 @@
1
1
  ---
2
2
  name: build-prototype
3
- description: Turn a validation artifact into a focused prototype discovery plan and todo list. Use when the user wants to build the smallest local prototype for a core assumption before creating specs, changes, Agent Teams, runtime state, or production implementation plans.
3
+ description: Consume ready PROTO_PROMPT_PACK artifacts through prompt2proto and translate them into credible UI/UX prototype instructions and evidence. Use after build-proto-prompt has produced ready prompt text and before tune, proto2html, specs, changes, Agent Teams, runtime state, or production implementation plans.
4
4
  ---
5
5
 
6
6
  # Build Prototype
7
7
 
8
8
  ## Purpose
9
9
 
10
- Create and execute the prototype discovery loop for one validation target. This
11
- skill turns `VALIDATION.yaml` and `PROTOTYPE_BRIEF.md` into a constrained
12
- prototype plan and todo contract.
13
-
14
- Prototype work is not production work. It should answer the validation
15
- question quickly, often with hardcoded data, a single HTML file, or a small
16
- local demo.
10
+ Consume ready prototype prompt-pack artifacts without starting production
11
+ implementation. The preferred source behavior is image-first: accept a ready
12
+ `PROTO_PROMPT_PACK`, verify its readiness and coherence gates, then use
13
+ prompt2proto to translate the prompt pack into credible UI/UX prototype
14
+ instructions, evidence, and downstream handoff facts.
15
+
16
+ Prototype work answers a product uncertainty. It should not become a hidden
17
+ production implementation plan.
18
+
19
+ `/ow:proto` remains the user-facing orchestration command. It may run
20
+ build-proto-prompt internally when a ready prompt pack is missing, then hand the
21
+ ready prompt pack to build-prototype/prompt2proto. `build-prototype` itself is
22
+ not the vision-to-prompt-pack compiler.
23
+
24
+ The engine behind ready prompt-pack compilation belongs to build-proto-prompt:
25
+ co-founder plus senior product-manager judgment generates strategically
26
+ different prompt directions. Build-prototype starts after that point. Its
27
+ engine is Chief PM plus Principal UI/UX judgment that translates the ready
28
+ prompt pack into a credible prototype surface.
29
+
30
+ Before any downstream prompt2proto handoff or visual prototype translation,
31
+ switch from prompt-pack strategy generation into the build-prototype philosophy
32
+ engine: Chief PM plus Principal UI/UX judgment. The Chief PM protects product
33
+ intent, user decision context, domain fit, and evidence value. The Principal
34
+ UI/UX lead protects visual hierarchy, density calibration, affordance clarity,
35
+ interaction believability, and prototype credibility. This judgment layer
36
+ decides what information is visible, grouped, collapsed, delayed, or drilled
37
+ into based on industry, user role, task risk, screen size, task frequency, and
38
+ reviewer attention.
17
39
 
18
40
  ## Inputs
19
41
 
20
42
  Required:
21
43
 
22
- - `.codex/validation/<validation_id>/VALIDATION.yaml`
23
- - `.codex/validation/<validation_id>/PROTOTYPE_BRIEF.md`
44
+ - `.openworkflow/prototypes/<prototype_id>/PROTO_PROMPT_PACK.yaml` or an
45
+ equivalent ready prompt pack artifact
46
+ - `prompt_text_manifest.status: ready_for_image_generation`
47
+ - `prompt_text_manifest.paragraph_quality_status: pass`
48
+ - `prompt_pack_integrity_gate.status: pass`
49
+ - `prototype_reality_gate.status: pass`
50
+ - `quality_rubric.prompt_executability.status: pass`
51
+ - `prototype_system_contract` when multiple screens share a product shell
52
+ - `post_validate.status: pass` for multi-direction packs, or `skipped` for an
53
+ explicit single-direction pack
54
+
55
+ If a ready prompt pack is missing, thin, stale, or incoherent, build-prototype
56
+ must refuse and route back to `/ow:build-proto-prompt` or the compatible
57
+ `/ow:vision2prompt` compiler path. Do not repair strategic prompt text inside
58
+ build-prototype.
24
59
 
25
60
  Optional:
26
61
 
27
- - `.codex/context/CONTEXT_MAP.yaml`
28
- - `.codex/vision/VISION_CONTRACT.yaml`
29
- - direct user constraints about the prototype medium or acceptance bar
62
+ - `.openworkflow/context/CONTEXT_MAP.yaml` or `.codex/context/CONTEXT_MAP.yaml`
63
+ - direct user constraints about selected direction, prototype medium, target
64
+ tool, viewport, language, platform, brand, or acceptance bar
65
+ - `references/proto-redesign-artifact-contracts.md`
66
+ - `skills/build-prototype/references/philosophy-engine.md`
67
+ - `skills/prompt2proto/SKILL.md`
68
+ - `skills/prompt2proto/references/01_input_contract.md`
69
+ - `skills/prompt2proto/references/02_prompt_pack_readiness.md`
70
+ - `skills/prompt2proto/references/03_visual_translation_workflow.md`
30
71
 
31
72
  Do not load unrelated specs, changes, runtime state, reviews, archives, or
32
- implementation history unless the validation question explicitly depends on
73
+ implementation history unless the prototype question explicitly depends on
33
74
  them.
34
75
 
35
76
  ## Output
36
77
 
37
- Write prototype artifacts under:
78
+ For image-first planning, write prototype translation artifacts under the active
79
+ prototype or change path chosen by the workflow. The ready prompt pack remains
80
+ the input artifact, not something build-prototype recreates.
81
+
82
+ Expected build-prototype output families:
83
+
84
+ ```txt
85
+ PROMPT2PROTO_TRANSLATION_PLAN.md
86
+ PROMPT2PROTO_EVIDENCE.yaml
87
+ NOTE.md
88
+ EVIDENCE.yaml updates that reference accepted prompt-pack inputs
89
+ ```
90
+
91
+ For local runnable prototypes, the legacy artifact shape remains valid:
38
92
 
39
93
  ```txt
40
94
  .codex/prototypes/<prototype_id>/
@@ -46,42 +100,112 @@ Write prototype artifacts under:
46
100
  archive/
47
101
  ```
48
102
 
49
- `TODO.yaml` is the machine-readable prototype contract. `PROTOTYPE_PLAN.md` is
50
- the human-readable execution plan. `RESULT.md` and `EVIDENCE.md` are updated
51
- after local review or user feedback.
52
-
53
103
  ## Workflow
54
104
 
55
- 1. Load the validation contract and prototype brief.
56
- 2. Keep the core question unchanged.
57
- 3. Convert prototype `include` scope into a short todo list.
58
- 4. Preserve `exclude` scope as hard boundaries.
59
- 5. Prefer the smallest artifact that a user can experience locally.
60
- 6. Initialize artifacts with `scripts/init_prototype.py`.
61
- 7. Implement the prototype directly when the user asks for execution and the
62
- scope remains small enough for the main agent.
63
- 8. Use subagents only for narrow parallel work; prototype orchestration does not
64
- require `/ow:team`.
65
- 9. Record what was tested in `EVIDENCE.md` and the user-facing outcome in
66
- `RESULT.md`.
105
+ 1. Load the ready prompt pack and prompt2proto input/readiness references.
106
+ 2. Refuse missing, thin, stale, or incoherent prompt packs. Route repair to
107
+ `/ow:build-proto-prompt` or compatible `/ow:vision2prompt`; do not invent
108
+ strategy in build-prototype.
109
+ 3. Verify prompt-pack readiness, paragraph quality, prototype reality,
110
+ screen_manifest linkage, prototype_system_contract, and post_validate before
111
+ visual translation.
112
+ 4. Use prompt2proto to preserve product strategy and technical screen
113
+ coherence while translating the ready prompt pack into UI/UX prototype
114
+ instructions and evidence.
115
+ 5. Before accepting prototype instructions, use
116
+ `skills/build-prototype/references/philosophy-engine.md` to calibrate
117
+ density, information hierarchy, domain object emphasis, trust controls, and
118
+ UI/UX credibility.
119
+ 6. If the user asks to tune accepted baseline screens or an accepted prompt
120
+ pack, hand off to `skills/tune-prototype/SKILL.md`.
121
+ 7. Run `npm run validate` when the repository validator exists.
122
+
123
+ ## Ready Prompt-Pack Consumption
124
+
125
+ 1. Accept only prompt packs whose prompt text is ready for image generation and
126
+ whose integrity, reality, executability, paragraph quality, and
127
+ post-validation gates pass.
128
+ 2. Preserve the prompt-pack strategy: product thesis, target user
129
+ transformation, primary loop, non-goals, trust boundaries, and direction
130
+ reasons to exist.
131
+ 3. Preserve `prototype_system_contract` as the source of technical screen
132
+ coherence: stable app shell, navigation taxonomy, data vocabulary, object
133
+ anatomy, action bar, audit pattern, copy tone, and allowed screen deltas.
134
+ 4. Apply the Chief PM plus Principal UI/UX philosophy engine to decide visual
135
+ hierarchy, density, affordances, interaction believability, and UI/UX
136
+ credibility.
137
+ 5. Write provider-agnostic prototype instructions and evidence. Keep provider
138
+ image generation, human visual review, visual parity, proto2html, specs,
139
+ changes, teams, and runtime work out of scope.
140
+
141
+ ## Build-Prototype Philosophy Engine
142
+
143
+ Use this engine after strategic prompt assets are ready and before downstream
144
+ visual translation is accepted:
145
+
146
+ - Chief PM lens: decide what the prototype must prove, what user decision is at
147
+ stake, which domain objects matter, what trust boundary must be visible, and
148
+ what information would change the next action.
149
+ - Principal UI/UX lens: decide the screen's hierarchy, density, layout anatomy,
150
+ scan path, affordance clarity, interaction feedback, and inspection quality.
151
+ - Density is not a prompt length target. It is a product/design decision:
152
+ operational users may need dense comparison surfaces, while sensitive or
153
+ consumer flows may need fewer visible choices and stronger reassurance.
154
+ - Use `prototype_system_contract` for technical screen coherence. Use this
155
+ philosophy engine for density and visual information judgment.
156
+
157
+ Reject both sparse mockups that hide the operating decision and overstuffed
158
+ concept posters that make everything equally important.
159
+
160
+ ## Strategic Direction Rules
161
+
162
+ - Strategic direction generation belongs to build-proto-prompt. Build-prototype
163
+ may choose which already-ready direction or screens to translate, but must
164
+ not create new strategic directions.
165
+ - If ready directions differ only by visual style, route back to
166
+ build-proto-prompt repair instead of treating them as valid prototype
167
+ strategy.
168
+ - Preserve explicit non-goals, trust boundaries, privacy requirements, and user
169
+ controls.
170
+ - Convert category anti-patterns into negative visual constraints, especially
171
+ generic AI dashboards, consulting-report screens, or card walls when the
172
+ product category calls for a richer operational shell.
173
+ - Consumed prompts must already specify screens, journeys, interactions,
174
+ states, AI/system behavior, trust controls, privacy boundaries, visual
175
+ direction, anti-goals, desired user feeling, and concrete sample content.
176
+ - The prompt text itself must pass paragraph quality; adjacent YAML fields do
177
+ not rescue a terse `screen_prompts[].prompt`.
178
+ - The output is prototype translation evidence, not a new prompt pack,
179
+ production spec, or task backlog.
180
+
181
+ ## Local Prototype Path
182
+
183
+ Use local runnable prototype behavior only when the user asks to execute a
184
+ prototype or when validation requires an interactive artifact. Keep it small:
185
+ hardcoded data, single HTML files, local-only assets, mocked LLM output, fake
186
+ in-memory persistence, and narrow UI paths are acceptable.
67
187
 
68
188
  ## Forbidden Defaults
69
189
 
70
190
  - Do not create `SPEC.yaml`, `CHANGE.yaml`, `.codex/runtime/`, or Agent Team
71
191
  artifacts from this skill.
72
192
  - Do not add auth, persistence, deployment, billing, admin, upload, or full AI
73
- integration unless the validation contract names that as the core assumption.
193
+ integration unless those are the existential assumption.
74
194
  - Do not expand the prototype to cover later features.
75
- - Do not treat code completeness as validation success; success means the core
76
- question can be answered.
195
+ - Do not treat code completeness as validation success.
196
+ - Do not add `/ow:proto2html`.
197
+ - Do not skip durable `/ow:validation` when validation is missing.
198
+ - Do not tune accepted baseline screens here; use `tune-prototype`.
77
199
 
78
200
  ## Handoff
79
201
 
80
- After user review, hand off to `/ow:decision`.
202
+ After user review, hand off to `/ow:decision`, `/ow:tune`, design/spec
203
+ planning, or another candidate change.
81
204
 
82
- Expected decision outcomes:
205
+ Expected outcomes:
83
206
 
84
- - `continue`: prototype is strong enough to become a focused production slice
207
+ - `continue`: prototype direction is strong enough for production planning
208
+ - `tune`: generate a refined prompt pack from the accepted baseline
85
209
  - `pivot`: adjust the vision or validation target
86
210
  - `stop`: archive or clean the prototype path
87
- - `needs_more_evidence`: revise the prototype scope and test again
211
+ - `needs_more_evidence`: revise the prompt pack or build a smaller local test
@@ -1,4 +1,4 @@
1
1
  interface:
2
2
  display_name: "Build Prototype"
3
- short_description: "Create a focused prototype from validation artifacts"
4
- default_prompt: "Use /ow:prototype to turn a validation target into a local prototype plan."
3
+ short_description: "Create strategic prototype prompt packs"
4
+ default_prompt: "Use /ow:proto to turn vision or validation context into strategic image-first prototype prompt packs for review."
@@ -0,0 +1,61 @@
1
+ # Build-Prototype Philosophy Engine
2
+
3
+ Use this reference after prompt-pack strategy is ready and before prototype
4
+ instructions are accepted for downstream visual translation.
5
+
6
+ ## Role Pair
7
+
8
+ Operate as a Chief PM plus Principal UI/UX product design lead.
9
+
10
+ The Chief PM asks:
11
+
12
+ - What product decision must this prototype make observable?
13
+ - Which user role, domain object, risk, and next action matter most?
14
+ - Which trust, approval, privacy, or audit boundary must be visible?
15
+ - What information changes the user's next decision, and what is only support?
16
+
17
+ The Principal UI/UX lead asks:
18
+
19
+ - What is the primary visual hierarchy and scan path?
20
+ - Which information belongs on the main canvas, side panel, drawer, modal, or
21
+ drill-down?
22
+ - Which affordances need to be obvious without explanatory text?
23
+ - Does the screen feel like a credible product surface for its industry rather
24
+ than a generic dashboard, card wall, report, or concept poster?
25
+
26
+ ## Density Calibration
27
+
28
+ Choose density from product context:
29
+
30
+ - Industry: operational, financial, civic, clinical, and developer tools can
31
+ carry more inspectable data when comparison drives work.
32
+ - User role: expert repeat users can scan denser surfaces than first-time or
33
+ consumer users.
34
+ - Task risk: high-risk actions need visible consequence, approval, provenance,
35
+ and reversal controls.
36
+ - Screen size: mobile density must prioritize the next decision; desktop can
37
+ show relationships, side panels, and comparison rows.
38
+ - Task frequency: frequent tasks should optimize scanning and next action;
39
+ rare tasks should slow down and explain consequences.
40
+
41
+ ## Visibility Rules
42
+
43
+ - Visible: information that changes the user's next decision.
44
+ - Grouped: fields that must be compared or understood together.
45
+ - Collapsed: secondary detail that remains inspectable.
46
+ - Delayed: information that only matters after the user expresses intent.
47
+ - Drilled into: detail that would overload the main canvas but is required for
48
+ trust, review, or audit.
49
+
50
+ ## Quality Bar
51
+
52
+ The result should make a reviewer understand the product form, the user's work,
53
+ the selected object or state, the next action, and the trust boundary without
54
+ reading a separate explanation.
55
+
56
+ Reject:
57
+
58
+ - under-specified mockups that hide workflow anatomy;
59
+ - overstuffed screens where every element has equal priority;
60
+ - decorative AI dashboards with no accountable user action;
61
+ - visual concepts that ignore the prompt-pack coherence contract.
@@ -0,0 +1,365 @@
1
+ # Strategic Prompt Pack Protocol
2
+
3
+ Use this reference when `/ow:proto` should produce high-fidelity prototype
4
+ prompt directions from proto-ready vision and a durable validation target.
5
+
6
+ `/ow:proto` is a strategy-to-prompt compiler. It preserves product intent,
7
+ turns validation uncertainty into prototype directions, and writes prompts that
8
+ an image-generation or design agent can execute without inventing strategy.
9
+
10
+ The concrete quality target is dailin-grade prompt text. The dailin
11
+ `OUTPUT_PROMPT.md` examples are the minimum passing benchmark for
12
+ `directions[].prototype_prompt` and `screen_prompts[].prompt`: complete
13
+ high-fidelity prototype-generation briefs with product context, journey,
14
+ interaction behavior, system response, trust controls, anti-goals, visual
15
+ direction, and desired user feeling. Short screen-state image instructions do
16
+ not pass this protocol.
17
+
18
+ ## Perspective Engine
19
+
20
+ Before running the reference pipeline, adopt a co-founder plus 15-year senior
21
+ product-manager perspective. Treat the vision as a product opportunity, not as
22
+ a request to fill screen fields. The job is to decide what product should
23
+ exist, why it should exist, which form best expresses it, and what user
24
+ transformation the prototype should make visible.
25
+
26
+ The dailin-derived references are tools for this perspective engine. They help
27
+ normalize, decompose, hypothesize, write, and check. They are not a substitute
28
+ for taste, product judgment, or design philosophy. A prompt pack can satisfy
29
+ all structural sections and still fail if it lacks a product thesis,
30
+ reason-to-exist, differentiated product imagination, and clear PM judgment.
31
+
32
+ Every selected direction must therefore include:
33
+
34
+ - product thesis: the strongest argument for this product form;
35
+ - user transformation: how the target user's behavior, confidence, control, or
36
+ progress changes;
37
+ - differentiated form: why this is not just a dashboard, chatbot, card wall,
38
+ report screen, or visual skin unless that form is strategically necessary;
39
+ - reason-to-exist: why this direction deserves prototype generation now;
40
+ - PM judgment: what assumption it tests, what risk it exposes, and why the
41
+ reviewer should look at it first or later.
42
+
43
+ ## Vision2Prompt Reference Pipeline
44
+
45
+ Before writing `PROTO_PROMPT_PACK.yaml` or `PROTO_PROMPT_PACK.md`, run the
46
+ OW-owned dailin-grade pipeline under `references/vision2prompt/` in order:
47
+
48
+ 1. `01_input_contract.md`: normalize durable vision, validation, direction
49
+ count policy, target tool, fidelity, constraints, and missing-input rules.
50
+ 2. `02_vision_decomposition.md`: extract target user, current alternative,
51
+ behavior change, success signal, differentiator, trust/privacy requirements,
52
+ non-goals, and central uncertainty.
53
+ 3. `03_strategy_hypothesis_generation.md`: generate 5 to 8 candidate strategic
54
+ hypotheses and select only materially distinct directions.
55
+ 4. `04_product_system_extraction.md`: infer product experience model,
56
+ product-system constants, screen_manifest, domain object model, state model,
57
+ required data fields, trust controls, and anti-generic constraints.
58
+ 5. `05_prototype_prompt_schema.md`: write directly executable prototype prompts
59
+ with screen groups, states, actions, system behavior, example content,
60
+ negative prompts, and acceptance criteria.
61
+ 6. `06_output_templates.md`: keep YAML as source of truth and Markdown as the
62
+ readable view.
63
+ 7. `07_quality_rubric.md`: verify strategic distinctness, prompt
64
+ executability, product specificity, trust/safety, and integrity gates before
65
+ `prompt_text_manifest.status` becomes `ready_for_image_generation`.
66
+
67
+ Do not collapse this pipeline into a short image prompt. A valid strategic
68
+ prompt pack describes a product prototype system: product thesis, target user,
69
+ primary loop, strategic directions, screen groups, state behavior, concrete
70
+ data/copy, trust boundaries, negative constraints, and acceptance checks.
71
+
72
+ Do not collapse the perspective engine into persona text. "Senior PM" is only
73
+ useful when it changes the output: sharper product thesis, clearer user
74
+ transformation, stronger form choice, and more opinionated anti-defaults.
75
+
76
+ Do not hand off to `/ow:prompt2proto` until the actual prompt paragraphs pass
77
+ the paragraph-quality gate. `quality_rubric.prompt_paragraph_quality` and
78
+ `prompt_text_manifest.paragraph_quality_status` must prove the text itself
79
+ contains product context, target user, journey, screen/component requirements,
80
+ interaction behavior, system response, concrete content, trust or user-control
81
+ surfaces, visual direction, anti-goals, desired user feeling, and the
82
+ perspective engine.
83
+
84
+ This pipeline intentionally mirrors dailin
85
+ `vision_to_strategic_prototype_prompt` Steps 1-6:
86
+
87
+ - normalize inputs;
88
+ - extract the strategic core;
89
+ - generate candidate strategic hypotheses;
90
+ - select the most differentiated directions;
91
+ - write each full prototype-generation prompt;
92
+ - recommend build order with success and failure signals.
93
+
94
+ ## Validation Consumption
95
+
96
+ Validation is required before prototype generation.
97
+
98
+ - If a durable validation artifact exists, consume it and preserve its
99
+ include/exclude boundaries.
100
+ - If validation is absent but vision exists, auto-run the same
101
+ artifact-producing `/ow:validation` pass first.
102
+ - The auto-validation artifact must record `trigger.mode: agent_auto`,
103
+ `trigger.requested_command: /ow:proto`, and
104
+ `trigger.reason: missing_current_validation`.
105
+ - Do not proceed with ephemeral `vision_only` context.
106
+ - If validation conflicts with vision, stop for a decision instead of broadening
107
+ the prototype target silently.
108
+
109
+ ## Input Normalization
110
+
111
+ Extract or infer:
112
+
113
+ - product domain
114
+ - primary user
115
+ - usage context
116
+ - current alternative
117
+ - core pain
118
+ - desired behavior change
119
+ - strongest success signal
120
+ - core differentiator
121
+ - emotional value
122
+ - functional value
123
+ - trust or privacy constraints
124
+ - non-goals
125
+ - future opportunities
126
+ - validation target or central uncertainty
127
+
128
+ Record `validation_input.mode: validation_present` when consuming a current
129
+ validation artifact. Use `validation_input.mode: agent_auto_generated` only when
130
+ the proto command first created durable validation artifacts because none were
131
+ current.
132
+
133
+ ## Strategic Core
134
+
135
+ Represent the product as:
136
+
137
+ ```txt
138
+ target user + behavior change + mechanism + differentiator + boundary conditions
139
+ ```
140
+
141
+ Find the central uncertainty:
142
+
143
+ - what makes the user start
144
+ - what makes the user repeat
145
+ - what makes the user trust the system
146
+ - what makes the user switch from the current alternative
147
+ - what must be true for the product to feel meaningfully different
148
+
149
+ ## Product Experience Model
150
+
151
+ Before generating strategic directions, infer the product category and product
152
+ shell that the vision implies. Record it as `product_experience_model`.
153
+
154
+ Required dimensions:
155
+
156
+ - `product_archetype`: the target product category, such as map-first smart city
157
+ operations dashboard, daily voice-call ritual, memory-centered companion room,
158
+ scenario playground, inbox, workspace, board, editor, or console.
159
+ - `primary_canvas`: the main surface that should dominate the prototype, such
160
+ as map, call console, conversation room, timeline, board, editor, inbox, or
161
+ dashboard.
162
+ - `information_architecture`: navigation model, major domains, hierarchy, and
163
+ product areas.
164
+ - `domain_object_model`: concrete user-visible objects, records, entities, and
165
+ business data.
166
+ - `primary_task_loop`: the end-to-end user workflow the screen group must make
167
+ understandable.
168
+ - `interaction_state_model`: selected, expanded, hover, empty, loading,
169
+ warning, blocked, pending human confirmation, and other category-relevant
170
+ states.
171
+ - `data_realism_requirements`: sample fields, labels, metrics, values, and
172
+ operational details that make the prototype feel like real product work.
173
+ - `visual_language`: category-specific layout and component expectations.
174
+ - `anti_generic_constraints`: forbidden generic patterns such as AI governance
175
+ report dashboards, consulting slide layouts, card walls, or chatbot shells
176
+ when they do not match the target category.
177
+
178
+ Use this model to decide whether concepts from the vision are separate product
179
+ directions or modules, scenarios, layers, workflows, or states inside one
180
+ product shell. For example, planning approval, incident response, and asset
181
+ capacity may be modules inside one smart-city operations dashboard rather than
182
+ three separate prototype directions.
183
+
184
+ ## Hypothesis Generation
185
+
186
+ Generate 5-8 candidate hypotheses, then choose the strongest directions.
187
+
188
+ Template:
189
+
190
+ ```txt
191
+ If the product is shaped as [product form]
192
+ and uses [core mechanism]
193
+ to reduce or increase [friction or motivation],
194
+ then [target user] will [desired behavior]
195
+ because [emotional or functional reason].
196
+ ```
197
+
198
+ A direction is distinct only if it differs from others on at least two
199
+ dimensions:
200
+
201
+ - product form
202
+ - user initiation trigger
203
+ - interaction model
204
+ - emotional driver
205
+ - learning or usage mechanism
206
+ - retention mechanism
207
+ - validation metric
208
+ - main risk
209
+
210
+ Do not split directions by scenario labels alone. A scenario is a product
211
+ direction only when it changes product form, product loop, trigger,
212
+ interaction model, emotional driver, retention mechanism, validation metric, or
213
+ main risk.
214
+
215
+ Reject directions that only change colors, layout, visual tone, or component
216
+ style.
217
+
218
+ Each selected direction should name why it deserves prototype generation:
219
+ what it tests, what it risks, what the user should feel, and which validation
220
+ signal it can make observable.
221
+
222
+ Reject directions that are structurally complete but strategically empty: they
223
+ list screens and prompt anatomy, but do not make a product argument.
224
+
225
+ ## Prompt Pack Structure
226
+
227
+ `PROTO_PROMPT_PACK.yaml` should follow `schemas/proto-prompt-pack.schema.json`
228
+ and include:
229
+
230
+ - `prompt_pack_type: strategic_proto_prompt_pack`
231
+ - `source`
232
+ - `validation_input`
233
+ - `normalized_input`
234
+ - `strategic_core`
235
+ - `prototype_brief`: product name, positioning, target user, current
236
+ alternative, core idea, primary loop, trust boundaries, non-goals, and desired
237
+ feeling
238
+ - `product_experience_model`
239
+ - `prototype_system_contract` with stable app shell, navigation taxonomy, data
240
+ vocabulary, domain object anatomy, object/detail panel anatomy, action bar,
241
+ audit/trust pattern, copy tone, and allowed screen-specific deltas
242
+ - `screen_manifest` with target screen ids, journey stages, user goals, system
243
+ states, required components, required data fields, primary actions, AI
244
+ behavior or explicit non-AI rationale, trust controls, example copy, and
245
+ acceptance criteria
246
+ - `global_design_system_prompt`: visual language, layout system, component
247
+ vocabulary, information density, copy tone, responsive/canvas rules, and
248
+ negative visual patterns
249
+ - screen-bound `screen_prompts` tied to `screen_manifest` ids, with standalone
250
+ prompt text, negative prompt, example copy, and acceptance criteria
251
+ - `quality_rubric`: prompt executability, strategic distinctness, product
252
+ specificity, state coverage, trust-boundary coverage, and
253
+ prompt_paragraph_quality
254
+ - `directions`
255
+ - `build_recommendation`
256
+ - `prompt_pack_integrity_gate`
257
+ - `prototype_reality_gate`
258
+ - `post_validate`
259
+ - `negative_constraints`
260
+ - `review_plan`
261
+
262
+ `PROTO_PROMPT_PACK.md` should be the human-readable view.
263
+
264
+ Each direction needs:
265
+
266
+ - `direction_id`
267
+ - `name`
268
+ - `strategic_hypothesis`
269
+ - `validates`
270
+ - `main_risk`
271
+ - `distinctness_rationale`
272
+ - `prototype_prompt`
273
+ - `screen_prompts`
274
+ - `pm_judgment`
275
+ - `product_thesis`
276
+ - `user_transformation`
277
+ - `reason_to_exist`
278
+
279
+ When `prompt_text_manifest.status` becomes `ready_for_image_generation`,
280
+ `prototype_system_contract` must state cross-screen invariants separately from
281
+ screen-specific state deltas, and every direction screen prompt must resolve to
282
+ a `screen_manifest.target_screen_id`.
283
+ Do not mark prompt text ready when screen prompts are detached from the product
284
+ journey, missing negative prompts or example copy, omit paragraph quality
285
+ dimensions, or only restate a freeform `prototype_prompt`.
286
+
287
+ ## Prototype Prompt Requirements
288
+
289
+ Each prompt must include:
290
+
291
+ - product name
292
+ - positioning
293
+ - target user
294
+ - core product idea
295
+ - required screens
296
+ - complete user journey
297
+ - interaction requirements
298
+ - system or AI behavior requirements
299
+ - trust, privacy, and user control requirements
300
+ - visual direction
301
+ - anti-goals
302
+ - desired user feeling
303
+ - concrete sample content
304
+
305
+ Prompt text must carry those requirements inside the actual paragraphs used for
306
+ generation. Do not rely on adjacent YAML fields to rescue a terse
307
+ `screen_prompts[].prompt`.
308
+
309
+ Each screen prompt should be able to stand alone. It should name the journey
310
+ stage, user goal, system state, selected object when relevant, required
311
+ components, data fields, actions, AI/system behavior, trust controls, negative
312
+ prompt, and acceptance criteria.
313
+
314
+ Minimum screen prompt anatomy:
315
+
316
+ - product and direction context;
317
+ - journey stage and screen purpose;
318
+ - target user goal and current system state;
319
+ - visible components and domain objects;
320
+ - realistic data, copy, labels, metrics, owners, timestamps, or messages;
321
+ - primary user actions and system response;
322
+ - trust, privacy, approval, memory, or user-control surfaces;
323
+ - visual direction tied to the product category and primary canvas;
324
+ - negative constraints and anti-goals;
325
+ - screen-bound acceptance criteria and desired user feeling.
326
+
327
+ The prompt should be specific enough that another agent can generate the first
328
+ screen group without asking what the product is, who it serves, what behavior
329
+ should change, what must be shown, what must not be shown, or what counts as a
330
+ good prototype.
331
+
332
+ ## Build Recommendation
333
+
334
+ Recommend the first direction to generate by weighing:
335
+
336
+ - closeness to the strongest success signal
337
+ - ability to validate the biggest unknown quickly
338
+ - prototype feasibility
339
+ - user behavior observability
340
+ - risk reduction
341
+
342
+ Include success signals, failure signals, and what to test next if it works.
343
+
344
+ ## Quality Gate
345
+
346
+ Revise before finishing if:
347
+
348
+ - directions are mostly visual variations
349
+ - prompts are too abstract for a design tool
350
+ - prompt text reads like a single screenshot description instead of a product
351
+ prototype brief
352
+ - `screen_manifest` or screen-bound prompt content is missing for a
353
+ multi-screen prototype
354
+ - `prototype_system_contract` is missing for a generation-ready multi-screen
355
+ prompt pack
356
+ - concrete domain objects, data fields, example copy, actions, and state
357
+ behavior are absent
358
+ - non-goals are not converted into anti-goals
359
+ - AI/system behavior is missing for an AI-mediated product
360
+ - trust/privacy controls are absent when memory, personalization, or sensitive
361
+ user data is involved
362
+ - prompt pack integrity, prototype reality, or post-validate gates are missing
363
+ or failing while image generation is queued or complete
364
+ - output drifts into implementation backlog or production spec
365
+ - validation is missing, stale, or represented only as ephemeral context