claudecode-omc 5.6.5 → 5.6.7

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 (434) hide show
  1. package/.local/commands/code-review.md +416 -0
  2. package/.local/commands/pr.md +250 -0
  3. package/.local/commands/prp-pr.md +244 -0
  4. package/.local/guidelines/CLAUDE.md +47 -0
  5. package/.local/skills/h5-to-swiftui/SKILL.md +201 -0
  6. package/.local/skills/h5-to-swiftui/assets/calibration/README.md +176 -0
  7. package/.local/skills/h5-to-swiftui/assets/calibration/h5-twin/index.html +52 -0
  8. package/.local/skills/h5-to-swiftui/assets/calibration/h5-twin/style.css +133 -0
  9. package/.local/skills/h5-to-swiftui/assets/calibration/swiftui-twin/Package.swift +26 -0
  10. package/.local/skills/h5-to-swiftui/assets/calibration/swiftui-twin/Sources/CalibrationScreen/CalibrationScreen.swift +142 -0
  11. package/.local/skills/h5-to-swiftui/assets/calibration/swiftui-twin-divergent/Package.swift +32 -0
  12. package/.local/skills/h5-to-swiftui/assets/calibration/swiftui-twin-divergent/Sources/CalibrationScreenDivergent/CalibrationScreenDivergent.swift +122 -0
  13. package/.local/skills/h5-to-swiftui/assets/calibration/tokens.json +42 -0
  14. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/index.html +14 -0
  15. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/package.json +20 -0
  16. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/public/api/articles/001.json +96 -0
  17. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/public/api/articles/index.json +89 -0
  18. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/App.jsx +22 -0
  19. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/App.module.css +11 -0
  20. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/components/ArticleCard.jsx +53 -0
  21. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/components/ArticleCard.module.css +139 -0
  22. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/components/NavBar.jsx +37 -0
  23. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/components/NavBar.module.css +72 -0
  24. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/components/TagCloud.jsx +30 -0
  25. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/components/TagCloud.module.css +50 -0
  26. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/components/TrendChart.jsx +159 -0
  27. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/components/TrendChart.module.css +21 -0
  28. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/main.jsx +12 -0
  29. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/screens/ArticleScreen.jsx +182 -0
  30. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/screens/ArticleScreen.module.css +294 -0
  31. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/screens/FeedScreen.jsx +147 -0
  32. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/screens/FeedScreen.module.css +161 -0
  33. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/styles/global.css +50 -0
  34. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/styles/tokens.css +103 -0
  35. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/vite.config.js +6 -0
  36. package/.local/skills/h5-to-swiftui/assets/sample-h5-vanilla/data/tasks.js +67 -0
  37. package/.local/skills/h5-to-swiftui/assets/sample-h5-vanilla/index.html +26 -0
  38. package/.local/skills/h5-to-swiftui/assets/sample-h5-vanilla/router.js +73 -0
  39. package/.local/skills/h5-to-swiftui/assets/sample-h5-vanilla/screens/detail.js +164 -0
  40. package/.local/skills/h5-to-swiftui/assets/sample-h5-vanilla/screens/home.js +53 -0
  41. package/.local/skills/h5-to-swiftui/assets/sample-h5-vanilla/screens/list.js +87 -0
  42. package/.local/skills/h5-to-swiftui/assets/sample-h5-vanilla/styles/app.css +342 -0
  43. package/.local/skills/h5-to-swiftui/assets/sample-h5-vanilla/styles/tokens.css +68 -0
  44. package/.local/skills/h5-to-swiftui/references/css-to-swiftui-map.md +205 -0
  45. package/.local/skills/h5-to-swiftui/references/design-token-extraction.md +209 -0
  46. package/.local/skills/h5-to-swiftui/references/high-risk-triage.md +209 -0
  47. package/.local/skills/h5-to-swiftui/references/render-equivalence-calibration.md +193 -0
  48. package/.local/skills/h5-to-swiftui/references/stack-detection.md +160 -0
  49. package/.local/skills/h5-to-swiftui/references/visual-diff-loop-protocol.md +365 -0
  50. package/.local/skills/h5-to-swiftui/scripts/_calib-consts.mjs +150 -0
  51. package/.local/skills/h5-to-swiftui/scripts/_imglib.mjs +547 -0
  52. package/.local/skills/h5-to-swiftui/scripts/_provenance.mjs +123 -0
  53. package/.local/skills/h5-to-swiftui/scripts/calibrate-render.mjs +625 -0
  54. package/.local/skills/h5-to-swiftui/scripts/capture-reference.mjs +386 -0
  55. package/.local/skills/h5-to-swiftui/scripts/detect-stack.mjs +305 -0
  56. package/.local/skills/h5-to-swiftui/scripts/evaluate-convergence.mjs +1093 -0
  57. package/.local/skills/h5-to-swiftui/scripts/extract-tokens.mjs +600 -0
  58. package/.local/skills/h5-to-swiftui/scripts/mark-overlay.mjs +379 -0
  59. package/.local/skills/h5-to-swiftui/scripts/pixel-diff.mjs +530 -0
  60. package/.local/skills/h5-to-swiftui/scripts/sim-screenshot.sh +544 -0
  61. package/bundled/manifest.json +4 -4
  62. package/bundled/upstream/anthropic-skills/skills/algorithmic-art/LICENSE.txt +1 -1
  63. package/bundled/upstream/anthropic-skills/skills/brand-guidelines/LICENSE.txt +1 -1
  64. package/bundled/upstream/anthropic-skills/skills/canvas-design/LICENSE.txt +1 -1
  65. package/bundled/upstream/anthropic-skills/skills/claude-api/LICENSE.txt +1 -1
  66. package/bundled/upstream/anthropic-skills/skills/claude-api/SKILL.md +120 -58
  67. package/bundled/upstream/anthropic-skills/skills/claude-api/curl/examples.md +9 -9
  68. package/bundled/upstream/anthropic-skills/skills/claude-api/curl/managed-agents.md +336 -0
  69. package/bundled/upstream/anthropic-skills/skills/claude-api/go/managed-agents/README.md +561 -0
  70. package/bundled/upstream/anthropic-skills/skills/claude-api/java/claude-api.md +2 -2
  71. package/bundled/upstream/anthropic-skills/skills/claude-api/java/managed-agents/README.md +442 -0
  72. package/bundled/upstream/anthropic-skills/skills/claude-api/php/claude-api.md +10 -10
  73. package/bundled/upstream/anthropic-skills/skills/claude-api/php/managed-agents/README.md +435 -0
  74. package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/README.md +16 -16
  75. package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/batches.md +3 -3
  76. package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/files-api.md +3 -3
  77. package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/streaming.md +7 -7
  78. package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/tool-use.md +19 -19
  79. package/bundled/upstream/anthropic-skills/skills/claude-api/python/managed-agents/README.md +332 -0
  80. package/bundled/upstream/anthropic-skills/skills/claude-api/ruby/claude-api.md +4 -4
  81. package/bundled/upstream/anthropic-skills/skills/claude-api/ruby/managed-agents/README.md +389 -0
  82. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/agent-design.md +101 -0
  83. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/error-codes.md +11 -4
  84. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/live-sources.md +60 -48
  85. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-api-reference.md +372 -0
  86. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-client-patterns.md +209 -0
  87. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-core.md +220 -0
  88. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-environments.md +211 -0
  89. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-events.md +195 -0
  90. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-memory.md +197 -0
  91. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-multiagent.md +99 -0
  92. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-onboarding.md +114 -0
  93. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-outcomes.md +106 -0
  94. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-overview.md +67 -0
  95. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-tools.md +315 -0
  96. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-webhooks.md +110 -0
  97. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/model-migration.md +779 -0
  98. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/models.md +16 -14
  99. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/prompt-caching.md +45 -2
  100. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/tool-use-concepts.md +28 -6
  101. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/README.md +15 -15
  102. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/batches.md +2 -2
  103. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/files-api.md +1 -1
  104. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/streaming.md +5 -5
  105. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/tool-use.md +15 -15
  106. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/managed-agents/README.md +359 -0
  107. package/bundled/upstream/anthropic-skills/skills/internal-comms/LICENSE.txt +1 -1
  108. package/bundled/upstream/anthropic-skills/skills/mcp-builder/LICENSE.txt +1 -1
  109. package/bundled/upstream/anthropic-skills/skills/skill-creator/LICENSE.txt +1 -1
  110. package/bundled/upstream/anthropic-skills/skills/slack-gif-creator/LICENSE.txt +1 -1
  111. package/bundled/upstream/anthropic-skills/skills/theme-factory/LICENSE.txt +1 -1
  112. package/bundled/upstream/anthropic-skills/skills/web-artifacts-builder/LICENSE.txt +1 -1
  113. package/bundled/upstream/anthropic-skills/skills/webapp-testing/LICENSE.txt +1 -1
  114. package/bundled/upstream/ecc/.omc-source/bundle.json +2 -3
  115. package/bundled/upstream/ecc/.omc-source/manifests/.claude-plugin/marketplace.json +4 -4
  116. package/bundled/upstream/ecc/agents/a11y-architect.md +10 -2
  117. package/bundled/upstream/ecc/agents/architect.md +9 -0
  118. package/bundled/upstream/ecc/agents/build-error-resolver.md +9 -0
  119. package/bundled/upstream/ecc/agents/chief-of-staff.md +9 -0
  120. package/bundled/upstream/ecc/agents/code-architect.md +9 -0
  121. package/bundled/upstream/ecc/agents/code-explorer.md +10 -1
  122. package/bundled/upstream/ecc/agents/code-reviewer.md +87 -1
  123. package/bundled/upstream/ecc/agents/code-simplifier.md +9 -0
  124. package/bundled/upstream/ecc/agents/comment-analyzer.md +10 -1
  125. package/bundled/upstream/ecc/agents/conversation-analyzer.md +9 -0
  126. package/bundled/upstream/ecc/agents/cpp-build-resolver.md +9 -0
  127. package/bundled/upstream/ecc/agents/cpp-reviewer.md +9 -0
  128. package/bundled/upstream/ecc/agents/csharp-reviewer.md +9 -0
  129. package/bundled/upstream/ecc/agents/dart-build-resolver.md +9 -0
  130. package/bundled/upstream/ecc/agents/database-reviewer.md +9 -0
  131. package/bundled/upstream/ecc/agents/django-build-resolver.md +252 -0
  132. package/bundled/upstream/ecc/agents/django-reviewer.md +169 -0
  133. package/bundled/upstream/ecc/agents/doc-updater.md +9 -0
  134. package/bundled/upstream/ecc/agents/docs-lookup.md +9 -0
  135. package/bundled/upstream/ecc/agents/e2e-runner.md +9 -0
  136. package/bundled/upstream/ecc/agents/fastapi-reviewer.md +79 -0
  137. package/bundled/upstream/ecc/agents/flutter-reviewer.md +9 -0
  138. package/bundled/upstream/ecc/agents/fsharp-reviewer.md +109 -0
  139. package/bundled/upstream/ecc/agents/gan-evaluator.md +9 -0
  140. package/bundled/upstream/ecc/agents/gan-generator.md +9 -0
  141. package/bundled/upstream/ecc/agents/gan-planner.md +9 -0
  142. package/bundled/upstream/ecc/agents/go-build-resolver.md +9 -0
  143. package/bundled/upstream/ecc/agents/go-reviewer.md +9 -0
  144. package/bundled/upstream/ecc/agents/harmonyos-app-resolver.md +182 -0
  145. package/bundled/upstream/ecc/agents/harness-optimizer.md +9 -0
  146. package/bundled/upstream/ecc/agents/healthcare-reviewer.md +9 -0
  147. package/bundled/upstream/ecc/agents/homelab-architect.md +107 -0
  148. package/bundled/upstream/ecc/agents/java-build-resolver.md +133 -11
  149. package/bundled/upstream/ecc/agents/java-reviewer.md +130 -32
  150. package/bundled/upstream/ecc/agents/kotlin-build-resolver.md +9 -0
  151. package/bundled/upstream/ecc/agents/kotlin-reviewer.md +9 -0
  152. package/bundled/upstream/ecc/agents/loop-operator.md +9 -0
  153. package/bundled/upstream/ecc/agents/mle-reviewer.md +162 -0
  154. package/bundled/upstream/ecc/agents/network-architect.md +106 -0
  155. package/bundled/upstream/ecc/agents/network-config-reviewer.md +106 -0
  156. package/bundled/upstream/ecc/agents/network-troubleshooter.md +128 -0
  157. package/bundled/upstream/ecc/agents/opensource-forker.md +9 -0
  158. package/bundled/upstream/ecc/agents/opensource-packager.md +9 -0
  159. package/bundled/upstream/ecc/agents/opensource-sanitizer.md +9 -0
  160. package/bundled/upstream/ecc/agents/performance-optimizer.md +9 -0
  161. package/bundled/upstream/ecc/agents/planner.md +9 -0
  162. package/bundled/upstream/ecc/agents/pr-test-analyzer.md +9 -0
  163. package/bundled/upstream/ecc/agents/python-reviewer.md +9 -0
  164. package/bundled/upstream/ecc/agents/pytorch-build-resolver.md +12 -3
  165. package/bundled/upstream/ecc/agents/refactor-cleaner.md +9 -0
  166. package/bundled/upstream/ecc/agents/rust-build-resolver.md +9 -0
  167. package/bundled/upstream/ecc/agents/rust-reviewer.md +9 -0
  168. package/bundled/upstream/ecc/agents/security-reviewer.md +9 -0
  169. package/bundled/upstream/ecc/agents/seo-specialist.md +10 -1
  170. package/bundled/upstream/ecc/agents/silent-failure-hunter.md +9 -0
  171. package/bundled/upstream/ecc/agents/swift-build-resolver.md +170 -0
  172. package/bundled/upstream/ecc/agents/swift-reviewer.md +116 -0
  173. package/bundled/upstream/ecc/agents/tdd-guide.md +9 -0
  174. package/bundled/upstream/ecc/agents/type-design-analyzer.md +10 -1
  175. package/bundled/upstream/ecc/agents/typescript-reviewer.md +9 -0
  176. package/bundled/upstream/ecc/commands/auto-update.md +28 -0
  177. package/bundled/upstream/ecc/commands/build-fix.md +4 -0
  178. package/bundled/upstream/ecc/commands/checkpoint.md +4 -0
  179. package/bundled/upstream/ecc/commands/code-review.md +3 -3
  180. package/bundled/upstream/ecc/commands/cost-report.md +107 -0
  181. package/bundled/upstream/ecc/commands/cpp-build.md +1 -1
  182. package/bundled/upstream/ecc/commands/cpp-test.md +1 -1
  183. package/bundled/upstream/ecc/commands/ecc-guide.md +93 -0
  184. package/bundled/upstream/ecc/commands/fastapi-review.md +39 -0
  185. package/bundled/upstream/ecc/commands/flutter-build.md +1 -1
  186. package/bundled/upstream/ecc/commands/flutter-test.md +1 -1
  187. package/bundled/upstream/ecc/commands/gan-build.md +4 -0
  188. package/bundled/upstream/ecc/commands/gan-design.md +4 -0
  189. package/bundled/upstream/ecc/commands/go-build.md +1 -1
  190. package/bundled/upstream/ecc/commands/go-test.md +1 -1
  191. package/bundled/upstream/ecc/commands/harness-audit.md +4 -0
  192. package/bundled/upstream/ecc/commands/jira.md +2 -2
  193. package/bundled/upstream/ecc/commands/kotlin-build.md +1 -1
  194. package/bundled/upstream/ecc/commands/kotlin-test.md +1 -1
  195. package/bundled/upstream/ecc/commands/learn.md +4 -0
  196. package/bundled/upstream/ecc/commands/loop-start.md +4 -0
  197. package/bundled/upstream/ecc/commands/loop-status.md +54 -1
  198. package/bundled/upstream/ecc/commands/model-route.md +4 -0
  199. package/bundled/upstream/ecc/commands/multi-backend.md +4 -0
  200. package/bundled/upstream/ecc/commands/multi-execute.md +4 -0
  201. package/bundled/upstream/ecc/commands/multi-frontend.md +4 -0
  202. package/bundled/upstream/ecc/commands/multi-plan.md +4 -0
  203. package/bundled/upstream/ecc/commands/multi-workflow.md +4 -0
  204. package/bundled/upstream/ecc/commands/plan-prd.md +160 -0
  205. package/bundled/upstream/ecc/commands/plan.md +96 -13
  206. package/bundled/upstream/ecc/commands/pm2.md +4 -0
  207. package/bundled/upstream/ecc/commands/pr.md +184 -0
  208. package/bundled/upstream/ecc/commands/project-init.md +86 -0
  209. package/bundled/upstream/ecc/commands/python-review.md +1 -1
  210. package/bundled/upstream/ecc/commands/quality-gate.md +4 -0
  211. package/bundled/upstream/ecc/commands/refactor-clean.md +4 -0
  212. package/bundled/upstream/ecc/commands/rust-build.md +1 -1
  213. package/bundled/upstream/ecc/commands/rust-test.md +1 -1
  214. package/bundled/upstream/ecc/commands/security-scan.md +92 -0
  215. package/bundled/upstream/ecc/commands/sessions.md +6 -6
  216. package/bundled/upstream/ecc/commands/skill-health.md +3 -3
  217. package/bundled/upstream/ecc/commands/test-coverage.md +4 -0
  218. package/bundled/upstream/ecc/commands/update-codemaps.md +4 -0
  219. package/bundled/upstream/ecc/commands/update-docs.md +4 -0
  220. package/bundled/upstream/ecc/skills/accessibility/SKILL.md +1 -1
  221. package/bundled/upstream/ecc/skills/agent-architecture-audit/SKILL.md +256 -0
  222. package/bundled/upstream/ecc/skills/agent-payment-x402/SKILL.md +49 -3
  223. package/bundled/upstream/ecc/skills/agentic-os/SKILL.md +387 -0
  224. package/bundled/upstream/ecc/skills/angular-developer/SKILL.md +154 -0
  225. package/bundled/upstream/ecc/skills/angular-developer/references/angular-animations.md +160 -0
  226. package/bundled/upstream/ecc/skills/angular-developer/references/angular-aria.md +410 -0
  227. package/bundled/upstream/ecc/skills/angular-developer/references/cli.md +86 -0
  228. package/bundled/upstream/ecc/skills/angular-developer/references/component-harnesses.md +59 -0
  229. package/bundled/upstream/ecc/skills/angular-developer/references/component-styling.md +91 -0
  230. package/bundled/upstream/ecc/skills/angular-developer/references/components.md +117 -0
  231. package/bundled/upstream/ecc/skills/angular-developer/references/creating-services.md +97 -0
  232. package/bundled/upstream/ecc/skills/angular-developer/references/data-resolvers.md +69 -0
  233. package/bundled/upstream/ecc/skills/angular-developer/references/define-routes.md +67 -0
  234. package/bundled/upstream/ecc/skills/angular-developer/references/defining-providers.md +72 -0
  235. package/bundled/upstream/ecc/skills/angular-developer/references/di-fundamentals.md +120 -0
  236. package/bundled/upstream/ecc/skills/angular-developer/references/e2e-testing.md +56 -0
  237. package/bundled/upstream/ecc/skills/angular-developer/references/effects.md +83 -0
  238. package/bundled/upstream/ecc/skills/angular-developer/references/hierarchical-injectors.md +43 -0
  239. package/bundled/upstream/ecc/skills/angular-developer/references/host-elements.md +80 -0
  240. package/bundled/upstream/ecc/skills/angular-developer/references/injection-context.md +63 -0
  241. package/bundled/upstream/ecc/skills/angular-developer/references/inputs.md +101 -0
  242. package/bundled/upstream/ecc/skills/angular-developer/references/linked-signal.md +59 -0
  243. package/bundled/upstream/ecc/skills/angular-developer/references/loading-strategies.md +61 -0
  244. package/bundled/upstream/ecc/skills/angular-developer/references/mcp.md +108 -0
  245. package/bundled/upstream/ecc/skills/angular-developer/references/navigate-to-routes.md +69 -0
  246. package/bundled/upstream/ecc/skills/angular-developer/references/outputs.md +86 -0
  247. package/bundled/upstream/ecc/skills/angular-developer/references/reactive-forms.md +122 -0
  248. package/bundled/upstream/ecc/skills/angular-developer/references/rendering-strategies.md +44 -0
  249. package/bundled/upstream/ecc/skills/angular-developer/references/resource.md +77 -0
  250. package/bundled/upstream/ecc/skills/angular-developer/references/route-animations.md +56 -0
  251. package/bundled/upstream/ecc/skills/angular-developer/references/route-guards.md +52 -0
  252. package/bundled/upstream/ecc/skills/angular-developer/references/router-lifecycle.md +45 -0
  253. package/bundled/upstream/ecc/skills/angular-developer/references/router-testing.md +87 -0
  254. package/bundled/upstream/ecc/skills/angular-developer/references/show-routes-with-outlets.md +68 -0
  255. package/bundled/upstream/ecc/skills/angular-developer/references/signal-forms.md +795 -0
  256. package/bundled/upstream/ecc/skills/angular-developer/references/signals-overview.md +94 -0
  257. package/bundled/upstream/ecc/skills/angular-developer/references/tailwind-css.md +69 -0
  258. package/bundled/upstream/ecc/skills/angular-developer/references/template-driven-forms.md +114 -0
  259. package/bundled/upstream/ecc/skills/angular-developer/references/testing-fundamentals.md +65 -0
  260. package/bundled/upstream/ecc/skills/autonomous-agent-harness/SKILL.md +6 -0
  261. package/bundled/upstream/ecc/skills/backend-patterns/SKILL.md +8 -45
  262. package/bundled/upstream/ecc/skills/cisco-ios-patterns/SKILL.md +163 -0
  263. package/bundled/upstream/ecc/skills/configure-ecc/SKILL.md +31 -14
  264. package/bundled/upstream/ecc/skills/continuous-learning/SKILL.md +10 -2
  265. package/bundled/upstream/ecc/skills/continuous-learning-v2/SKILL.md +19 -5
  266. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/observer-loop.sh +44 -4
  267. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/observer.md +4 -4
  268. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/start-observer.sh +5 -1
  269. package/bundled/upstream/ecc/skills/continuous-learning-v2/hooks/observe.sh +21 -5
  270. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/detect-project.sh +58 -13
  271. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/instinct-cli.py +97 -4
  272. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/lib/homunculus-dir.sh +31 -0
  273. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/migrate-homunculus.sh +62 -0
  274. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/test_parse_instinct.py +34 -0
  275. package/bundled/upstream/ecc/skills/cost-tracking/SKILL.md +147 -0
  276. package/bundled/upstream/ecc/skills/deep-research/SKILL.md +4 -0
  277. package/bundled/upstream/ecc/skills/defi-amm-security/SKILL.md +6 -0
  278. package/bundled/upstream/ecc/skills/django-celery/SKILL.md +457 -0
  279. package/bundled/upstream/ecc/skills/ecc-guide/SKILL.md +189 -0
  280. package/bundled/upstream/ecc/skills/error-handling/SKILL.md +376 -0
  281. package/bundled/upstream/ecc/skills/exa-search/SKILL.md +4 -0
  282. package/bundled/upstream/ecc/skills/fal-ai-media/SKILL.md +4 -0
  283. package/bundled/upstream/ecc/skills/fastapi-patterns/SKILL.md +327 -0
  284. package/bundled/upstream/ecc/skills/flox-environments/SKILL.md +496 -0
  285. package/bundled/upstream/ecc/skills/frontend-design-direction/SKILL.md +92 -0
  286. package/bundled/upstream/ecc/skills/frontend-slides/animation-patterns.md +122 -0
  287. package/bundled/upstream/ecc/skills/frontend-slides/html-template.md +419 -0
  288. package/bundled/upstream/ecc/skills/frontend-slides/scripts/export-pdf.sh +418 -0
  289. package/bundled/upstream/ecc/skills/frontend-slides/scripts/extract-pptx.py +96 -0
  290. package/bundled/upstream/ecc/skills/frontend-slides/viewport-base.css +153 -0
  291. package/bundled/upstream/ecc/skills/fsharp-testing/SKILL.md +280 -0
  292. package/bundled/upstream/ecc/skills/gateguard/SKILL.md +4 -0
  293. package/bundled/upstream/ecc/skills/hermes-imports/SKILL.md +88 -0
  294. package/bundled/upstream/ecc/skills/homelab-network-readiness/SKILL.md +169 -0
  295. package/bundled/upstream/ecc/skills/homelab-network-setup/SKILL.md +129 -0
  296. package/bundled/upstream/ecc/skills/homelab-pihole-dns/SKILL.md +274 -0
  297. package/bundled/upstream/ecc/skills/homelab-vlan-segmentation/SKILL.md +311 -0
  298. package/bundled/upstream/ecc/skills/homelab-wireguard-vpn/SKILL.md +305 -0
  299. package/bundled/upstream/ecc/skills/ios-icon-gen/SKILL.md +157 -0
  300. package/bundled/upstream/ecc/skills/ios-icon-gen/scripts/generate_icons.swift +258 -0
  301. package/bundled/upstream/ecc/skills/ios-icon-gen/scripts/iconify_gen.sh +235 -0
  302. package/bundled/upstream/ecc/skills/java-coding-standards/SKILL.md +241 -5
  303. package/bundled/upstream/ecc/skills/make-interfaces-feel-better/SKILL.md +151 -0
  304. package/bundled/upstream/ecc/skills/mle-workflow/SKILL.md +346 -0
  305. package/bundled/upstream/ecc/skills/motion-advanced/SKILL.md +596 -0
  306. package/bundled/upstream/ecc/skills/motion-foundations/SKILL.md +299 -0
  307. package/bundled/upstream/ecc/skills/motion-patterns/SKILL.md +435 -0
  308. package/bundled/upstream/ecc/skills/motion-ui/SKILL.md +575 -0
  309. package/bundled/upstream/ecc/skills/mysql-patterns/SKILL.md +412 -0
  310. package/bundled/upstream/ecc/skills/netmiko-ssh-automation/SKILL.md +173 -0
  311. package/bundled/upstream/ecc/skills/network-bgp-diagnostics/SKILL.md +167 -0
  312. package/bundled/upstream/ecc/skills/network-config-validation/SKILL.md +210 -0
  313. package/bundled/upstream/ecc/skills/network-interface-health/SKILL.md +152 -0
  314. package/bundled/upstream/ecc/skills/openclaw-persona-forge/SKILL.md +1 -9
  315. package/bundled/upstream/ecc/skills/plan-orchestrate/SKILL.md +262 -0
  316. package/bundled/upstream/ecc/skills/prisma-patterns/SKILL.md +371 -0
  317. package/bundled/upstream/ecc/skills/production-audit/SKILL.md +206 -0
  318. package/bundled/upstream/ecc/skills/prompt-optimizer/SKILL.md +24 -400
  319. package/bundled/upstream/ecc/skills/quarkus-patterns/SKILL.md +722 -0
  320. package/bundled/upstream/ecc/skills/quarkus-security/SKILL.md +467 -0
  321. package/bundled/upstream/ecc/skills/quarkus-tdd/SKILL.md +811 -0
  322. package/bundled/upstream/ecc/skills/quarkus-verification/SKILL.md +479 -0
  323. package/bundled/upstream/ecc/skills/redis-patterns/SKILL.md +403 -0
  324. package/bundled/upstream/ecc/skills/scientific-db-pubmed-database/SKILL.md +175 -0
  325. package/bundled/upstream/ecc/skills/scientific-db-uspto-database/SKILL.md +177 -0
  326. package/bundled/upstream/ecc/skills/scientific-pkg-gget/SKILL.md +166 -0
  327. package/bundled/upstream/ecc/skills/scientific-thinking-literature-review/SKILL.md +192 -0
  328. package/bundled/upstream/ecc/skills/scientific-thinking-scholar-evaluation/SKILL.md +160 -0
  329. package/bundled/upstream/ecc/skills/search-first/SKILL.md +23 -2
  330. package/bundled/upstream/ecc/skills/security-review/SKILL.md +10 -2
  331. package/bundled/upstream/ecc/skills/skill-comply/scripts/runner.py +28 -3
  332. package/bundled/upstream/ecc/skills/skill-comply/tests/test_runner.py +172 -0
  333. package/bundled/upstream/ecc/skills/skill-scout/SKILL.md +140 -0
  334. package/bundled/upstream/ecc/skills/skill-stocktake/SKILL.md +1 -0
  335. package/bundled/upstream/ecc/skills/strategic-compact/SKILL.md +2 -2
  336. package/bundled/upstream/ecc/skills/tinystruct-patterns/SKILL.md +203 -0
  337. package/bundled/upstream/ecc/skills/tinystruct-patterns/references/architecture.md +90 -0
  338. package/bundled/upstream/ecc/skills/tinystruct-patterns/references/data-handling.md +60 -0
  339. package/bundled/upstream/ecc/skills/tinystruct-patterns/references/database.md +99 -0
  340. package/bundled/upstream/ecc/skills/tinystruct-patterns/references/routing.md +64 -0
  341. package/bundled/upstream/ecc/skills/tinystruct-patterns/references/system-usage.md +97 -0
  342. package/bundled/upstream/ecc/skills/tinystruct-patterns/references/testing.md +72 -0
  343. package/bundled/upstream/ecc/skills/ui-to-vue/SKILL.md +134 -0
  344. package/bundled/upstream/ecc/skills/vite-patterns/SKILL.md +449 -0
  345. package/bundled/upstream/ecc/skills/windows-desktop-e2e/SKILL.md +788 -0
  346. package/bundled/upstream/ecc/skills/x-api/SKILL.md +4 -0
  347. package/bundled/upstream/oh-my-claudecode/.omc-source/bundle.json +20 -0
  348. package/bundled/upstream/oh-my-claudecode/agents/analyst.md +2 -1
  349. package/bundled/upstream/oh-my-claudecode/agents/architect.md +2 -1
  350. package/bundled/upstream/oh-my-claudecode/agents/code-reviewer.md +26 -7
  351. package/bundled/upstream/oh-my-claudecode/agents/critic.md +2 -1
  352. package/bundled/upstream/oh-my-claudecode/agents/debugger.md +2 -1
  353. package/bundled/upstream/oh-my-claudecode/agents/designer.md +14 -1
  354. package/bundled/upstream/oh-my-claudecode/agents/document-specialist.md +1 -1
  355. package/bundled/upstream/oh-my-claudecode/agents/executor.md +2 -1
  356. package/bundled/upstream/oh-my-claudecode/agents/explore.md +2 -1
  357. package/bundled/upstream/oh-my-claudecode/agents/git-master.md +2 -1
  358. package/bundled/upstream/oh-my-claudecode/agents/planner.md +2 -1
  359. package/bundled/upstream/oh-my-claudecode/agents/qa-tester.md +2 -1
  360. package/bundled/upstream/oh-my-claudecode/agents/scientist.md +2 -1
  361. package/bundled/upstream/oh-my-claudecode/agents/security-reviewer.md +2 -1
  362. package/bundled/upstream/oh-my-claudecode/agents/test-engineer.md +2 -1
  363. package/bundled/upstream/oh-my-claudecode/agents/tracer.md +2 -1
  364. package/bundled/upstream/oh-my-claudecode/agents/verifier.md +2 -1
  365. package/bundled/upstream/oh-my-claudecode/agents/writer.md +2 -1
  366. package/bundled/upstream/oh-my-claudecode/skills/AGENTS.md +4 -3
  367. package/bundled/upstream/oh-my-claudecode/skills/ai-slop-cleaner/SKILL.md +12 -0
  368. package/bundled/upstream/oh-my-claudecode/skills/deep-dive/SKILL.md +69 -13
  369. package/bundled/upstream/oh-my-claudecode/skills/deep-interview/SKILL.md +176 -63
  370. package/bundled/upstream/oh-my-claudecode/skills/learner/SKILL.md +3 -1
  371. package/bundled/upstream/oh-my-claudecode/skills/omc-doctor/SKILL.md +22 -3
  372. package/bundled/upstream/oh-my-claudecode/skills/omc-reference/SKILL.md +1 -1
  373. package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/01-install-claude-md.md +2 -2
  374. package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/02-configure.md +45 -2
  375. package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/03-integrations.md +46 -5
  376. package/bundled/upstream/oh-my-claudecode/skills/plan/SKILL.md +19 -17
  377. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/config.sh +1 -1
  378. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/parse.sh +1 -1
  379. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/azure-devops.sh +1 -1
  380. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/bitbucket.sh +1 -1
  381. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/gitea.sh +1 -1
  382. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/github.sh +1 -1
  383. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/gitlab.sh +1 -1
  384. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/interface.sh +1 -1
  385. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/jira.sh +1 -1
  386. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/session.sh +1 -1
  387. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/tmux.sh +1 -1
  388. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/worktree.sh +1 -1
  389. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/psm.sh +1 -1
  390. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/tests/test-psm-prompt-injection.sh +1 -1
  391. package/bundled/upstream/oh-my-claudecode/skills/ralph/SKILL.md +8 -8
  392. package/bundled/upstream/oh-my-claudecode/skills/ralplan/SKILL.md +9 -5
  393. package/bundled/upstream/oh-my-claudecode/skills/skill/SKILL.md +6 -6
  394. package/bundled/upstream/oh-my-claudecode/skills/skillify/SKILL.md +19 -3
  395. package/bundled/upstream/oh-my-claudecode/skills/trace/SKILL.md +3 -1
  396. package/bundled/upstream/oh-my-claudecode/skills/ultrawork/SKILL.md +20 -7
  397. package/bundled/upstream/superpowers/.omc-source/bundle.json +21 -0
  398. package/bundled/upstream/superpowers/hooks/hooks-cursor.json +1 -1
  399. package/bundled/upstream/superpowers/skills/executing-plans/SKILL.md +1 -1
  400. package/bundled/upstream/superpowers/skills/finishing-a-development-branch/SKILL.md +93 -42
  401. package/bundled/upstream/superpowers/skills/requesting-code-review/SKILL.md +7 -9
  402. package/bundled/upstream/superpowers/skills/requesting-code-review/code-reviewer.md +107 -85
  403. package/bundled/upstream/superpowers/skills/subagent-driven-development/SKILL.md +3 -1
  404. package/bundled/upstream/superpowers/skills/subagent-driven-development/code-quality-reviewer-prompt.md +2 -3
  405. package/bundled/upstream/superpowers/skills/systematic-debugging/CREATION-LOG.md +1 -1
  406. package/bundled/upstream/superpowers/skills/systematic-debugging/root-cause-tracing.md +1 -1
  407. package/bundled/upstream/superpowers/skills/using-git-worktrees/SKILL.md +95 -98
  408. package/bundled/upstream/superpowers/skills/using-superpowers/references/codex-tools.md +7 -48
  409. package/bundled/upstream/superpowers/skills/using-superpowers/references/copilot-tools.md +1 -11
  410. package/bundled/upstream/superpowers/skills/using-superpowers/references/gemini-tools.md +21 -3
  411. package/bundled/upstream/superpowers/skills/writing-plans/SKILL.md +1 -1
  412. package/package.json +1 -1
  413. package/bundled/upstream/anthropic-skills/skills/claude-api/python/agent-sdk/README.md +0 -355
  414. package/bundled/upstream/anthropic-skills/skills/claude-api/python/agent-sdk/patterns.md +0 -359
  415. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/agent-sdk/README.md +0 -297
  416. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/agent-sdk/patterns.md +0 -209
  417. package/bundled/upstream/ecc/commands/agent-sort.md +0 -23
  418. package/bundled/upstream/ecc/commands/claw.md +0 -23
  419. package/bundled/upstream/ecc/commands/context-budget.md +0 -23
  420. package/bundled/upstream/ecc/commands/devfleet.md +0 -23
  421. package/bundled/upstream/ecc/commands/docs.md +0 -23
  422. package/bundled/upstream/ecc/commands/e2e.md +0 -268
  423. package/bundled/upstream/ecc/commands/eval.md +0 -23
  424. package/bundled/upstream/ecc/commands/orchestrate.md +0 -135
  425. package/bundled/upstream/ecc/commands/prompt-optimize.md +0 -23
  426. package/bundled/upstream/ecc/commands/rules-distill.md +0 -20
  427. package/bundled/upstream/ecc/commands/tdd.md +0 -231
  428. package/bundled/upstream/ecc/commands/verify.md +0 -23
  429. package/bundled/upstream/ecc/skills/claude-api/SKILL.md +0 -337
  430. package/bundled/upstream/ecc/skills/frontend-design/SKILL.md +0 -145
  431. package/bundled/upstream/superpowers/agents/code-reviewer.md +0 -48
  432. package/bundled/upstream/superpowers/commands/brainstorm.md +0 -5
  433. package/bundled/upstream/superpowers/commands/execute-plan.md +0 -5
  434. package/bundled/upstream/superpowers/commands/write-plan.md +0 -5
@@ -0,0 +1,52 @@
1
+ <!DOCTYPE html>
2
+ <!--
3
+ Calibration Twin — h5-twin/index.html
4
+ Known-correct H5 side of the Stage 2.5 render-equivalence calibration pair.
5
+ Open directly as a static file — zero JS framework, zero build step.
6
+
7
+ IMPORTANT: every color, size, and spacing value here is driven by the CSS
8
+ custom properties in style.css, which must remain in sync with
9
+ tokens.json and swiftui-twin/Sources/CalibrationScreen/CalibrationScreen.swift.
10
+ -->
11
+ <html lang="en">
12
+ <head>
13
+ <meta charset="UTF-8" />
14
+ <!--
15
+ Viewport: fixed 393px logical width, no user scaling.
16
+ Matches iPhone 15 Pro logical resolution used in the SwiftUI twin.
17
+ -->
18
+ <meta name="viewport" content="width=393, initial-scale=1.0, user-scalable=no" />
19
+ <title>Calibration Twin</title>
20
+ <link rel="stylesheet" href="style.css" />
21
+ </head>
22
+ <body>
23
+ <div class="screen">
24
+
25
+ <!-- TEXT BLOCK: heading + body paragraph -->
26
+ <section class="text-block" aria-label="text-block">
27
+ <h1 class="text-block__heading">Calibration Screen</h1>
28
+ <p class="text-block__body">
29
+ This screen is the known-correct H5 twin used to measure the
30
+ cross-renderer fidelity floor. It is not a conversion target.
31
+ </p>
32
+ </section>
33
+
34
+ <!-- SHAPE BLOCK: structured (multi-color stripes) card + circle.
35
+ Deliberately NOT a flat solid block — SSIM is insensitive to a
36
+ uniform mean shift on flat content, so the calibration region must
37
+ carry structure for the floor to be meaningful. -->
38
+ <section class="shape-block" aria-label="shape-block">
39
+ <div class="shape-block__card" aria-label="card">
40
+ <div class="shape-block__stripe shape-block__stripe--a"></div>
41
+ <div class="shape-block__stripe shape-block__stripe--b"></div>
42
+ <div class="shape-block__stripe shape-block__stripe--c"></div>
43
+ <div class="shape-block__stripe shape-block__stripe--d"></div>
44
+ </div>
45
+ <div class="shape-block__circle-row">
46
+ <div class="shape-block__circle" aria-label="circle"></div>
47
+ </div>
48
+ </section>
49
+
50
+ </div>
51
+ </body>
52
+ </html>
@@ -0,0 +1,133 @@
1
+ /* Calibration Twin — style.css
2
+ Design tokens as CSS custom properties.
3
+ Every value here MUST match tokens.json and CalibrationScreen.swift exactly.
4
+ Do NOT add, remove, or change values without updating all three files.
5
+ */
6
+
7
+ /* ── Design Tokens ──────────────────────────────────────────────── */
8
+ :root {
9
+ /* colors */
10
+ --color-background: #F2F2F7;
11
+ --color-card: #4A90D9;
12
+ --color-circle: #E8744F;
13
+ --color-text-heading: #1C1C1E;
14
+ --color-text-body: #636366;
15
+
16
+ /* card stripes — structured multi-color region (NOT a flat block) so the
17
+ measured SSIM floor is meaningful (flat content makes SSIM blind to a
18
+ uniform mean shift). */
19
+ --color-stripe-a: #4A90D9; /* blue */
20
+ --color-stripe-b: #7E57C2; /* purple */
21
+ --color-stripe-c: #26A69A; /* teal */
22
+ --color-stripe-d: #F4B400; /* amber */
23
+
24
+ /* spacing */
25
+ --space-safe-top: 59px; /* iPhone 15 Pro top safe-area inset */
26
+ --space-page-h: 20px; /* horizontal page padding */
27
+ --space-section-gap: 24px; /* gap between text block and shape block */
28
+ --space-card-padding: 20px; /* inner padding of the blue card */
29
+ --space-card-gap: 16px; /* gap between card and circle row */
30
+
31
+ /* radii */
32
+ --radius-card: 16px;
33
+
34
+ /* typography */
35
+ --font-family: -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
36
+ --font-size-heading: 22px;
37
+ --font-weight-heading: 600; /* semibold */
38
+ --line-height-heading: 1.27; /* ~28px → matches SF heading leading */
39
+ --font-size-body: 15px;
40
+ --font-weight-body: 400; /* regular */
41
+ --line-height-body: 1.47; /* ~22px → matches SF body leading */
42
+
43
+ /* shape */
44
+ --size-circle: 64px;
45
+ }
46
+
47
+ /* ── Reset / Base ───────────────────────────────────────────────── */
48
+ *, *::before, *::after {
49
+ box-sizing: border-box;
50
+ margin: 0;
51
+ padding: 0;
52
+ }
53
+
54
+ html, body {
55
+ width: 393px; /* iPhone 15 Pro logical width */
56
+ min-height: 852px; /* iPhone 15 Pro logical height */
57
+ background-color: var(--color-background);
58
+ font-family: var(--font-family);
59
+ -webkit-font-smoothing: antialiased;
60
+ }
61
+
62
+ /* ── Screen container ───────────────────────────────────────────── */
63
+ .screen {
64
+ width: 393px;
65
+ min-height: 852px;
66
+ background-color: var(--color-background);
67
+ padding-top: var(--space-safe-top);
68
+ padding-left: var(--space-page-h);
69
+ padding-right: var(--space-page-h);
70
+ }
71
+
72
+ /* ── Text block ─────────────────────────────────────────────────── */
73
+ .text-block {
74
+ /* sits immediately below safe-area inset, no extra top margin */
75
+ }
76
+
77
+ .text-block__heading {
78
+ font-family: var(--font-family);
79
+ font-size: var(--font-size-heading);
80
+ font-weight: var(--font-weight-heading);
81
+ line-height: var(--line-height-heading);
82
+ color: var(--color-text-heading);
83
+ }
84
+
85
+ .text-block__body {
86
+ margin-top: 8px;
87
+ font-family: var(--font-family);
88
+ font-size: var(--font-size-body);
89
+ font-weight: var(--font-weight-body);
90
+ line-height: var(--line-height-body);
91
+ color: var(--color-text-body);
92
+ }
93
+
94
+ /* ── Shape block ────────────────────────────────────────────────── */
95
+ .shape-block {
96
+ margin-top: var(--space-section-gap);
97
+ }
98
+
99
+ .shape-block__card {
100
+ background-color: var(--color-card);
101
+ border-radius: var(--radius-card);
102
+ /* fixed height instead of padding-only so the stripes have a stable box;
103
+ 2 × card padding (40px) keeps the same overall card height as before. */
104
+ height: calc(var(--space-card-padding) * 2);
105
+ overflow: hidden;
106
+ display: flex;
107
+ flex-direction: row;
108
+ }
109
+
110
+ /* 4 equal-width vertical stripes — a structured, multi-color region. */
111
+ .shape-block__stripe {
112
+ flex: 1 1 25%;
113
+ height: 100%;
114
+ }
115
+ .shape-block__stripe--a { background-color: var(--color-stripe-a); }
116
+ .shape-block__stripe--b { background-color: var(--color-stripe-b); }
117
+ .shape-block__stripe--c { background-color: var(--color-stripe-c); }
118
+ .shape-block__stripe--d { background-color: var(--color-stripe-d); }
119
+
120
+ .shape-block__circle-row {
121
+ margin-top: var(--space-card-gap);
122
+ display: flex;
123
+ flex-direction: row;
124
+ align-items: center;
125
+ }
126
+
127
+ .shape-block__circle {
128
+ width: var(--size-circle);
129
+ height: var(--size-circle);
130
+ border-radius: 50%;
131
+ background-color: var(--color-circle);
132
+ flex-shrink: 0;
133
+ }
@@ -0,0 +1,26 @@
1
+ // swift-tools-version: 5.9
2
+ // Calibration Twin — SwiftUI Package
3
+ // Zero third-party dependencies. Requires Xcode 15+ / Swift 5.9+.
4
+
5
+ import PackageDescription
6
+
7
+ let package = Package(
8
+ name: "CalibrationScreen",
9
+ platforms: [
10
+ .iOS(.v17),
11
+ .macOS(.v14)
12
+ ],
13
+ products: [
14
+ .library(
15
+ name: "CalibrationScreen",
16
+ targets: ["CalibrationScreen"]
17
+ )
18
+ ],
19
+ targets: [
20
+ .target(
21
+ name: "CalibrationScreen",
22
+ dependencies: [],
23
+ path: "Sources/CalibrationScreen"
24
+ )
25
+ ]
26
+ )
@@ -0,0 +1,142 @@
1
+ // CalibrationScreen.swift
2
+ // Calibration Twin — SwiftUI side of the Stage 2.5 render-equivalence pair.
3
+ //
4
+ // IMPORTANT: every color, size, and spacing constant here derives from the
5
+ // same design-token values in tokens.json and h5-twin/style.css.
6
+ // Do NOT change any value without updating all three files.
7
+ //
8
+ // Layout target: iPhone 15 Pro logical viewport 393×852 pt,
9
+ // with a 59 pt top safe-area inset equivalent.
10
+
11
+ import SwiftUI
12
+
13
+ // ── Design Tokens ────────────────────────────────────────────────────────── //
14
+ // Hex → Color(red:green:blue:) conversions use the formula r/255, g/255, b/255
15
+ // with sRGB color space (matching the CSS hex values in style.css).
16
+
17
+ private enum Tokens {
18
+ // Colors
19
+ // #F2F2F7 → r=0xF2/255=0.9490 g=0xF2/255=0.9490 b=0xF7/255=0.9686
20
+ static let colorBackground = Color(red: 0xF2/255.0, green: 0xF2/255.0, blue: 0xF7/255.0)
21
+ // #4A90D9 → r=0x4A/255=0.2902 g=0x90/255=0.5647 b=0xD9/255=0.8510
22
+ static let colorCard = Color(red: 0x4A/255.0, green: 0x90/255.0, blue: 0xD9/255.0)
23
+ // #E8744F → r=0xE8/255=0.9098 g=0x74/255=0.4549 b=0x4F/255=0.3098
24
+ static let colorCircle = Color(red: 0xE8/255.0, green: 0x74/255.0, blue: 0x4F/255.0)
25
+
26
+ // Card stripes — structured multi-color region (NOT a flat block) so the
27
+ // measured SSIM floor is meaningful.
28
+ // #4A90D9 blue / #7E57C2 purple / #26A69A teal / #F4B400 amber
29
+ static let colorStripeA = Color(red: 0x4A/255.0, green: 0x90/255.0, blue: 0xD9/255.0)
30
+ static let colorStripeB = Color(red: 0x7E/255.0, green: 0x57/255.0, blue: 0xC2/255.0)
31
+ static let colorStripeC = Color(red: 0x26/255.0, green: 0xA6/255.0, blue: 0x9A/255.0)
32
+ static let colorStripeD = Color(red: 0xF4/255.0, green: 0xB4/255.0, blue: 0x00/255.0)
33
+ // #1C1C1E → r=0x1C/255=0.1098 g=0x1C/255=0.1098 b=0x1E/255=0.1176
34
+ static let colorTextHeading = Color(red: 0x1C/255.0, green: 0x1C/255.0, blue: 0x1E/255.0)
35
+ // #636366 → r=0x63/255=0.3882 g=0x63/255=0.3882 b=0x66/255=0.4000
36
+ static let colorTextBody = Color(red: 0x63/255.0, green: 0x63/255.0, blue: 0x66/255.0)
37
+
38
+ // Spacing (pt — 1 pt = 1 CSS px at 1× logical scale)
39
+ static let spaceSafeTop: CGFloat = 59 // top safe-area equivalent
40
+ static let spacePageH: CGFloat = 20 // horizontal page padding
41
+ static let spaceSectionGap: CGFloat = 24 // gap: text block → shape block
42
+ static let spaceCardPadding: CGFloat = 20 // inner card padding
43
+ static let spaceCardGap: CGFloat = 16 // gap: card → circle row
44
+
45
+ // Radii
46
+ static let radiusCard: CGFloat = 16
47
+
48
+ // Typography (SF System font — closest match to -apple-system CSS)
49
+ static let fontSizeHeading: CGFloat = 22
50
+ static let fontWeightHeading: Font.Weight = .semibold // CSS 600
51
+ static let fontSizeBody: CGFloat = 15
52
+ static let fontWeightBody: Font.Weight = .regular // CSS 400
53
+
54
+ // Shape
55
+ static let sizeCircle: CGFloat = 64
56
+
57
+ // Screen frame (iPhone 15 Pro logical size)
58
+ static let screenWidth: CGFloat = 393
59
+ static let screenHeight: CGFloat = 852
60
+ }
61
+
62
+ // ── CalibrationScreenView ─────────────────────────────────────────────────── //
63
+
64
+ public struct CalibrationScreenView: View {
65
+
66
+ public init() {}
67
+
68
+ public var body: some View {
69
+ ZStack(alignment: .topLeading) {
70
+ // Background fills the entire 393×852 frame
71
+ Tokens.colorBackground
72
+ .ignoresSafeArea()
73
+
74
+ VStack(alignment: .leading, spacing: 0) {
75
+
76
+ // Safe-area top inset (59 pt) — mirrors --space-safe-top in CSS
77
+ Spacer()
78
+ .frame(height: Tokens.spaceSafeTop)
79
+
80
+ // ── Text Block ──────────────────────────────────────────── //
81
+ VStack(alignment: .leading, spacing: 8) {
82
+ // Heading: 22pt semibold, color #1C1C1E
83
+ Text("Calibration Screen")
84
+ .font(.system(size: Tokens.fontSizeHeading,
85
+ weight: Tokens.fontWeightHeading))
86
+ .foregroundColor(Tokens.colorTextHeading)
87
+ .lineSpacing(Tokens.fontSizeHeading * (1.27 - 1))
88
+ // line-height ≈ 1.27 × 22 ≈ 28 pt — matches CSS line-height
89
+
90
+ // Body: 15pt regular, color #636366
91
+ Text("This screen is the known-correct SwiftUI twin used to measure the cross-renderer fidelity floor. It is not a conversion target.")
92
+ .font(.system(size: Tokens.fontSizeBody,
93
+ weight: Tokens.fontWeightBody))
94
+ .foregroundColor(Tokens.colorTextBody)
95
+ .lineSpacing(Tokens.fontSizeBody * (1.47 - 1))
96
+ // line-height ≈ 1.47 × 15 ≈ 22 pt — matches CSS line-height
97
+ .fixedSize(horizontal: false, vertical: true)
98
+ }
99
+ .padding(.horizontal, Tokens.spacePageH)
100
+
101
+ // Gap between text block and shape block (24 pt)
102
+ Spacer()
103
+ .frame(height: Tokens.spaceSectionGap)
104
+
105
+ // ── Shape Block ─────────────────────────────────────────── //
106
+ VStack(alignment: .leading, spacing: Tokens.spaceCardGap) {
107
+
108
+ // Structured (4-stripe) rounded-rect card, radius 16pt.
109
+ // Deliberately NOT a flat solid block — a flat region makes
110
+ // SSIM blind to a uniform mean shift, so the measured floor
111
+ // would be unreliable. Height = 2 × card padding = 40pt
112
+ // (same overall card height as the original solid block).
113
+ HStack(spacing: 0) {
114
+ Tokens.colorStripeA
115
+ Tokens.colorStripeB
116
+ Tokens.colorStripeC
117
+ Tokens.colorStripeD
118
+ }
119
+ .frame(height: Tokens.spaceCardPadding * 2)
120
+ .clipShape(RoundedRectangle(cornerRadius: Tokens.radiusCard))
121
+ // width = full content width (set by horizontal padding below)
122
+
123
+ // Circle (#E8744F, 64×64 pt)
124
+ Circle()
125
+ .fill(Tokens.colorCircle)
126
+ .frame(width: Tokens.sizeCircle, height: Tokens.sizeCircle)
127
+ }
128
+ .padding(.horizontal, Tokens.spacePageH)
129
+
130
+ Spacer()
131
+ }
132
+ .frame(width: Tokens.screenWidth, alignment: .topLeading)
133
+ }
134
+ .frame(width: Tokens.screenWidth, height: Tokens.screenHeight)
135
+ }
136
+ }
137
+
138
+ // ── Preview ──────────────────────────────────────────────────────────────── //
139
+
140
+ #Preview("Calibration Screen — 393×852") {
141
+ CalibrationScreenView()
142
+ }
@@ -0,0 +1,32 @@
1
+ // swift-tools-version: 5.9
2
+ // Calibration DIVERGENT Twin — SwiftUI Package (NEGATIVE CONTROL)
3
+ //
4
+ // This package is the deliberately-WRONG SwiftUI screen used as the Stage 5
5
+ // judge negative control. The independent judge MUST reject this vs the H5
6
+ // twin; if it does not, its YES is voided for that run (see
7
+ // references/visual-diff-loop-protocol.md and evaluate-convergence.mjs).
8
+ //
9
+ // Zero third-party dependencies. Requires Xcode 15+ / Swift 5.9+.
10
+
11
+ import PackageDescription
12
+
13
+ let package = Package(
14
+ name: "CalibrationScreenDivergent",
15
+ platforms: [
16
+ .iOS(.v17),
17
+ .macOS(.v14)
18
+ ],
19
+ products: [
20
+ .library(
21
+ name: "CalibrationScreenDivergent",
22
+ targets: ["CalibrationScreenDivergent"]
23
+ )
24
+ ],
25
+ targets: [
26
+ .target(
27
+ name: "CalibrationScreenDivergent",
28
+ dependencies: [],
29
+ path: "Sources/CalibrationScreenDivergent"
30
+ )
31
+ ]
32
+ )
@@ -0,0 +1,122 @@
1
+ // CalibrationScreenDivergent.swift
2
+ // NEGATIVE CONTROL — the deliberately-WRONG SwiftUI side of the Stage 5
3
+ // judge negative control.
4
+ //
5
+ // This screen is INTENTIONALLY divergent from the H5 twin
6
+ // (assets/calibration/h5-twin/index.html):
7
+ // • WRONG colors — background green not grey, card stripes recolored,
8
+ // circle blue not coral, text colors inverted.
9
+ // • SHIFTED layout — larger top inset, different padding, the circle is
10
+ // moved to the trailing edge, the card is taller and
11
+ // narrower, section gap doubled.
12
+ // • WRONG copy — heading/body text differs.
13
+ //
14
+ // The independent judge MUST reject this pair (H5 twin vs this) under the
15
+ // adversarial forced-difference-3 framing. If the judge fails to reject it,
16
+ // `judge.negative_control` is recorded as "failed" and any YES verdict is
17
+ // VOID for that run (enforced mechanically by evaluate-convergence.mjs).
18
+ //
19
+ // It is still TEXTURED (text + a multi-color stripe region) so the contrast
20
+ // with the correct twin is structural, not just a flat mean shift.
21
+
22
+ import SwiftUI
23
+
24
+ private enum WrongTokens {
25
+ // WRONG colors (intentionally divergent from tokens.json)
26
+ static let colorBackground = Color(red: 0x2E/255.0, green: 0x7D/255.0, blue: 0x32/255.0) // green, should be #F2F2F7
27
+ static let colorCircle = Color(red: 0x15/255.0, green: 0x65/255.0, blue: 0xC0/255.0) // blue, should be #E8744F
28
+ static let colorTextHeading = Color(red: 0xFF/255.0, green: 0xFF/255.0, blue: 0xFF/255.0) // white, should be #1C1C1E
29
+ static let colorTextBody = Color(red: 0xFF/255.0, green: 0xEB/255.0, blue: 0x3B/255.0) // yellow, should be #636366
30
+
31
+ // WRONG stripe colors (recolored + reordered)
32
+ static let colorStripeA = Color(red: 0xD3/255.0, green: 0x2F/255.0, blue: 0x2F/255.0) // red
33
+ static let colorStripeB = Color(red: 0xFB/255.0, green: 0x8C/255.0, blue: 0x00/255.0) // orange
34
+ static let colorStripeC = Color(red: 0x00/255.0, green: 0x00/255.0, blue: 0x00/255.0) // black
35
+ static let colorStripeD = Color(red: 0xFF/255.0, green: 0xFF/255.0, blue: 0xFF/255.0) // white
36
+
37
+ // SHIFTED layout (intentionally divergent spacing)
38
+ static let spaceSafeTop: CGFloat = 140 // should be 59 — large shift
39
+ static let spacePageH: CGFloat = 48 // should be 20
40
+ static let spaceSectionGap: CGFloat = 48 // should be 24 — doubled
41
+ static let spaceCardPadding: CGFloat = 20
42
+ static let spaceCardGap: CGFloat = 16
43
+
44
+ static let radiusCard: CGFloat = 2 // should be 16 — nearly square
45
+ static let fontSizeHeading: CGFloat = 34 // should be 22
46
+ static let fontSizeBody: CGFloat = 11 // should be 15
47
+ static let sizeCircle: CGFloat = 110 // should be 64 — much larger
48
+
49
+ static let screenWidth: CGFloat = 393
50
+ static let screenHeight: CGFloat = 852
51
+ }
52
+
53
+ // ── CalibrationScreenDivergentView ────────────────────────────────────────── //
54
+
55
+ public struct CalibrationScreenDivergentView: View {
56
+
57
+ public init() {}
58
+
59
+ public var body: some View {
60
+ ZStack(alignment: .topLeading) {
61
+ WrongTokens.colorBackground
62
+ .ignoresSafeArea()
63
+
64
+ VStack(alignment: .leading, spacing: 0) {
65
+
66
+ Spacer()
67
+ .frame(height: WrongTokens.spaceSafeTop)
68
+
69
+ // WRONG copy + WRONG type sizes + WRONG colors
70
+ VStack(alignment: .leading, spacing: 8) {
71
+ Text("WRONG SCREEN — negative control")
72
+ .font(.system(size: WrongTokens.fontSizeHeading,
73
+ weight: .bold))
74
+ .foregroundColor(WrongTokens.colorTextHeading)
75
+
76
+ Text("If a judge calls this equivalent to the H5 twin, its verdict is void.")
77
+ .font(.system(size: WrongTokens.fontSizeBody,
78
+ weight: .regular))
79
+ .foregroundColor(WrongTokens.colorTextBody)
80
+ .fixedSize(horizontal: false, vertical: true)
81
+ }
82
+ .padding(.horizontal, WrongTokens.spacePageH)
83
+
84
+ Spacer()
85
+ .frame(height: WrongTokens.spaceSectionGap)
86
+
87
+ VStack(alignment: .leading, spacing: WrongTokens.spaceCardGap) {
88
+
89
+ // Taller, near-square, recolored stripe card
90
+ HStack(spacing: 0) {
91
+ WrongTokens.colorStripeA
92
+ WrongTokens.colorStripeB
93
+ WrongTokens.colorStripeC
94
+ WrongTokens.colorStripeD
95
+ }
96
+ .frame(height: WrongTokens.spaceCardPadding * 5) // much taller
97
+ .clipShape(RoundedRectangle(cornerRadius: WrongTokens.radiusCard))
98
+
99
+ // Circle moved to the TRAILING edge, wrong color, much bigger
100
+ HStack {
101
+ Spacer()
102
+ Circle()
103
+ .fill(WrongTokens.colorCircle)
104
+ .frame(width: WrongTokens.sizeCircle,
105
+ height: WrongTokens.sizeCircle)
106
+ }
107
+ }
108
+ .padding(.horizontal, WrongTokens.spacePageH)
109
+
110
+ Spacer()
111
+ }
112
+ .frame(width: WrongTokens.screenWidth, alignment: .topLeading)
113
+ }
114
+ .frame(width: WrongTokens.screenWidth, height: WrongTokens.screenHeight)
115
+ }
116
+ }
117
+
118
+ // ── Preview ──────────────────────────────────────────────────────────────── //
119
+
120
+ #Preview("DIVERGENT (negative control) — 393×852") {
121
+ CalibrationScreenDivergentView()
122
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "$schema": "h5-to-swiftui/calibration-tokens@1",
3
+ "$comment": "Ground-truth design tokens for the Stage 2.5 calibration pair. Both h5-twin/style.css and swiftui-twin/Sources/CalibrationScreen/CalibrationScreen.swift MUST implement every value here exactly. Any measured rendering difference between the two sides is the irreducible cross-renderer floor.",
4
+
5
+ "color": {
6
+ "background": { "$value": "#F2F2F7", "$type": "color", "$comment": "iOS systemGroupedBackground equivalent" },
7
+ "card": { "$value": "#4A90D9", "$type": "color", "$comment": "blue card base; carries multi-color stripes (textured, not flat)" },
8
+ "circle": { "$value": "#E8744F", "$type": "color", "$comment": "coral orange circle" },
9
+ "textHeading": { "$value": "#1C1C1E", "$type": "color", "$comment": "iOS label equivalent" },
10
+ "textBody": { "$value": "#636366", "$type": "color", "$comment": "iOS secondaryLabel equivalent" },
11
+ "stripeA": { "$value": "#4A90D9", "$type": "color", "$comment": "card stripe 1 (blue) — structured region so SSIM is meaningful" },
12
+ "stripeB": { "$value": "#7E57C2", "$type": "color", "$comment": "card stripe 2 (purple)" },
13
+ "stripeC": { "$value": "#26A69A", "$type": "color", "$comment": "card stripe 3 (teal)" },
14
+ "stripeD": { "$value": "#F4B400", "$type": "color", "$comment": "card stripe 4 (amber)" }
15
+ },
16
+
17
+ "space": {
18
+ "safeTop": { "$value": 59, "$unit": "px_pt", "$comment": "iPhone 15 Pro top safe-area inset, CSS px = Swift pt at 1× logical scale" },
19
+ "pageH": { "$value": 20, "$unit": "px_pt", "$comment": "horizontal page padding" },
20
+ "sectionGap": { "$value": 24, "$unit": "px_pt", "$comment": "vertical gap between text block and shape block" },
21
+ "cardPadding": { "$value": 20, "$unit": "px_pt", "$comment": "inner padding of the blue card" },
22
+ "cardGap": { "$value": 16, "$unit": "px_pt", "$comment": "gap between card and circle row" }
23
+ },
24
+
25
+ "radius": {
26
+ "card": { "$value": 16, "$unit": "px_pt", "$comment": "border-radius of the blue card" }
27
+ },
28
+
29
+ "font": {
30
+ "family": { "$value": "-apple-system", "$type": "fontFamily", "$comment": "CSS: -apple-system / system-ui; Swift: .system(size:weight:)" },
31
+ "sizeHeading": { "$value": 22, "$unit": "px_pt" },
32
+ "weightHeading": { "$value": 600, "$comment": "CSS 600 = semibold; Swift .semibold" },
33
+ "lineHeightHeading":{ "$value": 1.27, "$unit": "multiplier", "$comment": "unitless multiplier; 22 × 1.27 ≈ 28 pt" },
34
+ "sizeBody": { "$value": 15, "$unit": "px_pt" },
35
+ "weightBody": { "$value": 400, "$comment": "CSS 400 = regular; Swift .regular" },
36
+ "lineHeightBody": { "$value": 1.47, "$unit": "multiplier", "$comment": "unitless multiplier; 15 × 1.47 ≈ 22 pt" }
37
+ },
38
+
39
+ "shape": {
40
+ "circleSize": { "$value": 64, "$unit": "px_pt", "$comment": "diameter of the coral circle" }
41
+ }
42
+ }
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Chronicle Feed</title>
7
+ <link rel="stylesheet" href="/src/styles/tokens.css" />
8
+ <link rel="stylesheet" href="/src/styles/global.css" />
9
+ </head>
10
+ <body>
11
+ <div id="root"></div>
12
+ <script type="module" src="/src/main.jsx"></script>
13
+ </body>
14
+ </html>
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "chronicle-feed",
3
+ "version": "1.0.0",
4
+ "private": true,
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite",
8
+ "build": "vite build",
9
+ "preview": "vite preview"
10
+ },
11
+ "dependencies": {
12
+ "react": "^18.3.1",
13
+ "react-dom": "^18.3.1",
14
+ "react-router-dom": "^6.26.1"
15
+ },
16
+ "devDependencies": {
17
+ "@vitejs/plugin-react": "^4.3.1",
18
+ "vite": "^5.4.2"
19
+ }
20
+ }