buildanything 1.8.0 → 2.1.1

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 (494) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/.claude-plugin/plugin.json +17 -3
  3. package/CHANGELOG.md +57 -0
  4. package/README.md +57 -61
  5. package/agents/a11y-architect.md +168 -0
  6. package/agents/briefing-officer.md +172 -0
  7. package/agents/business-model.md +82 -29
  8. package/agents/code-architect.md +80 -0
  9. package/agents/code-reviewer.md +256 -0
  10. package/agents/code-simplifier.md +72 -0
  11. package/agents/design-brand-guardian.md +312 -53
  12. package/agents/design-critic.md +144 -0
  13. package/agents/design-inclusive-visuals-specialist.md +8 -19
  14. package/agents/design-ui-designer.md +352 -56
  15. package/agents/design-ux-architect.md +418 -55
  16. package/agents/design-ux-researcher.md +359 -49
  17. package/agents/engineering-ai-engineer.md +28 -36
  18. package/agents/engineering-backend-architect.md +187 -36
  19. package/agents/engineering-data-engineer.md +227 -43
  20. package/agents/engineering-devops-automator.md +229 -74
  21. package/agents/engineering-frontend-developer.md +223 -34
  22. package/agents/engineering-mobile-app-builder.md +8 -1
  23. package/agents/engineering-rapid-prototyper.md +45 -11
  24. package/agents/engineering-security-engineer.md +265 -61
  25. package/agents/engineering-senior-developer.md +141 -19
  26. package/agents/engineering-sre.md +86 -0
  27. package/agents/engineering-technical-writer.md +287 -41
  28. package/agents/feature-intel.md +111 -0
  29. package/agents/ios-app-review-guardian.md +21 -2
  30. package/agents/ios-foundation-models-specialist.md +22 -2
  31. package/agents/ios-product-reality-auditor.md +292 -0
  32. package/agents/ios-storekit-specialist.md +11 -2
  33. package/agents/ios-swift-architect.md +29 -1
  34. package/agents/ios-swift-search.md +9 -1
  35. package/agents/ios-swift-ui-design.md +40 -5
  36. package/agents/marketing-app-store-optimizer.md +248 -64
  37. package/agents/planner.md +221 -0
  38. package/agents/pr-test-analyzer.md +64 -0
  39. package/agents/product-feedback-synthesizer.md +70 -2
  40. package/agents/product-owner.md +163 -0
  41. package/agents/product-reality-auditor.md +216 -0
  42. package/agents/product-spec-writer.md +176 -0
  43. package/agents/refactor-cleaner.md +110 -0
  44. package/agents/security-reviewer.md +129 -0
  45. package/agents/silent-failure-hunter.md +55 -0
  46. package/agents/swift-build-resolver.md +121 -0
  47. package/agents/swift-reviewer.md +113 -0
  48. package/agents/tech-feasibility.md +26 -4
  49. package/agents/testing-api-tester.md +238 -59
  50. package/agents/testing-evidence-collector.md +50 -1
  51. package/agents/testing-performance-benchmarker.md +23 -1
  52. package/agents/testing-reality-checker.md +7 -1
  53. package/agents/visual-research.md +118 -0
  54. package/bin/adapters/cycle-counter-tool.ts +155 -0
  55. package/bin/adapters/scribe-tool.ts +73 -0
  56. package/bin/adapters/state-save-tool.ts +130 -0
  57. package/bin/adapters/write-lease-tool.ts +127 -0
  58. package/bin/buildanything-runtime.js +15 -0
  59. package/bin/buildanything-runtime.ts +241 -0
  60. package/bin/graph-index.js +24 -0
  61. package/bin/graph-index.ts +340 -0
  62. package/bin/mcp-servers/graph-mcp.js +26 -0
  63. package/bin/mcp-servers/graph-mcp.ts +481 -0
  64. package/bin/mcp-servers/orchestrator-mcp.js +26 -0
  65. package/bin/mcp-servers/orchestrator-mcp.ts +361 -0
  66. package/bin/setup.js +312 -76
  67. package/commands/add-feature.md +2 -0
  68. package/commands/build.md +994 -265
  69. package/commands/fix.md +1 -1
  70. package/commands/idea-sweep.md +2 -2
  71. package/commands/self-check.md +121 -0
  72. package/commands/setup.md +61 -9
  73. package/commands/ux-review.md +5 -5
  74. package/commands/verify.md +9 -9
  75. package/docs/migration/agents.yaml +729 -0
  76. package/docs/migration/phase-graph.yaml +1504 -0
  77. package/docs/migration/sdk-host-compat.md +18 -0
  78. package/hooks/compile-writer-owner-cache.ts +171 -0
  79. package/hooks/design-md-lint +4 -0
  80. package/hooks/design-md-lint.ts +295 -0
  81. package/hooks/hooks.json +36 -0
  82. package/hooks/pre-tool-use +19 -0
  83. package/hooks/pre-tool-use.ts +807 -0
  84. package/hooks/record-mode-transitions.ts +235 -0
  85. package/hooks/session-start +71 -1
  86. package/hooks/subagent-start +17 -0
  87. package/hooks/subagent-start.ts +472 -0
  88. package/hooks/subagent-stop +17 -0
  89. package/hooks/subagent-stop.ts +153 -0
  90. package/package.json +26 -4
  91. package/protocols/agent-prompt-authoring.md +165 -0
  92. package/protocols/architecture-schema.md +178 -0
  93. package/protocols/cleanup.md +4 -0
  94. package/protocols/decision-log.md +135 -0
  95. package/protocols/design-md-authoring.md +520 -0
  96. package/protocols/design-md-spec.md +362 -0
  97. package/protocols/fake-data-detector.md +1 -1
  98. package/protocols/ios-context.md +10 -11
  99. package/protocols/ios-fake-data-detector.md +65 -0
  100. package/protocols/ios-phase-branches.md +299 -39
  101. package/protocols/launch-readiness.md +262 -0
  102. package/protocols/metric-loop.md +62 -2
  103. package/protocols/page-spec-schema.md +234 -0
  104. package/protocols/product-spec-schema.md +354 -0
  105. package/protocols/smoke-test.md +9 -1
  106. package/protocols/sprint-tasks-schema.md +53 -0
  107. package/protocols/state-schema.json +423 -0
  108. package/protocols/state-schema.md +202 -0
  109. package/protocols/verify.md +91 -3
  110. package/protocols/web-phase-branches.md +395 -75
  111. package/skills/ios/_VENDORED.md +2 -0
  112. package/skills/ios/app-store-connect-metadata/SKILL.md +148 -0
  113. package/skills/ios/asc-privacy-manifest/SKILL.md +350 -0
  114. package/skills/ios/hig-components-content/SKILL.md +86 -0
  115. package/skills/ios/hig-components-content/references/activity-views.md +79 -0
  116. package/skills/ios/hig-components-content/references/charts.md +180 -0
  117. package/skills/ios/hig-components-content/references/collections.md +48 -0
  118. package/skills/ios/hig-components-content/references/color-wells.md +42 -0
  119. package/skills/ios/hig-components-content/references/image-views.md +82 -0
  120. package/skills/ios/hig-components-content/references/image-wells.md +34 -0
  121. package/skills/ios/hig-components-content/references/lockups.md +78 -0
  122. package/skills/ios/hig-components-content/references/web-views.md +36 -0
  123. package/skills/ios/hig-components-controls/SKILL.md +88 -0
  124. package/skills/ios/hig-components-controls/references/combo-boxes.md +40 -0
  125. package/skills/ios/hig-components-controls/references/controls.md +112 -0
  126. package/skills/ios/hig-components-controls/references/gauges.md +74 -0
  127. package/skills/ios/hig-components-controls/references/labels.md +92 -0
  128. package/skills/ios/hig-components-controls/references/pickers.md +128 -0
  129. package/skills/ios/hig-components-controls/references/rating-indicators.md +38 -0
  130. package/skills/ios/hig-components-controls/references/segmented-controls.md +94 -0
  131. package/skills/ios/hig-components-controls/references/sliders.md +92 -0
  132. package/skills/ios/hig-components-controls/references/steppers.md +40 -0
  133. package/skills/ios/hig-components-controls/references/text-fields.md +88 -0
  134. package/skills/ios/hig-components-controls/references/text-views.md +56 -0
  135. package/skills/ios/hig-components-controls/references/toggles.md +127 -0
  136. package/skills/ios/hig-components-controls/references/token-fields.md +48 -0
  137. package/skills/ios/hig-components-controls/references/virtual-keyboards.md +156 -0
  138. package/skills/ios/hig-components-dialogs/SKILL.md +76 -0
  139. package/skills/ios/hig-components-dialogs/references/action-sheets.md +74 -0
  140. package/skills/ios/hig-components-dialogs/references/alerts.md +158 -0
  141. package/skills/ios/hig-components-dialogs/references/digit-entry-views.md +32 -0
  142. package/skills/ios/hig-components-dialogs/references/popovers.md +81 -0
  143. package/skills/ios/hig-components-dialogs/references/sheets.md +157 -0
  144. package/skills/ios/hig-components-layout/SKILL.md +99 -0
  145. package/skills/ios/hig-components-layout/references/boxes.md +48 -0
  146. package/skills/ios/hig-components-layout/references/column-views.md +44 -0
  147. package/skills/ios/hig-components-layout/references/lists-and-tables.md +99 -0
  148. package/skills/ios/hig-components-layout/references/ornaments.md +56 -0
  149. package/skills/ios/hig-components-layout/references/outline-views.md +64 -0
  150. package/skills/ios/hig-components-layout/references/panels.md +75 -0
  151. package/skills/ios/hig-components-layout/references/scroll-views.md +123 -0
  152. package/skills/ios/hig-components-layout/references/sidebars.md +109 -0
  153. package/skills/ios/hig-components-layout/references/split-views.md +110 -0
  154. package/skills/ios/hig-components-layout/references/tab-bars.md +173 -0
  155. package/skills/ios/hig-components-layout/references/tab-views.md +68 -0
  156. package/skills/ios/hig-components-layout/references/windows.md +188 -0
  157. package/skills/ios/hig-components-menus/SKILL.md +81 -0
  158. package/skills/ios/hig-components-menus/references/action-button.md +61 -0
  159. package/skills/ios/hig-components-menus/references/buttons.md +261 -0
  160. package/skills/ios/hig-components-menus/references/context-menus.md +105 -0
  161. package/skills/ios/hig-components-menus/references/disclosure-controls.md +84 -0
  162. package/skills/ios/hig-components-menus/references/dock-menus.md +40 -0
  163. package/skills/ios/hig-components-menus/references/edit-menus.md +88 -0
  164. package/skills/ios/hig-components-menus/references/menus.md +171 -0
  165. package/skills/ios/hig-components-menus/references/pop-up-buttons.md +70 -0
  166. package/skills/ios/hig-components-menus/references/pull-down-buttons.md +77 -0
  167. package/skills/ios/hig-components-menus/references/the-menu-bar.md +303 -0
  168. package/skills/ios/hig-components-menus/references/toolbars.md +256 -0
  169. package/skills/ios/hig-components-search/SKILL.md +68 -0
  170. package/skills/ios/hig-components-search/references/page-controls.md +120 -0
  171. package/skills/ios/hig-components-search/references/path-controls.md +40 -0
  172. package/skills/ios/hig-components-search/references/search-fields.md +189 -0
  173. package/skills/ios/hig-components-status/SKILL.md +80 -0
  174. package/skills/ios/hig-components-status/references/activity-rings.md +105 -0
  175. package/skills/ios/hig-components-status/references/progress-indicators.md +116 -0
  176. package/skills/ios/hig-components-status/references/status-bars.md +38 -0
  177. package/skills/ios/hig-components-system/SKILL.md +88 -0
  178. package/skills/ios/hig-components-system/references/app-clips.md +387 -0
  179. package/skills/ios/hig-components-system/references/app-shortcuts.md +114 -0
  180. package/skills/ios/hig-components-system/references/complications.md +425 -0
  181. package/skills/ios/hig-components-system/references/home-screen-quick-actions.md +42 -0
  182. package/skills/ios/hig-components-system/references/live-activities.md +442 -0
  183. package/skills/ios/hig-components-system/references/notifications.md +153 -0
  184. package/skills/ios/hig-components-system/references/top-shelf.md +135 -0
  185. package/skills/ios/hig-components-system/references/watch-faces.md +40 -0
  186. package/skills/ios/hig-components-system/references/widgets.md +517 -0
  187. package/skills/ios/hig-foundations/SKILL.md +98 -0
  188. package/skills/ios/hig-foundations/references/accessibility.md +291 -0
  189. package/skills/ios/hig-foundations/references/app-icons.md +210 -0
  190. package/skills/ios/hig-foundations/references/branding.md +44 -0
  191. package/skills/ios/hig-foundations/references/color.md +274 -0
  192. package/skills/ios/hig-foundations/references/dark-mode.md +116 -0
  193. package/skills/ios/hig-foundations/references/icons.md +263 -0
  194. package/skills/ios/hig-foundations/references/images.md +176 -0
  195. package/skills/ios/hig-foundations/references/immersive-experiences.md +174 -0
  196. package/skills/ios/hig-foundations/references/inclusion.md +189 -0
  197. package/skills/ios/hig-foundations/references/layout.md +425 -0
  198. package/skills/ios/hig-foundations/references/materials.md +238 -0
  199. package/skills/ios/hig-foundations/references/motion.md +103 -0
  200. package/skills/ios/hig-foundations/references/privacy.md +231 -0
  201. package/skills/ios/hig-foundations/references/right-to-left.md +206 -0
  202. package/skills/ios/hig-foundations/references/sf-symbols.md +310 -0
  203. package/skills/ios/hig-foundations/references/spatial-layout.md +142 -0
  204. package/skills/ios/hig-foundations/references/typography.md +1146 -0
  205. package/skills/ios/hig-foundations/references/writing.md +91 -0
  206. package/skills/ios/hig-inputs/SKILL.md +94 -0
  207. package/skills/ios/hig-inputs/references/apple-pencil-and-scribble.md +148 -0
  208. package/skills/ios/hig-inputs/references/camera-control.md +107 -0
  209. package/skills/ios/hig-inputs/references/digital-crown.md +83 -0
  210. package/skills/ios/hig-inputs/references/eyes.md +120 -0
  211. package/skills/ios/hig-inputs/references/focus-and-selection.md +120 -0
  212. package/skills/ios/hig-inputs/references/game-controls.md +156 -0
  213. package/skills/ios/hig-inputs/references/gestures.md +208 -0
  214. package/skills/ios/hig-inputs/references/gyro-and-accelerometer.md +40 -0
  215. package/skills/ios/hig-inputs/references/keyboards.md +234 -0
  216. package/skills/ios/hig-inputs/references/nearby-interactions.md +70 -0
  217. package/skills/ios/hig-inputs/references/pointing-devices.md +237 -0
  218. package/skills/ios/hig-inputs/references/remotes.md +67 -0
  219. package/skills/ios/hig-inputs/references/spatial-interactions.md +70 -0
  220. package/skills/ios/hig-patterns/SKILL.md +104 -0
  221. package/skills/ios/hig-patterns/references/charting-data.md +81 -0
  222. package/skills/ios/hig-patterns/references/collaboration-and-sharing.md +86 -0
  223. package/skills/ios/hig-patterns/references/drag-and-drop.md +134 -0
  224. package/skills/ios/hig-patterns/references/entering-data.md +69 -0
  225. package/skills/ios/hig-patterns/references/feedback.md +67 -0
  226. package/skills/ios/hig-patterns/references/file-management.md +135 -0
  227. package/skills/ios/hig-patterns/references/going-full-screen.md +79 -0
  228. package/skills/ios/hig-patterns/references/launching.md +81 -0
  229. package/skills/ios/hig-patterns/references/live-viewing-apps.md +79 -0
  230. package/skills/ios/hig-patterns/references/loading.md +59 -0
  231. package/skills/ios/hig-patterns/references/managing-accounts.md +107 -0
  232. package/skills/ios/hig-patterns/references/managing-notifications.md +99 -0
  233. package/skills/ios/hig-patterns/references/modality.md +82 -0
  234. package/skills/ios/hig-patterns/references/multitasking.md +131 -0
  235. package/skills/ios/hig-patterns/references/offering-help.md +117 -0
  236. package/skills/ios/hig-patterns/references/onboarding.md +69 -0
  237. package/skills/ios/hig-patterns/references/playing-audio.md +124 -0
  238. package/skills/ios/hig-patterns/references/playing-haptics.md +280 -0
  239. package/skills/ios/hig-patterns/references/playing-video.md +180 -0
  240. package/skills/ios/hig-patterns/references/printing.md +50 -0
  241. package/skills/ios/hig-patterns/references/ratings-and-reviews.md +48 -0
  242. package/skills/ios/hig-patterns/references/searching.md +70 -0
  243. package/skills/ios/hig-patterns/references/settings.md +84 -0
  244. package/skills/ios/hig-patterns/references/undo-and-redo.md +58 -0
  245. package/skills/ios/hig-patterns/references/workouts.md +76 -0
  246. package/skills/ios/hig-platforms/SKILL.md +84 -0
  247. package/skills/ios/hig-platforms/references/designing-for-games.md +159 -0
  248. package/skills/ios/hig-platforms/references/designing-for-ios.md +66 -0
  249. package/skills/ios/hig-platforms/references/designing-for-ipados.md +64 -0
  250. package/skills/ios/hig-platforms/references/designing-for-macos.md +70 -0
  251. package/skills/ios/hig-platforms/references/designing-for-tvos.md +68 -0
  252. package/skills/ios/hig-platforms/references/designing-for-visionos.md +85 -0
  253. package/skills/ios/hig-platforms/references/designing-for-watchos.md +74 -0
  254. package/skills/ios/hig-project-context/SKILL.md +133 -0
  255. package/skills/ios/hig-technologies/SKILL.md +107 -0
  256. package/skills/ios/hig-technologies/references/airplay.md +125 -0
  257. package/skills/ios/hig-technologies/references/always-on.md +62 -0
  258. package/skills/ios/hig-technologies/references/apple-pay.md +441 -0
  259. package/skills/ios/hig-technologies/references/augmented-reality.md +247 -0
  260. package/skills/ios/hig-technologies/references/carekit.md +224 -0
  261. package/skills/ios/hig-technologies/references/carplay.md +119 -0
  262. package/skills/ios/hig-technologies/references/game-center.md +343 -0
  263. package/skills/ios/hig-technologies/references/generative-ai.md +110 -0
  264. package/skills/ios/hig-technologies/references/healthkit.md +120 -0
  265. package/skills/ios/hig-technologies/references/homekit.md +343 -0
  266. package/skills/ios/hig-technologies/references/icloud.md +52 -0
  267. package/skills/ios/hig-technologies/references/id-verifier.md +73 -0
  268. package/skills/ios/hig-technologies/references/imessage-apps-and-stickers.md +105 -0
  269. package/skills/ios/hig-technologies/references/in-app-purchase.md +263 -0
  270. package/skills/ios/hig-technologies/references/live-photos.md +54 -0
  271. package/skills/ios/hig-technologies/references/mac-catalyst.md +216 -0
  272. package/skills/ios/hig-technologies/references/machine-learning.md +394 -0
  273. package/skills/ios/hig-technologies/references/maps.md +221 -0
  274. package/skills/ios/hig-technologies/references/nfc.md +51 -0
  275. package/skills/ios/hig-technologies/references/photo-editing.md +40 -0
  276. package/skills/ios/hig-technologies/references/researchkit.md +134 -0
  277. package/skills/ios/hig-technologies/references/shareplay.md +142 -0
  278. package/skills/ios/hig-technologies/references/shazamkit.md +47 -0
  279. package/skills/ios/hig-technologies/references/sign-in-with-apple.md +288 -0
  280. package/skills/ios/hig-technologies/references/siri.md +523 -0
  281. package/skills/ios/hig-technologies/references/tap-to-pay-on-iphone.md +208 -0
  282. package/skills/ios/hig-technologies/references/voiceover.md +90 -0
  283. package/skills/ios/hig-technologies/references/wallet.md +420 -0
  284. package/skills/ios/ios-bootstrap/SKILL.md +17 -8
  285. package/skills/ios/swift-actor-persistence/SKILL.md +143 -0
  286. package/skills/ios/swift-concurrency-6-2/SKILL.md +216 -0
  287. package/skills/ios/swift-protocol-di-testing/SKILL.md +190 -0
  288. package/skills/ios/swiftui-design-tokens/SKILL.md +475 -0
  289. package/skills/ios/writing-for-interfaces/SKILL.md +75 -0
  290. package/skills/web/accessibility/SKILL.md +146 -0
  291. package/skills/web/aceternity-ui/SKILL.md +719 -0
  292. package/skills/web/aceternity-ui/metadata.json +10 -0
  293. package/skills/web/api-design/SKILL.md +523 -0
  294. package/skills/web/chart-accessibility/SKILL.md +332 -0
  295. package/skills/web/composition-patterns/AGENTS.md +946 -0
  296. package/skills/web/composition-patterns/README.md +60 -0
  297. package/skills/web/composition-patterns/SKILL.md +89 -0
  298. package/skills/web/composition-patterns/metadata.json +11 -0
  299. package/skills/web/composition-patterns/rules/_sections.md +29 -0
  300. package/skills/web/composition-patterns/rules/_template.md +24 -0
  301. package/skills/web/composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
  302. package/skills/web/composition-patterns/rules/architecture-compound-components.md +112 -0
  303. package/skills/web/composition-patterns/rules/patterns-children-over-render-props.md +87 -0
  304. package/skills/web/composition-patterns/rules/patterns-explicit-variants.md +100 -0
  305. package/skills/web/composition-patterns/rules/react19-no-forwardref.md +42 -0
  306. package/skills/web/composition-patterns/rules/state-context-interface.md +191 -0
  307. package/skills/web/composition-patterns/rules/state-decouple-implementation.md +113 -0
  308. package/skills/web/composition-patterns/rules/state-lift-state.md +125 -0
  309. package/skills/web/cost-aware-llm-pipeline/SKILL.md +183 -0
  310. package/skills/web/database-migrations/SKILL.md +429 -0
  311. package/skills/web/deployment-patterns/SKILL.md +427 -0
  312. package/skills/web/docker-patterns/SKILL.md +364 -0
  313. package/skills/web/e2e-testing/SKILL.md +326 -0
  314. package/skills/web/lighthouse-ci/SKILL.md +361 -0
  315. package/skills/web/mcp-server-patterns/SKILL.md +69 -0
  316. package/skills/web/next-best-practices/SKILL.md +153 -0
  317. package/skills/web/next-best-practices/async-patterns.md +87 -0
  318. package/skills/web/next-best-practices/bundling.md +180 -0
  319. package/skills/web/next-best-practices/data-patterns.md +297 -0
  320. package/skills/web/next-best-practices/debug-tricks.md +105 -0
  321. package/skills/web/next-best-practices/directives.md +73 -0
  322. package/skills/web/next-best-practices/error-handling.md +227 -0
  323. package/skills/web/next-best-practices/file-conventions.md +140 -0
  324. package/skills/web/next-best-practices/font.md +245 -0
  325. package/skills/web/next-best-practices/functions.md +108 -0
  326. package/skills/web/next-best-practices/hydration-error.md +91 -0
  327. package/skills/web/next-best-practices/image.md +173 -0
  328. package/skills/web/next-best-practices/metadata.md +301 -0
  329. package/skills/web/next-best-practices/parallel-routes.md +287 -0
  330. package/skills/web/next-best-practices/route-handlers.md +146 -0
  331. package/skills/web/next-best-practices/rsc-boundaries.md +159 -0
  332. package/skills/web/next-best-practices/runtime-selection.md +39 -0
  333. package/skills/web/next-best-practices/scripts.md +141 -0
  334. package/skills/web/next-best-practices/self-hosting.md +371 -0
  335. package/skills/web/next-best-practices/suspense-boundaries.md +67 -0
  336. package/skills/web/next-cache-components/SKILL.md +411 -0
  337. package/skills/web/postgres-best-practices/SKILL.md +14 -0
  338. package/skills/web/postgres-best-practices/references/schema-design.md +9 -0
  339. package/skills/web/react-best-practices/AGENTS.md +3810 -0
  340. package/skills/web/react-best-practices/README.md +123 -0
  341. package/skills/web/react-best-practices/SKILL.md +149 -0
  342. package/skills/web/react-best-practices/metadata.json +15 -0
  343. package/skills/web/react-best-practices/rules/_sections.md +46 -0
  344. package/skills/web/react-best-practices/rules/_template.md +28 -0
  345. package/skills/web/react-best-practices/rules/advanced-effect-event-deps.md +56 -0
  346. package/skills/web/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  347. package/skills/web/react-best-practices/rules/advanced-init-once.md +42 -0
  348. package/skills/web/react-best-practices/rules/advanced-use-latest.md +39 -0
  349. package/skills/web/react-best-practices/rules/async-api-routes.md +38 -0
  350. package/skills/web/react-best-practices/rules/async-cheap-condition-before-await.md +37 -0
  351. package/skills/web/react-best-practices/rules/async-defer-await.md +82 -0
  352. package/skills/web/react-best-practices/rules/async-dependencies.md +51 -0
  353. package/skills/web/react-best-practices/rules/async-parallel.md +28 -0
  354. package/skills/web/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  355. package/skills/web/react-best-practices/rules/bundle-analyzable-paths.md +63 -0
  356. package/skills/web/react-best-practices/rules/bundle-barrel-imports.md +60 -0
  357. package/skills/web/react-best-practices/rules/bundle-conditional.md +31 -0
  358. package/skills/web/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  359. package/skills/web/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  360. package/skills/web/react-best-practices/rules/bundle-preload.md +50 -0
  361. package/skills/web/react-best-practices/rules/client-event-listeners.md +74 -0
  362. package/skills/web/react-best-practices/rules/client-localstorage-schema.md +71 -0
  363. package/skills/web/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  364. package/skills/web/react-best-practices/rules/client-swr-dedup.md +56 -0
  365. package/skills/web/react-best-practices/rules/js-batch-dom-css.md +107 -0
  366. package/skills/web/react-best-practices/rules/js-cache-function-results.md +80 -0
  367. package/skills/web/react-best-practices/rules/js-cache-property-access.md +28 -0
  368. package/skills/web/react-best-practices/rules/js-cache-storage.md +70 -0
  369. package/skills/web/react-best-practices/rules/js-combine-iterations.md +32 -0
  370. package/skills/web/react-best-practices/rules/js-early-exit.md +50 -0
  371. package/skills/web/react-best-practices/rules/js-flatmap-filter.md +60 -0
  372. package/skills/web/react-best-practices/rules/js-hoist-regexp.md +45 -0
  373. package/skills/web/react-best-practices/rules/js-index-maps.md +37 -0
  374. package/skills/web/react-best-practices/rules/js-length-check-first.md +49 -0
  375. package/skills/web/react-best-practices/rules/js-min-max-loop.md +82 -0
  376. package/skills/web/react-best-practices/rules/js-request-idle-callback.md +105 -0
  377. package/skills/web/react-best-practices/rules/js-set-map-lookups.md +24 -0
  378. package/skills/web/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  379. package/skills/web/react-best-practices/rules/rendering-activity.md +26 -0
  380. package/skills/web/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  381. package/skills/web/react-best-practices/rules/rendering-conditional-render.md +40 -0
  382. package/skills/web/react-best-practices/rules/rendering-content-visibility.md +38 -0
  383. package/skills/web/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  384. package/skills/web/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  385. package/skills/web/react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  386. package/skills/web/react-best-practices/rules/rendering-resource-hints.md +85 -0
  387. package/skills/web/react-best-practices/rules/rendering-script-defer-async.md +68 -0
  388. package/skills/web/react-best-practices/rules/rendering-svg-precision.md +28 -0
  389. package/skills/web/react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  390. package/skills/web/react-best-practices/rules/rerender-defer-reads.md +39 -0
  391. package/skills/web/react-best-practices/rules/rerender-dependencies.md +45 -0
  392. package/skills/web/react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  393. package/skills/web/react-best-practices/rules/rerender-derived-state.md +29 -0
  394. package/skills/web/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  395. package/skills/web/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  396. package/skills/web/react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  397. package/skills/web/react-best-practices/rules/rerender-memo.md +44 -0
  398. package/skills/web/react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  399. package/skills/web/react-best-practices/rules/rerender-no-inline-components.md +82 -0
  400. package/skills/web/react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  401. package/skills/web/react-best-practices/rules/rerender-split-combined-hooks.md +64 -0
  402. package/skills/web/react-best-practices/rules/rerender-transitions.md +40 -0
  403. package/skills/web/react-best-practices/rules/rerender-use-deferred-value.md +59 -0
  404. package/skills/web/react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  405. package/skills/web/react-best-practices/rules/server-after-nonblocking.md +73 -0
  406. package/skills/web/react-best-practices/rules/server-auth-actions.md +96 -0
  407. package/skills/web/react-best-practices/rules/server-cache-lru.md +41 -0
  408. package/skills/web/react-best-practices/rules/server-cache-react.md +76 -0
  409. package/skills/web/react-best-practices/rules/server-dedup-props.md +65 -0
  410. package/skills/web/react-best-practices/rules/server-hoist-static-io.md +149 -0
  411. package/skills/web/react-best-practices/rules/server-no-shared-module-state.md +50 -0
  412. package/skills/web/react-best-practices/rules/server-parallel-fetching.md +83 -0
  413. package/skills/web/react-best-practices/rules/server-parallel-nested-fetching.md +34 -0
  414. package/skills/web/react-best-practices/rules/server-serialization.md +38 -0
  415. package/skills/web/seo/SKILL.md +154 -0
  416. package/skills/web/web-design-guidelines/SKILL.md +39 -0
  417. package/skills/web/zap-scan-config/SKILL.md +444 -0
  418. package/skills/web/zap-scan-config/assets/.gitkeep +9 -0
  419. package/skills/web/zap-scan-config/assets/github_action.yml +207 -0
  420. package/skills/web/zap-scan-config/assets/gitlab_ci.yml +226 -0
  421. package/skills/web/zap-scan-config/assets/zap_automation.yaml +196 -0
  422. package/skills/web/zap-scan-config/assets/zap_context.xml +192 -0
  423. package/skills/web/zap-scan-config/references/EXAMPLE.md +40 -0
  424. package/skills/web/zap-scan-config/references/api_testing_guide.md +475 -0
  425. package/skills/web/zap-scan-config/references/authentication_guide.md +431 -0
  426. package/skills/web/zap-scan-config/references/false_positive_handling.md +427 -0
  427. package/skills/web/zap-scan-config/references/owasp_mapping.md +255 -0
  428. package/src/graph/ids.ts +86 -0
  429. package/src/graph/index.ts +32 -0
  430. package/src/graph/parser/architecture.ts +603 -0
  431. package/src/graph/parser/component-manifest.ts +268 -0
  432. package/src/graph/parser/decisions-jsonl.ts +407 -0
  433. package/src/graph/parser/design-md-pass2.ts +253 -0
  434. package/src/graph/parser/design-md.ts +477 -0
  435. package/src/graph/parser/page-spec.ts +496 -0
  436. package/src/graph/parser/product-spec.ts +930 -0
  437. package/src/graph/parser/screenshot.ts +342 -0
  438. package/src/graph/parser/sprint-tasks.ts +317 -0
  439. package/src/graph/storage/index.ts +1154 -0
  440. package/src/graph/types.ts +432 -0
  441. package/src/graph/util/dhash.ts +84 -0
  442. package/src/lrr/aggregator.ts +175 -0
  443. package/src/orchestrator/hooks/context-header.ts +119 -0
  444. package/src/orchestrator/hooks/token-accounting-emitter.ts +77 -0
  445. package/src/orchestrator/hooks/token-accounting.ts +112 -0
  446. package/src/orchestrator/mcp/cycle-counter.ts +130 -0
  447. package/src/orchestrator/mcp/scribe.ts +294 -0
  448. package/src/orchestrator/mcp/state-save.ts +149 -0
  449. package/src/orchestrator/mcp/write-lease.ts +184 -0
  450. package/src/orchestrator/phase4-shared-context.ts +57 -0
  451. package/src/orchestrator/schemas/backward-edge.ts +46 -0
  452. package/agents/agentic-identity-trust.md +0 -121
  453. package/agents/data-consolidation-agent.md +0 -39
  454. package/agents/design-image-prompt-engineer.md +0 -105
  455. package/agents/design-visual-storyteller.md +0 -147
  456. package/agents/design-whimsy-injector.md +0 -89
  457. package/agents/engineering-autonomous-optimization-architect.md +0 -105
  458. package/agents/market-intel.md +0 -35
  459. package/agents/marketing-instagram-curator.md +0 -111
  460. package/agents/marketing-reddit-community-builder.md +0 -121
  461. package/agents/marketing-social-media-strategist.md +0 -74
  462. package/agents/marketing-tiktok-strategist.md +0 -123
  463. package/agents/marketing-twitter-engager.md +0 -124
  464. package/agents/marketing-wechat-official-account.md +0 -143
  465. package/agents/marketing-xiaohongshu-specialist.md +0 -136
  466. package/agents/marketing-zhihu-strategist.md +0 -160
  467. package/agents/product-behavioral-nudge-engine.md +0 -78
  468. package/agents/project-management-experiment-tracker.md +0 -102
  469. package/agents/report-distribution-agent.md +0 -43
  470. package/agents/risk-analysis.md +0 -45
  471. package/agents/sales-data-extraction-agent.md +0 -46
  472. package/agents/specialized-cultural-intelligence-strategist.md +0 -65
  473. package/agents/specialized-developer-advocate.md +0 -146
  474. package/agents/support-analytics-reporter.md +0 -133
  475. package/agents/support-executive-summary-generator.md +0 -64
  476. package/agents/support-finance-tracker.md +0 -145
  477. package/agents/support-legal-compliance-checker.md +0 -129
  478. package/agents/support-support-responder.md +0 -91
  479. package/agents/testing-accessibility-auditor.md +0 -110
  480. package/agents/testing-test-results-analyzer.md +0 -97
  481. package/agents/testing-tool-evaluator.md +0 -76
  482. package/agents/testing-workflow-optimizer.md +0 -99
  483. package/agents/user-research.md +0 -40
  484. package/protocols/brainstorm.md +0 -99
  485. package/protocols/design.md +0 -269
  486. package/protocols/planning.md +0 -87
  487. package/skills/ios/ios-hig/SKILL.md +0 -41
  488. package/skills/ios/ios-hig/references/accessibility.md +0 -81
  489. package/skills/ios/ios-hig/references/content.md +0 -142
  490. package/skills/ios/ios-hig/references/feedback.md +0 -123
  491. package/skills/ios/ios-hig/references/interaction.md +0 -199
  492. package/skills/ios/ios-hig/references/performance-platform.md +0 -129
  493. package/skills/ios/ios-hig/references/privacy-permissions.md +0 -181
  494. package/skills/ios/ios-hig/references/visual-design.md +0 -84
@@ -0,0 +1,362 @@
1
+ <!--
2
+ Vendored from https://github.com/google-labs-code/design.md/blob/main/docs/spec.md
3
+ Pinned commit: 8ecd4645b957e6a683a05fb9c79cd6c9028873d0
4
+ Upstream license: Apache License 2.0 (see NOTICE for attribution)
5
+ Do not edit this file by hand. Re-vendor by re-running the curl command from CLAUDE.md.
6
+ -->
7
+
8
+ <!-- Generated from spec.mdx + spec-config.ts | version: alpha -->
9
+ <!-- Do not edit directly. Run `bun run spec:gen` to regenerate. -->
10
+
11
+ # DESIGN.md Format
12
+
13
+ DESIGN.md is a self-contained, plain-text representation of a design system. It defines the visual identity of a brand and product, thereby ensuring that these stylistic choices can be followed across design sessions and between different AI agents and tools. As a human-readable, open-format document, it serves as a living source of truth that both humans and AI can understand and refine.
14
+
15
+ A DESIGN.md file contains two parts: An optional YAML frontmatter, and a markdown body. The YAML front matter contains machine-readable design tokens. The markdown body sections provide human-readable design rationale and guidance. Prose may use descriptive color names (e.g., "Midnight Forest Green") that correspond to systematic token names (e.g., `primary`). The tokens are the normative values; the prose provides context for how to apply them.
16
+
17
+ # Design Tokens
18
+
19
+ DESIGN.md may embed design tokens in a structured format. The system that we use to describe design tokens is inspired by the
20
+ [Design Token JSON spec](https://www.designtokens.org/tr/2025.10/format/#abstract). Specifically, we adopt the concept of typed token groups (colors, typography, spacing) and the `{path.to.token}` reference syntax for cross-referencing values.
21
+
22
+ These tokens are easily converted from or to `tokens.json`, Figma variables, and Tailwind theme configs.
23
+
24
+ Design tokens are embedded as YAML front matter at the beginning of the file. The front matter block must begin with a line containing exactly `---` and end with a line containing exactly `---`. The YAML content between these delimiters is parsed according to the schema defined below.
25
+
26
+ Example:
27
+
28
+ ```yaml
29
+ ---
30
+ version: alpha
31
+ name: Daylight Prestige
32
+ colors:
33
+ primary: "#1A1C1E"
34
+ secondary: "#6C7278"
35
+ tertiary: "#B8422E"
36
+ typography:
37
+ h1:
38
+ fontFamily: Public Sans
39
+ fontSize: 48px
40
+ fontWeight: 600
41
+ lineHeight: 1.1
42
+ letterSpacing: -0.02em
43
+ ---
44
+ ```
45
+
46
+ ## Schema
47
+
48
+ Below is the schema for the design tokens defined in the front matter:
49
+
50
+ ```yaml
51
+ version: <string> # optional, current version: "alpha"
52
+ name: <string>
53
+ description: <string> # optional
54
+ colors:
55
+ <token-name>: <Color>
56
+ typography:
57
+ <token-name>: <Typography>
58
+ rounded:
59
+ <scale-level>: <Dimension>
60
+ spacing:
61
+ <scale-level>: <Dimension | number>
62
+ components:
63
+ <component-name>:
64
+ <token-name>: <string|token reference>
65
+ ```
66
+
67
+ The `<scale-level>` placeholder represents a named level in a sizing or spacing scale. Common level names include `xs`, `sm`, `md`, `lg`, `xl`, and `full`. Any descriptive string key is valid.
68
+
69
+ **Color**: A color value must start with "#" followed by a hex color code in the SRGB color space.
70
+
71
+ - `fontFamily` (string)
72
+ - `fontSize` (Dimension)
73
+ - `fontWeight` (number) - A numeric font weight value (e.g., `400`, `700`). In YAML, this may be expressed as either a bare number or a quoted string; both are equivalent.
74
+ - `lineHeight` (Dimension | number) - Accepts either a Dimension (e.g., `24px`, `1.5rem`) or a unitless number (e.g., `1.6`). A unitless number represents a multiplier of the element's `fontSize`, which is the recommended CSS practice.
75
+ - `letterSpacing` (Dimension)
76
+ - `fontFeature` (string) - configures
77
+ [`font-feature-settings`](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/font-feature-settings).
78
+ - `fontVariation` (string) - configures
79
+ [`font-variation-settings`](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/font-variation-settings).
80
+
81
+ **Dimension**: A dimension value is a string with a unit suffix. Valid units are: px, em, rem.
82
+
83
+ **Token References**: A token reference must be wrapped in curly braces, and contain an object path to another value in the YAML tree. For most token groups, the reference must point to a primitive value (e.g., `colors.primary-60`), not a group (e.g., `colors`). Within the `components` section, references to composite values (e.g., `{typography.label-md}`) are permitted.
84
+
85
+ # Sections
86
+
87
+ Every `DESIGN.md` follows the same structure. Sections can be omitted if they're not relevant to your project, but those present should appear in the sequence listed below. All sections use `<h2>` (`##`) headings. An optional `<h1>` heading may appear for document titling purposes but is not parsed as a section.
88
+
89
+ ### Section Order
90
+
91
+ 1. **Overview** (also: "Brand & Style")
92
+ 2. **Colors**
93
+ 3. **Typography**
94
+ 4. **Layout** (also: "Layout & Spacing")
95
+ 5. **Elevation & Depth** (also: "Elevation")
96
+ 6. **Shapes**
97
+ 7. **Components**
98
+ 8. **Do's and Don'ts**
99
+
100
+ ### Prose and Tokens
101
+
102
+ ## Overview
103
+
104
+ Also known as "Brand & Style".
105
+
106
+ This section is a holistic description of a product's look and feel. It defines the brand personality, target audience, and the emotional response the UI should evoke, such as whether it should feel playful or professional, dense or spacious. It serves as foundational context for guiding the agent's high-level stylistic decisions when a specific rule or token isn't explicitly defined.
107
+
108
+ ## Colors
109
+
110
+ This section defines the color palettes for the design system.
111
+
112
+ At least the `primary` color palette must be defined, and additional color palettes may be defined as needed.
113
+
114
+ When there are multiple color palettes, the design system may assign a semantic role for each palette. A common convention is to name the palettes in this order: `primary`, `secondary`, `tertiary`, and `neutral`.
115
+
116
+ Example:
117
+
118
+ ```markdown
119
+ ## Colors
120
+
121
+ The palette is rooted in high-contrast neutrals and a single, evocative accent color.
122
+
123
+ - **Primary (#1A1C1E):** A deep ink used for headlines and core text to provide
124
+ maximum readability and a sense of permanence.
125
+ - **Secondary (#6C7278):** A sophisticated slate used primarily for utilitarian
126
+ elements like borders, captions, and metadata.
127
+ - **Tertiary (#B8422E):** A vibrant earthy red as the sole driver for
128
+ interaction, used exclusively for primary actions and critical highlights.
129
+ - **Neutral (#F7F5F2):** A warm limestone that serves as the foundation for all
130
+ pages, providing a softer, more organic feel than pure white.
131
+ ```
132
+
133
+ ### Design Tokens
134
+
135
+ The `colors` section defines all color design tokens. The color tokens should be derived from the key color palettes defined in the markdown prose. The exact mapping from color palettes to color tokens may follow any consistent naming convention.
136
+
137
+ It is a
138
+ map\<string, Color>, that maps the name of the color token to its value.
139
+
140
+ ```yaml
141
+ colors:
142
+ primary: "#1A1C1E"
143
+ secondary: "#6C7278"
144
+ tertiary: "#B8422E"
145
+ neutral: "#F7F5F2"
146
+ ```
147
+
148
+ ## Typography
149
+
150
+ This section defines typography levels.
151
+
152
+ Most design systems have 9 - 15 typography levels. The design system may prescribe a role for each typography level.
153
+
154
+ A common naming convention for typography levels is to use semantic categories such as `headline`, `display`, `body`, `label`, `caption`. Each category may further be divided into different sizes, such as `small`, `medium`, and `large`.
155
+
156
+ Example:
157
+
158
+ ```markdown
159
+ ## Typography
160
+
161
+ The typography strategy leverages two distinct weights of **Public Sans** for
162
+ the narrative and **Space Grotesk** for technical data.
163
+
164
+ - **Headlines:** Set in Public Sans Semi-Bold to establish an institutional
165
+ and trustworthy voice.
166
+ - **Body:** Public Sans Regular at 16px ensures contemporary professionalism
167
+ and long-form readability.
168
+ - **Labels:** Space Grotesk is used for all technical data, timestamps, and
169
+ metadata. Its geometric construction evokes the precision of a digital
170
+ stopwatch. Labels are strictly uppercase with generous letter spacing.
171
+ ```
172
+
173
+ ### Design Tokens
174
+
175
+ The `typography` section defines the precise font properties for the typography design tokens.
176
+
177
+ It is a
178
+ map\<string, Typography>
179
+
180
+ ```yaml
181
+ typography:
182
+ h1:
183
+ fontFamily: Public Sans
184
+ fontSize: 48px
185
+ fontWeight: 600
186
+ lineHeight: 1.1
187
+ letterSpacing: -0.02em
188
+ body-md:
189
+ fontFamily: Public Sans
190
+ fontSize: 16px
191
+ fontWeight: 400
192
+ lineHeight: 1.6
193
+ label-caps:
194
+ fontFamily: Space Grotesk
195
+ fontSize: 12px
196
+ fontWeight: 500
197
+ lineHeight: 1
198
+ letterSpacing: 0.1em
199
+ ```
200
+
201
+ ## Layout
202
+
203
+ Also known as "Layout & Spacing".
204
+
205
+ This section describes the layout and spacing strategy.
206
+
207
+ Many design systems follow a grid-based layout. Others, like Liquid Glass, use margins, safe areas, and dynamic padding.
208
+
209
+ Example:
210
+
211
+ ```markdown
212
+ ## Layout
213
+
214
+ The layout follows a **Fluid Grid** model for mobile devices and a
215
+ **Fixed-Max-Width Grid** for desktop (max 1200px).
216
+
217
+ A strict 8px spacing scale (with a 4px half-step for micro-adjustments) is used to maintain a consistent rhythm. Components are grouped using "containment" principles, where related items are housed in cards with generous internal padding (24px) to emphasize the soft, approachable nature of the brand.
218
+ ```
219
+
220
+ ### Design Tokens
221
+
222
+ The spacing section defines the spacing design tokens. These may include spacing units that are useful for implementing the layout model. For example, a fixed grid layout may have spacing units for column spans, gutters, and margins.
223
+
224
+ It is a
225
+ map\<string, Dimension | number> that maps the spacing scale identifier to a dimension value or a unitless number (e.g., column counts or ratios).
226
+
227
+ ```yaml
228
+ spacing:
229
+ base: 16px
230
+ xs: 4px
231
+ sm: 8px
232
+ md: 16px
233
+ lg: 32px
234
+ xl: 64px
235
+ gutter: 24px
236
+ margin: 32px
237
+ ```
238
+
239
+ ## Elevation & Depth
240
+
241
+ Also known as "Elevation".
242
+
243
+ This section describes how visual hierarchy is conveyed based on the design style. If elevation is used, it defines the required styling (spread, blur, color). For flat designs, this section explains the alternative methods used to convey visual hierarchy (e.g., borders, color contrast).
244
+
245
+ Example:
246
+
247
+ ```markdown
248
+ ## Elevation & Depth
249
+
250
+ Depth is achieved through **Tonal Layers** rather than heavy shadows. The
251
+ background uses a soft off-white or very light green, while primary content sits on pure white cards.
252
+ ```
253
+
254
+ ## Shapes
255
+
256
+ This section describes how visual elements are shaped.
257
+
258
+ Example:
259
+
260
+ ```markdown
261
+ ## Shapes
262
+
263
+ The shape language is defined by **Architectural Sharpness**. All interactive
264
+ elements, containers, and inputs utilize a minimal **4px corner radius**. This
265
+ provides just enough softness to feel modern while maintaining a rigid,
266
+ engineered aesthetic.
267
+ ```
268
+
269
+ ### Design Tokens
270
+
271
+ The `rounded` section defines the design tokens for rounded corners used in
272
+ buttons, cards, and other rectangular shapes.
273
+
274
+ It is a map\<string, Dimension>.
275
+
276
+ ```yaml
277
+ rounded:
278
+ sm: 4px
279
+ md: 8px
280
+ lg: 12px
281
+ full: 9999px
282
+ ```
283
+
284
+ ## Components
285
+
286
+ This section provides style guidance for component atoms within the design system. The following are common component types. Design systems are encouraged to define additional components relevant to their domain.
287
+
288
+ * **Buttons**: Covers primary, secondary, and tertiary variants, including sizing, padding, and states.
289
+ * **Chips**: Covers selection chips, filter chips, and action chips.
290
+ * **Lists**: Covers styling for list items, dividers, and leading/trailing elements.
291
+ * **Tooltips**: Covers positioning, colors, and timing.
292
+ * **Checkboxes**: Covers checked, unchecked, and indeterminate states.
293
+ * **Radio buttons**: Covers selected and unselected states.
294
+ * **Input fields**: Covers text inputs, text areas, labels, helper text, and error states.
295
+
296
+ > **Note:** The components specification is actively evolving. The current structure provides intentional flexibility for domain-specific component definitions while the spec matures.
297
+
298
+ ### Design Tokens
299
+
300
+ The components section defines a collection of design tokens used to ensure consistent styling of common components. It's a map\<string, map\<string, string>> that maps a component identifier to a group of sub token names and values. The design token values may be literal values, or references to previously defined design tokens.
301
+
302
+ **Variants**. A component may have a variant for different UI states such as active, hover, pressed, etc. Those variant components may be defined under a different but related key, for example, "button-primary", "button-primary-hover", "button-primary-active". The agent will consider all variants and make the appropriate styling decisions.
303
+
304
+ ```yaml
305
+ components:
306
+ button-primary:
307
+ backgroundColor: "{colors.primary-60}"
308
+ textColor: "{colors.primary-20}"
309
+ rounded: "{rounded.md}"
310
+ padding: 12px
311
+ button-primary-hover:
312
+ backgroundColor: "{colors.primary-70}"
313
+ ```
314
+
315
+ ### Component Property Tokens
316
+
317
+ Each component has a set of properties that are themselves design tokens:
318
+
319
+ - backgroundColor: \<Color\>
320
+ - textColor: \<Color\>
321
+ - typography: \<Typography\>
322
+ - rounded: \<Dimension\>
323
+ - padding: \<Dimension\>
324
+ - size: \<Dimension\>
325
+ - height: \<Dimension\>
326
+ - width: \<Dimension\>
327
+
328
+ ## Do's and Don'ts
329
+
330
+ This section provides practical guidelines and common pitfalls. These act as guardrails when creating designs.
331
+
332
+ ```markdown
333
+ ## Do's and Don'ts
334
+
335
+ - Do use the primary color only for the single most important action per screen
336
+ - Don't mix rounded and sharp corners in the same view
337
+ - Do maintain WCAG AA contrast ratios (4.5:1 for normal text)
338
+ - Don't use more than two font weights on a single screen
339
+ ```
340
+
341
+ # Recommended Token Names (Non-Normative)
342
+
343
+ The following names are commonly used across design systems. They are not required but are provided as guidance for consistency.
344
+
345
+ **Colors:** `primary`, `secondary`, `tertiary`, `neutral`, `surface`, `on-surface`, `error`
346
+
347
+ **Typography:** `headline-display`, `headline-lg`, `headline-md`, `body-lg`, `body-md`, `body-sm`, `label-lg`, `label-md`, `label-sm`
348
+
349
+ **Rounded:** `none`, `sm`, `md`, `lg`, `xl`, `full`
350
+
351
+ # Consumer Behavior for Unknown Content
352
+
353
+ When a DESIGN.md consumer encounters content not defined by this spec:
354
+
355
+ | Scenario | Behavior | Example |
356
+ |---|---|---|
357
+ | Unknown section heading | Preserve; do not error | `## Iconography` |
358
+ | Unknown color token name | Accept if value is valid | `surface-container-high: '#ede7dd'` |
359
+ | Unknown typography token name | Accept as valid typography | `telemetry-data` |
360
+ | Unknown spacing value | Accept; store as string if not a valid dimension | `grid-columns: '5'` |
361
+ | Unknown component property | Accept with warning | `borderColor` |
362
+ | Duplicate section heading | Error; reject the file | Two `## Colors` headings |
@@ -51,7 +51,7 @@ Write findings to `docs/plans/.build-state.md` under `## Fake Data Detector`:
51
51
  |---|-----------|---------|----------------|----------|---------------|
52
52
 
53
53
  <HARD-GATE>
54
- CRITICAL findings block the Reality Checker (Step 6.3). Do not proceed past Phase 6.2d until all CRITICAL findings are resolved or explicitly accepted by the user.
54
+ CRITICAL findings route through the Feedback Synthesizer (Step 5.4) and Fix loop (Step 5.5) they do NOT block inline. The synthesizer classifies and routes them like all other finding streams.
55
55
  </HARD-GATE>
56
56
 
57
57
  ---
@@ -4,7 +4,7 @@ _Loaded by every iOS implementation agent when `project_type=ios`. Not loaded in
4
4
 
5
5
  ## Credits
6
6
  - Core rules derived from **twostraws/SwiftAgents** (Paul Hudson) — MIT-style open guide.
7
- - HIG baseline + iOS 26 platform awareness adapted from **johnrogers/claude-swift-engineering** skills (`ios-hig`, `ios-26-platform`).
7
+ - HIG baseline + iOS 26 platform awareness adapted from **johnrogers/claude-swift-engineering** skills (granular `hig-foundations` + `hig-components-*` family, `ios-26-platform`).
8
8
  - Tool-preference hierarchy and post-training-cutoff watch-terms **paraphrased** from Apple's Xcode 26 `AgentSystemPromptAddition` template (Apple copyright — paraphrased, never quoted).
9
9
 
10
10
  ---
@@ -114,7 +114,7 @@ Glass applies to navigation chrome only, never content; gate iOS 26 APIs behind
114
114
 
115
115
  ## 8. HIG Compliance Baseline
116
116
 
117
- HIG compliance — see `skills/ios/ios-hig/` for full reference.
117
+ HIG compliance — start with `skills/ios/hig-foundations/`; granular `skills/ios/hig-components-*` skills (content, controls, dialogs, layout, menus, search, status, system) cover specific component categories, and `hig-inputs`, `hig-patterns`, `hig-platforms`, `hig-project-context`, `hig-technologies` cover the remaining HIG surface area.
118
118
  Non-negotiables: 44pt touch targets, Dynamic Type support, dark mode parity, VoiceOver labels, Reduce Motion respect.
119
119
  Permission requests must be contextual with purpose strings; haptics rare and meaningful only.
120
120
 
@@ -129,7 +129,7 @@ Permission requests must be contextual with purpose strings; haptics rare and me
129
129
  - Documentation comments on public API.
130
130
  - **Never commit secrets.** API keys go in `.xcconfig` (gitignored) or the keychain.
131
131
  - **Localization:** if the project uses `Localizable.xcstrings`, add user-facing strings as **symbol keys** (e.g. `helloWorld`) with `extractionState: "manual"`, accessed via generated symbols: `Text(.helloWorld)`. Offer to translate new keys into all supported languages.
132
- - **PrivacyInfo.xcprivacy ownership:** the `ios-info-plist-hardening` skill (Phase 4 Foundation) owns creating `PrivacyInfo.xcprivacy` — NOT Phase 7 Ship. Any required-reason API declarations, tracking domains, and collected-data-type entries must land in Phase 4 alongside Info.plist hardening.
132
+ - **PrivacyInfo.xcprivacy ownership:** the `ios-info-plist-hardening` skill (Phase 4 Step 4.0 Scaffold) owns creating `PrivacyInfo.xcprivacy` — NOT Phase 7 Ship. Any required-reason API declarations, tracking domains, and collected-data-type entries must land in Phase 4 alongside Info.plist hardening.
133
133
 
134
134
  ---
135
135
 
@@ -164,7 +164,7 @@ When MCP servers are available, **always prefer them** over generic file or shel
164
164
 
165
165
  ## iOS Feature Flag Schema
166
166
 
167
- These flags gate Phase 5 skill loading and Phase 4 entitlement generation. Orchestrator resolves them at the end of Phase 2 (see `commands/build.md` → Phase 2 "Feature Flag Resolution") and persists them to `docs/plans/.build-state.md` under an `ios_features:` key.
167
+ These flags gate Phase 4 per-task skill loading and Phase 4 Step 4.0 entitlement generation. Orchestrator resolves them at the end of Phase 2 (see `commands/build.md` → Phase 2 "Feature Flag Resolution") and persists them to `docs/plans/.build-state.md` under an `ios_features:` key.
168
168
 
169
169
  ```yaml
170
170
  ios_features:
@@ -186,7 +186,7 @@ ios_features:
186
186
  appleWatch: bool
187
187
  ```
188
188
 
189
- **Read contract:** Phase 4 (`ios-entitlements-generator`) and Phase 5 (skill loader) MUST read this block from `.build-state.md` before acting. A skill gated by flag `X` is loaded only when `ios_features.X == true`. Unset flags default to `false`.
189
+ **Read contract:** Phase 4 Step 4.0 (`ios-entitlements-generator`) and Phase 4 per-task flow (skill loader) MUST read this block from `.build-state.md` before acting. A skill gated by flag `X` is loaded only when `ios_features.X == true`. Unset flags default to `false`.
190
190
 
191
191
  ---
192
192
 
@@ -206,18 +206,17 @@ _Per-phase skill bundle — orchestrator loads the relevant subset based on curr
206
206
 
207
207
  ### Phase 3 — Design
208
208
  - `agents/ios-swift-ui-design.md` — visual intake (mockups → SwiftUI plan)
209
- - `skills/ios/ios-hig/` — HIG compliance reference
209
+ - `skills/ios/hig-foundations/` + granular `hig-*` skills — HIG compliance (see agent shortlists for per-agent selection)
210
210
  - `skills/ios/swiftui-design-principles/` — 10-rule visual polish
211
211
  - `skills/ios/swiftui-liquid-glass/` — iOS 26 glass decision tree
212
- - `skills/ios/writing-for-interfaces/` — microcopy (if not yet ported, TBD)
213
212
 
214
- ### Phase 4 — Foundation
213
+ ### Phase 4 — Build (Step 4.0 Scaffold)
215
214
  - `skills/ios/ios-entitlements-generator/` (stub)
216
215
  - `skills/ios/ios-info-plist-hardening/` (stub)
217
216
 
218
- ### Phase 5 — Build
217
+ ### Phase 4 — Build (Step 4.1+ per-task flow)
219
218
  - `skills/ios/swiftui-pro/` (every UI write)
220
- - `skills/ios/swift-concurrency/` (async/actor/Sendable)
219
+ - `skills/ios/swift-concurrency-6-2/` (async/actor/Sendable — Swift 6.2 single-threaded default)
221
220
  - `skills/ios/swiftdata-pro/` (@Model/@Query usage)
222
221
  - `skills/ios/swift-accessibility/` (every UI write — a11y first-draft)
223
222
  - `skills/ios/swift-security-expert/` (Keychain/Crypto/auth)
@@ -225,7 +224,7 @@ _Per-phase skill bundle — orchestrator loads the relevant subset based on curr
225
224
  - AI feature: `agents/ios-foundation-models-specialist.md`
226
225
  - IAP feature: `agents/ios-storekit-specialist.md`
227
226
 
228
- ### Phase 6Harden
227
+ ### Phase 5Audit
229
228
  _Dispatches to `/verify` + `/ux-review` + `/fix` iOS twins in sequence. Each twin has its own skill bundle inline in its command file._
230
229
 
231
230
  ### Phase 7 — Ship (optional)
@@ -0,0 +1,65 @@
1
+ # iOS Fake Data Detector Protocol
2
+
3
+ You are the orchestrator. Phase 6.2d detects mock, fake, or hardcoded data masquerading as real functionality in iOS/Swift projects. This catches apps that look complete but run on canned responses, simulated delays, or placeholder content.
4
+
5
+ ## When to Run
6
+
7
+ Run as a single agent in Phase 6.2d, after the eval harness and metric loop. CRITICAL findings block the Reality Checker in Step 6.3.
8
+
9
+ ## Step 1: Static Analysis
10
+
11
+ Call the Agent tool — description: "Detect fake data (static, iOS)" — mode: "bypassPermissions" — prompt:
12
+
13
+ "[COMPLEXITY: M] Grep the codebase for fake data patterns. Exclude test targets (`*Tests/`, `*UITests/`), `#Preview` blocks (data defined AND consumed within the block), seed/fixture files (`**/Fixtures/`, `**/Seeds/`), `.xcconfig` files, and `Package.swift`. For each match, report file:line, the pattern matched, and why it is suspicious. Patterns to check:
14
+
15
+ 1. `UUID()` generating business data IDs (prices, orders, transactions) — ignore SwiftUI view identity or test helpers
16
+ 2. Hardcoded arrays/dictionaries posing as API responses (e.g., `let users = [User(name: "John"...)]` in production source, not inside `#Preview`)
17
+ 3. `Task.sleep` / `Thread.sleep` faking async operations (simulating network latency or streaming that should be real API calls)
18
+ 4. Strings: 'Lorem ipsum', 'placeholder', 'sample data', 'test data', 'TODO', 'FIXME' in user-facing `Text()`, `Label()`, `.navigationTitle()`, or `LocalizedStringKey`
19
+ 5. `print()` / `debugPrint()` faking real output (e.g., `print("Order placed successfully")`) — ignore `#if DEBUG` guarded prints
20
+ 6. Hardcoded URLs (`"https://..."`, `"http://..."`) not sourced from `Info.plist`, `.xcconfig`, `ProcessInfo.processInfo.environment`, or a config enum/struct
21
+ 7. `#Preview` sample data leaking into production — data factories or static properties defined inside `#Preview` that are also referenced by production views or view models
22
+ 8. Mock `URLSession` / `URLProtocol` subclasses included in the main app target (not test targets)
23
+ 9. Hardcoded JSON strings as API response stubs (e.g., multi-line string literals containing `{` with key-value pairs used in `JSONDecoder().decode`)
24
+ 10. `UserDefaults` storing structured domain data (arrays of models, user profiles, transaction history) that should live in SwiftData / CloudKit / a proper persistence layer"
25
+
26
+ ## Step 2: Dynamic Analysis (Instruments / Network Trace)
27
+
28
+ Check `docs/plans/evidence/*/` for `.trace` or network capture files from Maestro/smoke tests. If none exist, skip to Step 3.
29
+
30
+ If trace files exist, call the Agent tool — description: "Detect fake data (dynamic, iOS)" — mode: "bypassPermissions" — prompt:
31
+
32
+ "[COMPLEXITY: S] Parse trace/network capture files in `docs/plans/evidence/*/`. Flag:
33
+
34
+ 1. Zero external API calls during a full app exercise (all data local or hardcoded)
35
+ 2. Identical response bodies across different endpoint calls
36
+ 3. No error handling paths exercised (no non-200 status codes observed, no alert/error UI triggered)"
37
+
38
+ ## Step 3: Classify Findings
39
+
40
+ | Severity | Criteria |
41
+ |----------|----------|
42
+ | CRITICAL | Production code using hardcoded data that should come from an API — business logic relies on `UUID()` for real IDs, hardcoded arrays substitute for real API responses |
43
+ | HIGH | Mock networking left in release target — `URLProtocol` subclass in main target, simulated delays via `Task.sleep` |
44
+ | MEDIUM | Placeholder strings in user-facing UI — 'Lorem ipsum' in `Text()`, 'TODO' in navigation titles |
45
+ | LOW | Debug prints in production code — `print()` / `debugPrint()` outside `#if DEBUG` |
46
+
47
+ ## Step 4: Report
48
+
49
+ Write findings to `docs/plans/evidence/fake-data-audit.md`:
50
+
51
+ | # | File:Line | Pattern | Why Suspicious | Severity | Suggested Fix |
52
+ |---|-----------|---------|----------------|----------|---------------|
53
+
54
+ <HARD-GATE>
55
+ CRITICAL findings route through the Feedback Synthesizer (Step 5.4) and Fix loop (Step 5.5) — they do NOT block inline. The synthesizer classifies and routes them like all other finding streams.
56
+ </HARD-GATE>
57
+
58
+ ---
59
+
60
+ ## Rules
61
+
62
+ - ONE agent for static checks, ONE agent for dynamic checks. Do not combine.
63
+ - If no trace files exist, run static checks only. Do not fail the protocol for missing traces.
64
+ - Do NOT flag: test target code, data defined and consumed entirely within `#Preview`, seed/fixture data, `.xcconfig` values, `Package.swift` dependencies, or explicit dev mock servers behind `#if DEBUG` / compile-time flags.
65
+ - Every finding must include a file:line reference. No vague "the codebase has fake data" reports.