buildanything 1.7.1 → 1.8.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 (221) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +55 -0
  4. package/agents/ios-app-review-guardian.md +49 -0
  5. package/agents/ios-foundation-models-specialist.md +46 -0
  6. package/agents/ios-storekit-specialist.md +52 -0
  7. package/agents/ios-swift-architect.md +102 -0
  8. package/agents/ios-swift-search.md +130 -0
  9. package/agents/ios-swift-ui-design.md +104 -0
  10. package/commands/build.md +80 -176
  11. package/commands/fix.md +65 -0
  12. package/commands/setup.md +73 -0
  13. package/commands/ux-review.md +63 -0
  14. package/commands/verify.md +72 -0
  15. package/hooks/session-start +18 -1
  16. package/package.json +5 -2
  17. package/protocols/brainstorm.md +99 -0
  18. package/protocols/build-fix.md +52 -0
  19. package/protocols/cleanup.md +54 -0
  20. package/protocols/design.md +269 -0
  21. package/protocols/eval-harness.md +61 -0
  22. package/protocols/fake-data-detector.md +64 -0
  23. package/protocols/ios-context.md +235 -0
  24. package/protocols/ios-frameworks-map.md +323 -0
  25. package/protocols/ios-phase-branches.md +162 -0
  26. package/protocols/ios-preflight.md +27 -0
  27. package/protocols/metric-loop.md +93 -0
  28. package/protocols/planning.md +87 -0
  29. package/protocols/smoke-test.md +110 -0
  30. package/protocols/verify.md +67 -0
  31. package/protocols/web-phase-branches.md +201 -0
  32. package/skills/ios/_VENDORED.md +60 -0
  33. package/skills/ios/activitykit/LICENSE +131 -0
  34. package/skills/ios/activitykit/SKILL.md +505 -0
  35. package/skills/ios/activitykit/references/activitykit-patterns.md +868 -0
  36. package/skills/ios/app-intents/LICENSE +131 -0
  37. package/skills/ios/app-intents/SKILL.md +494 -0
  38. package/skills/ios/app-intents/references/appintents-advanced.md +1076 -0
  39. package/skills/ios/apple-on-device-ai/LICENSE +131 -0
  40. package/skills/ios/apple-on-device-ai/SKILL.md +505 -0
  41. package/skills/ios/apple-on-device-ai/references/coreml-conversion.md +425 -0
  42. package/skills/ios/apple-on-device-ai/references/coreml-optimization.md +344 -0
  43. package/skills/ios/apple-on-device-ai/references/foundation-models.md +508 -0
  44. package/skills/ios/apple-on-device-ai/references/mlx-swift.md +285 -0
  45. package/skills/ios/ios-26-platform/SKILL.md +53 -0
  46. package/skills/ios/ios-26-platform/references/automatic-adoption.md +161 -0
  47. package/skills/ios/ios-26-platform/references/backward-compat.md +238 -0
  48. package/skills/ios/ios-26-platform/references/liquid-glass.md +255 -0
  49. package/skills/ios/ios-26-platform/references/swiftui-apis.md +277 -0
  50. package/skills/ios/ios-26-platform/references/toolbar-navigation.md +250 -0
  51. package/skills/ios/ios-bootstrap/SKILL.md +98 -0
  52. package/skills/ios/ios-bootstrap/references/apple-docs-mcp-config.md +28 -0
  53. package/skills/ios/ios-bootstrap/references/new-project-dialog.md +41 -0
  54. package/skills/ios/ios-bootstrap/references/xcode-mcp-config.md +29 -0
  55. package/skills/ios/ios-debugger-agent/LICENSE +21 -0
  56. package/skills/ios/ios-debugger-agent/SKILL.md +58 -0
  57. package/skills/ios/ios-debugger-agent/agents/openai.yaml +4 -0
  58. package/skills/ios/ios-entitlements-generator/SKILL.md +47 -0
  59. package/skills/ios/ios-hig/SKILL.md +41 -0
  60. package/skills/ios/ios-hig/references/accessibility.md +81 -0
  61. package/skills/ios/ios-hig/references/content.md +142 -0
  62. package/skills/ios/ios-hig/references/feedback.md +123 -0
  63. package/skills/ios/ios-hig/references/interaction.md +199 -0
  64. package/skills/ios/ios-hig/references/performance-platform.md +129 -0
  65. package/skills/ios/ios-hig/references/privacy-permissions.md +181 -0
  66. package/skills/ios/ios-hig/references/visual-design.md +84 -0
  67. package/skills/ios/ios-info-plist-hardening/SKILL.md +130 -0
  68. package/skills/ios/ios-maestro-flow-author/SKILL.md +68 -0
  69. package/skills/ios/ios-maestro-flow-author/references/input-and-scroll.yaml +17 -0
  70. package/skills/ios/ios-maestro-flow-author/references/modal-and-dismiss.yaml +14 -0
  71. package/skills/ios/ios-maestro-flow-author/references/onboarding-flow.yaml +16 -0
  72. package/skills/ios/ios-maestro-flow-author/references/tab-navigation.yaml +13 -0
  73. package/skills/ios/ios-maestro-flow-author/references/tap-and-assert.yaml +9 -0
  74. package/skills/ios/swift-accessibility/LICENSE +21 -0
  75. package/skills/ios/swift-accessibility/SKILL.md +371 -0
  76. package/skills/ios/swift-accessibility/examples/before-after-appkit.md +446 -0
  77. package/skills/ios/swift-accessibility/examples/before-after-swiftui.md +441 -0
  78. package/skills/ios/swift-accessibility/examples/before-after-uikit.md +464 -0
  79. package/skills/ios/swift-accessibility/references/assistive-access.md +441 -0
  80. package/skills/ios/swift-accessibility/references/display-settings.md +491 -0
  81. package/skills/ios/swift-accessibility/references/dynamic-type.md +420 -0
  82. package/skills/ios/swift-accessibility/references/media-accessibility.md +421 -0
  83. package/skills/ios/swift-accessibility/references/motor-input.md +393 -0
  84. package/skills/ios/swift-accessibility/references/nutrition-labels.md +362 -0
  85. package/skills/ios/swift-accessibility/references/platform-specifics.md +515 -0
  86. package/skills/ios/swift-accessibility/references/semantic-structure.md +585 -0
  87. package/skills/ios/swift-accessibility/references/testing-auditing.md +507 -0
  88. package/skills/ios/swift-accessibility/references/voice-control.md +317 -0
  89. package/skills/ios/swift-accessibility/references/voiceover-swiftui.md +584 -0
  90. package/skills/ios/swift-accessibility/references/voiceover-uikit.md +519 -0
  91. package/skills/ios/swift-accessibility/references/wcag-mapping.md +167 -0
  92. package/skills/ios/swift-accessibility/resources/audit-template.swift +128 -0
  93. package/skills/ios/swift-accessibility/resources/qa-checklist.md +258 -0
  94. package/skills/ios/swift-concurrency/LICENSE +21 -0
  95. package/skills/ios/swift-concurrency/SKILL.md +171 -0
  96. package/skills/ios/swift-concurrency/references/_index.md +50 -0
  97. package/skills/ios/swift-concurrency/references/actors.md +660 -0
  98. package/skills/ios/swift-concurrency/references/async-algorithms.md +847 -0
  99. package/skills/ios/swift-concurrency/references/async-await-basics.md +266 -0
  100. package/skills/ios/swift-concurrency/references/async-sequences.md +710 -0
  101. package/skills/ios/swift-concurrency/references/core-data.md +560 -0
  102. package/skills/ios/swift-concurrency/references/glossary.md +135 -0
  103. package/skills/ios/swift-concurrency/references/linting.md +155 -0
  104. package/skills/ios/swift-concurrency/references/memory-management.md +569 -0
  105. package/skills/ios/swift-concurrency/references/migration.md +1104 -0
  106. package/skills/ios/swift-concurrency/references/performance.md +593 -0
  107. package/skills/ios/swift-concurrency/references/sendable.md +598 -0
  108. package/skills/ios/swift-concurrency/references/tasks.md +636 -0
  109. package/skills/ios/swift-concurrency/references/testing.md +592 -0
  110. package/skills/ios/swift-concurrency/references/threading.md +495 -0
  111. package/skills/ios/swift-security-expert/LICENSE +21 -0
  112. package/skills/ios/swift-security-expert/SKILL.md +470 -0
  113. package/skills/ios/swift-security-expert/references/biometric-authentication.md +565 -0
  114. package/skills/ios/swift-security-expert/references/certificate-trust.md +592 -0
  115. package/skills/ios/swift-security-expert/references/common-anti-patterns.md +690 -0
  116. package/skills/ios/swift-security-expert/references/compliance-owasp-mapping.md +537 -0
  117. package/skills/ios/swift-security-expert/references/credential-storage-patterns.md +721 -0
  118. package/skills/ios/swift-security-expert/references/cryptokit-public-key.md +505 -0
  119. package/skills/ios/swift-security-expert/references/cryptokit-symmetric.md +497 -0
  120. package/skills/ios/swift-security-expert/references/keychain-access-control.md +508 -0
  121. package/skills/ios/swift-security-expert/references/keychain-fundamentals.md +596 -0
  122. package/skills/ios/swift-security-expert/references/keychain-item-classes.md +476 -0
  123. package/skills/ios/swift-security-expert/references/keychain-sharing.md +458 -0
  124. package/skills/ios/swift-security-expert/references/migration-legacy-stores.md +727 -0
  125. package/skills/ios/swift-security-expert/references/secure-enclave.md +539 -0
  126. package/skills/ios/swift-security-expert/references/testing-security-code.md +781 -0
  127. package/skills/ios/swift-testing-expert/LICENSE +21 -0
  128. package/skills/ios/swift-testing-expert/SKILL.md +79 -0
  129. package/skills/ios/swift-testing-expert/references/_index.md +12 -0
  130. package/skills/ios/swift-testing-expert/references/async-testing-and-waiting.md +127 -0
  131. package/skills/ios/swift-testing-expert/references/expectations.md +145 -0
  132. package/skills/ios/swift-testing-expert/references/fundamentals.md +141 -0
  133. package/skills/ios/swift-testing-expert/references/migration-from-xctest.md +127 -0
  134. package/skills/ios/swift-testing-expert/references/parallelization-and-isolation.md +95 -0
  135. package/skills/ios/swift-testing-expert/references/parameterized-testing.md +284 -0
  136. package/skills/ios/swift-testing-expert/references/performance-and-best-practices.md +187 -0
  137. package/skills/ios/swift-testing-expert/references/traits-and-tags.md +114 -0
  138. package/skills/ios/swift-testing-expert/references/xcode-workflows.md +70 -0
  139. package/skills/ios/swiftdata-pro/LICENSE +21 -0
  140. package/skills/ios/swiftdata-pro/SKILL.md +102 -0
  141. package/skills/ios/swiftdata-pro/agents/openai.yaml +10 -0
  142. package/skills/ios/swiftdata-pro/assets/swiftdata-pro-icon.png +0 -0
  143. package/skills/ios/swiftdata-pro/assets/swiftdata-pro-icon.svg +29 -0
  144. package/skills/ios/swiftdata-pro/references/class-inheritance.md +104 -0
  145. package/skills/ios/swiftdata-pro/references/cloudkit.md +10 -0
  146. package/skills/ios/swiftdata-pro/references/core-rules.md +20 -0
  147. package/skills/ios/swiftdata-pro/references/indexing.md +27 -0
  148. package/skills/ios/swiftdata-pro/references/predicates.md +73 -0
  149. package/skills/ios/swiftui-design-principles/AGENTS.md +21 -0
  150. package/skills/ios/swiftui-design-principles/LICENSE +21 -0
  151. package/skills/ios/swiftui-design-principles/README.md +41 -0
  152. package/skills/ios/swiftui-design-principles/SKILL.md +605 -0
  153. package/skills/ios/swiftui-design-principles/metadata.json +10 -0
  154. package/skills/ios/swiftui-liquid-glass/LICENSE +21 -0
  155. package/skills/ios/swiftui-liquid-glass/SKILL.md +95 -0
  156. package/skills/ios/swiftui-liquid-glass/agents/openai.yaml +4 -0
  157. package/skills/ios/swiftui-liquid-glass/references/liquid-glass.md +280 -0
  158. package/skills/ios/swiftui-performance-audit/LICENSE +21 -0
  159. package/skills/ios/swiftui-performance-audit/SKILL.md +111 -0
  160. package/skills/ios/swiftui-performance-audit/agents/openai.yaml +4 -0
  161. package/skills/ios/swiftui-performance-audit/references/code-smells.md +150 -0
  162. package/skills/ios/swiftui-performance-audit/references/demystify-swiftui-performance-wwdc23.md +46 -0
  163. package/skills/ios/swiftui-performance-audit/references/optimizing-swiftui-performance-instruments.md +29 -0
  164. package/skills/ios/swiftui-performance-audit/references/profiling-intake.md +44 -0
  165. package/skills/ios/swiftui-performance-audit/references/report-template.md +47 -0
  166. package/skills/ios/swiftui-performance-audit/references/understanding-hangs-in-your-app.md +33 -0
  167. package/skills/ios/swiftui-performance-audit/references/understanding-improving-swiftui-performance.md +52 -0
  168. package/skills/ios/swiftui-pro/LICENSE +21 -0
  169. package/skills/ios/swiftui-pro/SKILL.md +108 -0
  170. package/skills/ios/swiftui-pro/agents/openai.yaml +10 -0
  171. package/skills/ios/swiftui-pro/assets/swiftui-pro-icon.png +0 -0
  172. package/skills/ios/swiftui-pro/assets/swiftui-pro-icon.svg +29 -0
  173. package/skills/ios/swiftui-pro/references/accessibility.md +13 -0
  174. package/skills/ios/swiftui-pro/references/api.md +39 -0
  175. package/skills/ios/swiftui-pro/references/data.md +43 -0
  176. package/skills/ios/swiftui-pro/references/design.md +31 -0
  177. package/skills/ios/swiftui-pro/references/hygiene.md +9 -0
  178. package/skills/ios/swiftui-pro/references/navigation.md +14 -0
  179. package/skills/ios/swiftui-pro/references/performance.md +46 -0
  180. package/skills/ios/swiftui-pro/references/swift.md +56 -0
  181. package/skills/ios/swiftui-pro/references/views.md +35 -0
  182. package/skills/ios/swiftui-ui-patterns/LICENSE +21 -0
  183. package/skills/ios/swiftui-ui-patterns/SKILL.md +100 -0
  184. package/skills/ios/swiftui-ui-patterns/agents/openai.yaml +4 -0
  185. package/skills/ios/swiftui-ui-patterns/references/app-wiring.md +201 -0
  186. package/skills/ios/swiftui-ui-patterns/references/async-state.md +96 -0
  187. package/skills/ios/swiftui-ui-patterns/references/components-index.md +50 -0
  188. package/skills/ios/swiftui-ui-patterns/references/controls.md +57 -0
  189. package/skills/ios/swiftui-ui-patterns/references/deeplinks.md +66 -0
  190. package/skills/ios/swiftui-ui-patterns/references/focus.md +90 -0
  191. package/skills/ios/swiftui-ui-patterns/references/form.md +97 -0
  192. package/skills/ios/swiftui-ui-patterns/references/grids.md +71 -0
  193. package/skills/ios/swiftui-ui-patterns/references/haptics.md +71 -0
  194. package/skills/ios/swiftui-ui-patterns/references/input-toolbar.md +51 -0
  195. package/skills/ios/swiftui-ui-patterns/references/lightweight-clients.md +93 -0
  196. package/skills/ios/swiftui-ui-patterns/references/list.md +86 -0
  197. package/skills/ios/swiftui-ui-patterns/references/loading-placeholders.md +38 -0
  198. package/skills/ios/swiftui-ui-patterns/references/macos-settings.md +71 -0
  199. package/skills/ios/swiftui-ui-patterns/references/matched-transitions.md +59 -0
  200. package/skills/ios/swiftui-ui-patterns/references/media.md +73 -0
  201. package/skills/ios/swiftui-ui-patterns/references/menu-bar.md +101 -0
  202. package/skills/ios/swiftui-ui-patterns/references/navigationstack.md +159 -0
  203. package/skills/ios/swiftui-ui-patterns/references/overlay.md +45 -0
  204. package/skills/ios/swiftui-ui-patterns/references/performance.md +62 -0
  205. package/skills/ios/swiftui-ui-patterns/references/previews.md +48 -0
  206. package/skills/ios/swiftui-ui-patterns/references/scroll-reveal.md +133 -0
  207. package/skills/ios/swiftui-ui-patterns/references/scrollview.md +87 -0
  208. package/skills/ios/swiftui-ui-patterns/references/searchable.md +71 -0
  209. package/skills/ios/swiftui-ui-patterns/references/sheets.md +155 -0
  210. package/skills/ios/swiftui-ui-patterns/references/split-views.md +72 -0
  211. package/skills/ios/swiftui-ui-patterns/references/tabview.md +114 -0
  212. package/skills/ios/swiftui-ui-patterns/references/theming.md +71 -0
  213. package/skills/ios/swiftui-ui-patterns/references/title-menus.md +93 -0
  214. package/skills/ios/swiftui-ui-patterns/references/top-bar.md +49 -0
  215. package/skills/ios/swiftui-view-refactor/LICENSE +21 -0
  216. package/skills/ios/swiftui-view-refactor/SKILL.md +207 -0
  217. package/skills/ios/swiftui-view-refactor/agents/openai.yaml +4 -0
  218. package/skills/ios/swiftui-view-refactor/references/mv-patterns.md +161 -0
  219. package/skills/ios/widgetkit/LICENSE +131 -0
  220. package/skills/ios/widgetkit/SKILL.md +502 -0
  221. package/skills/ios/widgetkit/references/widgetkit-advanced.md +871 -0
@@ -7,6 +7,13 @@ argument-hint: "Optional scope: 'build', 'tests', 'security', 'lint', 'types', '
7
7
 
8
8
  You are a verification runner. Fast, deterministic, no opinions — just pass/fail.
9
9
 
10
+ ## Project-type branching
11
+
12
+ Read `docs/plans/.build-state.md` → `project_type`.
13
+
14
+ - **If `project_type=web`** (or unset): run the existing web flow below (Steps 1–3).
15
+ - **If `project_type=ios`**: skip Steps 1–3 and jump to the **iOS Verify** section at the bottom of this file.
16
+
10
17
  ## Step 1: Determine Scope
11
18
 
12
19
  Check the user's argument:
@@ -41,3 +48,68 @@ Follow `protocols/verify.md` exactly:
41
48
  > "Verification failed at [check]. Run `/buildanything:build` with a fix prompt, or I can attempt a targeted fix now."
42
49
 
43
50
  Do not auto-fix unless the user asks. This command is for reporting, not repairing.
51
+
52
+ ---
53
+
54
+ ## iOS Verify (project_type=ios)
55
+
56
+ iOS functional-correctness twin. Runs a sequential skill bundle (not parallel — each pass feeds the next) over the Xcode project. No 0-100 scoring — pass/fail gates only.
57
+
58
+ ### Preflight
59
+
60
+ **Run iOS preflight:** see `protocols/ios-preflight.md`. If any preflight check fails, emit `VERIFY: FAIL at preflight — [reason]` and stop.
61
+
62
+ ### Load context
63
+
64
+ Every dispatched agent below inherits `protocols/ios-context.md` (Senior iOS Engineer sidecar). Inject it as the first block of each agent prompt.
65
+
66
+ ### Dispatch sequence (sequential)
67
+
68
+ Run in order. Stop on first hard blocker; soft findings accumulate into the report.
69
+
70
+ **a. Test triage — `skills/ios/swift-testing-expert`**
71
+ > Load `protocols/ios-context.md`. Triage existing `@Test` / XCTest suites: parallel-safety, isolation correctness, missing coverage on critical paths, test-plan wiring. Output: list of test issues with severity.
72
+
73
+ **b. Snapshot / doubles review — `skills/ios/swift-testing` _(TBD — bocato cherry-pick not yet ported; skip with a note if absent)_**
74
+ > If skill exists: review snapshot tests and Fowler-style test doubles. If absent: log `swift-testing (bocato) — PENDING PORT` in the report and continue.
75
+
76
+ **c. Security audit — `skills/ios/swift-security-expert` (audit mode)**
77
+ > Load `protocols/ios-context.md`. Audit Keychain usage, CryptoKit calls, ATS exceptions in Info.plist, biometric gating. Report any hardcoded secrets or weak primitives. Severity: P0 / P1 / P2.
78
+
79
+ **d. App Review compliance — `agents/ios-app-review-guardian`**
80
+ > Load `protocols/ios-context.md`. Check App Review guidelines, privacy manifest (`PrivacyInfo.xcprivacy`), IAP/StoreKit rules, required usage-description strings, tracking/ATT compliance. Report blockers vs. warnings.
81
+
82
+ **e. Maestro flow authoring — `skills/ios/ios-maestro-flow-author`** _(conditional)_
83
+ > If a critical user journey lacks E2E coverage, author a `.yaml` Maestro flow for it. Skip if coverage is adequate.
84
+
85
+ **f. Build + test run — XcodeBuildMCP**
86
+ > `BuildProject` all targets → run the active test plan via XcodeBuildMCP → capture failures, warnings, and test output. This is the hard gate.
87
+
88
+ ### Pass/fail gates
89
+
90
+ All must pass for `VERIFY: PASS`:
91
+
92
+ | Gate | Pass condition |
93
+ |------|----------------|
94
+ | Build | XcodeBuildMCP `BuildProject` succeeds, zero errors |
95
+ | Tests | All tests in active test plan pass |
96
+ | Security audit | No P0 findings from `swift-security-expert` |
97
+ | App Review | No blockers from `ios-app-review-guardian` (warnings OK) |
98
+ | A11y warnings | No new a11y warnings introduced since last verify |
99
+
100
+ Any gate failing → `VERIFY: FAIL at [gate] — [reason]`.
101
+
102
+ ### Output
103
+
104
+ Write `docs/plans/ios-verify-report.md` with:
105
+
106
+ - One-line pass/fail summary
107
+ - Per-agent section (testing, security, app-review, maestro, build)
108
+ - Findings list grouped by severity (P0/P1/P2)
109
+ - Diff vs. previous report if one exists
110
+
111
+ Log the final line to `docs/plans/.build-state.md` the same way web mode does.
112
+
113
+ ### Note on Step 6.0 (Pre-Hardening Verification)
114
+
115
+ Step 6.0 references `protocols/verify.md` which auto-branches on `project_type`. iOS builds flow through the iOS twin section of this file. No separate Step 6.0 action needed for iOS.
@@ -2,6 +2,17 @@
2
2
  # buildanything: SessionStart hook
3
3
  # Re-injects orchestrator identity after context compaction, resume, or clear.
4
4
 
5
+ # Dep check: warn if plugin deps (installed via bin/setup.js) are missing.
6
+ DEPS_WARNING=""
7
+ MISSING=()
8
+ command -v agent-browser >/dev/null 2>&1 || MISSING+=("agent-browser CLI")
9
+ { [ -e "$HOME/.claude/skills/agent-browser" ] || [ -e "$HOME/.claude/skills/agent-browser.md" ]; } || MISSING+=("agent-browser skill")
10
+ { [ -e "$HOME/.claude/skills/dogfood" ] || [ -e "$HOME/.claude/skills/dogfood.md" ]; } || MISSING+=("dogfood skill")
11
+ if [ ${#MISSING[@]} -gt 0 ]; then
12
+ JOINED=$(IFS=,; echo "${MISSING[*]}"); JOINED=${JOINED//,/, }
13
+ DEPS_WARNING="buildanything: missing deps (${JOINED}). Run /buildanything:setup to complete install."
14
+ fi
15
+
5
16
  # Check if a build pipeline is active by looking for .build-state.md
6
17
  BUILD_STATE=""
7
18
  if [ -f "docs/plans/.build-state.md" ]; then
@@ -15,7 +26,7 @@ fi
15
26
 
16
27
  # Check if we're past Phase 3 but missing design artifacts
17
28
  if [ -n "$BUILD_STATE" ]; then
18
- CURRENT_PHASE=$(echo "$BUILD_STATE" | grep -oP 'Phase: \K[0-9]+' | head -1)
29
+ CURRENT_PHASE=$(echo "$BUILD_STATE" | sed -n 's/.*Phase: *\([0-9][0-9]*\).*/\1/p' | head -1)
19
30
  if [ "$CURRENT_PHASE" -ge 4 ] 2>/dev/null && [ ! -f "docs/plans/visual-design-spec.md" ]; then
20
31
  DESIGN_WARNING="
21
32
  DESIGN GATE VIOLATION: Current phase is ${CURRENT_PHASE} but docs/plans/visual-design-spec.md does not exist.
@@ -90,6 +101,12 @@ NEXT ACTIONS:
90
101
  8. Rebuild TodoWrite from docs/plans/.build-state.md (TodoWrite does NOT survive compaction)"
91
102
  fi
92
103
 
104
+ # Prepend deps warning (if any) to the context — applies to both branches.
105
+ if [ -n "$DEPS_WARNING" ]; then
106
+ CONTEXT="${DEPS_WARNING}
107
+ ${CONTEXT}"
108
+ fi
109
+
93
110
  # Output as additional_context for Claude Code
94
111
  # JSON-escape the context
95
112
  ESCAPED=$(printf '%s' "$CONTEXT" | python3 -c 'import sys,json; print(json.dumps(sys.stdin.read()))')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "buildanything",
3
- "version": "1.7.1",
3
+ "version": "1.8.0",
4
4
  "description": "One command to build an entire product. 73 specialist agents orchestrated into a full engineering pipeline for Claude Code.",
5
5
  "bin": {
6
6
  "buildanything": "./bin/setup.js"
@@ -35,6 +35,9 @@
35
35
  "agents/",
36
36
  "commands/",
37
37
  "hooks/",
38
- "README.md"
38
+ "protocols/",
39
+ "skills/",
40
+ "README.md",
41
+ "CHANGELOG.md"
39
42
  ]
40
43
  }
@@ -0,0 +1,99 @@
1
+ # Brainstorm Protocol
2
+
3
+ You are the orchestrator running a structured brainstorming session to turn a raw idea into a validated design document.
4
+
5
+ ## How This Works
6
+
7
+ You ask questions one at a time, propose approaches with trade-offs, and converge on decisions. The output is a Design Document saved to `docs/plans/`.
8
+
9
+ This is a CONVERSATION, not a monologue. Each step involves the user.
10
+
11
+ ## Step 1: Understand the Idea
12
+
13
+ Read the build request and any existing context (brainstorm docs, decision briefs, conversation history, existing code).
14
+
15
+ Ask the user 3-5 targeted questions to fill gaps. Ask ONE question at a time, wait for the answer, then ask the next. Do not dump all questions at once.
16
+
17
+ Focus on:
18
+ - **Who is the user?** Who will use this, and what's their primary pain point?
19
+ - **What's the core flow?** What does the user DO in the product? Walk through the main interaction.
20
+ - **What's the scope?** What's in the MVP vs. what's deferred?
21
+ - **What are the constraints?** Tech stack preferences, budget, timeline, existing systems to integrate with.
22
+ - **What does success look like?** How will you know this works?
23
+
24
+ Skip questions the user already answered in their build request or prior context.
25
+
26
+ ## Step 2: Propose Approaches
27
+
28
+ For each major design decision, propose 2-3 approaches with trade-offs:
29
+
30
+ ```
31
+ DECISION: [e.g., "Data storage approach"]
32
+
33
+ Option A: [approach] — [1-line trade-off summary]
34
+ Option B: [approach] — [1-line trade-off summary]
35
+ Option C: [approach] — [1-line trade-off summary]
36
+
37
+ My recommendation: [which and why, in 1 sentence]
38
+ ```
39
+
40
+ Major decisions typically include:
41
+ - Tech stack (framework, language, database, hosting)
42
+ - Data model (what entities, how they relate)
43
+ - Primary user flow (step by step)
44
+ - Authentication approach
45
+ - External service integrations
46
+ - MVP scope boundary (in vs. out)
47
+
48
+ Let the user pick or modify. Do not force your recommendation.
49
+
50
+ ## Step 3: Write the Design Document
51
+
52
+ After decisions converge, produce a Design Document and save to `docs/plans/YYYY-MM-DD-[topic]-design.md`:
53
+
54
+ ```markdown
55
+ # [Project Name] — Design Document
56
+
57
+ ## Vision
58
+ [1-2 sentences: what this is and who it's for]
59
+
60
+ ## Primary User
61
+ [Who they are, what they need, why current alternatives fail them]
62
+
63
+ ## Core User Flow
64
+ [Step-by-step: what the user does, numbered list]
65
+
66
+ ## Tech Stack
67
+ [Each choice with 1-line rationale]
68
+
69
+ ## Data Model
70
+ [Key entities and relationships — tables, fields, types]
71
+
72
+ ## External Integrations
73
+ [APIs, services, and what they're used for]
74
+
75
+ ## MVP Scope
76
+ **In:** [bulleted list of what's included]
77
+ **Deferred:** [bulleted list of what's explicitly NOT in v1]
78
+
79
+ ## Key Decisions
80
+ [Numbered list of decisions made during brainstorming, with brief rationale]
81
+
82
+ ## Open Questions
83
+ [Anything unresolved that architecture or research needs to answer]
84
+ ```
85
+
86
+ Present the document to the user for approval before proceeding.
87
+
88
+ ---
89
+
90
+ ## Autonomous Mode (no user present)
91
+
92
+ If running in autonomous mode, you cannot ask questions interactively. Instead:
93
+
94
+ 1. Read all available context (build request, existing docs, code).
95
+ 2. For each major decision, pick the most pragmatic option and document your rationale.
96
+ 3. Bias toward: proven tech, simpler architecture, smaller MVP scope.
97
+ 4. Write the Design Document as above.
98
+ 5. Log all decisions and rationale to `docs/plans/build-log.md`.
99
+ 6. Proceed without user approval.
@@ -0,0 +1,52 @@
1
+ # Build-Fix Protocol (One Error at a Time)
2
+
3
+ You are the orchestrator. A build, type-check, or lint check has failed. Do NOT dump all errors on a fix agent. Most build errors cascade — fixing the root cause clears 5-10 downstream errors.
4
+
5
+ ## When to Use
6
+
7
+ When the Verification Protocol reports FAIL on Build, Type-Check, or Lint checks. Also usable during Phase 4 scaffolding or Phase 5 implementation when builds break.
8
+
9
+ ## Step 1: Extract First Error
10
+
11
+ Parse the failure output from the verification agent. Extract the FIRST error only:
12
+ - File path
13
+ - Line number (if available)
14
+ - Error message
15
+
16
+ Ignore all other errors. They are likely cascading from this one.
17
+
18
+ ## Step 2: Fix
19
+
20
+ Call the Agent tool — description: "Fix [error]" — mode: "bypassPermissions" — prompt:
21
+
22
+ "[COMPLEXITY: S] Fix this single build error. FILE: [path]. LINE: [number]. ERROR: [message]. Fix this specific error. Do not fix other errors. Do not refactor. Commit: 'fix: [error description]'."
23
+
24
+ > Pass ONLY the single error. Do not show the fix agent the full error log.
25
+
26
+ ## Step 3: Rebuild
27
+
28
+ Re-run ONLY the failing check (not all 6 verification checks). Count errors in the new output.
29
+
30
+ ## Step 4: Evaluate
31
+
32
+ - **0 errors:** DONE. Return FIXED to the calling protocol.
33
+ - **Error count decreased:** Log "CASCADE: fixed 1 error, resolved [N] total." Return to Step 1 with the new first error.
34
+ - **Error count same or increased:** The fix was bad. Revert: `git revert HEAD --no-edit`. Try the SECOND error from the original output instead. If already tried 2 different errors, return FAILED.
35
+ - **Iteration count >= 5:** Return PARTIAL with remaining error count.
36
+
37
+ ## Step 5: Report
38
+
39
+ Return to the orchestrator one of:
40
+ - **FIXED** — all errors resolved
41
+ - **PARTIAL** — [N] errors remain after 5 iterations
42
+ - **FAILED** — could not make progress
43
+
44
+ ---
45
+
46
+ ## Rules
47
+
48
+ - ONE error per fix agent. Never show a fix agent multiple errors.
49
+ - Revert bad fixes immediately. Do not accumulate broken fixes.
50
+ - Max 5 fix iterations per build-fix invocation.
51
+ - The fix agent is a SEPARATE agent from the verification agent. Fresh context.
52
+ - Track iteration count and error count delta in `docs/plans/.build-state.md`.
@@ -0,0 +1,54 @@
1
+ # Cleanup Protocol (De-Sloppify)
2
+
3
+ You are the orchestrator. An implementation agent just finished a task. Before running the metric loop, you run a focused cleanup pass on the changed files.
4
+
5
+ ## When to Skip
6
+
7
+ If the implementation was trivial — single config file change, < 20 lines changed total — skip this protocol. The overhead isn't worth it.
8
+
9
+ ## Step 1: Collect the Changeset
10
+
11
+ Get the authoritative list of files changed by running `git diff --name-only HEAD~1` (or checking the implementation agent's commit). Do not rely solely on the agent's self-reported file list — use git as the source of truth. This is the cleanup scope. Nothing outside this list gets touched.
12
+
13
+ ## Step 2: Invoke the Cleanup Agent
14
+
15
+ Call the Agent tool — description: "Cleanup [task name]" — mode: "bypassPermissions" — prompt:
16
+
17
+ "You are a code quality cleanup agent. Your job is to improve code quality in the files listed below WITHOUT changing behavior.
18
+
19
+ FILES IN SCOPE:
20
+ [list of files changed by the implementer]
21
+
22
+ ACCEPTANCE CRITERIA (do not break these):
23
+ [paste the task's acceptance criteria]
24
+
25
+ FIX these issues if you find them:
26
+ - Naming inconsistencies (variables, functions, files)
27
+ - Dead code and unused imports
28
+ - Redundant or duplicate imports
29
+ - Unclear variable or function names
30
+ - Missing error handling
31
+ - Code style violations
32
+ - Obvious DRY violations within the changed files
33
+
34
+ DO NOT:
35
+ - Add features or change behavior
36
+ - Modify the architecture or file structure
37
+ - Touch files outside the list above
38
+ - Refactor code that wasn't part of this task
39
+ - Modify tests unless fixing a broken assertion caused by the implementer
40
+
41
+ When finished, commit: 'refactor: cleanup [task name]'."
42
+
43
+ ## Step 3: Verify
44
+
45
+ After the cleanup agent finishes, spot-check that acceptance criteria still hold. If the cleanup agent broke something, revert its commit and log the issue to `docs/plans/build-log.md`. Then proceed to the metric loop without cleanup.
46
+
47
+ ---
48
+
49
+ ## Rules
50
+
51
+ - The cleanup agent is a SEPARATE Agent tool call from the implementer. No cleaning your own mess.
52
+ - Scope is sacred. Only files from the implementation changeset. Zero exceptions.
53
+ - This runs AFTER implementation, BEFORE the metric loop.
54
+ - If cleanup breaks acceptance criteria, revert and skip. Never block the metric loop on a cleanup failure.
@@ -0,0 +1,269 @@
1
+ # Design & Visual Identity Protocol
2
+
3
+ You are the orchestrator. Phase 2 (Architecture) is complete. Before building anything, you must establish a research-backed visual design system. This phase is a FULL PEER to Architecture and Build — not a footnote.
4
+
5
+ ## Anti-AI-Template Checklist
6
+
7
+ Penalize if 3+ of these appear together:
8
+ - Purple-to-blue or purple-to-pink gradient hero backgrounds
9
+ - Floating mesh/blob gradient decorative elements
10
+ - Inter or Plus Jakarta Sans as the font choice (unless research specifically justifies it)
11
+ - 3-column icon + heading + paragraph feature grids as the primary content pattern
12
+ - Glassmorphism/frosted glass as the primary design language
13
+ - Bento grid as default layout
14
+ - Dark mode + neon accents as the "premium" look
15
+ - Generic illustration pack imagery (Undraw, Humaaans style)
16
+ - Perfect symmetry everywhere with no visual tension or personality
17
+
18
+ One or two in isolation is fine IF the research supports it. Three or more together = AI template smell. Every visual choice must be justified by the research.
19
+
20
+ ---
21
+
22
+ ## Step 3.1 — Design Research (2 agents, parallel, both use Playwright)
23
+
24
+ Launch 2 agents in ONE message. Both MUST use Playwright to capture real screenshots — text descriptions of competitor sites are insufficient. Downstream agents need visual references.
25
+
26
+ **Agent 1: "Competitive visual audit"**
27
+
28
+ ```
29
+ You are a senior visual design researcher. Find the top 5-8 competitors or analogues for: [product description from design doc].
30
+
31
+ For each competitor:
32
+ 1. Use Playwright to navigate to their site
33
+ 2. Take full-page screenshots (desktop 1920x1080 + mobile 375x812)
34
+ 3. Screenshot standout components: hero sections, cards, forms, navigation, CTAs, footer
35
+ 4. Save all screenshots to docs/plans/design-references/competitors/[site-name]/
36
+
37
+ Analyze each site's visual language:
38
+ - Color palette (extract dominant colors)
39
+ - Typography choices (font families, scale, weight usage)
40
+ - Spacing rhythm (generous vs compact, section padding)
41
+ - Component style (shadows, borders, radius, elevation)
42
+ - What makes it feel premium or cheap?
43
+ - What would you steal vs avoid?
44
+
45
+ Output: Ranked analysis by visual quality and relevance. Include screenshot paths.
46
+ ```
47
+
48
+ **Agent 2: "Design inspiration mining"**
49
+
50
+ ```
51
+ You are a senior visual design researcher. Search Awwwards.com, Godly.website, and SiteInspire for award-winning sites in the category: [product category — SaaS, developer tool, e-commerce, marketplace, etc.].
52
+
53
+ For the top 5-8 results:
54
+ 1. Use Playwright to navigate and take full-page screenshots (desktop + mobile)
55
+ 2. Screenshot standout components and interactions worth referencing
56
+ 3. Save all screenshots to docs/plans/design-references/inspiration/[site-name]/
57
+
58
+ Identify cross-cutting patterns:
59
+ - What do the best-in-class sites have in common?
60
+ - What visual trends dominate this category right now?
61
+ - What separates "Awwwards worthy" from "generic template"?
62
+ - What specific techniques create the premium feel? (spacing, typography, animation, color)
63
+
64
+ Output: Trend analysis with specific adoptable patterns and anti-patterns to avoid. Include screenshot paths.
65
+ ```
66
+
67
+ After both return, synthesize a **Design Research Brief** saved to `docs/plans/design-research.md`. Include all screenshot paths for downstream agent reference.
68
+
69
+ ---
70
+
71
+ ## Step 3.2 — Design Direction (2 agents, sequential)
72
+
73
+ The UI Designer makes ALL decisions autonomously. No "Direction A vs B" presentations. Pick the best based on the research.
74
+
75
+ **Agent 1: UX Architect**
76
+
77
+ ```
78
+ You are the UX Architect. Create the structural design foundation.
79
+
80
+ INPUTS:
81
+ - Architecture doc (frontend section): [paste]
82
+ - Design Research Brief: [paste from docs/plans/design-research.md]
83
+ - Reference screenshots: [list paths from docs/plans/design-references/]
84
+ - User persona from Phase 1 research: [paste relevant section]
85
+
86
+ OUTPUT a UX Foundation document:
87
+ 1. Information architecture and content hierarchy
88
+ 2. User flow diagrams for core interactions
89
+ 3. Layout strategy — which pages use which layout patterns, informed by what worked in the research
90
+ 4. Component hierarchy — what components exist, how they compose
91
+ 5. Responsive breakpoint strategy (mobile-first)
92
+ 6. Navigation patterns
93
+ 7. Interaction patterns: hover, focus, loading, error, empty, success states
94
+
95
+ Base layout and flow decisions on what performed best in the competitive analysis — not generic patterns.
96
+ ```
97
+
98
+ **Agent 2: UI Designer**
99
+
100
+ ```
101
+ You are the UI Designer. Create the Visual Design Spec.
102
+
103
+ INPUTS:
104
+ - UX Foundation from UX Architect: [paste full output]
105
+ - Design Research Brief: [paste from docs/plans/design-research.md]
106
+ - Reference screenshots: [list paths from docs/plans/design-references/]
107
+ - User persona: [paste relevant section]
108
+
109
+ Make AUTONOMOUS decisions. Do not present options. Pick the single best direction based on the research.
110
+
111
+ OUTPUT a Visual Design Spec covering:
112
+
113
+ 1. **Color System** — Primary, secondary, accent, semantic (success/warning/error/info), neutral palette. Full hex values for light AND dark themes. Rationale tied to research: "competitor X uses muted blues; we differentiate with warm neutrals because our persona values approachability."
114
+
115
+ 2. **Typography System** — Font families (from Google Fonts or system fonts), size scale using a mathematical ratio (Major Third 1.25 or Perfect Fourth 1.333), weights, line heights (body: 1.5-1.6x, headings: 1.1-1.3x), letter spacing adjustments. MAX 2 font families.
116
+
117
+ 3. **Spacing System** — 8px base unit. Scale: 4, 8, 12, 16, 24, 32, 48, 64, 96, 128px. Rule: internal component padding MUST be less than external margin between components (Gestalt proximity principle).
118
+
119
+ 4. **Shadow & Elevation** — Layered shadow system using tinted shadows (NOT pure black — e.g., rgba(0,0,50,0.08) instead of rgba(0,0,0,0.1)). Ambient shadow + key shadow per elevation level. Levels: flat, raised (cards), elevated (dropdowns), overlay (modals), top (tooltips).
120
+
121
+ 5. **Border Radius** — ONE primary radius for the entire app (pick 4px, 6px, 8px, or 12px and justify). Pill radius for tags/badges only.
122
+
123
+ 6. **Animation & Motion** — Easing functions (ease-out for entrances, ease-in for exits, ease-in-out for transitions). Duration scale: micro 150ms, normal 300ms, emphasis 500ms. Stagger timing for lists: 30-50ms between items. Respect prefers-reduced-motion.
124
+
125
+ 7. **Component Styles** — For each component (buttons, inputs, cards, badges, navigation, modals, alerts, tables):
126
+ - ALL states: default, hover, active, focus-visible, disabled, loading
127
+ - Exact CSS properties: background, color, border, shadow, padding, font-size, font-weight, border-radius, transition
128
+
129
+ 8. **Design Rationale** — For EVERY major decision, cite the research. "The top 3 Awwwards sites in this category use geometric sans-serifs with high x-heights. Competitor Y uses Inter which is ubiquitous. We chose Space Grotesk to differentiate while maintaining the same readability characteristics."
130
+
131
+ Apply the Anti-AI-Template Checklist above. Every visual choice must be JUSTIFIED by the research, not by framework defaults.
132
+
133
+ Save output to docs/plans/visual-design-spec.md.
134
+ ```
135
+
136
+ ---
137
+
138
+ ## Step 3.3 — Living Style Guide (1 implementation agent)
139
+
140
+ Build a real, rendered style guide page that serves as the single source of truth for the entire product's visual language. This is what a design agency would deliver — not throwaway proof screens, but a reusable reference that every implementation agent can view and every QA check can compare against.
141
+
142
+ ```
143
+ [COMPLEXITY: L] Build a living style guide at /design-system (or a standalone HTML file if no routing exists).
144
+
145
+ INPUTS:
146
+ - Visual Design Spec: [paste from docs/plans/visual-design-spec.md]
147
+ - UX Foundation: [paste relevant component and interaction sections]
148
+ - Reference screenshots: [list paths from docs/plans/design-references/ — these are your quality targets]
149
+
150
+ The style guide MUST include rendered, interactive examples of:
151
+
152
+ 1. **Colors** — Every color from the palette rendered as swatches with hex/variable names. Light and dark mode side by side.
153
+ 2. **Typography** — Every heading level (h1-h6), body text, captions, labels, code text. Showing font family, size, weight, line height.
154
+ 3. **Spacing** — Visual scale showing 4px through 128px with labeled examples.
155
+ 4. **Buttons** — Primary, secondary, ghost, destructive. Every state: default, hover, active, focus-visible, disabled, loading. All rendered and interactive (hover them, click them).
156
+ 5. **Form Elements** — Text input, textarea, select, checkbox, radio, toggle, date picker. Every state: empty, filled, focused, error, disabled, loading.
157
+ 6. **Cards** — Content card, interactive card, stat card. With hover elevation, transitions.
158
+ 7. **Navigation** — Header, sidebar, breadcrumb, tabs, pagination. Active/inactive states.
159
+ 8. **Feedback** — Alerts (success, warning, error, info), toasts, loading spinners, skeleton screens, empty states, progress bars.
160
+ 9. **Modals & Overlays** — Modal, sheet, dropdown, tooltip, popover. Open/close transitions.
161
+ 10. **Layout Examples** — A sample section showing the grid system, responsive behavior at 375px/768px/1024px/1280px.
162
+
163
+ REQUIREMENTS:
164
+ - Use EXACT values from the Visual Design Spec. Do not deviate.
165
+ - Every component must be interactive — hover states work, focus rings show, transitions animate.
166
+ - Mobile-responsive — the style guide itself must be readable on mobile.
167
+ - This page ships with the product as developer documentation.
168
+
169
+ Commit: 'feat: living style guide'
170
+ ```
171
+
172
+ ---
173
+
174
+ ## Step 3.4 — Visual QA Loop (Playwright + Metric Loop)
175
+
176
+ Run the Metric Loop Protocol (`protocols/metric-loop.md`).
177
+
178
+ **Metric definition for `.build-state.md`:**
179
+
180
+ ```
181
+ ## Active Metric Loop
182
+ Phase: 3
183
+ Artifact: Living style guide (/design-system or standalone)
184
+ Metric: Design system quality — component completeness, visual fidelity to spec, interactive states, competitive quality relative to research references
185
+ How to measure: Playwright screenshots of style guide sections (desktop 1920x1080 + mobile 375x812), scored by design critic agent across 6 dimensions
186
+ Target: 80
187
+ Max iterations: 5
188
+ ```
189
+
190
+ **Measurement agent prompt:**
191
+
192
+ ```
193
+ You are a senior design critic at a top-tier agency (Pentagram, Work & Co). You are reviewing a product's design system / living style guide for quality.
194
+
195
+ INPUTS:
196
+ - Screenshots of the style guide page: [Playwright captures — desktop + mobile, each section]
197
+ - The Visual Design Spec the implementation should follow: [paste from docs/plans/visual-design-spec.md]
198
+ - Reference screenshots from competitors and Awwwards winners: [paths in docs/plans/design-references/]
199
+
200
+ Score 0-100 across these 6 dimensions (weight equally, average for final score):
201
+
202
+ 1. **Spacing & Alignment (0-100)**
203
+ - 8px grid respected? Hero padding 120-200px, not 40px?
204
+ - Internal component padding < external margin (Gestalt proximity)?
205
+
206
+ 2. **Typography Hierarchy (0-100)**
207
+ - Line heights: body 1.5-1.6x, headings 1.1-1.3x?
208
+ - Consistent type scale from the spec applied?
209
+
210
+ 3. **Color Harmony (0-100)**
211
+ - 60-30-10 rule (60% neutral, 30% secondary, 10% accent)?
212
+ - WCAG AA contrast (4.5:1 body, 3:1 large text)? Shadows tinted not pure black?
213
+
214
+ 4. **Component Polish (0-100)**
215
+ - All states present (hover, focus-visible, disabled, loading)?
216
+ - Shadow/elevation and border radius per spec?
217
+
218
+ 5. **Responsive Quality (0-100)**
219
+ - Touch targets 44px+ on mobile? No horizontal scroll?
220
+ - Layout adapts per breakpoint (not just stacks)?
221
+
222
+ 6. **Originality (0-100)**
223
+ - Does this look DESIGNED or GENERATED?
224
+ - Apply the Anti-AI-Template Checklist above. Penalize heavily if 3+ items appear together.
225
+ - The test: would a human designer say "this was made by AI"?
226
+ - Does the design have personality and point of view?
227
+
228
+ Return format:
229
+ SCORE: [average of 6 dimensions, rounded to nearest integer]
230
+ DIMENSION SCORES: [list each dimension with its score]
231
+ TOP ISSUE: [the single highest-impact change that would most improve the overall score]
232
+ FINDINGS: [detailed list of specific issues, each with the file path and line/component where the fix should happen]
233
+ ```
234
+
235
+ **Fix agent receives:** ONLY the top issue + relevant file paths + the relevant Visual Design Spec section. One fix per iteration. Commit each fix.
236
+
237
+ **Exit conditions (from metric-loop protocol):**
238
+ - Score >= 80 → proceed to Phase 4
239
+ - Stall (2 consecutive delta <= 0) → accept if score >= 65, log warning below 65
240
+ - Max 5 iterations → accept if score >= 65, log warning below 65
241
+
242
+ ---
243
+
244
+ ## Step 3.5 — Autonomous Quality Gate
245
+
246
+ Log to `docs/plans/build-log.md`:
247
+ - Final style guide screenshot paths
248
+ - Score history table from the metric loop
249
+ - Key design decisions and their research rationale
250
+ - Anti-AI-template dimension score
251
+
252
+ No user pause. Proceed to Phase 4 (Foundation).
253
+
254
+ ---
255
+
256
+ ## Rules
257
+
258
+ <HARD-GATE>
259
+ DESIGN RESEARCH IS NOT OPTIONAL. Step 3.1 agents MUST use Playwright to capture real screenshots of real competitor and inspiration sites. Text-only descriptions of "what their site looks like" are INSUFFICIENT — downstream agents need visual references to make informed decisions and the Visual QA measurement agent needs them for comparison.
260
+
261
+ If Playwright is unavailable: log as blocker, use web search to find and describe competitors in maximum visual detail, proceed with degraded quality. But TRY Playwright first.
262
+ </HARD-GATE>
263
+
264
+ - The UI Designer agent makes ALL visual decisions autonomously. No "pick A or B" presentations. The research provides the evidence; the agent makes the call.
265
+ - The Visual Design Spec MUST include research rationale for every major decision. Unjustified defaults are a design failure.
266
+ - The anti-AI-template checklist is a SCORING DIMENSION (Originality), not a hard blocker. The goal is awareness and intentional differentiation, not rigid prohibition of any single element.
267
+ - The living style guide is a REAL implementation with real CSS/components, not mockups or wireframes. Every component must be interactive and responsive. It ships with the product.
268
+ - The Visual QA loop is the primary quality control — no human reviews the design. The 80/100 threshold IS the taste arbiter. Treat it seriously.
269
+ - Screenshot data stays in measurement agents' context (separate subprocess). Do NOT load screenshots into the orchestrator's context — receive only the SCORE and TOP ISSUE as text.