@hegemonart/get-design-done 1.42.0 → 1.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (425) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +1080 -1038
  4. package/README.md +157 -155
  5. package/SKILL.md +42 -42
  6. package/agents/README.md +53 -53
  7. package/agents/a11y-mapper.md +3 -3
  8. package/agents/component-benchmark-harvester.md +8 -8
  9. package/agents/component-benchmark-synthesizer.md +11 -11
  10. package/agents/component-taxonomy-mapper.md +5 -5
  11. package/agents/compose-executor.md +25 -25
  12. package/agents/conflict-resolver.md +8 -8
  13. package/agents/cost-forecaster.md +12 -12
  14. package/agents/decision-journal-exporter.md +5 -5
  15. package/agents/design-advisor.md +19 -19
  16. package/agents/design-assumptions-analyzer.md +16 -16
  17. package/agents/design-auditor.md +39 -39
  18. package/agents/design-authority-watcher.md +28 -28
  19. package/agents/design-component-generator.md +27 -27
  20. package/agents/design-context-builder.md +66 -66
  21. package/agents/design-context-checker-gate.md +5 -5
  22. package/agents/design-context-checker.md +20 -20
  23. package/agents/design-discussant.md +23 -23
  24. package/agents/design-doc-writer.md +12 -12
  25. package/agents/design-executor.md +38 -38
  26. package/agents/design-figma-writer.md +31 -31
  27. package/agents/design-fixer.md +27 -27
  28. package/agents/design-integration-checker-gate.md +5 -5
  29. package/agents/design-integration-checker.md +29 -29
  30. package/agents/design-paper-writer.md +14 -14
  31. package/agents/design-pattern-mapper.md +9 -9
  32. package/agents/design-pencil-writer.md +12 -12
  33. package/agents/design-phase-researcher.md +14 -14
  34. package/agents/design-plan-checker.md +13 -13
  35. package/agents/design-planner.md +24 -24
  36. package/agents/design-reflector.md +48 -48
  37. package/agents/design-research-synthesizer.md +21 -21
  38. package/agents/design-start-writer.md +7 -7
  39. package/agents/design-update-checker.md +8 -8
  40. package/agents/design-verifier-gate.md +5 -5
  41. package/agents/design-verifier.md +80 -80
  42. package/agents/ds-generator.md +14 -14
  43. package/agents/ds-migration-planner.md +12 -12
  44. package/agents/email-executor.md +26 -26
  45. package/agents/experiment-result-ingester.md +10 -10
  46. package/agents/flutter-executor.md +28 -28
  47. package/agents/gdd-graph-refresh.md +10 -10
  48. package/agents/gdd-intel-updater.md +11 -11
  49. package/agents/gdd-learnings-extractor.md +2 -2
  50. package/agents/motion-mapper.md +8 -8
  51. package/agents/motion-verifier.md +16 -16
  52. package/agents/pdf-executor.md +27 -27
  53. package/agents/perf-analyzer.md +20 -20
  54. package/agents/pr-commenter.md +24 -24
  55. package/agents/prototype-gate.md +29 -29
  56. package/agents/quality-gate-runner.md +21 -21
  57. package/agents/rollout-coordinator.md +8 -8
  58. package/agents/swift-executor.md +41 -41
  59. package/agents/ticket-sync-agent.md +19 -19
  60. package/agents/token-mapper.md +6 -6
  61. package/agents/user-research-synthesizer.md +13 -13
  62. package/agents/visual-hierarchy-mapper.md +2 -2
  63. package/dist/claude-code/.claude/skills/add-backlog/SKILL.md +3 -3
  64. package/dist/claude-code/.claude/skills/analyze-dependencies/SKILL.md +10 -10
  65. package/dist/claude-code/.claude/skills/apply-reflections/SKILL.md +13 -13
  66. package/dist/claude-code/.claude/skills/apply-reflections/apply-reflections-procedure.md +20 -20
  67. package/dist/claude-code/.claude/skills/audit/SKILL.md +7 -7
  68. package/dist/claude-code/.claude/skills/bandit-status/SKILL.md +7 -7
  69. package/dist/claude-code/.claude/skills/benchmark/SKILL.md +7 -7
  70. package/dist/claude-code/.claude/skills/bootstrap-ds/SKILL.md +10 -10
  71. package/dist/claude-code/.claude/skills/brief/SKILL.md +20 -20
  72. package/dist/claude-code/.claude/skills/budget/SKILL.md +4 -4
  73. package/dist/claude-code/.claude/skills/cache-manager/SKILL.md +6 -6
  74. package/dist/claude-code/.claude/skills/cache-manager/cache-policy.md +5 -5
  75. package/dist/claude-code/.claude/skills/check-update/SKILL.md +5 -5
  76. package/dist/claude-code/.claude/skills/compare/SKILL.md +15 -15
  77. package/dist/claude-code/.claude/skills/compare/compare-rubric.md +17 -17
  78. package/dist/claude-code/.claude/skills/complete-cycle/SKILL.md +5 -5
  79. package/dist/claude-code/.claude/skills/connections/SKILL.md +11 -11
  80. package/dist/claude-code/.claude/skills/connections/connections-onboarding.md +76 -76
  81. package/dist/claude-code/.claude/skills/continue/SKILL.md +2 -2
  82. package/dist/claude-code/.claude/skills/darkmode/SKILL.md +17 -17
  83. package/dist/claude-code/.claude/skills/darkmode/darkmode-audit-procedure.md +7 -7
  84. package/dist/claude-code/.claude/skills/debug/SKILL.md +3 -3
  85. package/dist/claude-code/.claude/skills/debug/debug-feedback-loops.md +12 -12
  86. package/dist/claude-code/.claude/skills/design/SKILL.md +12 -12
  87. package/dist/claude-code/.claude/skills/design/design-procedure.md +23 -23
  88. package/dist/claude-code/.claude/skills/discover/SKILL.md +7 -7
  89. package/dist/claude-code/.claude/skills/discover/discover-procedure.md +18 -18
  90. package/dist/claude-code/.claude/skills/discuss/SKILL.md +12 -12
  91. package/dist/claude-code/.claude/skills/do/SKILL.md +1 -1
  92. package/dist/claude-code/.claude/skills/explore/SKILL.md +21 -21
  93. package/dist/claude-code/.claude/skills/explore/explore-procedure.md +48 -48
  94. package/dist/claude-code/.claude/skills/export/SKILL.md +9 -9
  95. package/dist/claude-code/.claude/skills/extract-learnings/SKILL.md +5 -5
  96. package/dist/claude-code/.claude/skills/fast/SKILL.md +7 -7
  97. package/dist/claude-code/.claude/skills/figma-extract/SKILL.md +11 -11
  98. package/dist/claude-code/.claude/skills/figma-write/SKILL.md +6 -6
  99. package/dist/claude-code/.claude/skills/graphify/SKILL.md +4 -4
  100. package/dist/claude-code/.claude/skills/health/SKILL.md +16 -16
  101. package/dist/claude-code/.claude/skills/health/health-mcp-detection.md +3 -3
  102. package/dist/claude-code/.claude/skills/health/health-skill-length-report.md +6 -6
  103. package/dist/claude-code/.claude/skills/help/SKILL.md +1 -1
  104. package/dist/claude-code/.claude/skills/list-assumptions/SKILL.md +4 -4
  105. package/dist/claude-code/.claude/skills/map/SKILL.md +12 -12
  106. package/dist/claude-code/.claude/skills/migrate/SKILL.md +5 -5
  107. package/dist/claude-code/.claude/skills/new-cycle/SKILL.md +2 -2
  108. package/dist/claude-code/.claude/skills/new-cycle/milestone-completeness-rubric.md +16 -16
  109. package/dist/claude-code/.claude/skills/new-project/SKILL.md +1 -1
  110. package/dist/claude-code/.claude/skills/next/SKILL.md +5 -5
  111. package/dist/claude-code/.claude/skills/note/SKILL.md +1 -1
  112. package/dist/claude-code/.claude/skills/openrouter-status/SKILL.md +4 -4
  113. package/dist/claude-code/.claude/skills/optimize/SKILL.md +15 -15
  114. package/dist/claude-code/.claude/skills/pause/SKILL.md +5 -5
  115. package/dist/claude-code/.claude/skills/peer-cli-add/SKILL.md +11 -11
  116. package/dist/claude-code/.claude/skills/peer-cli-add/peer-cli-protocol.md +39 -39
  117. package/dist/claude-code/.claude/skills/peer-cli-customize/SKILL.md +14 -14
  118. package/dist/claude-code/.claude/skills/peers/SKILL.md +4 -4
  119. package/dist/claude-code/.claude/skills/plan/SKILL.md +13 -13
  120. package/dist/claude-code/.claude/skills/plan/plan-procedure.md +24 -24
  121. package/dist/claude-code/.claude/skills/plant-seed/SKILL.md +4 -4
  122. package/dist/claude-code/.claude/skills/pr-branch/SKILL.md +2 -2
  123. package/dist/claude-code/.claude/skills/progress/SKILL.md +15 -15
  124. package/dist/claude-code/.claude/skills/quality-gate/SKILL.md +22 -22
  125. package/dist/claude-code/.claude/skills/quality-gate/threat-modeling.md +19 -19
  126. package/dist/claude-code/.claude/skills/quick/SKILL.md +5 -5
  127. package/dist/claude-code/.claude/skills/reapply-patches/SKILL.md +7 -7
  128. package/dist/claude-code/.claude/skills/reflect/SKILL.md +3 -3
  129. package/dist/claude-code/.claude/skills/reflect/procedures/capability-gap-scan.md +11 -11
  130. package/dist/claude-code/.claude/skills/report-issue/SKILL.md +5 -5
  131. package/dist/claude-code/.claude/skills/report-issue/report-issue-procedure.md +27 -27
  132. package/dist/claude-code/.claude/skills/resume/SKILL.md +9 -9
  133. package/dist/claude-code/.claude/skills/review-backlog/SKILL.md +3 -3
  134. package/dist/claude-code/.claude/skills/review-decisions/SKILL.md +3 -3
  135. package/dist/claude-code/.claude/skills/roi/SKILL.md +5 -5
  136. package/dist/claude-code/.claude/skills/rollout-status/SKILL.md +4 -4
  137. package/dist/claude-code/.claude/skills/router/SKILL.md +11 -11
  138. package/dist/claude-code/.claude/skills/router/capability-gap-emitter.md +6 -6
  139. package/dist/claude-code/.claude/skills/router/router-pick-emitter.md +9 -9
  140. package/dist/claude-code/.claude/skills/router/router-rules.md +7 -7
  141. package/dist/claude-code/.claude/skills/scan/SKILL.md +16 -16
  142. package/dist/claude-code/.claude/skills/scan/scan-procedure.md +42 -42
  143. package/dist/claude-code/.claude/skills/settings/SKILL.md +2 -2
  144. package/dist/claude-code/.claude/skills/ship/SKILL.md +7 -7
  145. package/dist/claude-code/.claude/skills/sketch/SKILL.md +10 -10
  146. package/dist/claude-code/.claude/skills/sketch-wrap-up/SKILL.md +12 -12
  147. package/dist/claude-code/.claude/skills/skill-manifest/SKILL.md +5 -5
  148. package/dist/claude-code/.claude/skills/spike/SKILL.md +7 -7
  149. package/dist/claude-code/.claude/skills/spike-wrap-up/SKILL.md +13 -13
  150. package/dist/claude-code/.claude/skills/start/SKILL.md +8 -8
  151. package/dist/claude-code/.claude/skills/start/start-procedure.md +9 -9
  152. package/dist/claude-code/.claude/skills/stats/SKILL.md +5 -5
  153. package/dist/claude-code/.claude/skills/style/SKILL.md +12 -12
  154. package/dist/claude-code/.claude/skills/style/style-doc-procedure.md +12 -12
  155. package/dist/claude-code/.claude/skills/synthesize/SKILL.md +10 -10
  156. package/dist/claude-code/.claude/skills/timeline/SKILL.md +4 -4
  157. package/dist/claude-code/.claude/skills/todo/SKILL.md +3 -3
  158. package/dist/claude-code/.claude/skills/turn-closeout/SKILL.md +10 -10
  159. package/dist/claude-code/.claude/skills/unlock-decision/SKILL.md +3 -3
  160. package/dist/claude-code/.claude/skills/update/SKILL.md +9 -9
  161. package/dist/claude-code/.claude/skills/using-gdd/SKILL.md +17 -17
  162. package/dist/claude-code/.claude/skills/verify/SKILL.md +13 -13
  163. package/dist/claude-code/.claude/skills/verify/verify-procedure.md +34 -34
  164. package/dist/claude-code/.claude/skills/warm-cache/SKILL.md +8 -8
  165. package/dist/claude-code/.claude/skills/watch-authorities/SKILL.md +9 -9
  166. package/dist/claude-code/.claude/skills/zoom-out/SKILL.md +4 -4
  167. package/package.json +5 -2
  168. package/reference/DEPRECATIONS.md +10 -10
  169. package/reference/STATE-TEMPLATE.md +26 -26
  170. package/reference/accessibility.md +13 -13
  171. package/reference/adr-format.md +13 -13
  172. package/reference/ai-native-tool-interface.md +5 -5
  173. package/reference/anti-patterns.md +9 -9
  174. package/reference/architecture-vocabulary.md +31 -31
  175. package/reference/audit-scoring.md +13 -13
  176. package/reference/authority-feeds.md +36 -36
  177. package/reference/bandit-integration.md +25 -25
  178. package/reference/brand-voice.md +36 -36
  179. package/reference/capability-gap-stage-gate.md +20 -20
  180. package/reference/checklists.md +26 -26
  181. package/reference/cli-localization.md +13 -13
  182. package/reference/codex-tools.md +2 -2
  183. package/reference/color-theory.md +28 -28
  184. package/reference/component-authoring.md +4 -4
  185. package/reference/components/README.md +13 -13
  186. package/reference/components/TEMPLATE.md +13 -13
  187. package/reference/components/accordion.md +15 -15
  188. package/reference/components/alert.md +25 -25
  189. package/reference/components/badge.md +18 -18
  190. package/reference/components/breadcrumbs.md +24 -24
  191. package/reference/components/button.md +21 -21
  192. package/reference/components/card.md +13 -13
  193. package/reference/components/checkbox.md +20 -20
  194. package/reference/components/chip.md +20 -20
  195. package/reference/components/command-palette.md +15 -15
  196. package/reference/components/date-picker.md +22 -22
  197. package/reference/components/drawer.md +13 -13
  198. package/reference/components/file-upload.md +22 -22
  199. package/reference/components/input.md +18 -18
  200. package/reference/components/label.md +25 -25
  201. package/reference/components/link.md +19 -19
  202. package/reference/components/list.md +17 -17
  203. package/reference/components/menu.md +19 -19
  204. package/reference/components/modal-dialog.md +16 -16
  205. package/reference/components/navbar.md +19 -19
  206. package/reference/components/pagination.md +18 -18
  207. package/reference/components/popover.md +12 -12
  208. package/reference/components/progress.md +18 -18
  209. package/reference/components/radio.md +17 -17
  210. package/reference/components/rich-text-editor.md +24 -24
  211. package/reference/components/select-combobox.md +16 -16
  212. package/reference/components/sidebar.md +15 -15
  213. package/reference/components/skeleton.md +20 -20
  214. package/reference/components/slider.md +20 -20
  215. package/reference/components/stepper.md +24 -24
  216. package/reference/components/switch.md +19 -19
  217. package/reference/components/table.md +21 -21
  218. package/reference/components/tabs.md +11 -11
  219. package/reference/components/toast.md +19 -19
  220. package/reference/components/tooltip.md +19 -19
  221. package/reference/components/tree.md +17 -17
  222. package/reference/composition.md +38 -38
  223. package/reference/config-schema.md +37 -37
  224. package/reference/context-md-format.md +9 -9
  225. package/reference/contrast-advanced.md +29 -29
  226. package/reference/conversational-ui.md +17 -17
  227. package/reference/cost-governance.md +14 -14
  228. package/reference/css-grid-layout.md +8 -8
  229. package/reference/cycle-handoff-preamble.md +3 -3
  230. package/reference/data-visualization.md +67 -67
  231. package/reference/debugger-philosophy.md +5 -5
  232. package/reference/design-system-guidance.md +21 -21
  233. package/reference/design-systems-catalog.md +20 -20
  234. package/reference/design-variants.md +11 -11
  235. package/reference/domains/civic-patterns.md +10 -10
  236. package/reference/domains/finance-patterns.md +9 -9
  237. package/reference/domains/gaming-patterns.md +9 -9
  238. package/reference/domains/healthcare-patterns.md +11 -11
  239. package/reference/ds-bootstrap-rubric.md +13 -13
  240. package/reference/email-design.md +22 -22
  241. package/reference/emotional-design.md +10 -10
  242. package/reference/error-recovery.md +11 -11
  243. package/reference/export-formats.md +7 -7
  244. package/reference/figma-sandbox.md +6 -6
  245. package/reference/first-principles.md +10 -10
  246. package/reference/form-patterns.md +26 -26
  247. package/reference/framer-motion-patterns.md +49 -49
  248. package/reference/gdd-runtime-audit.md +17 -17
  249. package/reference/gdd-threat-model.md +44 -44
  250. package/reference/gemini-tools.md +3 -3
  251. package/reference/gestalt.md +24 -24
  252. package/reference/heuristics.md +32 -32
  253. package/reference/i18n.md +44 -44
  254. package/reference/iconography.md +24 -24
  255. package/reference/image-optimization.md +14 -14
  256. package/reference/information-architecture.md +47 -47
  257. package/reference/intel-schema.md +1 -1
  258. package/reference/known-failure-modes.md +37 -37
  259. package/reference/meta-rules.md +5 -5
  260. package/reference/migrations/material-3-to-4.md +17 -17
  261. package/reference/migrations/mui-v6.md +16 -16
  262. package/reference/migrations/shadcn-v2.md +25 -25
  263. package/reference/migrations/tailwind-v4.md +21 -21
  264. package/reference/model-prices.md +3 -3
  265. package/reference/model-tiers.md +40 -40
  266. package/reference/motion-advanced.md +21 -21
  267. package/reference/motion-easings.md +29 -29
  268. package/reference/motion-interpolate.md +1 -1
  269. package/reference/motion-spring.md +13 -13
  270. package/reference/motion-transition-taxonomy.md +34 -34
  271. package/reference/motion.md +31 -31
  272. package/reference/multi-author-model.md +13 -13
  273. package/reference/native-platforms.md +28 -28
  274. package/reference/notification-routing.md +6 -6
  275. package/reference/onboarding-progressive-disclosure.md +32 -32
  276. package/reference/openrouter-tier-mapping.md +8 -8
  277. package/reference/palette-catalog.md +37 -37
  278. package/reference/parallelism-rules.md +20 -20
  279. package/reference/peer-cli-capabilities.md +14 -14
  280. package/reference/peer-protocols.md +21 -21
  281. package/reference/perf-budget.md +21 -21
  282. package/reference/performance.md +22 -22
  283. package/reference/platforms.md +51 -51
  284. package/reference/pr-review-integration.md +7 -7
  285. package/reference/prices/antigravity.md +3 -3
  286. package/reference/prices/augment.md +3 -3
  287. package/reference/prices/claude.md +2 -2
  288. package/reference/prices/cline.md +4 -4
  289. package/reference/prices/codebuddy.md +3 -3
  290. package/reference/prices/codex.md +2 -2
  291. package/reference/prices/copilot.md +3 -3
  292. package/reference/prices/cursor.md +3 -3
  293. package/reference/prices/gemini.md +2 -2
  294. package/reference/prices/kilo.md +3 -3
  295. package/reference/prices/opencode.md +4 -4
  296. package/reference/prices/qwen.md +2 -2
  297. package/reference/prices/trae.md +3 -3
  298. package/reference/prices/windsurf.md +3 -3
  299. package/reference/prices.openrouter.md +5 -5
  300. package/reference/print-design.md +36 -36
  301. package/reference/priority-matrix.md +2 -2
  302. package/reference/project-skills-guide.md +3 -3
  303. package/reference/proportion-systems.md +23 -23
  304. package/reference/pseudonymization-rules.md +30 -30
  305. package/reference/retrieval-contract.md +14 -14
  306. package/reference/review-format.md +7 -7
  307. package/reference/rollout-coordination.md +10 -10
  308. package/reference/rtl-cjk-cultural.md +39 -39
  309. package/reference/runtime-models.md +28 -28
  310. package/reference/shared-preamble.md +26 -26
  311. package/reference/skill-authoring-contract.md +16 -16
  312. package/reference/skill-placeholders.md +3 -3
  313. package/reference/start-interview.md +10 -10
  314. package/reference/style-vocabulary.md +25 -25
  315. package/reference/surfaces.md +4 -4
  316. package/reference/ticket-sync.md +9 -9
  317. package/reference/typography.md +64 -64
  318. package/reference/user-research.md +54 -54
  319. package/reference/variable-fonts-loading.md +15 -15
  320. package/reference/visual-hierarchy-layout.md +41 -41
  321. package/scripts/lib/manifest/prose-denylist.json +1 -1
  322. package/skills/add-backlog/SKILL.md +3 -3
  323. package/skills/analyze-dependencies/SKILL.md +10 -10
  324. package/skills/apply-reflections/SKILL.md +13 -13
  325. package/skills/apply-reflections/apply-reflections-procedure.md +20 -20
  326. package/skills/audit/SKILL.md +7 -7
  327. package/skills/bandit-status/SKILL.md +7 -7
  328. package/skills/benchmark/SKILL.md +7 -7
  329. package/skills/bootstrap-ds/SKILL.md +10 -10
  330. package/skills/brief/SKILL.md +20 -20
  331. package/skills/budget/SKILL.md +4 -4
  332. package/skills/cache-manager/SKILL.md +6 -6
  333. package/skills/cache-manager/cache-policy.md +5 -5
  334. package/skills/check-update/SKILL.md +5 -5
  335. package/skills/compare/SKILL.md +15 -15
  336. package/skills/compare/compare-rubric.md +17 -17
  337. package/skills/complete-cycle/SKILL.md +5 -5
  338. package/skills/connections/SKILL.md +11 -11
  339. package/skills/connections/connections-onboarding.md +76 -76
  340. package/skills/continue/SKILL.md +2 -2
  341. package/skills/darkmode/SKILL.md +17 -17
  342. package/skills/darkmode/darkmode-audit-procedure.md +7 -7
  343. package/skills/debug/SKILL.md +3 -3
  344. package/skills/debug/debug-feedback-loops.md +12 -12
  345. package/skills/design/SKILL.md +12 -12
  346. package/skills/design/design-procedure.md +23 -23
  347. package/skills/discover/SKILL.md +7 -7
  348. package/skills/discover/discover-procedure.md +18 -18
  349. package/skills/discuss/SKILL.md +12 -12
  350. package/skills/do/SKILL.md +1 -1
  351. package/skills/explore/SKILL.md +21 -21
  352. package/skills/explore/explore-procedure.md +48 -48
  353. package/skills/export/SKILL.md +9 -9
  354. package/skills/extract-learnings/SKILL.md +5 -5
  355. package/skills/fast/SKILL.md +7 -7
  356. package/skills/figma-extract/SKILL.md +11 -11
  357. package/skills/figma-write/SKILL.md +6 -6
  358. package/skills/graphify/SKILL.md +4 -4
  359. package/skills/health/SKILL.md +16 -16
  360. package/skills/health/health-mcp-detection.md +3 -3
  361. package/skills/health/health-skill-length-report.md +6 -6
  362. package/skills/help/SKILL.md +1 -1
  363. package/skills/list-assumptions/SKILL.md +4 -4
  364. package/skills/map/SKILL.md +12 -12
  365. package/skills/migrate/SKILL.md +5 -5
  366. package/skills/new-cycle/SKILL.md +2 -2
  367. package/skills/new-cycle/milestone-completeness-rubric.md +16 -16
  368. package/skills/new-project/SKILL.md +1 -1
  369. package/skills/next/SKILL.md +5 -5
  370. package/skills/note/SKILL.md +1 -1
  371. package/skills/openrouter-status/SKILL.md +4 -4
  372. package/skills/optimize/SKILL.md +15 -15
  373. package/skills/pause/SKILL.md +5 -5
  374. package/skills/peer-cli-add/SKILL.md +11 -11
  375. package/skills/peer-cli-add/peer-cli-protocol.md +39 -39
  376. package/skills/peer-cli-customize/SKILL.md +14 -14
  377. package/skills/peers/SKILL.md +4 -4
  378. package/skills/plan/SKILL.md +13 -13
  379. package/skills/plan/plan-procedure.md +24 -24
  380. package/skills/plant-seed/SKILL.md +4 -4
  381. package/skills/pr-branch/SKILL.md +2 -2
  382. package/skills/progress/SKILL.md +15 -15
  383. package/skills/quality-gate/SKILL.md +22 -22
  384. package/skills/quality-gate/threat-modeling.md +19 -19
  385. package/skills/quick/SKILL.md +5 -5
  386. package/skills/reapply-patches/SKILL.md +7 -7
  387. package/skills/reflect/SKILL.md +3 -3
  388. package/skills/reflect/procedures/capability-gap-scan.md +11 -11
  389. package/skills/report-issue/SKILL.md +5 -5
  390. package/skills/report-issue/report-issue-procedure.md +27 -27
  391. package/skills/resume/SKILL.md +9 -9
  392. package/skills/review-backlog/SKILL.md +3 -3
  393. package/skills/review-decisions/SKILL.md +3 -3
  394. package/skills/roi/SKILL.md +5 -5
  395. package/skills/rollout-status/SKILL.md +4 -4
  396. package/skills/router/SKILL.md +11 -11
  397. package/skills/router/capability-gap-emitter.md +6 -6
  398. package/skills/router/router-pick-emitter.md +9 -9
  399. package/skills/router/router-rules.md +7 -7
  400. package/skills/scan/SKILL.md +16 -16
  401. package/skills/scan/scan-procedure.md +42 -42
  402. package/skills/settings/SKILL.md +2 -2
  403. package/skills/ship/SKILL.md +7 -7
  404. package/skills/sketch/SKILL.md +10 -10
  405. package/skills/sketch-wrap-up/SKILL.md +12 -12
  406. package/skills/skill-manifest/SKILL.md +5 -5
  407. package/skills/spike/SKILL.md +7 -7
  408. package/skills/spike-wrap-up/SKILL.md +13 -13
  409. package/skills/start/SKILL.md +8 -8
  410. package/skills/start/start-procedure.md +9 -9
  411. package/skills/stats/SKILL.md +5 -5
  412. package/skills/style/SKILL.md +12 -12
  413. package/skills/style/style-doc-procedure.md +12 -12
  414. package/skills/synthesize/SKILL.md +10 -10
  415. package/skills/timeline/SKILL.md +4 -4
  416. package/skills/todo/SKILL.md +3 -3
  417. package/skills/turn-closeout/SKILL.md +10 -10
  418. package/skills/unlock-decision/SKILL.md +3 -3
  419. package/skills/update/SKILL.md +9 -9
  420. package/skills/using-gdd/SKILL.md +17 -17
  421. package/skills/verify/SKILL.md +13 -13
  422. package/skills/verify/verify-procedure.md +34 -34
  423. package/skills/warm-cache/SKILL.md +8 -8
  424. package/skills/watch-authorities/SKILL.md +9 -9
  425. package/skills/zoom-out/SKILL.md +4 -4
@@ -1,21 +1,21 @@
1
- # Retrieval Contract 3-Layer Search
1
+ # Retrieval Contract - 3-Layer Search
2
2
 
3
- When an agent or skill needs information from `.design/` artifacts or the `reference/` library, apply this protocol in order. Token economy matters ladder from cheapest to most expensive.
3
+ When an agent or skill needs information from `.design/` artifacts or the `reference/` library, apply this protocol in order. Token economy matters - ladder from cheapest to most expensive.
4
4
 
5
- ## Layer 1 Search (~50–100 tokens per hit)
5
+ ## Layer 1 - Search (~50–100 tokens per hit)
6
6
 
7
7
  Open `reference/registry.json` or the intel index at `.design/intel/`. Read one row per candidate: `{name, path, type, tier, description}`. This is enough to decide whether to descend further.
8
8
 
9
- - `list({type})` everything tagged with a given type (e.g., `"heuristic"`, `"motion"`, `"preamble"`).
10
- - `find(name)` direct lookup for a specific reference file by short name.
9
+ - `list({type})` - everything tagged with a given type (e.g., `"heuristic"`, `"motion"`, `"preamble"`).
10
+ - `find(name)` - direct lookup for a specific reference file by short name.
11
11
 
12
- ## Layer 2 Metadata (~200–300 tokens per hit)
12
+ ## Layer 2 - Metadata (~200–300 tokens per hit)
13
13
 
14
14
  Open the candidate file's frontmatter + first 20 lines + heading outline. Decide if the full body is on the critical path.
15
15
 
16
- ## Layer 3 Full document (~500–1000+ tokens)
16
+ ## Layer 3 - Full document (~500–1000+ tokens)
17
17
 
18
- Read the file with the `Read` tool. Only do this when layers 1 and 2 confirmed the doc is load-bearing for the current task.
18
+ Read the file with the `Read` tool. Only do this when layers 1 and 2 confirmed the doc is essential for the current task.
19
19
 
20
20
  ## Token economy
21
21
 
@@ -23,11 +23,11 @@ A `/gdd:recall "term"` query that returns 5 Layer-1 hits ≈ 400 tokens. Opening
23
23
 
24
24
  ## FTS5 backend (Phase 19.5)
25
25
 
26
- Layer 1 becomes `scripts/lib/design-search.cjs` same protocol, same output shape, but backed by `.design/search.db` instead of grep. Agents do not need to change anything; the backend swap is transparent.
26
+ Layer 1 becomes `scripts/lib/design-search.cjs` - same protocol, same output shape, but backed by `.design/search.db` instead of grep. Agents do not need to change anything; the backend swap is transparent.
27
27
 
28
- ## Phase 27.6 Shared-Context Dedup (D-11)
28
+ ## Phase 27.6 - Shared-Context Dedup (D-11)
29
29
 
30
- When >= 3 distinct agents in the same cycle read the same `reference/*.md` file, the Phase 14.5 retrieval-contract preamble is extended with a "shared context loaded once" marker subsequent agents see a content-hash reference instead of the full file body. This reduces redundant token consumption per cycle.
30
+ When >= 3 distinct agents in the same cycle read the same `reference/*.md` file, the Phase 14.5 retrieval-contract preamble is extended with a "shared context loaded once" marker - subsequent agents see a content-hash reference instead of the full file body. This reduces redundant token consumption per cycle.
31
31
 
32
32
  The detection lives in `scripts/lib/prompt-dedup/index.cjs::detectDuplicateReferenceReads` and runs at retrieval-contract injection time. The threshold (3 agents) matches Phase 27.6 D-11 and is tunable via the `threshold` argument to `detectDuplicateReferenceReads`.
33
33
 
@@ -37,9 +37,9 @@ Event emission: each dedup decision emits a `dedup.injection` event via `appendE
37
37
 
38
38
  Cross-references:
39
39
 
40
- - `scripts/lib/prompt-dedup/index.cjs` analyzer + injection text builder.
41
- - `tests/prompt-dedup.test.cjs` detection rule tests.
42
- - `agents/perf-analyzer.md` consumes `dedup.injection` events for cross-cycle analysis.
40
+ - `scripts/lib/prompt-dedup/index.cjs` - analyzer + injection text builder.
41
+ - `tests/prompt-dedup.test.cjs` - detection rule tests.
42
+ - `agents/perf-analyzer.md` - consumes `dedup.injection` events for cross-cycle analysis.
43
43
 
44
44
  ---
45
45
 
@@ -1,4 +1,4 @@
1
- # Review Format The Before/After Table
1
+ # Review Format - The Before/After Table
2
2
 
3
3
  Adopted from `emil-design-eng` and enforced across `get-design-done`. **Every design review uses this format.** No exceptions.
4
4
 
@@ -23,7 +23,7 @@ Adopted from `emil-design-eng` and enforced across `get-design-done`. **Every de
23
23
  - **Non-redundant.** No repeating "Before:" / "After:" labels every time.
24
24
  - **The "Why" column is required.** It forces reasoning instead of taste-asserting. Future you also forgets why; the column documents the decision.
25
25
 
26
- ## Wrong format never produce this
26
+ ## Wrong format - never produce this
27
27
 
28
28
  ```
29
29
  Before: transition: all 300ms
@@ -42,15 +42,15 @@ Also wrong:
42
42
 
43
43
  ## When to use this format
44
44
 
45
- - **Any review of existing code or design.** `design:design-critique`, `design:accessibility-review` all produce outputs that can be rendered as this table.
45
+ - **Any review of existing code or design.** `design:design-critique`, `design:accessibility-review` - all produce outputs that can be rendered as this table.
46
46
  - **Responding to "review this" / "what do you think of this."**
47
- - **After `/gdd:fast` or `/gdd:design` applies a polish pass** present the diff as a table.
47
+ - **After `/gdd:fast` or `/gdd:design` applies a polish pass** - present the diff as a table.
48
48
  - **Documenting design-system migrations** (old token → new token, with why).
49
49
 
50
50
  ## When NOT to use this format
51
51
 
52
- - **Greenfield design.** No "Before" exists that's a design proposal, not a review.
53
- - **Strategic direction critiques.** ("Should we commit to dark mode?") that's a decision, not a diff.
52
+ - **Greenfield design.** No "Before" exists - that's a design proposal, not a review.
53
+ - **Strategic direction critiques.** ("Should we commit to dark mode?") - that's a decision, not a diff.
54
54
  - **Presentation to stakeholders.** Use `anthropic-skills:design-storytelling`'s narrative spine instead.
55
55
 
56
56
  ## Variations by domain
@@ -102,6 +102,6 @@ Use the 10 priority-matrix categories (see `priority-matrix.md`) as the dimensio
102
102
 
103
103
  Always precede the table with one sentence stating the scope:
104
104
 
105
- > Reviewed: Settings page modal, `components/Settings.tsx`. 7 changes proposed 2 P0 accessibility, 3 P1 motion, 2 P2 polish.
105
+ > Reviewed: Settings page modal, `components/Settings.tsx`. 7 changes proposed - 2 P0 accessibility, 3 P1 motion, 2 P2 polish.
106
106
 
107
107
  Then the table. Then nothing. The reader decides whether to apply.
@@ -1,6 +1,6 @@
1
- # Rollout Coordination the `<rollout_status>` contract + the verify→prod loop
1
+ # Rollout Coordination - the `<rollout_status>` contract + the verify→prod loop
2
2
 
3
- How GDD tracks a design from "PR merged" to "live for 100% of users", and feeds the **actual deployment percentage** back into the `design_arms` posterior so a variant's reward reflects how widely it was really shipped. The deterministic classifier is `scripts/lib/rollout/rollout-status.cjs`; the orchestration is `agents/rollout-coordinator.md` + `/gdd:rollout-status`. GDD **reads** the feature-flag service (via the Phase 38 LaunchDarkly/Statsig/GrowthBook connections) it never drives the rollout.
3
+ How GDD tracks a design from "PR merged" to "live for 100% of users", and feeds the **actual deployment percentage** back into the `design_arms` posterior so a variant's reward reflects how widely it was really shipped. The deterministic classifier is `scripts/lib/rollout/rollout-status.cjs`; the orchestration is `agents/rollout-coordinator.md` + `/gdd:rollout-status`. GDD **reads** the feature-flag service (via the Phase 38 LaunchDarkly/Statsig/GrowthBook connections) - it never drives the rollout.
4
4
 
5
5
  ---
6
6
 
@@ -11,7 +11,7 @@ A cycle's rollout is classified from a normalized flag state (`{ stagingEnabled,
11
11
  | State | Meaning |
12
12
  |---|---|
13
13
  | `unrolled` | not in staging or prod |
14
- | `staging-only` | enabled in staging (or prod-enabled at 0%) no prod traffic |
14
+ | `staging-only` | enabled in staging (or prod-enabled at 0%) - no prod traffic |
15
15
  | `canary-N%` | live to N% of prod (0 < N < 100) |
16
16
  | `prod-100%` | fully rolled out |
17
17
 
@@ -36,7 +36,7 @@ stuck: false
36
36
 
37
37
  ## Stuck detection
38
38
 
39
- `isStuck(state, daysSinceChange, threshold)` a partial rollout that has not progressed for ≥ `threshold` days (default **14**, configurable via `.design/config.json rollout.stuck_days`). `prod-100%` and `unrolled` are never stuck. `/gdd:rollout-status` surfaces stuck cycles ("canary-10% for 18 days advance or roll back?"). GDD **notifies**; it does not auto-advance or roll back (read-only D-02).
39
+ `isStuck(state, daysSinceChange, threshold)` - a partial rollout that has not progressed for ≥ `threshold` days (default **14**, configurable via `.design/config.json rollout.stuck_days`). `prod-100%` and `unrolled` are never stuck. `/gdd:rollout-status` surfaces stuck cycles ("canary-10% for 18 days - advance or roll back?"). GDD **notifies**; it does not auto-advance or roll back (read-only - D-02).
40
40
 
41
41
  ## Feeding `design_arms` (deployed_pct weighting)
42
42
 
@@ -49,15 +49,15 @@ observe(component, variantKey(component, pattern),
49
49
  { won, weight: deployedWeight(deployed_pct), source: 'verify_outcome' });
50
50
  ```
51
51
 
52
- `deployedWeight(pct) = pct/100` a variant rolled to 10% contributes a 0.1-weight observation; a fully-rolled variant contributes 1.0. This keeps the bandit honest: a "win" that only reached 10% of users is weak evidence. `verify_outcome` is a **slow-loop** reward, distinct from internal lint/test signals.
52
+ `deployedWeight(pct) = pct/100` - a variant rolled to 10% contributes a 0.1-weight observation; a fully-rolled variant contributes 1.0. This keeps the bandit honest: a "win" that only reached 10% of users is weak evidence. `verify_outcome` is a **slow-loop** reward, distinct from internal lint/test signals.
53
53
 
54
54
  ## Events (Phase 22 chain)
55
55
 
56
56
  The coordinator emits free-form `type` events (registered in `reference/schemas/events.schema.json`):
57
57
 
58
- - `rollout_started` first prod exposure (`unrolled`/`staging-only` → `canary-N%`).
59
- - `rollout_advanced` canary % increased, or → `prod-100%`.
60
- - `rollout_stuck` a partial rollout crossed the stuck threshold.
61
- - `verify_outcome` the outcome fed to `design_arms` (carries `deployed_pct` + `weight`).
58
+ - `rollout_started` - first prod exposure (`unrolled`/`staging-only` → `canary-N%`).
59
+ - `rollout_advanced` - canary % increased, or → `prod-100%`.
60
+ - `rollout_stuck` - a partial rollout crossed the stuck threshold.
61
+ - `verify_outcome` - the outcome fed to `design_arms` (carries `deployed_pct` + `weight`).
62
62
 
63
- All event payloads are PII-free (cycle id, component, pattern slug, percentages no user data).
63
+ All event payloads are PII-free (cycle id, component, pattern slug, percentages - no user data).
@@ -1,4 +1,4 @@
1
- # RTL, CJK, and Cultural Localization Reference Guide
1
+ # RTL, CJK, and Cultural Localization - Reference Guide
2
2
 
3
3
  > For engineering primitives (CSS logical properties, Intl.\* family, bidi isolation, ICU MessageFormat, text-expansion budgets, multi-script font stacks, Unicode hygiene), see [`./i18n.md`](./i18n.md). This file owns cultural context (greeting forms, color symbolism, CJK family-name conventions, imagery norms).
4
4
 
@@ -8,7 +8,7 @@ Designing for a global audience is not a matter of translating strings and calli
8
8
 
9
9
  ## 1. RTL Layout Mirroring
10
10
 
11
- Right-to-left scripts Arabic, Hebrew, Persian (Farsi), Urdu, and others do not merely reverse the direction of text. They reverse the entire spatial logic of the interface. In an LTR layout, the reading eye enters from the left, proceeds to the right, and interprets "start" as left and "end" as right. In an RTL layout, "start" is right and "end" is left, and every directional affordance must be reconsidered accordingly.
11
+ Right-to-left scripts - Arabic, Hebrew, Persian (Farsi), Urdu, and others - do not merely reverse the direction of text. They reverse the entire spatial logic of the interface. In an LTR layout, the reading eye enters from the left, proceeds to the right, and interprets "start" as left and "end" as right. In an RTL layout, "start" is right and "end" is left, and every directional affordance must be reconsidered accordingly.
12
12
 
13
13
  ### Use CSS Logical Properties
14
14
 
@@ -33,7 +33,7 @@ Browser support for CSS logical properties is excellent across all modern browse
33
33
 
34
34
  ### Set `dir="rtl"` at the Document Root
35
35
 
36
- The `dir` attribute on `<html>` propagates directionality through the entire DOM. When a user's locale is an RTL language, set `<html dir="rtl" lang="ar">` (or the appropriate lang code). Never apply `dir="rtl"` on a per-element basis to work around missing logical properties this creates brittle, partially mirrored layouts that fail in unpredictable ways as components are reused. The single root-level `dir` attribute, combined with logical CSS properties throughout, produces a fully mirrored layout with zero per-element overrides.
36
+ The `dir` attribute on `<html>` propagates directionality through the entire DOM. When a user's locale is an RTL language, set `<html dir="rtl" lang="ar">` (or the appropriate lang code). Never apply `dir="rtl"` on a per-element basis to work around missing logical properties - this creates brittle, partially mirrored layouts that fail in unpredictable ways as components are reused. The single root-level `dir` attribute, combined with logical CSS properties throughout, produces a fully mirrored layout with zero per-element overrides.
37
37
 
38
38
  If a product serves both LTR and RTL users from the same codebase, control the direction via a class or data attribute on `<html>` that is set at runtime based on the user's locale: `<html class="rtl">` with a CSS rule `html.rtl { direction: rtl; }`.
39
39
 
@@ -41,27 +41,27 @@ If a product serves both LTR and RTL users from the same codebase, control the d
41
41
 
42
42
  The following elements must mirror their visual position and directional meaning in RTL layouts:
43
43
 
44
- - **Navigation arrows and chevrons** a "next" chevron that points right in LTR must point left in RTL, because the reading direction of "forward" is reversed. A back-navigation arrow that points left in LTR must point right in RTL.
45
- - **Layout flow** the primary content column in LTR occupies the left portion of a sidebar layout; in RTL it occupies the right. Sidebars swap sides.
46
- - **Text alignment** body copy, labels, and headings should be `text-align: start`, not hardcoded left.
47
- - **Form label position** labels that appear to the left of form inputs in LTR should appear to the right in RTL.
48
- - **Breadcrumbs** the separating chevrons between breadcrumb items point in the direction of reading progression. In LTR this is rightward; in RTL it is leftward.
49
- - **Progress bars** the fill of a progress bar represents progression from start to finish. In LTR the fill grows from left to right; in RTL it grows from right to left. Use `direction: rtl` or `transform: scaleX(-1)` on the fill container, not hardcoded positional values.
50
- - **Sliders and range inputs** same rationale as progress bars.
51
- - **Ordered lists** numbering should still render left-to-right within the numeral, but the list item content begins from the right margin.
44
+ - **Navigation arrows and chevrons** - a "next" chevron that points right in LTR must point left in RTL, because the reading direction of "forward" is reversed. A back-navigation arrow that points left in LTR must point right in RTL.
45
+ - **Layout flow** - the primary content column in LTR occupies the left portion of a sidebar layout; in RTL it occupies the right. Sidebars swap sides.
46
+ - **Text alignment** - body copy, labels, and headings should be `text-align: start`, not hardcoded left.
47
+ - **Form label position** - labels that appear to the left of form inputs in LTR should appear to the right in RTL.
48
+ - **Breadcrumbs** - the separating chevrons between breadcrumb items point in the direction of reading progression. In LTR this is rightward; in RTL it is leftward.
49
+ - **Progress bars** - the fill of a progress bar represents progression from start to finish. In LTR the fill grows from left to right; in RTL it grows from right to left. Use `direction: rtl` or `transform: scaleX(-1)` on the fill container, not hardcoded positional values.
50
+ - **Sliders and range inputs** - same rationale as progress bars.
51
+ - **Ordered lists** - numbering should still render left-to-right within the numeral, but the list item content begins from the right margin.
52
52
 
53
53
  ### What NOT to Mirror
54
54
 
55
55
  Not everything in an RTL layout should be physically reversed. The following elements retain their LTR or universal orientation regardless of document direction:
56
56
 
57
- - **Numerals** digits (0–9) are universally rendered left-to-right, even within Arabic text. A price of ١٢٣٤ is rendered with the most-significant digit on the left. Never reverse digit order.
58
- - **Media player controls** play, pause, rewind, and fast-forward icons on a video player represent time-based operations on a fixed universal timeline, not reading direction. A play button always points right; a rewind button always points left. These are not mirrored.
59
- - **Phone numbers** telephone numbers are always rendered in their conventional digit sequence, which is LTR. Wrapping a phone number in `<bdi>` ensures it is never accidentally reversed by the Unicode bidirectional algorithm.
60
- - **Prices and currency** numeric amounts are LTR. Currency symbol position relative to the number is locale-determined (see Section 6), but the number itself reads left-to-right.
61
- - **Logos and wordmarks** brand assets are not mirrored.
62
- - **Non-directional icons** a star, a heart, a close (×) icon, a settings gear, or a user avatar carries no inherent directional meaning and must never be flipped.
63
- - **Maps and geographic imagery** compass orientation is universal.
64
- - **Mathematical and scientific notation** equations, formulas, and scientific symbols always render LTR.
57
+ - **Numerals** - digits (0–9) are universally rendered left-to-right, even within Arabic text. A price of ١٢٣٤ is rendered with the most-significant digit on the left. Never reverse digit order.
58
+ - **Media player controls** - play, pause, rewind, and fast-forward icons on a video player represent time-based operations on a fixed universal timeline, not reading direction. A play button always points right; a rewind button always points left. These are not mirrored.
59
+ - **Phone numbers** - telephone numbers are always rendered in their conventional digit sequence, which is LTR. Wrapping a phone number in `<bdi>` ensures it is never accidentally reversed by the Unicode bidirectional algorithm.
60
+ - **Prices and currency** - numeric amounts are LTR. Currency symbol position relative to the number is locale-determined (see Section 6), but the number itself reads left-to-right.
61
+ - **Logos and wordmarks** - brand assets are not mirrored.
62
+ - **Non-directional icons** - a star, a heart, a close (×) icon, a settings gear, or a user avatar carries no inherent directional meaning and must never be flipped.
63
+ - **Maps and geographic imagery** - compass orientation is universal.
64
+ - **Mathematical and scientific notation** - equations, formulas, and scientific symbols always render LTR.
65
65
 
66
66
  ### Mirroring Icons with CSS
67
67
 
@@ -77,7 +77,7 @@ This approach means a single SVG asset handles both directions. The `scaleX(-1)`
77
77
 
78
78
  ### `writing-mode` for Vertical Text
79
79
 
80
- CSS `writing-mode: vertical-rl` or `writing-mode: vertical-lr` enables vertical text layout, which is a feature of CJK typographic tradition Chinese, Japanese, and Korean texts are often composed in vertical columns reading top-to-bottom, right-to-left. This property must never be applied to Arabic, Hebrew, or other RTL scripts. RTL scripts run horizontally; vertical RTL text is not a standard typographic form and will produce illegible results.
80
+ CSS `writing-mode: vertical-rl` or `writing-mode: vertical-lr` enables vertical text layout, which is a feature of CJK typographic tradition - Chinese, Japanese, and Korean texts are often composed in vertical columns reading top-to-bottom, right-to-left. This property must never be applied to Arabic, Hebrew, or other RTL scripts. RTL scripts run horizontally; vertical RTL text is not a standard typographic form and will produce illegible results.
81
81
 
82
82
  ---
83
83
 
@@ -89,7 +89,7 @@ Chinese, Japanese, and Korean scripts have typographic properties that differ su
89
89
 
90
90
  CJK body text requires a line height of 1.5–1.8 times the font size. This range is tighter than the commonly cited 1.4–1.6 recommendation for Western Latin text, but the reason is different: CJK glyphs occupy a larger proportion of the em square, and their visual density is higher. Without adequate line height, the visual "color" of a CJK text block becomes oppressively dark and the vertical rhythm collapses.
91
91
 
92
- The practical implication is that a product which sets `line-height: 1.4` globally a common default for English body copy will produce overly tight CJK text that readers find fatiguing. Set the line height per locale or per language in the CSS, either using lang-based selectors or by applying a CSS class that is added to `<html>` alongside the lang attribute:
92
+ The practical implication is that a product which sets `line-height: 1.4` globally - a common default for English body copy - will produce overly tight CJK text that readers find fatiguing. Set the line height per locale or per language in the CSS, either using lang-based selectors or by applying a CSS class that is added to `<html>` alongside the lang attribute:
93
93
 
94
94
  ```css
95
95
  :lang(zh), :lang(ja), :lang(ko) {
@@ -99,7 +99,7 @@ The practical implication is that a product which sets `line-height: 1.4` global
99
99
 
100
100
  ### Text Justification
101
101
 
102
- Never apply `text-align: justify` to CJK text without a CJK-aware justification engine. Standard CSS justification distributes whitespace between words. In Latin text, this adds space at word boundaries. In CJK text, there are no word boundaries in the typographic sense each character is individually spaced so browsers that lack CJK justification awareness either do nothing (most browsers) or distribute space in ways that create rivers of whitespace and uneven optical density. The correct CJK text alignment is `text-align: start` (which resolves to right-aligned in RTL contexts) or explicit `text-align: left` for horizontally presented CJK.
102
+ Never apply `text-align: justify` to CJK text without a CJK-aware justification engine. Standard CSS justification distributes whitespace between words. In Latin text, this adds space at word boundaries. In CJK text, there are no word boundaries in the typographic sense - each character is individually spaced - so browsers that lack CJK justification awareness either do nothing (most browsers) or distribute space in ways that create rivers of whitespace and uneven optical density. The correct CJK text alignment is `text-align: start` (which resolves to right-aligned in RTL contexts) or explicit `text-align: left` for horizontally presented CJK.
103
103
 
104
104
  CSS Text Level 4 introduces `text-justify: inter-character`, which does handle CJK justification correctly, but browser support is still partial. Until it is universally available, avoid justified CJK text entirely.
105
105
 
@@ -131,13 +131,13 @@ PingFang (SC and TC variants) ships on macOS and iOS. Microsoft YaHei and JhengH
131
131
 
132
132
  ### Font Size Floor
133
133
 
134
- Never render CJK body text below 14px. CJK glyphs have a high stroke complexity a single character may contain dozens of strokes at different angles. At sizes below 14px, strokes begin to merge or disappear on non-retina displays, turning legible characters into ambiguous blobs. This is a more severe legibility failure than occurs with Latin text at small sizes, because a misread Latin letter rarely causes complete meaning loss; a misread CJK character can change the meaning of an entire sentence.
134
+ Never render CJK body text below 14px. CJK glyphs have a high stroke complexity - a single character may contain dozens of strokes at different angles. At sizes below 14px, strokes begin to merge or disappear on non-retina displays, turning legible characters into ambiguous blobs. This is a more severe legibility failure than occurs with Latin text at small sizes, because a misread Latin letter rarely causes complete meaning loss; a misread CJK character can change the meaning of an entire sentence.
135
135
 
136
136
  The minimum of 14px applies specifically to body text. Labels, captions, and supplementary text in dense interfaces may go as low as 12px only on retina displays where sub-pixel rendering provides adequate stroke clarity. Never go below 12px regardless of display density.
137
137
 
138
138
  ### Word Breaking
139
139
 
140
- Use `word-break: break-all` for CJK text. Because CJK scripts have no inter-word spaces, the browser has no natural break opportunities within a continuous run of characters. Without `word-break: break-all`, a long CJK string will overflow its container rather than wrapping. The `overflow-wrap: break-word` property alone is insufficient it only breaks at word boundaries, which do not exist in CJK.
140
+ Use `word-break: break-all` for CJK text. Because CJK scripts have no inter-word spaces, the browser has no natural break opportunities within a continuous run of characters. Without `word-break: break-all`, a long CJK string will overflow its container rather than wrapping. The `overflow-wrap: break-word` property alone is insufficient - it only breaks at word boundaries, which do not exist in CJK.
141
141
 
142
142
  ```css
143
143
  :lang(zh), :lang(ja), :lang(ko) {
@@ -155,7 +155,7 @@ Arabic and Hebrew are both right-to-left scripts, but they have different typogr
155
155
 
156
156
  ### Arabic
157
157
 
158
- Arabic is a connected script letters in a word join to their neighbors, changing form based on their position (initial, medial, final, isolated). This means that inserting visual space between letters by manipulating `letter-spacing` does not merely change the tracking; it breaks the word by separating letterforms that are designed to connect. Never apply positive `letter-spacing` to Arabic text. The visual result is not "spaced Arabic" it is unreadable fragments.
158
+ Arabic is a connected script - letters in a word join to their neighbors, changing form based on their position (initial, medial, final, isolated). This means that inserting visual space between letters by manipulating `letter-spacing` does not merely change the tracking; it breaks the word by separating letterforms that are designed to connect. Never apply positive `letter-spacing` to Arabic text. The visual result is not "spaced Arabic" - it is unreadable fragments.
159
159
 
160
160
  Within an RTL context established by `dir="rtl"`, Arabic text should be aligned with `text-align: right` (or the logical equivalent `text-align: start`). Arabic text never uses `text-align: justify` for the same reasons as CJK, with the additional complication that letter connection makes justification even less reliable.
161
161
 
@@ -163,13 +163,13 @@ Font selection for Arabic requires fonts that include the full range of Arabic l
163
163
 
164
164
  ### Hebrew
165
165
 
166
- Hebrew is a right-to-left script with standalone glyphs letters do not connect to their neighbors. This means `letter-spacing` is safe to use for Hebrew text and can be used for aesthetic and readability purposes in the same way as Latin. This is a meaningful practical difference from Arabic, where the same property causes rendering failures.
166
+ Hebrew is a right-to-left script with standalone glyphs - letters do not connect to their neighbors. This means `letter-spacing` is safe to use for Hebrew text and can be used for aesthetic and readability purposes in the same way as Latin. This is a meaningful practical difference from Arabic, where the same property causes rendering failures.
167
167
 
168
168
  Hebrew text uses `text-align: right` (or `text-align: start`) within RTL context. Nikud (vowel diacritic marks) are used in some Hebrew contexts (children's books, prayer texts, poetry) but are absent in most digital UI text. Font stacks for Hebrew should include "David", "Arial Hebrew", or "Noto Sans Hebrew" as fallbacks.
169
169
 
170
170
  ### Bidirectional Text
171
171
 
172
- Mixed RTL and LTR content common when Arabic or Hebrew text includes embedded product names, URLs, user-entered numbers, or quoted Latin strings is handled by the Unicode Bidirectional Algorithm (UBA). The UBA resolves most cases correctly, but several scenarios require explicit markup:
172
+ Mixed RTL and LTR content - common when Arabic or Hebrew text includes embedded product names, URLs, user-entered numbers, or quoted Latin strings - is handled by the Unicode Bidirectional Algorithm (UBA). The UBA resolves most cases correctly, but several scenarios require explicit markup:
173
173
 
174
174
  **Use `<bdi>` for user-generated text** embedded within a known-direction sentence. If an Arabic interface displays a username that may be Latin, Hebrew, or Arabic, wrapping the username in `<bdi>` (bidirectional isolation) tells the browser to determine the username's direction independently rather than inheriting the surrounding RTL context. Without `<bdi>`, a Latin username in the middle of an Arabic sentence can cause the surrounding text to reflow incorrectly.
175
175
 
@@ -178,14 +178,14 @@ Mixed RTL and LTR content — common when Arabic or Hebrew text includes embedde
178
178
  <p dir="rtl">مرحباً <bdi>John_123</bdi>، كيف حالك؟</p>
179
179
  ```
180
180
 
181
- **Use Unicode control characters as a last resort** the LRE (U+202A), RLE (U+202B), LRO (U+202D), RLO (U+202E), and PDF (U+202C) marks can be embedded in plain-text strings where HTML markup is unavailable. However, these invisible characters can cause accessibility issues (screen readers may announce them) and complicate string manipulation. Prefer `<bdi>` and CSS `unicode-bidi` where markup is possible.
181
+ **Use Unicode control characters as a last resort** - the LRE (U+202A), RLE (U+202B), LRO (U+202D), RLO (U+202E), and PDF (U+202C) marks can be embedded in plain-text strings where HTML markup is unavailable. However, these invisible characters can cause accessibility issues (screen readers may announce them) and complicate string manipulation. Prefer `<bdi>` and CSS `unicode-bidi` where markup is possible.
182
182
 
183
183
  ### Quotation Marks
184
184
 
185
185
  Quotation conventions differ between Arabic and Hebrew:
186
186
 
187
187
  - **Arabic:** Uses guillemets `«»` (French-style double angle brackets) or decorative quotation marks `❝❞`. The simple `""` ASCII quotation marks are understood but considered informal.
188
- - **Hebrew:** Uses low-high marks `„"` the opening mark is low (double low-9 quotation mark, U+201E) and the closing mark is high (right double quotation mark, U+201C). This convention mirrors German usage.
188
+ - **Hebrew:** Uses low-high marks `„"` - the opening mark is low (double low-9 quotation mark, U+201E) and the closing mark is high (right double quotation mark, U+201C). This convention mirrors German usage.
189
189
 
190
190
  These distinctions matter for interfaces that generate quoted content programmatically, such as pull-quote components, testimonial blocks, or inline citation formatting.
191
191
 
@@ -203,11 +203,11 @@ Font recommendations for Devanagari include "Noto Sans Devanagari", "Mangal" (Wi
203
203
 
204
204
  ### Tamil
205
205
 
206
- Tamil is an abugida with complex conjunct characters and independent vowel signs. Compound characters can extend significantly above and below the typographic baseline, much like Devanagari. The same line-height minimum of 1.6 applies, and the same `overflow: hidden` caution holds. Tamil is used primarily in Tamil Nadu (India) and Sri Lanka, and its script is distinct from Hindi/Devanagari they are not related visually or phonologically. Font support for Tamil requires fonts including the Tamil Unicode block (U+0B80–U+0BFF), such as "Noto Sans Tamil" or the system font "Tamil Sangam MN" on Apple platforms.
206
+ Tamil is an abugida with complex conjunct characters and independent vowel signs. Compound characters can extend significantly above and below the typographic baseline, much like Devanagari. The same line-height minimum of 1.6 applies, and the same `overflow: hidden` caution holds. Tamil is used primarily in Tamil Nadu (India) and Sri Lanka, and its script is distinct from Hindi/Devanagari - they are not related visually or phonologically. Font support for Tamil requires fonts including the Tamil Unicode block (U+0B80–U+0BFF), such as "Noto Sans Tamil" or the system font "Tamil Sangam MN" on Apple platforms.
207
207
 
208
208
  ### Thai
209
209
 
210
- Thai uses a complex system of tonal marks and vowel signs that stack both above and below consonants. A single syllable may be represented by a consonant with a vowel above it and a tonal mark above that a three-layer vertical stack. This requires a minimum line height of 1.7 for Thai body text. Tighter line heights cause tonal marks from one line to overlap with the top of descenders from the line above, making the text visually inseparable.
210
+ Thai uses a complex system of tonal marks and vowel signs that stack both above and below consonants. A single syllable may be represented by a consonant with a vowel above it and a tonal mark above that - a three-layer vertical stack. This requires a minimum line height of 1.7 for Thai body text. Tighter line heights cause tonal marks from one line to overlap with the top of descenders from the line above, making the text visually inseparable.
211
211
 
212
212
  Thai text must never be converted to uppercase. While the CSS property `text-transform: uppercase` is sometimes applied globally (for example, to all navigation labels or button labels), Thai has no uppercase/lowercase distinction. Applying `text-transform: uppercase` to Thai text has no visible effect in some browsers and produces garbled output in others. If uppercase is applied globally, suppress it for Thai with a lang selector:
213
213
 
@@ -223,7 +223,7 @@ Font recommendations for Thai include "Thonburi" (Apple platforms), "Tahoma" and
223
223
 
224
224
  ## 5. Cultural Color Meanings
225
225
 
226
- Color carries cultural meaning that varies substantially across regions and traditions. A color that signals celebration and good fortune in one culture may signal mourning or danger in another. Design decisions that use color to communicate meaning success, warning, premium status, pricing must account for these associations, particularly in contexts where the product is being localized rather than merely translated.
226
+ Color carries cultural meaning that varies substantially across regions and traditions. A color that signals celebration and good fortune in one culture may signal mourning or danger in another. Design decisions that use color to communicate meaning - success, warning, premium status, pricing - must account for these associations, particularly in contexts where the product is being localized rather than merely translated.
227
227
 
228
228
  The table below documents the primary cultural associations for six key colors across major global markets. These are dominant conventional associations, not universal truths; individual variation always exists within any culture.
229
229
 
@@ -240,17 +240,17 @@ The table below documents the primary cultural associations for six key colors a
240
240
 
241
241
  These associations have direct implications for product design decisions. A "success" state that uses green with white text works well in Western European markets but is potentially jarring in contexts where white signals mourning. A premium tier that uses gold/yellow resonates strongly in Chinese, Indian, and Islamic contexts. Red as a primary brand color is highly positive in China but primarily reads as warning or danger in Western UI conventions.
242
242
 
243
- When localizing a design system, audit the semantic color tokens (success, warning, error, premium, notification) and verify that the chosen colors do not carry strongly negative associations in the target market. This does not always require changing the color it may require pairing the color with additional typographic or iconographic signals that reinforce the intended meaning independently of the color.
243
+ When localizing a design system, audit the semantic color tokens (success, warning, error, premium, notification) and verify that the chosen colors do not carry strongly negative associations in the target market. This does not always require changing the color - it may require pairing the color with additional typographic or iconographic signals that reinforce the intended meaning independently of the color.
244
244
 
245
245
  ---
246
246
 
247
247
  ## 6. Number, Date, and Currency Formatting
248
248
 
249
- Number and date formatting is one of the most frequently implemented incorrectly. The temptation to format numbers manually a `.toFixed(2)` here, a `.replace('.', ',')` there produces fragile code that breaks for edge cases (negative numbers, very large numbers, non-standard locales) and requires constant maintenance as markets are added. The correct approach uses the browser's `Intl` API universally and unconditionally.
249
+ Number and date formatting is one of the most frequently implemented incorrectly. The temptation to format numbers manually - a `.toFixed(2)` here, a `.replace('.', ',')` there - produces fragile code that breaks for edge cases (negative numbers, very large numbers, non-standard locales) and requires constant maintenance as markets are added. The correct approach uses the browser's `Intl` API universally and unconditionally.
250
250
 
251
251
  ### Number Formatting with `Intl.NumberFormat`
252
252
 
253
- The `Intl.NumberFormat` constructor accepts a locale string and an options object and handles all locale-specific separators, decimal marks, and digit systems:
253
+ The `Intl.NumberFormat` function Object() { [native code] } accepts a locale string and an options object and handles all locale-specific separators, decimal marks, and digit systems:
254
254
 
255
255
  ```js
256
256
  // US: "1,234,567.89"
@@ -316,7 +316,7 @@ Do not attempt to replicate this logic manually. The `Intl` API encodes the corr
316
316
 
317
317
  ## 7. Inclusive Imagery
318
318
 
319
- Visual imagery in products communicates assumptions about who the product is for. When all human figures in a product's illustration system share the same skin tone, body type, and cultural presentation, the implicit message is that other users are outside the intended audience. Inclusive imagery is not a cosmetic concern it is a fundamental signal about who the product treats as a default person.
319
+ Visual imagery in products communicates assumptions about who the product is for. When all human figures in a product's illustration system share the same skin tone, body type, and cultural presentation, the implicit message is that other users are outside the intended audience. Inclusive imagery is not a cosmetic concern - it is a fundamental signal about who the product treats as a default person.
320
320
 
321
321
  ### Skin Tone Representation
322
322
 
@@ -336,15 +336,15 @@ Avoid the common workaround of representing gender neutrality solely through an
336
336
 
337
337
  ### Ability and Assistive Technology
338
338
 
339
- People who use wheelchairs, prosthetic limbs, hearing aids, white canes, and other assistive devices are users, not exceptions. An illustration system that never depicts assistive technology is implicitly representing a world in which all users are non-disabled an inaccurate and exclusionary representation.
339
+ People who use wheelchairs, prosthetic limbs, hearing aids, white canes, and other assistive devices are users, not exceptions. An illustration system that never depicts assistive technology is implicitly representing a world in which all users are non-disabled - an inaccurate and exclusionary representation.
340
340
 
341
341
  Include assistive devices in diverse illustration sets at a proportion that reflects their real-world prevalence. This means that not every illustration must include a wheelchair user, but across the full illustration library, multiple instances should naturally appear. The presence of assistive technology in product imagery sends a clear signal to disabled users that the product has considered their existence. The absence sends the opposite signal.
342
342
 
343
- When depicting wheelchair users, hearing aid users, or prosthetic users, represent them as doing the same things as other users in the illustration completing tasks, experiencing success states, using the product in its intended context. Avoid representations that isolate disability as a subject of the illustration rather than incidental to the depicted activity.
343
+ When depicting wheelchair users, hearing aid users, or prosthetic users, represent them as doing the same things as other users in the illustration - completing tasks, experiencing success states, using the product in its intended context. Avoid representations that isolate disability as a subject of the illustration rather than incidental to the depicted activity.
344
344
 
345
345
  ### Cultural Dress and Representation
346
346
 
347
- Technical and professional product imagery should default to contemporary clothing that reflects the actual dress of people who work in modern professional contexts, which is globally diverse. Reducing cultural representation to traditional or ceremonial dress the turban as a shorthand for South Asian identity, the kimono as a shorthand for Japanese identity reduces rich cultural identities to costume.
347
+ Technical and professional product imagery should default to contemporary clothing that reflects the actual dress of people who work in modern professional contexts, which is globally diverse. Reducing cultural representation to traditional or ceremonial dress - the turban as a shorthand for South Asian identity, the kimono as a shorthand for Japanese identity - reduces rich cultural identities to costume.
348
348
 
349
349
  When contemporary clothing is depicted, it should reflect the actual diversity of how people dress globally: headscarves and hijabs worn by Muslim women are contemporary professional dress, not traditional costume. Saris worn in professional contexts are contemporary professional dress. The standard should be that each depicted person is dressed in a way that is accurate to how a person from their apparent background might actually dress in the context being depicted, not in a way that telegraphs their cultural identity as a distinguishing marker.
350
350
 
@@ -1,12 +1,12 @@
1
- # Runtime Models Per-Runtime Tier→Model Adapter Map
1
+ # Runtime Models - Per-Runtime Tier→Model Adapter Map
2
2
 
3
3
  **Phase 26 source-of-truth (D-01).** Single canonical map from canonical Anthropic tier names (`opus|sonnet|haiku`) and runtime-neutral reasoning-class aliases (`high|medium|low`, D-10) to concrete model identifiers for each of the 14 runtimes the multi-runtime installer ships to (Phase 24 D-02).
4
4
 
5
5
  This file is parsed by `scripts/lib/install/parse-runtime-models.cjs` and consumed by:
6
6
 
7
- - `scripts/lib/tier-resolver.cjs` (26-02) runtime tier resolution (`resolve(runtime, tier) → model`).
8
- - `scripts/lib/install/installer.cjs` (26-03) emits `models.json` per runtime config-dir at install time.
9
- - `hooks/budget-enforcer.ts` + `scripts/lib/budget-enforcer.cjs` (26-05) concrete model name for cost lookup.
7
+ - `scripts/lib/tier-resolver.cjs` (26-02) - runtime tier resolution (`resolve(runtime, tier) → model`).
8
+ - `scripts/lib/install/installer.cjs` (26-03) - emits `models.json` per runtime config-dir at install time.
9
+ - `hooks/budget-enforcer.ts` + `scripts/lib/budget-enforcer.cjs` (26-05) - concrete model name for cost lookup.
10
10
 
11
11
  **Strict schema** (D-03): each runtime block is a fenced `json` code block validated against `reference/schemas/runtime-models.schema.json`. Schema version is locked at `1` until a breaking change forces a version bump.
12
12
 
@@ -26,7 +26,7 @@ This file is parsed by `scripts/lib/install/parse-runtime-models.cjs` and consum
26
26
 
27
27
  ---
28
28
 
29
- ## claude Claude Code
29
+ ## claude - Claude Code
30
30
 
31
31
  Anthropic's first-party runtime. Public tier docs at https://docs.anthropic.com/en/docs/about-claude/models. Seed picks per CONTEXT.md D-02.
32
32
 
@@ -56,7 +56,7 @@ Anthropic's first-party runtime. Public tier docs at https://docs.anthropic.com/
56
56
 
57
57
  ---
58
58
 
59
- ## codex OpenAI Codex CLI
59
+ ## codex - OpenAI Codex CLI
60
60
 
61
61
  OpenAI's Codex CLI runtime. Public tier docs at https://platform.openai.com/docs/models. Seed picks per CONTEXT.md D-02.
62
62
 
@@ -86,7 +86,7 @@ OpenAI's Codex CLI runtime. Public tier docs at https://platform.openai.com/docs
86
86
 
87
87
  ---
88
88
 
89
- ## gemini Gemini CLI
89
+ ## gemini - Gemini CLI
90
90
 
91
91
  Google's Gemini CLI runtime. Public tier docs at https://ai.google.dev/gemini-api/docs/models. Seed picks per CONTEXT.md D-02.
92
92
 
@@ -116,7 +116,7 @@ Google's Gemini CLI runtime. Public tier docs at https://ai.google.dev/gemini-ap
116
116
 
117
117
  ---
118
118
 
119
- ## qwen Qwen Code
119
+ ## qwen - Qwen Code
120
120
 
121
121
  Alibaba's Qwen Code runtime. Public tier docs at https://github.com/QwenLM/qwen-code. Seed picks per CONTEXT.md D-02.
122
122
 
@@ -146,9 +146,9 @@ Alibaba's Qwen Code runtime. Public tier docs at https://github.com/QwenLM/qwen-
146
146
 
147
147
  ---
148
148
 
149
- ## kilo Kilo Code
149
+ ## kilo - Kilo Code
150
150
 
151
- Kilo Code adapter multi-provider, Anthropic-default fill until runtime-author docs confirm. Researcher fill needed (CONTEXT.md D-02).
151
+ Kilo Code adapter - multi-provider, Anthropic-default fill until runtime-author docs confirm. Researcher fill needed (CONTEXT.md D-02).
152
152
 
153
153
  ```json
154
154
  {
@@ -176,9 +176,9 @@ Kilo Code adapter — multi-provider, Anthropic-default fill until runtime-autho
176
176
 
177
177
  ---
178
178
 
179
- ## copilot GitHub Copilot CLI
179
+ ## copilot - GitHub Copilot CLI
180
180
 
181
- GitHub Copilot CLI multi-provider routing under the hood. Researcher fill needed (CONTEXT.md D-02).
181
+ GitHub Copilot CLI - multi-provider routing under the hood. Researcher fill needed (CONTEXT.md D-02).
182
182
 
183
183
  ```json
184
184
  {
@@ -206,9 +206,9 @@ GitHub Copilot CLI — multi-provider routing under the hood. Researcher fill ne
206
206
 
207
207
  ---
208
208
 
209
- ## cursor Cursor
209
+ ## cursor - Cursor
210
210
 
211
- Cursor IDE/CLI multi-provider routing. Researcher fill needed (CONTEXT.md D-02).
211
+ Cursor IDE/CLI - multi-provider routing. Researcher fill needed (CONTEXT.md D-02).
212
212
 
213
213
  ```json
214
214
  {
@@ -236,9 +236,9 @@ Cursor IDE/CLI — multi-provider routing. Researcher fill needed (CONTEXT.md D-
236
236
 
237
237
  ---
238
238
 
239
- ## windsurf Windsurf
239
+ ## windsurf - Windsurf
240
240
 
241
- Windsurf (formerly Codeium) multi-provider Cascade router. Researcher fill needed (CONTEXT.md D-02).
241
+ Windsurf (formerly Codeium) - multi-provider Cascade router. Researcher fill needed (CONTEXT.md D-02).
242
242
 
243
243
  ```json
244
244
  {
@@ -266,9 +266,9 @@ Windsurf (formerly Codeium) — multi-provider Cascade router. Researcher fill n
266
266
 
267
267
  ---
268
268
 
269
- ## antigravity Antigravity
269
+ ## antigravity - Antigravity
270
270
 
271
- Antigravity Google's agentic coding platform. Researcher fill needed (CONTEXT.md D-02).
271
+ Antigravity - Google's agentic coding platform. Researcher fill needed (CONTEXT.md D-02).
272
272
 
273
273
  ```json
274
274
  {
@@ -296,9 +296,9 @@ Antigravity — Google's agentic coding platform. Researcher fill needed (CONTEX
296
296
 
297
297
  ---
298
298
 
299
- ## augment Augment
299
+ ## augment - Augment
300
300
 
301
- Augment Code multi-provider agentic IDE. Researcher fill needed (CONTEXT.md D-02).
301
+ Augment Code - multi-provider agentic IDE. Researcher fill needed (CONTEXT.md D-02).
302
302
 
303
303
  ```json
304
304
  {
@@ -326,9 +326,9 @@ Augment Code — multi-provider agentic IDE. Researcher fill needed (CONTEXT.md
326
326
 
327
327
  ---
328
328
 
329
- ## trae Trae
329
+ ## trae - Trae
330
330
 
331
- Trae single-model session runtime per CONTEXT.md D-02 example. `single_tier: true` annotates the row. Researcher fill needed.
331
+ Trae - single-model session runtime per CONTEXT.md D-02 example. `single_tier: true` annotates the row. Researcher fill needed.
332
332
 
333
333
  ```json
334
334
  {
@@ -357,9 +357,9 @@ Trae — single-model session runtime per CONTEXT.md D-02 example. `single_tier:
357
357
 
358
358
  ---
359
359
 
360
- ## codebuddy CodeBuddy
360
+ ## codebuddy - CodeBuddy
361
361
 
362
- CodeBuddy (Tencent) multi-provider routing. Researcher fill needed (CONTEXT.md D-02).
362
+ CodeBuddy (Tencent) - multi-provider routing. Researcher fill needed (CONTEXT.md D-02).
363
363
 
364
364
  ```json
365
365
  {
@@ -387,9 +387,9 @@ CodeBuddy (Tencent) — multi-provider routing. Researcher fill needed (CONTEXT.
387
387
 
388
388
  ---
389
389
 
390
- ## cline Cline
390
+ ## cline - Cline
391
391
 
392
- Cline (formerly Claude Dev) multi-provider VS Code agent. Researcher fill needed (CONTEXT.md D-02).
392
+ Cline (formerly Claude Dev) - multi-provider VS Code agent. Researcher fill needed (CONTEXT.md D-02).
393
393
 
394
394
  ```json
395
395
  {
@@ -417,9 +417,9 @@ Cline (formerly Claude Dev) — multi-provider VS Code agent. Researcher fill ne
417
417
 
418
418
  ---
419
419
 
420
- ## opencode OpenCode
420
+ ## opencode - OpenCode
421
421
 
422
- OpenCode open-source AI coding agent, BYOK multi-provider. Researcher fill needed (CONTEXT.md D-02).
422
+ OpenCode - open-source AI coding agent, BYOK multi-provider. Researcher fill needed (CONTEXT.md D-02).
423
423
 
424
424
  ```json
425
425
  {