@litfamily/lithermes 1.0.7 → 1.0.9

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 (652) hide show
  1. package/README.md +299 -13
  2. package/README_Ko-KR.md +300 -14
  3. package/assets/lithermes-plugin/README.md +17 -6
  4. package/assets/lithermes-plugin/__init__.py +96 -21
  5. package/assets/lithermes-plugin/core.py +15 -6
  6. package/assets/lithermes-plugin/core_commands.py +140 -28
  7. package/assets/lithermes-plugin/core_contexts.py +88 -15
  8. package/assets/lithermes-plugin/core_contract.py +118 -9
  9. package/assets/lithermes-plugin/core_routing.py +197 -8
  10. package/assets/lithermes-plugin/deliverable_hedge_guard.py +378 -357
  11. package/assets/lithermes-plugin/diagnostics.py +76 -8
  12. package/assets/lithermes-plugin/humanizer_detector.py +348 -0
  13. package/assets/lithermes-plugin/humanizer_ko_metrics.py +108 -0
  14. package/assets/lithermes-plugin/humanizer_office.py +18 -0
  15. package/assets/lithermes-plugin/lit_mark.py +1 -1
  16. package/assets/lithermes-plugin/motion_receipts.py +80 -0
  17. package/assets/lithermes-plugin/payload-version.json +2240 -64
  18. package/assets/lithermes-plugin/plugin.yaml +1 -1
  19. package/assets/lithermes-plugin/rules/bundled-rules/lit-humanizer.md +14 -0
  20. package/assets/lithermes-plugin/skills/autoconference/assets/report_template.md +2 -1
  21. package/assets/lithermes-plugin/skills/autoconference/modes/ship/SKILL.md +11 -8
  22. package/assets/lithermes-plugin/skills/autoresearch/modes/ship/type-checklists.md +2 -2
  23. package/assets/lithermes-plugin/skills/browser-drive/ORIGIN.json +17 -0
  24. package/assets/lithermes-plugin/skills/browser-drive/SKILL.md +41 -16
  25. package/assets/lithermes-plugin/skills/browser-drive/scripts/capability_probe.py +122 -10
  26. package/assets/lithermes-plugin/skills/frontend-ui-ux/SKILL.md +45 -13
  27. package/assets/lithermes-plugin/skills/frontend-ui-ux/examples/phase-3-readme-ab/README.md +51 -0
  28. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/README.md +44 -0
  29. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/adaptive-layout.md +34 -62
  30. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/brand-and-imagery.md +22 -70
  31. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/complete-contract.md +18 -4
  32. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/composition.md +27 -78
  33. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/craft-floor.md +74 -0
  34. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/creative-directions.md +25 -69
  35. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/evidence-review.md +18 -97
  36. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/implementation-platforms.md +23 -83
  37. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/inclusive-interface.md +22 -70
  38. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/interaction-motion.md +34 -68
  39. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/motion-guide.md +62 -0
  40. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/operating-lanes.md +14 -78
  41. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/performance-delivery.md +22 -71
  42. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/product-direction.md +17 -70
  43. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/production.md +19 -7
  44. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/redesign-playbook.md +23 -76
  45. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/slop-register.md +69 -0
  46. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/system-foundations.md +22 -67
  47. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/visual-language.md +16 -72
  48. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/visual-reconstruction.md +16 -81
  49. package/assets/lithermes-plugin/skills/frontend-ui-ux/resources/THIRD-PARTY-NOTICE.txt +15 -0
  50. package/assets/lithermes-plugin/skills/frontend-ui-ux/scripts/probe-page.js +311 -0
  51. package/assets/lithermes-plugin/skills/frontend-ui-ux/scripts/probe-rules.json +46 -0
  52. package/assets/lithermes-plugin/skills/frontend-ui-ux/scripts/probe.mjs +231 -0
  53. package/assets/lithermes-plugin/skills/lit-comprehend/SKILL.md +36 -25
  54. package/assets/lithermes-plugin/skills/lit-comprehend/references/artifact-template.md +45 -87
  55. package/assets/lithermes-plugin/skills/lit-comprehend/scripts/verify-explainer.py +3 -27
  56. package/assets/lithermes-plugin/skills/lit-diagram-drawer/NOTICE +33 -0
  57. package/assets/lithermes-plugin/skills/lit-diagram-drawer/SKILL.md +308 -0
  58. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-architecture-dark.html +1 -0
  59. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-architecture-full.html +1 -0
  60. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-architecture-light.html +1 -0
  61. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bar-dark.html +1 -0
  62. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bar-full.html +1 -0
  63. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bar-light.html +1 -0
  64. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-beeswarm-dark.html +1 -0
  65. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-beeswarm-full.html +1 -0
  66. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-beeswarm-light.html +1 -0
  67. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bubble-dark.html +1 -0
  68. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bubble-full.html +1 -0
  69. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bubble-light.html +1 -0
  70. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bump-dark.html +1 -0
  71. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bump-full.html +1 -0
  72. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bump-light.html +1 -0
  73. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-data-flow-dark.html +1 -0
  74. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-data-flow-full.html +1 -0
  75. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-data-flow-light.html +1 -0
  76. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-datalake-dark.html +1 -0
  77. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-datalake-full.html +1 -0
  78. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-datalake-light.html +1 -0
  79. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-db-schema-dark.html +1 -0
  80. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-db-schema-full.html +1 -0
  81. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-db-schema-light.html +1 -0
  82. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dependency-dark.html +1 -0
  83. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dependency-full.html +1 -0
  84. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dependency-light.html +1 -0
  85. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-deployment-dark.html +1 -0
  86. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-deployment-full.html +1 -0
  87. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-deployment-light.html +1 -0
  88. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dp-integration-dark.html +1 -0
  89. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dp-integration-full.html +1 -0
  90. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dp-integration-light.html +1 -0
  91. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dp-security-matrix-dark.html +1 -0
  92. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dp-security-matrix-full.html +1 -0
  93. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dp-security-matrix-light.html +1 -0
  94. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-er-dark.html +1 -0
  95. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-er-full.html +1 -0
  96. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-er-light.html +1 -0
  97. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-fishbone-dark.html +1 -0
  98. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-fishbone-full.html +1 -0
  99. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-fishbone-light.html +1 -0
  100. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-flowchart-dark.html +1 -0
  101. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-flowchart-full.html +1 -0
  102. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-flowchart-light.html +1 -0
  103. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-gantt-dark.html +1 -0
  104. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-gantt-full.html +1 -0
  105. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-gantt-light.html +1 -0
  106. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-heatmap-dark.html +1 -0
  107. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-heatmap-full.html +1 -0
  108. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-heatmap-light.html +1 -0
  109. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-dark.html +1 -0
  110. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-full.html +1 -0
  111. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-light.html +1 -0
  112. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-vertical-dark.html +1 -0
  113. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-vertical-full.html +1 -0
  114. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-vertical-light.html +1 -0
  115. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-drawio-dark.html +1 -0
  116. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-drawio-full.html +1 -0
  117. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-drawio-light.html +1 -0
  118. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-excalidraw-dark.html +1 -0
  119. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-excalidraw-full.html +1 -0
  120. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-excalidraw-light.html +1 -0
  121. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-mermaid-dark.html +1 -0
  122. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-mermaid-full.html +1 -0
  123. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-mermaid-light.html +1 -0
  124. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-it-state-dark.html +1 -0
  125. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-it-state-full.html +1 -0
  126. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-it-state-light.html +1 -0
  127. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-journey-dark.html +1 -0
  128. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-journey-full.html +1 -0
  129. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-journey-light.html +1 -0
  130. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-kanban-dark.html +1 -0
  131. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-kanban-full.html +1 -0
  132. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-kanban-light.html +1 -0
  133. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-layers-dark.html +1 -0
  134. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-layers-full.html +1 -0
  135. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-layers-light.html +1 -0
  136. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-line-dark.html +1 -0
  137. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-line-full.html +1 -0
  138. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-line-light.html +1 -0
  139. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-loop-dark.html +1 -0
  140. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-loop-full.html +1 -0
  141. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-loop-light.html +1 -0
  142. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-loop-terminal-dark.html +1 -0
  143. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-loop-terminal-full.html +1 -0
  144. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-loop-terminal-light.html +1 -0
  145. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-marimekko-dark.html +1 -0
  146. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-marimekko-full.html +1 -0
  147. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-marimekko-light.html +1 -0
  148. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-medallion-dark.html +1 -0
  149. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-medallion-full.html +1 -0
  150. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-medallion-light.html +1 -0
  151. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-nested-dark.html +1 -0
  152. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-nested-full.html +1 -0
  153. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-nested-light.html +1 -0
  154. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-org-chart-dark.html +1 -0
  155. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-org-chart-full.html +1 -0
  156. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-org-chart-light.html +1 -0
  157. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-paved-road-animated-dark.html +1 -0
  158. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-paved-road-animated-full.html +1 -0
  159. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-paved-road-animated-light.html +1 -0
  160. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-polar-dark.html +1 -0
  161. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-polar-full.html +1 -0
  162. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-polar-light.html +1 -0
  163. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-policy-trace-animated-dark.html +1 -0
  164. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-policy-trace-animated-full.html +1 -0
  165. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-policy-trace-animated-light.html +1 -0
  166. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-process-dark.html +1 -0
  167. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-process-full.html +1 -0
  168. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-process-light.html +1 -0
  169. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-pyramid-dark.html +1 -0
  170. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-pyramid-full.html +1 -0
  171. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-pyramid-light.html +1 -0
  172. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-consultant-dark.html +1 -0
  173. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-consultant-full.html +1 -0
  174. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-consultant-light.html +1 -0
  175. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-dark.html +1 -0
  176. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-full.html +1 -0
  177. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-light.html +1 -0
  178. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-queue-animated-dark.html +1 -0
  179. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-queue-animated-full.html +1 -0
  180. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-queue-animated-light.html +1 -0
  181. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-radar-dark.html +1 -0
  182. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-radar-full.html +1 -0
  183. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-radar-light.html +1 -0
  184. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-ridgeline-dark.html +1 -0
  185. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-ridgeline-full.html +1 -0
  186. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-ridgeline-light.html +1 -0
  187. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sankey-dark.html +1 -0
  188. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sankey-full.html +1 -0
  189. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sankey-light.html +1 -0
  190. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-scatter-dark.html +1 -0
  191. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-scatter-full.html +1 -0
  192. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-scatter-light.html +1 -0
  193. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-dark.html +1 -0
  194. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-full.html +1 -0
  195. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-light.html +1 -0
  196. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-oauth-dark.html +1 -0
  197. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-oauth-full.html +1 -0
  198. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-oauth-light.html +1 -0
  199. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-slopegraph-dark.html +1 -0
  200. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-slopegraph-full.html +1 -0
  201. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-slopegraph-light.html +1 -0
  202. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-state-dark.html +1 -0
  203. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-state-full.html +1 -0
  204. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-state-lifecycle-dark.html +1 -0
  205. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-state-lifecycle-full.html +1 -0
  206. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-state-lifecycle-light.html +1 -0
  207. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-state-light.html +1 -0
  208. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-story-map-dark.html +1 -0
  209. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-story-map-full.html +1 -0
  210. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-story-map-light.html +1 -0
  211. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-streamgraph-dark.html +1 -0
  212. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-streamgraph-full.html +1 -0
  213. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-streamgraph-light.html +1 -0
  214. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-swimlane-dark.html +1 -0
  215. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-swimlane-full.html +1 -0
  216. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-swimlane-light.html +1 -0
  217. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-timeline-dark.html +1 -0
  218. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-timeline-full.html +1 -0
  219. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-timeline-light.html +1 -0
  220. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-tree-block-decomposition-dark.html +1 -0
  221. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-tree-block-decomposition-full.html +1 -0
  222. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-tree-block-decomposition-light.html +1 -0
  223. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-tree-dark.html +1 -0
  224. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-tree-full.html +1 -0
  225. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-tree-light.html +1 -0
  226. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-treemap-dark.html +1 -0
  227. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-treemap-full.html +1 -0
  228. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-treemap-light.html +1 -0
  229. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-uml-class-dark.html +1 -0
  230. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-uml-class-full.html +1 -0
  231. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-uml-class-light.html +1 -0
  232. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-venn-dark.html +1 -0
  233. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-venn-full.html +1 -0
  234. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-venn-light.html +1 -0
  235. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-wardley-dark.html +1 -0
  236. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-wardley-full.html +1 -0
  237. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-wardley-light.html +1 -0
  238. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-waterfall-dark.html +1 -0
  239. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-waterfall-full.html +1 -0
  240. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-waterfall-light.html +1 -0
  241. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/fonts/OFL.txt +94 -0
  242. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/fonts/PretendardVariable.woff2 +0 -0
  243. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/fonts/provenance.json +22 -0
  244. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/icons.html +231 -0
  245. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/index.html +1 -0
  246. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/licenses/devicon-MIT.txt +20 -0
  247. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/licenses/diagram-design-MIT.txt +21 -0
  248. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/licenses/log-z-MIT.txt +21 -0
  249. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/licenses/simple-icons-CC0.md +30 -0
  250. package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/licenses/tabler-MIT.txt +21 -0
  251. package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/01-service-architecture/after.html +1 -0
  252. package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/01-service-architecture/brief.md +33 -0
  253. package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/02-release-decision/after.html +1 -0
  254. package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/02-release-decision/brief.md +18 -0
  255. package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/03-data-retention/after.html +1 -0
  256. package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/03-data-retention/brief.md +19 -0
  257. package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/04-oauth-sequence/after.html +1 -0
  258. package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/04-oauth-sequence/brief.md +17 -0
  259. package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/05-review-lanes/after.html +1 -0
  260. package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/05-review-lanes/brief.md +17 -0
  261. package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/06-rollout-gates/after.html +1 -0
  262. package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/06-rollout-gates/brief.md +17 -0
  263. package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/07-deployment-boundary/after.html +1 -0
  264. package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/07-deployment-boundary/brief.md +19 -0
  265. package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/08-policy-traces/after.html +1 -0
  266. package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/08-policy-traces/brief.md +20 -0
  267. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/accessibility.md +37 -0
  268. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/export.md +29 -0
  269. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/import-drawio.md +21 -0
  270. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/import-excalidraw.md +14 -0
  271. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/import-mermaid.md +18 -0
  272. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/import-schema.md +28 -0
  273. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/korean-typography.md +34 -0
  274. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/motion.md +29 -0
  275. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/office-pptx-docx.md +40 -0
  276. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/output-spec.md +48 -0
  277. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/primitive-annotation.md +12 -0
  278. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/primitive-icons.md +21 -0
  279. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/primitive-sketchy.md +11 -0
  280. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/primitive-terminal.md +11 -0
  281. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/profiles.md +24 -0
  282. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/semantic-patterns.md +27 -0
  283. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/style-guide.md +67 -0
  284. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-architecture.md +51 -0
  285. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-bar.md +51 -0
  286. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-beeswarm.md +49 -0
  287. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-bubble.md +49 -0
  288. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-bump.md +49 -0
  289. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-catalog.json +1433 -0
  290. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-data-flow.md +51 -0
  291. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-datalake.md +49 -0
  292. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-db-schema.md +49 -0
  293. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-dependency.md +49 -0
  294. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-deployment.md +49 -0
  295. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-dp-integration.md +49 -0
  296. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-dp-security-matrix.md +49 -0
  297. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-er.md +49 -0
  298. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-fishbone.md +49 -0
  299. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-flowchart.md +49 -0
  300. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-gantt.md +49 -0
  301. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-heatmap.md +53 -0
  302. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-high-level-vertical.md +53 -0
  303. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-high-level.md +53 -0
  304. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-import-drawio.md +53 -0
  305. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-import-excalidraw.md +53 -0
  306. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-import-mermaid.md +53 -0
  307. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-it-state.md +54 -0
  308. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-journey.md +54 -0
  309. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-kanban.md +54 -0
  310. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-layers.md +54 -0
  311. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-line.md +54 -0
  312. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-loop-terminal.md +53 -0
  313. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-loop.md +54 -0
  314. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-marimekko.md +54 -0
  315. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-medallion.md +54 -0
  316. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-nested.md +59 -0
  317. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-org-chart.md +58 -0
  318. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-paved-road-animated.md +72 -0
  319. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-polar.md +67 -0
  320. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-policy-trace-animated.md +69 -0
  321. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-process.md +58 -0
  322. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-pyramid.md +59 -0
  323. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-quadrant-consultant.md +60 -0
  324. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-quadrant.md +57 -0
  325. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-queue-animated.md +63 -0
  326. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-radar.md +57 -0
  327. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-ridgeline.md +63 -0
  328. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-sankey.md +68 -0
  329. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-scatter.md +60 -0
  330. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-sequence-oauth.md +66 -0
  331. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-sequence.md +63 -0
  332. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-slopegraph.md +65 -0
  333. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-state-lifecycle.md +53 -0
  334. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-state.md +59 -0
  335. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-story-map.md +52 -0
  336. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-streamgraph.md +53 -0
  337. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-swimlane.md +52 -0
  338. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-timeline.md +52 -0
  339. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-tree-block-decomposition.md +57 -0
  340. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-tree.md +54 -0
  341. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-treemap.md +54 -0
  342. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-uml-class.md +52 -0
  343. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-venn.md +51 -0
  344. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-wardley.md +52 -0
  345. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-waterfall.md +54 -0
  346. package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/verifier-guide.md +31 -0
  347. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/block-registry.mjs +43 -0
  348. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/browser-version.mjs +12 -0
  349. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/check-visible-text.py +12 -0
  350. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_brief.py +192 -0
  351. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_catalog.py +135 -0
  352. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_checks.py +123 -0
  353. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_cli.py +94 -0
  354. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_geometry.py +130 -0
  355. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_metrics.py +166 -0
  356. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_quality.py +293 -0
  357. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_quality_geometry.py +200 -0
  358. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_records.py +205 -0
  359. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_sequence.py +55 -0
  360. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/doctor.mjs +24 -0
  361. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/drawio_extract.py +209 -0
  362. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/drawio_source.py +188 -0
  363. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/excalidraw_extract.py +233 -0
  364. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/excalidraw_support.py +64 -0
  365. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/export.mjs +125 -0
  366. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/mermaid_extract.py +240 -0
  367. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/mermaid_source.py +39 -0
  368. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/office-safety.mjs +54 -0
  369. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/verify-all.py +12 -0
  370. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/verify-brief.py +12 -0
  371. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/verify-diagram.py +12 -0
  372. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/verify-motion.py +12 -0
  373. package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/verify-type.py +12 -0
  374. package/assets/lithermes-plugin/skills/lit-docx/NOTICE +1 -0
  375. package/assets/lithermes-plugin/skills/lit-docx/SKILL.md +97 -0
  376. package/assets/lithermes-plugin/skills/lit-docx/references/frontmatter_schema.md +42 -0
  377. package/assets/lithermes-plugin/skills/lit-docx/references/journal_style_spec.md +17 -0
  378. package/assets/lithermes-plugin/skills/lit-docx/references/markdown_quality_checklist.md +37 -0
  379. package/assets/lithermes-plugin/skills/lit-docx/references/slop_phrase_list.yaml +58 -0
  380. package/assets/lithermes-plugin/skills/lit-docx/references/slop_rules.md +35 -0
  381. package/assets/lithermes-plugin/skills/lit-docx/scripts/clean_markdown.py +95 -0
  382. package/assets/lithermes-plugin/skills/lit-docx/scripts/convert_md_to_docx.py +1041 -0
  383. package/assets/lithermes-plugin/skills/lit-docx/scripts/convert_md_to_pdf.py +281 -0
  384. package/assets/lithermes-plugin/skills/lit-docx/scripts/convert_pdf.py +130 -0
  385. package/assets/lithermes-plugin/skills/lit-docx/scripts/edit_docx.py +297 -0
  386. package/assets/lithermes-plugin/skills/lit-docx/scripts/embed_images.py +78 -0
  387. package/assets/lithermes-plugin/skills/lit-docx/scripts/generate_docx_templates.py +491 -0
  388. package/assets/lithermes-plugin/skills/lit-docx/scripts/slop_lint.py +536 -0
  389. package/assets/lithermes-plugin/skills/lit-docx/scripts/visual_audit.py +41 -0
  390. package/assets/lithermes-plugin/skills/lit-docx/templates/docx/acs.docx +0 -0
  391. package/assets/lithermes-plugin/skills/lit-docx/templates/docx/elsevier.docx +0 -0
  392. package/assets/lithermes-plugin/skills/lit-docx/templates/docx/ieee.docx +0 -0
  393. package/assets/lithermes-plugin/skills/lit-docx/templates/docx/korean-generic.docx +0 -0
  394. package/assets/lithermes-plugin/skills/lit-docx/templates/docx/nature.docx +0 -0
  395. package/assets/lithermes-plugin/skills/lit-docx/templates/latex/acs/README.md +5 -0
  396. package/assets/lithermes-plugin/skills/lit-docx/templates/latex/acs/template.tex +37 -0
  397. package/assets/lithermes-plugin/skills/lit-docx/templates/latex/elsevier/README.md +5 -0
  398. package/assets/lithermes-plugin/skills/lit-docx/templates/latex/elsevier/template.tex +38 -0
  399. package/assets/lithermes-plugin/skills/lit-docx/templates/latex/ieee/README.md +5 -0
  400. package/assets/lithermes-plugin/skills/lit-docx/templates/latex/ieee/template.tex +37 -0
  401. package/assets/lithermes-plugin/skills/lit-docx/templates/latex/korean-generic/README.md +5 -0
  402. package/assets/lithermes-plugin/skills/lit-docx/templates/latex/korean-generic/template.tex +37 -0
  403. package/assets/lithermes-plugin/skills/lit-docx/templates/latex/nature/README.md +5 -0
  404. package/assets/lithermes-plugin/skills/lit-docx/templates/latex/nature/template.tex +37 -0
  405. package/assets/lithermes-plugin/skills/lit-docx/templates/registry.yaml +1366 -0
  406. package/assets/lithermes-plugin/skills/lit-humanizer/NOTICE +170 -0
  407. package/assets/lithermes-plugin/skills/lit-humanizer/SKILL.md +125 -0
  408. package/assets/lithermes-plugin/skills/lit-humanizer/assets/report-skeleton.md +26 -0
  409. package/assets/lithermes-plugin/skills/lit-humanizer/assets/slide-text-skeleton.md +30 -0
  410. package/assets/lithermes-plugin/skills/lit-humanizer/examples/accessibility-note/after.md +7 -0
  411. package/assets/lithermes-plugin/skills/lit-humanizer/examples/accessibility-note/before.md +7 -0
  412. package/assets/lithermes-plugin/skills/lit-humanizer/examples/api-reference/after.md +9 -0
  413. package/assets/lithermes-plugin/skills/lit-humanizer/examples/api-reference/before.md +15 -0
  414. package/assets/lithermes-plugin/skills/lit-humanizer/examples/changelog/after.md +5 -0
  415. package/assets/lithermes-plugin/skills/lit-humanizer/examples/changelog/before.md +12 -0
  416. package/assets/lithermes-plugin/skills/lit-humanizer/examples/code-comments/after.md +10 -0
  417. package/assets/lithermes-plugin/skills/lit-humanizer/examples/code-comments/before.md +19 -0
  418. package/assets/lithermes-plugin/skills/lit-humanizer/examples/commit/after.md +5 -0
  419. package/assets/lithermes-plugin/skills/lit-humanizer/examples/commit/before.md +7 -0
  420. package/assets/lithermes-plugin/skills/lit-humanizer/examples/data-release/after.md +7 -0
  421. package/assets/lithermes-plugin/skills/lit-humanizer/examples/data-release/before.md +9 -0
  422. package/assets/lithermes-plugin/skills/lit-humanizer/examples/detector-validation/ko-metrics-golden.json +49 -0
  423. package/assets/lithermes-plugin/skills/lit-humanizer/examples/detector-validation/pos-real.txt +26 -0
  424. package/assets/lithermes-plugin/skills/lit-humanizer/examples/detector-validation/rule-cases.json +306 -0
  425. package/assets/lithermes-plugin/skills/lit-humanizer/examples/english-essay/after.md +5 -0
  426. package/assets/lithermes-plugin/skills/lit-humanizer/examples/english-essay/before.md +5 -0
  427. package/assets/lithermes-plugin/skills/lit-humanizer/examples/incident-update/after.md +7 -0
  428. package/assets/lithermes-plugin/skills/lit-humanizer/examples/incident-update/before.md +7 -0
  429. package/assets/lithermes-plugin/skills/lit-humanizer/examples/ko-essay/after.md +7 -0
  430. package/assets/lithermes-plugin/skills/lit-humanizer/examples/ko-essay/before.md +9 -0
  431. package/assets/lithermes-plugin/skills/lit-humanizer/examples/ko-report/after.md +9 -0
  432. package/assets/lithermes-plugin/skills/lit-humanizer/examples/ko-report/before.md +13 -0
  433. package/assets/lithermes-plugin/skills/lit-humanizer/examples/ko-slide/after.md +19 -0
  434. package/assets/lithermes-plugin/skills/lit-humanizer/examples/ko-slide/before.md +21 -0
  435. package/assets/lithermes-plugin/skills/lit-humanizer/examples/meeting-brief/after.md +9 -0
  436. package/assets/lithermes-plugin/skills/lit-humanizer/examples/meeting-brief/before.md +11 -0
  437. package/assets/lithermes-plugin/skills/lit-humanizer/examples/policy-faq/after.md +9 -0
  438. package/assets/lithermes-plugin/skills/lit-humanizer/examples/policy-faq/before.md +9 -0
  439. package/assets/lithermes-plugin/skills/lit-humanizer/examples/pr/after.md +15 -0
  440. package/assets/lithermes-plugin/skills/lit-humanizer/examples/pr/before.md +17 -0
  441. package/assets/lithermes-plugin/skills/lit-humanizer/examples/project-update/after.md +7 -0
  442. package/assets/lithermes-plugin/skills/lit-humanizer/examples/project-update/before.md +9 -0
  443. package/assets/lithermes-plugin/skills/lit-humanizer/examples/readme/after.md +12 -0
  444. package/assets/lithermes-plugin/skills/lit-humanizer/examples/readme/before.md +14 -0
  445. package/assets/lithermes-plugin/skills/lit-humanizer/examples/report/after.md +13 -0
  446. package/assets/lithermes-plugin/skills/lit-humanizer/examples/report/before.md +11 -0
  447. package/assets/lithermes-plugin/skills/lit-humanizer/examples/research-abstract/after.md +5 -0
  448. package/assets/lithermes-plugin/skills/lit-humanizer/examples/research-abstract/before.md +5 -0
  449. package/assets/lithermes-plugin/skills/lit-humanizer/examples/slides/after.md +19 -0
  450. package/assets/lithermes-plugin/skills/lit-humanizer/examples/slides/before.md +19 -0
  451. package/assets/lithermes-plugin/skills/lit-humanizer/examples/troubleshooting/after.md +11 -0
  452. package/assets/lithermes-plugin/skills/lit-humanizer/examples/troubleshooting/before.md +11 -0
  453. package/assets/lithermes-plugin/skills/lit-humanizer/references/README.md +16 -0
  454. package/assets/lithermes-plugin/skills/lit-humanizer/references/always-on-rule.md +9 -0
  455. package/assets/lithermes-plugin/skills/lit-humanizer/references/code-patterns.md +468 -0
  456. package/assets/lithermes-plugin/skills/lit-humanizer/references/deliverable-channels.md +111 -0
  457. package/assets/lithermes-plugin/skills/lit-humanizer/references/en-patterns-checklist.md +43 -0
  458. package/assets/lithermes-plugin/skills/lit-humanizer/references/en-patterns-content.md +243 -0
  459. package/assets/lithermes-plugin/skills/lit-humanizer/references/en-patterns-structure.md +375 -0
  460. package/assets/lithermes-plugin/skills/lit-humanizer/references/en-patterns.md +57 -0
  461. package/assets/lithermes-plugin/skills/lit-humanizer/references/ko-metrics.md +33 -0
  462. package/assets/lithermes-plugin/skills/lit-humanizer/references/ko-patterns-a-d.md +659 -0
  463. package/assets/lithermes-plugin/skills/lit-humanizer/references/ko-patterns-e-j.md +387 -0
  464. package/assets/lithermes-plugin/skills/lit-humanizer/references/ko-patterns.md +31 -0
  465. package/assets/lithermes-plugin/skills/lit-humanizer/references/rewrite-playbook.md +54 -0
  466. package/assets/lithermes-plugin/skills/lit-humanizer/references/taxonomy.md +153 -0
  467. package/assets/lithermes-plugin/skills/lit-humanizer/rules.json +884 -0
  468. package/assets/lithermes-plugin/skills/lit-humanizer/scripts/detect.py +17 -0
  469. package/assets/lithermes-plugin/skills/lit-humanizer/scripts/extract_office_text.py +114 -0
  470. package/assets/lithermes-plugin/skills/lit-humanizer/scripts/ko_metrics.py +35 -0
  471. package/assets/lithermes-plugin/skills/lit-pptx/NOTICE +1 -0
  472. package/assets/lithermes-plugin/skills/lit-pptx/SKILL.md +109 -0
  473. package/assets/lithermes-plugin/skills/lit-pptx/agents/analyst.md +49 -0
  474. package/assets/lithermes-plugin/skills/lit-pptx/agents/antithesis.md +65 -0
  475. package/assets/lithermes-plugin/skills/lit-pptx/agents/architect.md +44 -0
  476. package/assets/lithermes-plugin/skills/lit-pptx/agents/critic.md +42 -0
  477. package/assets/lithermes-plugin/skills/lit-pptx/agents/synthesizer.md +47 -0
  478. package/assets/lithermes-plugin/skills/lit-pptx/agents/thesis.md +33 -0
  479. package/assets/lithermes-plugin/skills/lit-pptx/assets/azure/circle-lg.png +0 -0
  480. package/assets/lithermes-plugin/skills/lit-pptx/assets/azure/circle-md.png +0 -0
  481. package/assets/lithermes-plugin/skills/lit-pptx/assets/azure/circle-sm.png +0 -0
  482. package/assets/lithermes-plugin/skills/lit-pptx/bin/office.mjs +77 -0
  483. package/assets/lithermes-plugin/skills/lit-pptx/fonts/PRETENDARD-OFL.txt +94 -0
  484. package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-Black.otf +0 -0
  485. package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-Bold.otf +0 -0
  486. package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-ExtraBold.otf +0 -0
  487. package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-ExtraLight.otf +0 -0
  488. package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-Light.otf +0 -0
  489. package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-Medium.otf +0 -0
  490. package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-Regular.otf +0 -0
  491. package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-SemiBold.otf +0 -0
  492. package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-Thin.otf +0 -0
  493. package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/OFL.txt +94 -0
  494. package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/SOURCE.md +29 -0
  495. package/assets/lithermes-plugin/skills/lit-pptx/pretendard-font/public/static/PretendardGOV-Bold.otf +0 -0
  496. package/assets/lithermes-plugin/skills/lit-pptx/pretendard-font/public/static/PretendardGOV-Regular.otf +0 -0
  497. package/assets/lithermes-plugin/skills/lit-pptx/references/anti-slop-checklist.md +71 -0
  498. package/assets/lithermes-plugin/skills/lit-pptx/references/authoring-guide.md +139 -0
  499. package/assets/lithermes-plugin/skills/lit-pptx/references/consensus-protocol.md +125 -0
  500. package/assets/lithermes-plugin/skills/lit-pptx/references/data-display-cookbook.md +45 -0
  501. package/assets/lithermes-plugin/skills/lit-pptx/references/design-system-azure.md +58 -0
  502. package/assets/lithermes-plugin/skills/lit-pptx/runtime/package-lock.json +750 -0
  503. package/assets/lithermes-plugin/skills/lit-pptx/runtime/package.json +15 -0
  504. package/assets/lithermes-plugin/skills/lit-pptx/runtime/requirements.in +7 -0
  505. package/assets/lithermes-plugin/skills/lit-pptx/runtime/requirements.lock +391 -0
  506. package/assets/lithermes-plugin/skills/lit-pptx/scripts/compile-deck.js +447 -0
  507. package/assets/lithermes-plugin/skills/lit-pptx/scripts/craft_extras.py +215 -0
  508. package/assets/lithermes-plugin/skills/lit-pptx/scripts/embed_fonts.py +199 -0
  509. package/assets/lithermes-plugin/skills/lit-pptx/scripts/integrity.py +60 -0
  510. package/assets/lithermes-plugin/skills/lit-pptx/scripts/inventory.py +64 -0
  511. package/assets/lithermes-plugin/skills/lit-pptx/scripts/learn_template.py +433 -0
  512. package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/derive-palette.js +176 -0
  513. package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/directive-parser.js +244 -0
  514. package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/font-map.js +79 -0
  515. package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/gen-bg.js +85 -0
  516. package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/gen-gradient-assets.js +36 -0
  517. package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/layout-resolver.js +736 -0
  518. package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/markdown-loader.js +136 -0
  519. package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/render-adapter-html.js +357 -0
  520. package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/render-adapter-pptx.js +1864 -0
  521. package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/slide-ast.js +539 -0
  522. package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/spec-validator.js +94 -0
  523. package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/template-registry.js +355 -0
  524. package/assets/lithermes-plugin/skills/lit-pptx/scripts/qa_deck.py +791 -0
  525. package/assets/lithermes-plugin/skills/lit-pptx/scripts/validate_pptx.py +206 -0
  526. package/assets/lithermes-plugin/skills/lit-pptx/slide-formats/markdown-slide-spec-v1.md +251 -0
  527. package/assets/lithermes-plugin/skills/lit-pptx/slide-formats/markdown-slide-spec-v2.md +221 -0
  528. package/assets/lithermes-plugin/skills/lit-pptx/slide-formats/slide-ast-v1.schema.json +229 -0
  529. package/assets/lithermes-plugin/skills/lit-pptx/slide-formats/slide-ast-v2.schema.json +144 -0
  530. package/assets/lithermes-plugin/skills/lit-pptx/slide-formats/template-enrollment-contract.md +228 -0
  531. package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/AZURE-A2Z/capabilities.yaml +146 -0
  532. package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/AZURE-A2Z/layout-mapping.yaml +384 -0
  533. package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/AZURE-A2Z/template.yaml +37 -0
  534. package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/AZURE-PRO/capabilities.yaml +154 -0
  535. package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/AZURE-PRO/layout-mapping.yaml +405 -0
  536. package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/AZURE-PRO/template.yaml +37 -0
  537. package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-A2Z/capabilities.yaml +179 -0
  538. package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-A2Z/layout-mapping.yaml +299 -0
  539. package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-A2Z/template.yaml +45 -0
  540. package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-PRETENDARD/capabilities.yaml +181 -0
  541. package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-PRETENDARD/layout-mapping.yaml +299 -0
  542. package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-PRETENDARD/template.yaml +44 -0
  543. package/assets/lithermes-plugin/skills/lit-scientific-visualization/SKILL.md +2 -0
  544. package/assets/lithermes-plugin/skills/lit-typographic-motion/SKILL.md +71 -0
  545. package/assets/lithermes-plugin/skills/lit-typographic-motion/bin/audio.py +45 -0
  546. package/assets/lithermes-plugin/skills/lit-typographic-motion/bin/motion.mjs +690 -0
  547. package/assets/lithermes-plugin/skills/lit-typographic-motion/bin/runtime.mjs +299 -0
  548. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/NOTICE +23 -0
  549. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/THIRD_PARTY_NOTICES +55 -0
  550. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/browser.mjs +169 -0
  551. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/completion.mjs +52 -0
  552. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/constants.mjs +162 -0
  553. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/director.mjs +33 -0
  554. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/encode.mjs +191 -0
  555. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/flash.mjs +163 -0
  556. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/frame.mjs +428 -0
  557. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/gate.mjs +483 -0
  558. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/look.mjs +223 -0
  559. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/page.js +622 -0
  560. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/presets.mjs +170 -0
  561. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/scenes.mjs +242 -0
  562. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/sound.mjs +382 -0
  563. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage-gate.mjs +97 -0
  564. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage-init.js +186 -0
  565. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage-kit.js +389 -0
  566. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage-qa.mjs +358 -0
  567. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage-worker.mjs +33 -0
  568. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage.mjs +691 -0
  569. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stills.mjs +71 -0
  570. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stroke.mjs +231 -0
  571. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/timeline.mjs +177 -0
  572. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/treatment.mjs +244 -0
  573. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/type.mjs +183 -0
  574. package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/util.mjs +152 -0
  575. package/assets/lithermes-plugin/skills/lit-typographic-motion/references/craft-loop.md +175 -0
  576. package/assets/lithermes-plugin/skills/lit-typographic-motion/references/engine-contract.md +166 -0
  577. package/assets/lithermes-plugin/skills/lit-typographic-motion/references/runtime.md +122 -0
  578. package/assets/lithermes-plugin/skills/lit-typographic-motion/references/stage.md +261 -0
  579. package/assets/lithermes-plugin/skills/lit-typographic-motion/references/style-bibles.md +122 -0
  580. package/assets/lithermes-plugin/skills/lit-typographic-motion/references/treatment.md +164 -0
  581. package/assets/lithermes-plugin/skills/lit-typographic-motion/references/type-craft.md +92 -0
  582. package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/fonts.json +154 -0
  583. package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/licenses/CREDITS +20 -0
  584. package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/licenses/EMS-OFL.txt +91 -0
  585. package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/package-lock.json +88 -0
  586. package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/package.json +12 -0
  587. package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/requirements.in +1 -0
  588. package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/requirements.lock +727 -0
  589. package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/word-timing.json +9 -0
  590. package/assets/lithermes-plugin/skills/litresearch/SKILL.md +19 -18
  591. package/assets/lithermes-plugin/skills/litwork/SKILL.md +28 -0
  592. package/assets/lithermes-plugin/skills/visual-qa/references/complete-contract.md +3 -3
  593. package/package.json +1 -1
  594. package/readme-assets/ab-simple/s11-ui-baseline-desktop.webp +0 -0
  595. package/readme-assets/ab-simple/s11-ui-lithermes-desktop.webp +0 -0
  596. package/readme-assets/ab-simple/s3-ui-baseline-desktop.webp +0 -0
  597. package/readme-assets/ab-simple/s3-ui-lithermes-desktop.webp +0 -0
  598. package/readme-assets/ab-simple/s4-ui-baseline-desktop.webp +0 -0
  599. package/readme-assets/ab-simple/s4-ui-lithermes-desktop.webp +0 -0
  600. package/readme-assets/ab-simple/s5-office-baseline-slides.webp +0 -0
  601. package/readme-assets/ab-simple/s5-office-lithermes-slides.webp +0 -0
  602. package/readme-assets/ab-simple/s7-lithermes-diagram.webp +0 -0
  603. package/readme-assets/ab-simple/s8-office-baseline-slides.webp +0 -0
  604. package/readme-assets/ab-simple/s8-office-lithermes-slides.webp +0 -0
  605. package/readme-assets/ab-simple/s9-office-lithermes-pages.webp +0 -0
  606. package/readme-assets/badge-version.svg +1 -1
  607. package/readme-assets/cover-motion-still.webp +0 -0
  608. package/readme-assets/cover-motion.webp +0 -0
  609. package/readme-assets/skills/autoconference.webp +0 -0
  610. package/readme-assets/skills/autoresearch.webp +0 -0
  611. package/readme-assets/skills/browser-drive.webp +0 -0
  612. package/readme-assets/skills/comment-checker.webp +0 -0
  613. package/readme-assets/skills/debugging.webp +0 -0
  614. package/readme-assets/skills/deep-interview.webp +0 -0
  615. package/readme-assets/skills/frontend-ui-ux.webp +0 -0
  616. package/readme-assets/skills/lit-burnoff-file.webp +0 -0
  617. package/readme-assets/skills/lit-burnoff.webp +0 -0
  618. package/readme-assets/skills/lit-code.webp +0 -0
  619. package/readme-assets/skills/lit-commit.webp +0 -0
  620. package/readme-assets/skills/lit-comprehend.webp +0 -0
  621. package/readme-assets/skills/lit-crucible.webp +0 -0
  622. package/readme-assets/skills/lit-diagram-drawer.webp +0 -0
  623. package/readme-assets/skills/lit-docx.webp +0 -0
  624. package/readme-assets/skills/lit-handoff.webp +0 -0
  625. package/readme-assets/skills/lit-humanizer.webp +0 -0
  626. package/readme-assets/skills/lit-init.webp +0 -0
  627. package/readme-assets/skills/lit-plan.webp +0 -0
  628. package/readme-assets/skills/lit-pptx.webp +0 -0
  629. package/readme-assets/skills/lit-recap.webp +0 -0
  630. package/readme-assets/skills/lit-scientific-visualization.webp +0 -0
  631. package/readme-assets/skills/lit-typographic-motion.webp +0 -0
  632. package/readme-assets/skills/litgoal.webp +0 -0
  633. package/readme-assets/skills/litresearch.webp +0 -0
  634. package/readme-assets/skills/litwork.webp +0 -0
  635. package/readme-assets/skills/lsp-setup.webp +0 -0
  636. package/readme-assets/skills/lsp.webp +0 -0
  637. package/readme-assets/skills/readme-studio.webp +0 -0
  638. package/readme-assets/skills/refactor.webp +0 -0
  639. package/readme-assets/skills/review-work.webp +0 -0
  640. package/readme-assets/skills/rules.webp +0 -0
  641. package/readme-assets/skills/start-work.webp +0 -0
  642. package/readme-assets/skills/structural-search.webp +0 -0
  643. package/readme-assets/skills/visual-qa.webp +0 -0
  644. package/readme-assets/skills/wikify.webp +0 -0
  645. package/src/cli.js +40 -1
  646. package/src/lib/check.js +21 -0
  647. package/src/lib/install.js +262 -7
  648. package/src/lib/skillPayload.js +3 -3
  649. package/assets/lithermes-plugin/skills/lit-korean/SKILL.md +0 -237
  650. package/assets/lithermes-plugin/skills/lit-korean/references/quick-rules.md +0 -24
  651. package/assets/lithermes-plugin/skills/lit-korean/references/safety-checklist.md +0 -23
  652. package/readme-assets/cover.webp +0 -0
@@ -0,0 +1,69 @@
1
+ # Slop register
2
+
3
+ Scan the rendered surface before making a taste judgment. DET rows are observable signals; a JUDG or DET-assist row is a prompt for a reviewer, never an automatic verdict. Fix the underlying repetition, empty decoration, or fake content in the cheapest order: delete, use the platform, reuse an existing design value, correct the value, then add. A brand rationale or real data binding may make a visual signal intentional; record that evidence rather than suppressing the signal.
4
+
5
+ | Rule | Signal | Method | Threshold | Severity | Cheapest relevant fix |
6
+ | --- | --- | --- | --- | --- | --- |
7
+ | SLOP-001 | Cloned split-hero repetition | DET | run length ≥ 3 consecutive sections | MEDIUM | Break the run with a full-width, stacked, or bento section before the 3rd repeat (correct) |
8
+ | SLOP-002 | Identical tile-grid repetition | DET | ≥ 4 identical tiles in one grid, where each tile's child shape is icon/svg/img + heading + text. A grid rendered as ul, ol or table is a data collection and is skipped (Delta 1: the calibrated n ≥ 4 floor; every clean reference has a legitimate 3-item grid) | MEDIUM | Vary tile size/structure per item, or switch one instance to a different layout family (correct) |
9
+ | SLOP-003 | Nested card shells / unfilled bento cells | DET-assist, JUDG verdict | nesting depth ≥ 3, or cell count ≠ content-item count | MEDIUM | Collapse the redundant wrapper, or reshape the grid to match the content count (delete) |
10
+ | SLOP-004 | Split-header filler paragraph | DET-assist, JUDG verdict | short column < 15 words, no distinct role, AND JUDG finds no real second message | MEDIUM | Stack headline and body vertically instead of splitting them (correct) |
11
+ | SLOP-005 | Layout family reused verbatim across the page | DET | repeat count ≥ 3 (raised from ≥ 2 — reusing one layout family exactly twice on a longer page is ordinary, deliberate design-system consistency; ≥ 3 aligns with SLOP-001's consecutive-run floor) | MEDIUM | Give the repeat's second occurrence a different layout family (correct) |
12
+ | SLOP-006 | Monotonous spacing rhythm | DET | page has ≥ 5 distinct visual regions AND ≥ 10 samples, dominant bucket > 85% of samples, ≤ 3 distinct nonzero buckets (raised from > 60% / whole-page sampling — a restrained, intentional 3-token spacing system on a simple page is good practice, not slop) | MEDIUM | Introduce a real multi-step spacing scale and apply it by relationship, not by habit (correct) |
13
+ | SLOP-007 | Decorative empty space with no hierarchy role | JUDG | — | LOW (WARN) | Remove the gap or attach it to a real grouping decision (delete) |
14
+ | SLOP-008 | Default purple/blue "AI" gradient palette | DET | HSL hue 260°–310° with a channel spread ≥ 50/255, on heading text (h1–h3 or ≥ 20px) or on any gradient stop; brand-consistency exemption applies (Delta 1: the earlier 220°–280° band pulled in ordinary brand blues near 221°–224°) | MEDIUM (calibration: never fired on any of the 19 clean/real pages in this task pack — a narrow single-pattern check, not a validated near-universal tell; downgraded from HIGH) | Swap in a neutral base plus one hue rooted in the actual brand, per the existing lila guardrail (correct) |
15
+ | SLOP-009 | Gradient-filled headline text | DET | co-occurrence present | MEDIUM | Replace with a solid color and a weight or size change (correct) |
16
+ | SLOP-010 | Glow / bloom halo on primary actions or headings | DET | shared glow test, not a focus state, and the same glow recurring on ≥ 2 unrelated elements | MEDIUM when the same glow recurs on ≥ 2 unrelated elements (Delta 1: a genericness tell is at most MEDIUM); a single glow is reported once under CF-404 (LOW), never twice | Use the shadow-as-border recipe (offset + soft neutral blur) instead, or drop the shadow (correct) |
17
+ | SLOP-011 | Floating blob / sphere decoration | DET-assist, JUDG verdict | presence AND JUDG finds no stated purpose (a single deliberate atmospheric blob is a common, often well-regarded accent on modern SaaS marketing pages, not by itself a tell) | MEDIUM | Remove, or tie it to an actual focal point in the layout (delete) |
18
+ | SLOP-012 | Decorative dot/grid background with no referent | DET | presence, no adjacent data element, AND ≥ 1 co-occurring slop signal (a dot-grid or blueprint texture alone is a common, tasteful choice on developer-tool sites, not inherently a tell) | MEDIUM | Remove unless the grid is standing in for a real chart (delete) |
19
+ | SLOP-013 | Over-rendered noise hiding the layout | JUDG | — | LOW (WARN) | Reduce opacity or remove; if kept, confine it to a fixed non-scrolling layer (correct) |
20
+ | SLOP-014 | Glassmorphism used as unexamined default | JUDG | — | LOW (WARN) | Drop the blur for a solid surface unless the brief earns it (delete) |
21
+ | SLOP-015 | Fake pseudo-border accent stripe | DET | any one of (a)/(b)/(c) reaching ≥ 2 occurrences in one rounded scope; variant (b) alone reaches threshold at ≥ 1 | MEDIUM | Drop the stripe; carry the same emphasis in the card's own fill or an icon (delete) |
22
+ | SLOP-016 | Reflex default sans font | DET-assist, JUDG verdict | any match on the fixed list (Geist family excepted) AND JUDG finds no declared rationale | MEDIUM | Pick a less common face tied to the product's own voice, or state why the common one was kept (correct) |
23
+ | SLOP-017 | Serif reached for without a stated reason | DET-assist, JUDG verdict | any match on the shortlist AND no rationale recorded | MEDIUM | Switch to a sans display face, or keep the serif only with a recorded rationale (correct) |
24
+ | SLOP-018 | Giant headline over a weak tiny subhead | DET-assist, JUDG verdict | ratio ≥ ~3.5 with subhead below ~14px, AND JUDG confirms it reads as an afterthought | MEDIUM | Raise the subhead's role in the scale or shorten the headline pairing (correct) |
25
+ | SLOP-019 | Too many type moods on one page | DET | > 3 distinct families, icon fonts excluded. Chosen over impeccable's stricter 1-family "distill" ceiling because distill is a deliberate reduction workflow, not a general craft floor; krehel's general guidance ("rarely use more than three") is used instead | MEDIUM | Cut back to the stated ceiling for the page (delete) |
26
+ | SLOP-020 | Lazy all-caps overuse | DET | leaf text length > ~40 chars under text-transform: uppercase, majority-cased-script text only | LOW | Reserve uppercase for short labels only; sentence-case the rest (correct) |
27
+ | SLOP-021 | Washed-out gray secondary text on a colored surface | DET | text L 40–70%, S < 10%, background chromatic | MEDIUM (cross-ref **CF-201** — craft floor owns the canonical contrast-floor check this overlaps; kept here for the reflex-default pattern itself) | Tint the secondary text from the surface's own hue instead of plain gray (correct) |
28
+ | SLOP-022 | More than one accent hue competing per screen | JUDG, DET-assist | > 1 accent hue family, fill-surfaces ≥ 24×24px only, status colors excluded | MEDIUM (cross-ref **CF-205** — craft floor owns the canonical one-accent-per-view threshold and the identical filled-surface/status-role-excluded histogram method; this row restates the same finding as a genericness signal, see Section C's CF-205 catalogue entry for the executable algorithm) | Pick one accent per view and demote the rest to neutral (correct) |
29
+ | SLOP-023 | Pure black or pure white as a base surface | DET | exact match, outside the declared-dark-theme exception | LOW | Shift to an off-black/off-white a few percent toward the brand's neutral (correct) |
30
+ | SLOP-024 | Spring/bounce easing on routine feedback | DET | keyword match, or bezier outside that range, on a routine control | MEDIUM (cross-ref **CF-505** — craft floor owns the canonical threshold and the executable scanAnimationTimingIssues algorithm in Section C; this row is a cross-reference, not a second implementation) | Replace with a settled ease-out curve, or a spring config with bounce fixed at 0 (correct) |
31
+ | SLOP-025 | Entrance animation scaling in from zero | DET | scale start ≤ ~0.1 | MEDIUM (cross-ref **CF-503** — craft floor's floor is 0.95, tighter than this row's ~0.1; craft floor owns the canonical threshold) | Start near 0.95, never 0 (correct). Note: an absolutely-positioned icon swap/cross-fade is a distinct convention with its own recipe (scale: 0.25 → 1, never 0.5 or 0.6) — don't fold that case into this general entrance-scale floor |
32
+ | SLOP-026 | Animating layout-triggering properties for motion | DET | any layout property present outside the disclosure exception | MEDIUM (cross-ref **CF-508** — craft floor owns the canonical threshold; the slop angle is the reflex choice, not just the cost) | Animate transform/opacity instead (correct) |
33
+ | SLOP-027 | Decorative infinite pulse/blink with no bound state | DET | presence, no bound-state signal of any of the above kinds | LOW | Remove, or slow it and bind it to the real status it claims to show (delete) |
34
+ | SLOP-028 | Motion fired on every routine, high-frequency interaction | JUDG, DET-assist | transition duration > ~150ms on a selector in the fixed high-frequency set | LOW (cross-ref **CF-506** — craft floor's ≤150ms high-frequency ceiling is the same threshold, scoped to a repeated-selector/scrollable-container gate) | Make the routine case instant or ≤150ms; save longer motion for rare, meaningful moments (correct) |
35
+ | SLOP-029 | Eyebrow/kicker label templated above most headings | DET | count > ceil(sectionCount / 3), where sectionCount = the number of visible h2; visible elements only | MEDIUM (Delta 1: a genericness tell is at most MEDIUM) | Drop the eyebrow; the heading and the section's place on the page already carry the context (delete) |
36
+ | SLOP-030 | Section numbering used as decoration | DET-assist, JUDG verdict | any match, ≥ 2 distinct index values, AND JUDG finds no real ordering behind it — the ubiquitous "01/02/03 — how it works" pattern describing a genuinely sequential process is not itself a defect | MEDIUM | Remove the numbering; if progression matters, name the step itself instead of counting it (delete) |
37
+ | SLOP-031 | Unreleased-looking version/status stamp in marketing copy | DET-assist, JUDG verdict | any match AND JUDG finds no real release-notes context | MEDIUM | Remove the stamp unless the brief is genuinely about a launch/preview status (delete) |
38
+ | SLOP-032 | Decorative status dot with no bound state | DET | presence, no bound attribute | LOW | Remove, or reserve it for an actual live/availability signal (delete) |
39
+ | SLOP-033 | Middle-dot / locale-time separator strip overused | DET | · count ≥ 3 on one line, OR ≥ 2 co-occurring locale/weather tokens on one line | LOW | Prefer line breaks or columns to chained middle-dots; drop the locale strip unless the brief is genuinely place/time relevant (delete) |
40
+ | SLOP-034 | Decorative word strip at the hero's foot | DET | presence within the bottom 15% of the hero's bbox, no <a>/real status content inside, not a compliance-badge strip | MEDIUM | Remove, unless it is a real sticky navigation strip or genuine build/status info (delete) |
41
+ | SLOP-035 | Scroll-cue label or arrow at the first viewport | DET | presence | LOW | Remove; a visitor at the top of the page already knows the page continues (delete) |
42
+ | SLOP-036 | Marketing buzzword filler | DET | count ≥ 1 | MEDIUM (Delta 1: a genericness tell is at most MEDIUM) | Replace with a specific, product-true claim (correct) |
43
+ | SLOP-037 | Fabricated placeholder brand wordmark | DET-assist, JUDG verdict | any match on the fixed list AND JUDG confirms it is not the product's real name | MEDIUM (Delta 1) | Name the product from the brief itself, or invent one name tied to what it actually does (correct) |
44
+ | SLOP-038 | Generic placeholder person name (the "Jane Doe" effect) | DET | any match | MEDIUM | Replace with a specific, locale-appropriate name (correct) |
45
+ | SLOP-039 | Aphoristic "Not X. Y." cadence repeated | DET | combined count ≥ 3 | LOW | Vary sentence rhythm; keep the device to at most one use per page (correct) |
46
+ | SLOP-040 | Em-dash (or flourish en-dash) anywhere in shipped copy | DET | count ≥ 1 in the main scope (zero tolerance unchanged, see Open Question 3); each carve-out hit is reported separately at LOW | MEDIUM (Delta 1: a dash neither blocks nor misleads a visitor; carve-out hits: LOW) | Rewrite with a period, comma, or parentheses instead (correct) |
47
+ | SLOP-041 | Fabricated-looking numeric claim | JUDG, DET-assist | ≥ 1 candidate after the exclusions, with no source/mock marker in its block, AND JUDG finds no real origin for it | MEDIUM | Cite the real figure, label it as an example, or cut the number entirely (correct) |
48
+ | SLOP-042 | Duplicate call-to-action wording for one intent | JUDG, DET-assist | > 1 distinct label per intent, same page | LOW | Pick one label for that intent and reuse it everywhere on the page (correct) |
49
+ | SLOP-043 | Div-built fake product screenshot | DET-assist, JUDG verdict | any of (a)/(b)/(c) with no real-media or focusable descendant, AND JUDG confirms a stand-in rather than a real component preview | MEDIUM once JUDG confirms (tier Inferred, the same posture MD-011 takes for its JUDG items); a DET-assist hit alone is a review candidate, never a finding by itself | Use a real screenshot, a generated image, or a real component preview instead (correct / platform) |
50
+ | SLOP-044 | Fake build/version footer inside a mock preview | DET-assist, JUDG verdict | any match AND JUDG finds no real changelog/docs surface | MEDIUM | Remove; this is CLI-fixture flavor with nothing to say to a visitor (delete) |
51
+ | SLOP-045 | Decorative identical stat/KPI columns | DET-assist, JUDG verdict | ≥ 4 same-shape stat siblings (≥ 3 beside a marketing CTA), AND JUDG finds KPIs were not requested or a figure has no real source | MEDIUM once JUDG confirms (tier Inferred, MD-011's JUDG posture); a DET-assist hit alone is a review candidate, since an accurate stats banner is a legitimate pattern until judged otherwise | Remove unless the brief actually asked for KPI display, and back any kept number with a real source (delete) |
52
+ | SLOP-046 | Decorative gauge/sparkline/progress element with a hard-coded value | DET-assist, JUDG verdict | candidate present, AND JUDG finds no real data point behind it | MEDIUM | Remove unless it encodes a real, current data point (delete) |
53
+ | SLOP-047 | Illegible ticker-scale logo wall | DET | distinct-logo count ≤ 6, AND median rendered logo height < 20px at the 1440px RS viewport. The 20px floor is a house default: the corpus names the failure ('unreadable mosquito logos') without a size, and neither reference clone publishes one; recalibrate on labeled logo walls before tightening | MEDIUM | Slow it down, enlarge the logos, or replace the loop with a static row if the count is this small (correct) |
54
+ | SLOP-048 | Autoplay carousel dots with no real function | DET | candidate present, autoplay declared or observed, and none of the accessible-binding signals present | LOW | Remove the dots or wire them to real keyboard/AT-reachable navigation (correct) |
55
+ | SLOP-049 | Generic silhouette/egg avatar standing in for a person | DET | match against the fixed list | LOW | Use a believable photo placeholder or a deliberate illustrated style instead (correct) |
56
+ | SLOP-050 | Category label printed under every logo in a trust wall | DET | any match | LOW | Drop the caption; the logo alone carries the credibility (delete) |
57
+ | SLOP-051 | Illustration assembled from an excessive primitive count | JUDG, DET-assist | all DET-assist conditions met (≥ 8 primitives, ≥ 200×200px, ≥ 3 fills, ≤ 2 text elements, no pattern) AND JUDG confirms a stand-in scene. The constants are impeccable's published ones (it reads declared width/height or viewBox; this row reads the rendered box), not yet calibrated on this family's pages | MEDIUM | Commission or simplify the illustration; don't primitive-stack a substitute (correct) |
58
+ | SLOP-052 | Busy geometric mask faking a photographic edge | DET | polygon: ≥ 10 vertices and mostly off-grid; path(): ≥ 3 curve segments (impeccable's published constants) | LOW | Use a real photographic crop, or a simple deliberate shape (correct) |
59
+ | SLOP-053 | Emoji glyphs standing in for a real icon set | DET-assist, JUDG verdict | any match AND JUDG finds no stated emoji-policy exception | LOW | Replace with the project's chosen icon set (correct) |
60
+ | SLOP-054 | Hover transform applied to the image element itself | DET | rule targets the image node itself | LOW | Move the transform to the container; animate the frame, not the picture (correct) |
61
+ | SLOP-055 | Recurring cluster of generic tells appearing together | JUDG | ≥ 2 co-occurring DET hits on one component escalates the row from WARN to a real finding | MEDIUM (escalated); LOW (WARN) below that | Break up the combination; vary the visual language for that component specifically (correct) |
62
+ | SLOP-056 | Overall "could be any competitor's product" genericness | JUDG | — | LOW (WARN), holistic-only | No single fix; return to the specific rows above that are contributing to the impression and act on those (correct) |
63
+ | SLOP-057 | Broken image source | DET | any match | HIGH | Fix or replace the source, or remove the element (correct / delete) |
64
+ | SLOP-058 | Dead link | DET (derived — an attribute scan cannot see an attached handler) | any match | HIGH (nav/primary) / MEDIUM (decorative) | Point it at a real destination, or make it a real button if it has no destination (correct) |
65
+ | SLOP-059 | Button with no type/handler inside a form | DET inside a form; JUDG outside one | missing type on a button whose form owner has ≥2 submit-capable buttons (a lone typeless button is the intended implicit submit) | HIGH (inside a form only) | Add an explicit type="button" (or "submit" when that is genuinely intended) (correct) |
66
+ | SLOP-060 | Placeholder / lorem text | DET | any match | LOW | Replace with real, brief-specific copy (correct) |
67
+ | SLOP-061 | Marquee / scrolling ticker on text | DET | any match | LOW | Replace with a static row, or add a real pause/stop control (correct) |
68
+ | SLOP-062 | Modal opened by reflex with no real interruption need | JUDG | — | LOW (WARN) | Replace with an inline panel, toast, or disclosure (correct) |
69
+ | SLOP-063 | Monospace used as a "technical" costume | JUDG | — | LOW (WARN) | Switch to the page's normal text face unless the content is genuinely code/data (correct) |
@@ -1,82 +1,37 @@
1
- Design-system foundations: tokens, primitives, states, variants
1
+ # Design-system foundations
2
2
 
3
- A design system is a boundary rule plus an inventory, not a folder of components. Fills
4
- `direction.token_strategy` and every entry in `inventory.components[]`.
3
+ Treat a design system as shared boundaries and a consumer inventory, not a folder of components. Record its token strategy and every delivered primitive in the Design Contract.
5
4
 
6
- ## Audit before you create anything
5
+ Record the reuse, extension, or creation choice in `direction.token_strategy`.
7
6
 
8
- Count what exists before adding to it; most "new" primitives already exist twice.
7
+ ## Audit, then add
9
8
 
10
- - List every component in the codebase with its file path; group duplicates by rendered role.
11
- - Extract every color, size, radius, shadow, and spacing value in use; count distinct values.
12
- - Record which components already carry all nine states and which do not.
13
- - Write the audit into `omissions` first; an unaudited addition is a hidden duplicate.
9
+ Before creating a primitive, locate existing components with the same rendered role, inspect their APIs and consumers, count current tokens, and list state/variant gaps. Extend the existing primitive when it fits; avoid parallel components without a specific reason.
14
10
 
15
- ## Three token layers
11
+ Organize tokens in one direction:
16
12
 
17
- Three layers, one direction of reference. A skipped layer is why systems cannot be re-themed.
13
+ 1. **Foundation:** neutral raw values, such as space, radius, and palette steps.
14
+ 2. **Semantic:** roles that refer to foundations, such as surface-raised or text-secondary.
15
+ 3. **Component:** a named component property that refers to semantic roles.
18
16
 
19
- - Foundation: raw values, neutral names — `color.slate.700`, `space.4`, `radius.md`; no meaning.
20
- - Semantic: roles referencing foundation only — `surface.raised`, `text.secondary`, `border.focus`.
21
- - Component: decisions referencing semantic only — `button.primary.bg`, `table.row.gap`.
22
- - Every component token names its component and its property; without both it is unowned.
17
+ A component should not reach into foundation values or embed raw color/spacing. Lint these boundaries where possible; record an owned exception with reason when a real constraint requires one.
23
18
 
24
- ## Components never reach past a semantic role
19
+ ## Specify the component contract
25
20
 
26
- This boundary is the whole value of the system. Enforce it mechanically.
21
+ For each component, name anatomy, API/defaults, token dependencies, variants, and supported states: default, hover where available, focus-visible, active, disabled, loading, empty, error, and success. Stress short and longest real strings, CJK, zero items, and representative large collections. Unsupported combinations should be explicit.
27
22
 
28
- - A component reads component tokens, or semantic roles when no component token exists.
29
- - Lint it: raw hex, raw px, or a foundation reference inside a component file fails the build.
30
- - Exceptions live in `accepted_exceptions` with a reason and an owner, one line each.
23
+ A showcase route is useful when the deliverable is a reusable system or many variants need coordinated review. Include theme, density, text scale, and reduced-motion controls; do not make it a prerequisite for an unrelated feature.
31
24
 
32
- ## Component anatomy as a checklist
25
+ ## Themes and existing APIs
33
26
 
34
- A primitive is finished when every line holds, not when the happy path looks right.
27
+ Themes should change semantic roles, not component internals. Dark mode needs its own contrast measurements. Forced-colors mode should retain visible boundaries and state without relying on background color alone.
35
28
 
36
- - Anatomy: container, content slots, label, icon, status indicator, hit region.
37
- - States: default, hover, focus-visible, active, disabled, loading, empty, error, success.
38
- - Variants: intent, size, density — every combination renders or is declared unsupported.
39
- - Content stress: one character, longest supported string, CJK string, zero items, 100 items.
40
- - API: prop names, defaults, and the tokens consumed, recorded in `components[]`.
29
+ In brownfield work, preserve token names, props, defaults, and consumer rendering. Put new variants behind existing APIs; enumerate consumers before a rename. For a shipped plugin asset, follow the payload sync and isolated-install/doctor procedure after editing.
41
30
 
42
- ## Gate feature work behind a primitive showcase
31
+ ## Reject
43
32
 
44
- Build the showcase route before any feature route.
45
-
46
- - One route rendering every primitive × variant × state on a single page.
47
- - Toggles for theme, density, 200% text scale, and reduced motion.
48
- - Tab the whole showcase; every interactive element shows a focus ring in every theme.
49
- - Capture it per theme under `.hermes/lithermes/` as the baseline for later diffs.
50
- - No feature route starts until each primitive it needs appears in the showcase.
51
-
52
- ## Theme architecture: dark mode and forced colors
53
-
54
- A theme swaps semantic roles and nothing else. If a component changes per theme, the system leaks.
55
-
56
- - Themes redefine semantic roles; foundation values and component tokens stay byte-identical.
57
- - Dark is not inverted light: raise surfaces by lightness, cut saturation, re-measure contrast.
58
- - Forced colors: system color keywords, a 1px border on every interactive element, never state by
59
- background alone.
60
-
61
- ## Align with an existing system
62
-
63
- In brownfield work the existing system is the specification; match its names first.
64
-
65
- - Map each requested primitive onto the existing one and extend it; never add a sibling.
66
- - New variants ship behind the current API; no rename lands without an enumerated migration list.
67
- - When primitives ship as plugin assets, run `npm --prefix packages/lithermes-installer run
68
- sync-plugin -- --in-place`, confirm the `payload-version.json` entry changed, then check an
69
- isolated `--hermes-home` install with `lithermes doctor`.
70
- - Hand `contract_id` and its SHA-256 to the independent review pass.
71
-
72
- ## Failure patterns
73
-
74
- Apply this governance reject-list to every proposed addition.
75
-
76
- Reject:
77
-
78
- - A token added with no consumer, or a component token with no owning component.
79
- - A component referencing a foundation value or a literal directly.
80
- - A primitive shipped without focus-visible, disabled, loading, empty, and error.
81
- - A second primitive doing an existing primitive's job because renaming felt risky.
82
- - A theme that patches component internals instead of semantic roles.
33
+ - A token with no consumer or an unnamed component token.
34
+ - A component using raw values instead of semantic roles.
35
+ - A second primitive that duplicates an existing job without a migration reason.
36
+ - A delivered control missing focus, disabled, loading, or failure states.
37
+ - A theme that forks component internals rather than semantic roles.
@@ -1,85 +1,29 @@
1
- Visual language: type, color, surface, depth, borders, icons
1
+ # Visual language
2
2
 
3
- Every visual decision is a role with a name, not a value someone liked. Fills
4
- `direction.token_strategy` and `direction.principles`.
3
+ Choose roles and reusable values for typography, color, imagery, depth, icons, and data. Keep those decisions in the token strategy so components do not develop their own vocabulary.
5
4
 
6
- ## Define type by role, not by font name
5
+ ## Type and color
7
6
 
8
- Name the jobs text does, then assign faces once. A font list is not a typographic system.
7
+ Define roles such as display, page title, section title, body, metadata, labels, and tabular numerals. A useful starting cap is six sizes and three weights; body copy should be at least 16 px, with 14 px reserved for dense tables. Name font fallbacks and loading behavior.
9
8
 
10
- - Roles: display, page title, section title, body, meta, label, numeric with tabular figures.
11
- - Cap the scale at 6 sizes and 3 weights; body 16px minimum, 14px only for dense tabular data.
12
- - Never let weight alone carry meaning; pair it with size, position, or a label.
9
+ Use semantic color roles for surfaces, text, borders, actions, and status. One accent should have a consistent meaning; a second accent needs a stated reason. Status must include a word, icon, or shape as well as color. Measure rendered contrast in every supported theme:
13
10
 
14
- ## Bind color to meaning, not to a palette
11
+ - Body text: at least 4.5:1; 24 px text or 19 px bold text: at least 3:1.
12
+ - Component boundaries, controls, and chart marks: at least 3:1.
13
+ - Focus indicator: at least 3:1 against both control and adjacent surface.
15
14
 
16
- Declare semantic roles and let components consume only those. Raw palettes cannot be themed or audited.
15
+ ## Icons, imagery, and depth
17
16
 
18
- - Roles: surface, surface-raised, text-primary, text-secondary, border, accent, plus status success,
19
- warning, danger, info.
20
- - A hex in a component has no dark-mode counterpart and no contrast record; a role has both.
21
- - One accent, and it means "act here". A second accent needs a written reason.
22
- - Status never travels by color alone; pair every status with an icon or a word.
17
+ Use one icon family and a consistent grid/stroke. A 24 px grid and 1.5–2 px stroke are useful starting values; avoid rendering below 16 px. Use one metaphor per action, give unlabeled controls accessible names, and hide decorative icons from assistive technology.
23
18
 
24
- ## Contrast obligations, stated numerically
19
+ Define image ratios and rendered boxes before load. Measure any text scrim against the actual image. Asset origin, rights, and alt-text belong in brand-and-imagery.md.
25
20
 
26
- Measure these thresholds in every declared theme.
21
+ Use a small named elevation scale (base, raised, overlay); identify tiers consistently and define overlay stacking order. For example: content 0, sticky 100, dropdown 200, modal 300, toast 400. In dark themes, remeasure surfaces rather than relying on heavier shadows.
27
22
 
28
- - Body text 4.5:1; text at 24px, or 19px bold, 3:1.
29
- - Component boundaries, control edges, and chart marks 3:1 against adjacent color.
30
- - Focus ring 3:1 against both the control and its background, 2px thick, 2px offset.
23
+ ## Data display
31
24
 
32
- ## Keep the icon set to one drawing system
25
+ Choose the visual form from the question: current level → value with units; time trend → line; category comparison → sorted bars; part-to-whole → stacked bar (pie only for three slices or fewer); distribution → histogram; relationship → scatter; exact lookup → table. Label units, start bar axes at zero, and split series into small multiples when they become hard to compare.
33
26
 
34
- One grid, one stroke, one corner treatment. Mixed icon families read as an unfinished merge.
27
+ ## Check for drift
35
28
 
36
- - 24px grid, 1.5–2px stroke, matching radii; render no smaller than 16px.
37
- - One metaphor per concept, product-wide; two icons for one action is a defect.
38
- - Any icon without an adjacent text label needs an accessible name; decorative ones are hidden.
39
- - Reject metaphors that do not survive translation: hand gestures, letter-shaped glyphs, local objects.
40
-
41
- ## Treat imagery as a layer with rules
42
-
43
- Pick one treatment and one ratio set, then hold them.
44
-
45
- - Fixed aspect ratios from a declared set; every image gets its box before it loads.
46
- - Text over imagery requires a measured scrim reaching 4.5:1, not an assumed one.
47
- - One treatment product-wide: full color, duotone, or monochrome.
48
- - Every image has alt text or is explicitly marked decorative.
49
-
50
- ## Make surface, depth, and elevation one system
51
-
52
- Depth is three tiers, not a shadow library. Each tier is one token set used the same way.
53
-
54
- - Tiers: base, raised, overlay. Each declares background, border, and optional shadow.
55
- - Signal a tier one way only — border or shadow, never both plus a tint.
56
- - In dark themes, raise surfaces with lightness; do not darken shadows further.
57
- - `z-index` from a named scale: content 0, sticky 100, dropdown 200, modal 300, toast 400.
58
-
59
- ## Choose the data display from the question asked
60
-
61
- The question decides the form; choosing a chart first inverts the work.
62
-
63
- - Current level → one large value with units; change over time → line.
64
- - Compare categories → bars sorted by value; part of whole → stacked bar, pie only at 3 slices or fewer.
65
- - Distribution → histogram; relationship → scatter; exact numbers → table.
66
- - Label axes with units, start bar axes at zero, and cap at 5 series before small multiples.
67
-
68
- ## Drift checks before review
69
-
70
- Drift is countable. Run these against the built surface, not the intent.
71
-
72
- - Grep the source for raw hex and raw px outside the token file; both must return zero.
73
- - Count distinct font sizes, shadows, radii, and accents; each must match the declared count.
74
- - Capture one shared component on three routes; any pixel difference is unauthorised variance.
75
- - Confirm every `design.*` block describes what shipped, then rehash `contract_id` for the review pass.
76
-
77
- ## Failure patterns
78
-
79
- Reject:
80
-
81
- - A type "system" that is a font pairing with no roles and no size cap.
82
- - `blue-500` referenced inside a component instead of a semantic role.
83
- - Contrast judged by eye, or measured in one theme only.
84
- - Two icon families, or one concept drawn two ways on two routes.
85
- - A pie chart with seven slices, or a bar axis truncated to exaggerate a gap.
29
+ Before review, inspect source for unapproved raw colors/spacing, count distinct type sizes, shadows, radii, and accents, and compare a shared component on representative routes. Update the contract to reflect what shipped and recompute its review hash.
@@ -1,94 +1,29 @@
1
- Visual reconstruction from references without raster fakery
1
+ # Visual reconstruction
2
2
 
3
- A reference shows how one viewport looked at one moment. Rebuild it as a live component tree and label
4
- every claim you cannot see in the file.
3
+ Rebuild the supplied visual target as a live, semantic interface. A screenshot is evidence of one viewport at one moment; it does not define behavior, permission, source structure, or an entire brand.
5
4
 
6
- ## Classify every claim
5
+ ## Keep evidence and inference separate
7
6
 
8
- Tag each statement about the reference before acting on it, and never promote a tag quietly.
7
+ For each relevant region, record internally what is:
9
8
 
10
- - **Observed** — measurable in the file: a sampled color, a pixel distance, a present glyph.
11
- - **Inferred** — a reading with a stated basis: "8 px scale, because gaps read 8/16/24".
12
- - **Unknown** — not derivable: hover, focus, error, scroll, data outside the crop.
13
- - Log inferred items in `omissions`; promote on confirmation; batch unknowns into one question.
9
+ - **Observed:** directly measurable, such as dimensions, color, spacing, and visible text.
10
+ - **Inferred:** a plausible system with its basis, such as a spacing scale suggested by repeated gaps.
11
+ - **Unknown:** not visible, such as focus, hover, error state, scroll behavior, or content outside the crop.
14
12
 
15
- ## Measurement pass
13
+ Preserve the source dimensions and hash. Do not turn uncertain observations into reader-facing labels or claims. Resolve only unknowns that affect the requested build.
16
14
 
17
- Measure before styling. Eyeballing produces a palette that is close and wrong.
15
+ ## Measure, then build real structure
18
16
 
19
- - Record reference dimensions and device pixel ratio; divide by dpr before deriving CSS values.
20
- - Sample color from flat interiors, never an edge or a gradient midpoint.
21
- - Measure 6 or more gaps, then reduce to the smallest consistent step, usually 4 or 8 px.
17
+ Measure at the source pixel ratio. Sample flat color areas, not edges or gradient transitions; compare several gaps before inferring a spacing scale. Implement with semantic elements, grid/flow, reusable components, and live text. Do not position an entire page by screenshot coordinates or use the target image as the interface background.
22
18
 
23
- ## Reconstruct semantics, not pixels
19
+ For assets, recreate simple shapes and icons when appropriate; request photography, logos, and brand illustrations, or use a clearly neutral placeholder. Never redraw third-party marks or invent unknown chart data. If the target font is unavailable, choose a metric-compatible fallback, tune its supported font metrics, and record the substitution.
24
20
 
25
- Build the structure the reference implies. Coordinate matching breaks on the first real string.
21
+ ## Derive responsive behavior
26
22
 
27
- - One nav, main, and footer landmark; headings in true rank order.
28
- - A repeated visual unit becomes one component with props, never five copies.
29
- - Layout by flow, grid, and gap; positioning onto a measured coordinate is a defect.
30
- - Real text nodes everywhere, including where the reference rasterized a label.
23
+ A single target width cannot prove responsive behavior. Classify regions as fixed, fluid, reflowed, or conditionally hidden and mark those choices as inferred. Set breakpoints where content fails. Check the reference width, narrow and wide supported widths, longest real string, and CJK behavior when in scope.
31
24
 
32
- ## Asset decisions
25
+ ## Compare and report
33
26
 
34
- Decide per asset: recreate, request, or substitute. Record the decision.
27
+ Capture the build at the target dimensions and compare important regions: bounds, type, spacing, color, radius, content, and state. Fix the largest measured deltas, then recapture. After three iterations with no improvement, stop and report the remaining mismatch plainly.
35
28
 
36
- - **Recreate** icons, simple shapes, borders, and gradients as SVG or CSS.
37
- - **Request** photography, logos, illustration, and brand marks as source files.
38
- - **Substitute** a labeled placeholder at the same box size when no source exists.
39
- - Never recreate a third-party logo, licensed photography, a chart with unknown data, or a real face.
40
-
41
- ## Metric-compatible font fallback
42
-
43
- When the reference face is unavailable, match metrics or every line box drifts.
44
-
45
- - Choose a fallback with comparable cap height, x-height, and average advance width.
46
- - Tune `size-adjust`, `ascent-override`, and `descent-override` until line boxes align.
47
- - Verify at three string lengths including the longest real string.
48
- - Declare the substitution in the typography rules; never present it as the original.
49
-
50
- ## Responsive behavior from one reference
51
-
52
- One reference proves one width. Derive the rest and mark the derivation inferred.
53
-
54
- - Classify each block as fixed, fluid, reflowing, or hidden below a breakpoint.
55
- - Put breakpoints where measured content breaks, not at borrowed device widths.
56
- - Verify at 320, 768, 1280, and the reference width; that width matches closest.
57
- - Retest with strings 1.5x the reference length under the declared `localization.cjk_line_break_review`.
58
-
59
- ## Iteration loop
60
-
61
- Iterate on measured deltas, never on impressions.
62
-
63
- 1. Capture the build at the exact reference dimensions.
64
- 2. Compare region by region: bounds, type, spacing, color, radius, shadow, content, state.
65
- 3. List the five largest deltas with their measured values.
66
- 4. Fix only those, then recapture.
67
- 5. After three rounds with no delta shrinking, stop and report the residual as a limit.
68
-
69
- ## Fidelity report
70
-
71
- Report per region. One aggregate percentage hides every interesting failure.
72
-
73
- - Each region: matched or deviating, with the measured delta.
74
- - Each asset: recreated, requested, or placeholder.
75
- - Each inferred and unknown item with its current status.
76
-
77
- ## The "pixel perfect" gate
78
-
79
- Use the phrase only when all five hold. Otherwise say "matched at the measured regions".
80
-
81
- - Same-dimension captures exist for every `inventory.references` entry.
82
- - Zero deviating regions in the fidelity report.
83
- - No placeholder asset and no undeclared font substitution.
84
- - No unknown item still affecting rendering.
85
- - The independent review pass returned PASS on the same revision and contract hash.
86
-
87
- ## Failure patterns
88
-
89
- Reject:
90
-
91
- - The reference set as a `background-image` with invisible hit targets over it.
92
- - Coordinates used in place of layout.
93
- - A third-party logo redrawn to avoid asking for it.
94
- - "Pixel perfect" claimed from one screenshot at one width.
29
+ Use “pixel perfect” only when same-size captures cover every declared reference, all measured regions match, no placeholder or undeclared font remains, no material unknown affects rendering, and an independent reviewer passes the same revision and contract hash. Otherwise describe the result as a match at the measured regions. Keep observed/inferred/unknown detail in the internal review record.
@@ -12,3 +12,18 @@ recorded in PROVENANCE.json.
12
12
  No upstream scripts, templates, CLI, installers, manifests, screenshots, previews,
13
13
  documentation, premium features, host integrations, code-example columns,
14
14
  documentation-URL columns, or google-fonts.csv data are included.
15
+
16
+ Craft-floor and slop-register mechanisms were independently re-expressed after
17
+ studying pbakaus/impeccable (https://github.com/pbakaus/impeccable), by Paul
18
+ Bakaus, Apache License, Version 2.0, consulted at commit 9d715cc. No source
19
+ file, prose, or fixture from that project is reproduced here.
20
+
21
+ Mode, review-format, and routing-governance mechanisms were independently
22
+ re-expressed after studying jakubkrehel/skills
23
+ (https://github.com/jakubkrehel/skills), Copyright (c) 2026 Jakub Krehel,
24
+ MIT License, consulted at commit 267330e. No source or prose is reproduced.
25
+
26
+ Anti-slop catalogue and responsive value checks were independently re-expressed
27
+ after studying the ui-skills.com playbook (https://www.ui-skills.com/playbook),
28
+ sourced from github.com/ibelick/ui-skills, Copyright (c) 2026 Julien Thibeaut,
29
+ MIT License. No source or prose from the site or repository is reproduced.