@etus/seven-skill 0.1.0-beta.3 → 0.1.0-beta.5

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 (596) hide show
  1. package/.agents/skills/seven/SKILL.md +172 -0
  2. package/.agents/skills/seven/agents/seven_asset_producer.toml +37 -0
  3. package/.agents/skills/seven/agents/seven_finish_reviewer.toml +33 -0
  4. package/.agents/skills/seven/agents/seven_manual_edit_applier.toml +43 -0
  5. package/.agents/skills/seven/reference/adapt.md +34 -0
  6. package/.agents/skills/seven/reference/animate.md +31 -0
  7. package/.agents/skills/seven/reference/app-shell.md +152 -0
  8. package/.agents/skills/seven/reference/audit.md +122 -0
  9. package/.agents/skills/seven/reference/bolder.md +34 -0
  10. package/.agents/skills/seven/reference/brand.md +31 -0
  11. package/.agents/skills/seven/reference/clarify.md +76 -0
  12. package/.agents/skills/seven/reference/color-and-contrast.md +84 -0
  13. package/.agents/skills/seven/reference/colorize.md +31 -0
  14. package/.agents/skills/seven/reference/critique.md +53 -0
  15. package/.agents/skills/seven/reference/delight.md +30 -0
  16. package/.agents/skills/seven/reference/distill.md +30 -0
  17. package/.agents/skills/seven/reference/doctor.md +9 -0
  18. package/.agents/skills/seven/reference/document.md +36 -0
  19. package/.agents/skills/seven/reference/evaluations.md +44 -0
  20. package/.agents/skills/seven/reference/exceptions.md +7 -0
  21. package/.agents/skills/seven/reference/extract.md +42 -0
  22. package/.agents/skills/seven/reference/harden.md +36 -0
  23. package/.agents/skills/seven/reference/hooks.md +11 -0
  24. package/.agents/skills/seven/reference/init.md +5 -0
  25. package/.agents/skills/seven/reference/layout.md +33 -0
  26. package/.agents/skills/seven/reference/live.md +106 -0
  27. package/.agents/skills/seven/reference/motion-design.md +71 -0
  28. package/.agents/skills/seven/reference/onboard.md +35 -0
  29. package/.agents/skills/seven/reference/optimize.md +34 -0
  30. package/.agents/skills/seven/reference/overdrive.md +32 -0
  31. package/.agents/skills/seven/reference/polish.md +55 -0
  32. package/.agents/skills/seven/reference/product.md +43 -0
  33. package/.agents/skills/seven/reference/quieter.md +31 -0
  34. package/.agents/skills/seven/reference/routing.md +28 -0
  35. package/.agents/skills/seven/reference/setup.md +38 -0
  36. package/.agents/skills/seven/reference/shape.md +85 -0
  37. package/.agents/skills/seven/reference/spatial-design.md +60 -0
  38. package/.agents/skills/seven/reference/typeset.md +28 -0
  39. package/.agents/skills/seven/reference/typography.md +43 -0
  40. package/.agents/skills/seven/reference/ux-writing.md +47 -0
  41. package/.agents/skills/seven/reference/visual-probes.md +36 -0
  42. package/.agents/skills/seven/scripts/context-signals.mjs +95 -0
  43. package/.agents/skills/seven/scripts/critique-storage.mjs +155 -0
  44. package/.agents/skills/seven/scripts/load-context.mjs +111 -0
  45. package/.agents/skills/seven/scripts/run-seven.mjs +47 -0
  46. package/.agents/skills/seven/scripts/update-check.mjs +120 -0
  47. package/.claude/agents/seven-asset-producer.md +40 -0
  48. package/.claude/agents/seven-finish-reviewer.md +36 -0
  49. package/.claude/agents/seven-manual-edit-applier.md +46 -0
  50. package/.claude/skills/seven/SKILL.md +134 -123
  51. package/.claude/skills/seven/reference/adapt.md +34 -0
  52. package/.claude/skills/seven/reference/animate.md +31 -0
  53. package/.claude/skills/seven/reference/app-shell.md +100 -18
  54. package/.claude/skills/seven/reference/audit.md +6 -4
  55. package/.claude/skills/seven/reference/bolder.md +34 -0
  56. package/.claude/skills/seven/reference/brand.md +21 -14
  57. package/.claude/skills/seven/reference/clarify.md +2 -2
  58. package/.claude/skills/seven/reference/colorize.md +31 -0
  59. package/.claude/skills/seven/reference/critique.md +53 -0
  60. package/.claude/skills/seven/reference/delight.md +30 -0
  61. package/.claude/skills/seven/reference/distill.md +30 -0
  62. package/.claude/skills/seven/reference/doctor.md +9 -0
  63. package/.claude/skills/seven/reference/document.md +36 -0
  64. package/.claude/skills/seven/reference/evaluations.md +44 -0
  65. package/.claude/skills/seven/reference/exceptions.md +7 -0
  66. package/.claude/skills/seven/reference/extract.md +42 -0
  67. package/.claude/skills/seven/reference/harden.md +36 -0
  68. package/.claude/skills/seven/reference/hooks.md +11 -0
  69. package/.claude/skills/seven/reference/init.md +5 -0
  70. package/.claude/skills/seven/reference/layout.md +33 -0
  71. package/.claude/skills/seven/reference/live.md +106 -0
  72. package/.claude/skills/seven/reference/motion-design.md +1 -1
  73. package/.claude/skills/seven/reference/onboard.md +35 -0
  74. package/.claude/skills/seven/reference/optimize.md +34 -0
  75. package/.claude/skills/seven/reference/overdrive.md +32 -0
  76. package/.claude/skills/seven/reference/polish.md +5 -5
  77. package/.claude/skills/seven/reference/product.md +2 -4
  78. package/.claude/skills/seven/reference/quieter.md +31 -0
  79. package/.claude/skills/seven/reference/routing.md +28 -0
  80. package/.claude/skills/seven/reference/setup.md +38 -0
  81. package/.claude/skills/seven/reference/shape.md +5 -5
  82. package/.claude/skills/seven/reference/spatial-design.md +3 -3
  83. package/.claude/skills/seven/reference/typeset.md +28 -0
  84. package/.claude/skills/seven/reference/typography.md +1 -1
  85. package/.claude/skills/seven/reference/visual-probes.md +36 -0
  86. package/.claude/skills/seven/scripts/context-signals.mjs +95 -0
  87. package/.claude/skills/seven/scripts/critique-storage.mjs +155 -0
  88. package/.claude/skills/seven/scripts/load-context.mjs +85 -58
  89. package/.claude/skills/seven/scripts/run-seven.mjs +47 -0
  90. package/.claude/skills/seven/scripts/update-check.mjs +120 -0
  91. package/.claude-plugin/marketplace.json +2 -2
  92. package/.claude-plugin/plugin.json +8 -3
  93. package/.cursor/skills/seven/SKILL.md +172 -0
  94. package/.cursor/skills/seven/reference/adapt.md +34 -0
  95. package/.cursor/skills/seven/reference/animate.md +31 -0
  96. package/.cursor/skills/seven/reference/app-shell.md +152 -0
  97. package/.cursor/skills/seven/reference/audit.md +122 -0
  98. package/.cursor/skills/seven/reference/bolder.md +34 -0
  99. package/.cursor/skills/seven/reference/brand.md +31 -0
  100. package/.cursor/skills/seven/reference/clarify.md +76 -0
  101. package/.cursor/skills/seven/reference/color-and-contrast.md +84 -0
  102. package/.cursor/skills/seven/reference/colorize.md +31 -0
  103. package/.cursor/skills/seven/reference/critique.md +53 -0
  104. package/.cursor/skills/seven/reference/delight.md +30 -0
  105. package/.cursor/skills/seven/reference/distill.md +30 -0
  106. package/.cursor/skills/seven/reference/doctor.md +9 -0
  107. package/.cursor/skills/seven/reference/document.md +36 -0
  108. package/.cursor/skills/seven/reference/evaluations.md +44 -0
  109. package/.cursor/skills/seven/reference/exceptions.md +7 -0
  110. package/.cursor/skills/seven/reference/extract.md +42 -0
  111. package/.cursor/skills/seven/reference/harden.md +36 -0
  112. package/.cursor/skills/seven/reference/hooks.md +11 -0
  113. package/.cursor/skills/seven/reference/init.md +5 -0
  114. package/.cursor/skills/seven/reference/layout.md +33 -0
  115. package/.cursor/skills/seven/reference/live.md +106 -0
  116. package/.cursor/skills/seven/reference/motion-design.md +71 -0
  117. package/.cursor/skills/seven/reference/onboard.md +35 -0
  118. package/.cursor/skills/seven/reference/optimize.md +34 -0
  119. package/.cursor/skills/seven/reference/overdrive.md +32 -0
  120. package/.cursor/skills/seven/reference/polish.md +55 -0
  121. package/.cursor/skills/seven/reference/product.md +43 -0
  122. package/.cursor/skills/seven/reference/quieter.md +31 -0
  123. package/.cursor/skills/seven/reference/routing.md +28 -0
  124. package/.cursor/skills/seven/reference/setup.md +38 -0
  125. package/.cursor/skills/seven/reference/shape.md +85 -0
  126. package/.cursor/skills/seven/reference/spatial-design.md +60 -0
  127. package/.cursor/skills/seven/reference/typeset.md +28 -0
  128. package/.cursor/skills/seven/reference/typography.md +43 -0
  129. package/.cursor/skills/seven/reference/ux-writing.md +47 -0
  130. package/.cursor/skills/seven/reference/visual-probes.md +36 -0
  131. package/.cursor/skills/seven/scripts/context-signals.mjs +95 -0
  132. package/.cursor/skills/seven/scripts/critique-storage.mjs +155 -0
  133. package/.cursor/skills/seven/scripts/load-context.mjs +111 -0
  134. package/.cursor/skills/seven/scripts/run-seven.mjs +47 -0
  135. package/.cursor/skills/seven/scripts/update-check.mjs +120 -0
  136. package/.gemini/skills/seven/SKILL.md +171 -0
  137. package/.gemini/skills/seven/reference/adapt.md +34 -0
  138. package/.gemini/skills/seven/reference/animate.md +31 -0
  139. package/.gemini/skills/seven/reference/app-shell.md +152 -0
  140. package/.gemini/skills/seven/reference/audit.md +122 -0
  141. package/.gemini/skills/seven/reference/bolder.md +34 -0
  142. package/.gemini/skills/seven/reference/brand.md +31 -0
  143. package/.gemini/skills/seven/reference/clarify.md +76 -0
  144. package/.gemini/skills/seven/reference/color-and-contrast.md +84 -0
  145. package/.gemini/skills/seven/reference/colorize.md +31 -0
  146. package/.gemini/skills/seven/reference/critique.md +53 -0
  147. package/.gemini/skills/seven/reference/delight.md +30 -0
  148. package/.gemini/skills/seven/reference/distill.md +30 -0
  149. package/.gemini/skills/seven/reference/doctor.md +9 -0
  150. package/.gemini/skills/seven/reference/document.md +36 -0
  151. package/.gemini/skills/seven/reference/evaluations.md +44 -0
  152. package/.gemini/skills/seven/reference/exceptions.md +7 -0
  153. package/.gemini/skills/seven/reference/extract.md +42 -0
  154. package/.gemini/skills/seven/reference/harden.md +36 -0
  155. package/.gemini/skills/seven/reference/hooks.md +11 -0
  156. package/.gemini/skills/seven/reference/init.md +5 -0
  157. package/.gemini/skills/seven/reference/layout.md +33 -0
  158. package/.gemini/skills/seven/reference/live.md +106 -0
  159. package/.gemini/skills/seven/reference/motion-design.md +71 -0
  160. package/.gemini/skills/seven/reference/onboard.md +35 -0
  161. package/.gemini/skills/seven/reference/optimize.md +34 -0
  162. package/.gemini/skills/seven/reference/overdrive.md +32 -0
  163. package/.gemini/skills/seven/reference/polish.md +55 -0
  164. package/.gemini/skills/seven/reference/product.md +43 -0
  165. package/.gemini/skills/seven/reference/quieter.md +31 -0
  166. package/.gemini/skills/seven/reference/routing.md +28 -0
  167. package/.gemini/skills/seven/reference/setup.md +38 -0
  168. package/.gemini/skills/seven/reference/shape.md +85 -0
  169. package/.gemini/skills/seven/reference/spatial-design.md +60 -0
  170. package/.gemini/skills/seven/reference/typeset.md +28 -0
  171. package/.gemini/skills/seven/reference/typography.md +43 -0
  172. package/.gemini/skills/seven/reference/ux-writing.md +47 -0
  173. package/.gemini/skills/seven/reference/visual-probes.md +36 -0
  174. package/.gemini/skills/seven/scripts/context-signals.mjs +95 -0
  175. package/.gemini/skills/seven/scripts/critique-storage.mjs +155 -0
  176. package/.gemini/skills/seven/scripts/load-context.mjs +111 -0
  177. package/.gemini/skills/seven/scripts/run-seven.mjs +47 -0
  178. package/.gemini/skills/seven/scripts/update-check.mjs +120 -0
  179. package/.grok/agents/seven-asset-producer.md +40 -0
  180. package/.grok/agents/seven-finish-reviewer.md +36 -0
  181. package/.grok/agents/seven-manual-edit-applier.md +46 -0
  182. package/.grok/skills/seven/SKILL.md +176 -0
  183. package/.grok/skills/seven/reference/adapt.md +34 -0
  184. package/.grok/skills/seven/reference/animate.md +31 -0
  185. package/.grok/skills/seven/reference/app-shell.md +152 -0
  186. package/.grok/skills/seven/reference/audit.md +122 -0
  187. package/.grok/skills/seven/reference/bolder.md +34 -0
  188. package/.grok/skills/seven/reference/brand.md +31 -0
  189. package/.grok/skills/seven/reference/clarify.md +76 -0
  190. package/.grok/skills/seven/reference/color-and-contrast.md +84 -0
  191. package/.grok/skills/seven/reference/colorize.md +31 -0
  192. package/.grok/skills/seven/reference/critique.md +53 -0
  193. package/.grok/skills/seven/reference/delight.md +30 -0
  194. package/.grok/skills/seven/reference/distill.md +30 -0
  195. package/.grok/skills/seven/reference/doctor.md +9 -0
  196. package/.grok/skills/seven/reference/document.md +36 -0
  197. package/.grok/skills/seven/reference/evaluations.md +44 -0
  198. package/.grok/skills/seven/reference/exceptions.md +7 -0
  199. package/.grok/skills/seven/reference/extract.md +42 -0
  200. package/.grok/skills/seven/reference/harden.md +36 -0
  201. package/.grok/skills/seven/reference/hooks.md +11 -0
  202. package/.grok/skills/seven/reference/init.md +5 -0
  203. package/.grok/skills/seven/reference/layout.md +33 -0
  204. package/.grok/skills/seven/reference/live.md +106 -0
  205. package/.grok/skills/seven/reference/motion-design.md +71 -0
  206. package/.grok/skills/seven/reference/onboard.md +35 -0
  207. package/.grok/skills/seven/reference/optimize.md +34 -0
  208. package/.grok/skills/seven/reference/overdrive.md +32 -0
  209. package/.grok/skills/seven/reference/polish.md +55 -0
  210. package/.grok/skills/seven/reference/product.md +43 -0
  211. package/.grok/skills/seven/reference/quieter.md +31 -0
  212. package/.grok/skills/seven/reference/routing.md +28 -0
  213. package/.grok/skills/seven/reference/setup.md +38 -0
  214. package/.grok/skills/seven/reference/shape.md +85 -0
  215. package/.grok/skills/seven/reference/spatial-design.md +60 -0
  216. package/.grok/skills/seven/reference/typeset.md +28 -0
  217. package/.grok/skills/seven/reference/typography.md +43 -0
  218. package/.grok/skills/seven/reference/ux-writing.md +47 -0
  219. package/.grok/skills/seven/reference/visual-probes.md +36 -0
  220. package/.grok/skills/seven/scripts/context-signals.mjs +95 -0
  221. package/.grok/skills/seven/scripts/critique-storage.mjs +155 -0
  222. package/.grok/skills/seven/scripts/load-context.mjs +111 -0
  223. package/.grok/skills/seven/scripts/run-seven.mjs +47 -0
  224. package/.grok/skills/seven/scripts/update-check.mjs +120 -0
  225. package/.kiro/skills/seven/SKILL.md +172 -0
  226. package/.kiro/skills/seven/reference/adapt.md +34 -0
  227. package/.kiro/skills/seven/reference/animate.md +31 -0
  228. package/.kiro/skills/seven/reference/app-shell.md +152 -0
  229. package/.kiro/skills/seven/reference/audit.md +122 -0
  230. package/.kiro/skills/seven/reference/bolder.md +34 -0
  231. package/.kiro/skills/seven/reference/brand.md +31 -0
  232. package/.kiro/skills/seven/reference/clarify.md +76 -0
  233. package/.kiro/skills/seven/reference/color-and-contrast.md +84 -0
  234. package/.kiro/skills/seven/reference/colorize.md +31 -0
  235. package/.kiro/skills/seven/reference/critique.md +53 -0
  236. package/.kiro/skills/seven/reference/delight.md +30 -0
  237. package/.kiro/skills/seven/reference/distill.md +30 -0
  238. package/.kiro/skills/seven/reference/doctor.md +9 -0
  239. package/.kiro/skills/seven/reference/document.md +36 -0
  240. package/.kiro/skills/seven/reference/evaluations.md +44 -0
  241. package/.kiro/skills/seven/reference/exceptions.md +7 -0
  242. package/.kiro/skills/seven/reference/extract.md +42 -0
  243. package/.kiro/skills/seven/reference/harden.md +36 -0
  244. package/.kiro/skills/seven/reference/hooks.md +11 -0
  245. package/.kiro/skills/seven/reference/init.md +5 -0
  246. package/.kiro/skills/seven/reference/layout.md +33 -0
  247. package/.kiro/skills/seven/reference/live.md +106 -0
  248. package/.kiro/skills/seven/reference/motion-design.md +71 -0
  249. package/.kiro/skills/seven/reference/onboard.md +35 -0
  250. package/.kiro/skills/seven/reference/optimize.md +34 -0
  251. package/.kiro/skills/seven/reference/overdrive.md +32 -0
  252. package/.kiro/skills/seven/reference/polish.md +55 -0
  253. package/.kiro/skills/seven/reference/product.md +43 -0
  254. package/.kiro/skills/seven/reference/quieter.md +31 -0
  255. package/.kiro/skills/seven/reference/routing.md +28 -0
  256. package/.kiro/skills/seven/reference/setup.md +38 -0
  257. package/.kiro/skills/seven/reference/shape.md +85 -0
  258. package/.kiro/skills/seven/reference/spatial-design.md +60 -0
  259. package/.kiro/skills/seven/reference/typeset.md +28 -0
  260. package/.kiro/skills/seven/reference/typography.md +43 -0
  261. package/.kiro/skills/seven/reference/ux-writing.md +47 -0
  262. package/.kiro/skills/seven/reference/visual-probes.md +36 -0
  263. package/.kiro/skills/seven/scripts/context-signals.mjs +95 -0
  264. package/.kiro/skills/seven/scripts/critique-storage.mjs +155 -0
  265. package/.kiro/skills/seven/scripts/load-context.mjs +111 -0
  266. package/.kiro/skills/seven/scripts/run-seven.mjs +47 -0
  267. package/.kiro/skills/seven/scripts/update-check.mjs +120 -0
  268. package/.opencode/skills/seven/SKILL.md +176 -0
  269. package/.opencode/skills/seven/reference/adapt.md +34 -0
  270. package/.opencode/skills/seven/reference/animate.md +31 -0
  271. package/.opencode/skills/seven/reference/app-shell.md +152 -0
  272. package/.opencode/skills/seven/reference/audit.md +122 -0
  273. package/.opencode/skills/seven/reference/bolder.md +34 -0
  274. package/.opencode/skills/seven/reference/brand.md +31 -0
  275. package/.opencode/skills/seven/reference/clarify.md +76 -0
  276. package/.opencode/skills/seven/reference/color-and-contrast.md +84 -0
  277. package/.opencode/skills/seven/reference/colorize.md +31 -0
  278. package/.opencode/skills/seven/reference/critique.md +53 -0
  279. package/.opencode/skills/seven/reference/delight.md +30 -0
  280. package/.opencode/skills/seven/reference/distill.md +30 -0
  281. package/.opencode/skills/seven/reference/doctor.md +9 -0
  282. package/.opencode/skills/seven/reference/document.md +36 -0
  283. package/.opencode/skills/seven/reference/evaluations.md +44 -0
  284. package/.opencode/skills/seven/reference/exceptions.md +7 -0
  285. package/.opencode/skills/seven/reference/extract.md +42 -0
  286. package/.opencode/skills/seven/reference/harden.md +36 -0
  287. package/.opencode/skills/seven/reference/hooks.md +11 -0
  288. package/.opencode/skills/seven/reference/init.md +5 -0
  289. package/.opencode/skills/seven/reference/layout.md +33 -0
  290. package/.opencode/skills/seven/reference/live.md +106 -0
  291. package/.opencode/skills/seven/reference/motion-design.md +71 -0
  292. package/.opencode/skills/seven/reference/onboard.md +35 -0
  293. package/.opencode/skills/seven/reference/optimize.md +34 -0
  294. package/.opencode/skills/seven/reference/overdrive.md +32 -0
  295. package/.opencode/skills/seven/reference/polish.md +55 -0
  296. package/.opencode/skills/seven/reference/product.md +43 -0
  297. package/.opencode/skills/seven/reference/quieter.md +31 -0
  298. package/.opencode/skills/seven/reference/routing.md +28 -0
  299. package/.opencode/skills/seven/reference/setup.md +38 -0
  300. package/.opencode/skills/seven/reference/shape.md +85 -0
  301. package/.opencode/skills/seven/reference/spatial-design.md +60 -0
  302. package/.opencode/skills/seven/reference/typeset.md +28 -0
  303. package/.opencode/skills/seven/reference/typography.md +43 -0
  304. package/.opencode/skills/seven/reference/ux-writing.md +47 -0
  305. package/.opencode/skills/seven/reference/visual-probes.md +36 -0
  306. package/.opencode/skills/seven/scripts/context-signals.mjs +95 -0
  307. package/.opencode/skills/seven/scripts/critique-storage.mjs +155 -0
  308. package/.opencode/skills/seven/scripts/load-context.mjs +111 -0
  309. package/.opencode/skills/seven/scripts/run-seven.mjs +47 -0
  310. package/.opencode/skills/seven/scripts/update-check.mjs +120 -0
  311. package/.pi/skills/seven/SKILL.md +174 -0
  312. package/.pi/skills/seven/reference/adapt.md +34 -0
  313. package/.pi/skills/seven/reference/animate.md +31 -0
  314. package/.pi/skills/seven/reference/app-shell.md +152 -0
  315. package/.pi/skills/seven/reference/audit.md +122 -0
  316. package/.pi/skills/seven/reference/bolder.md +34 -0
  317. package/.pi/skills/seven/reference/brand.md +31 -0
  318. package/.pi/skills/seven/reference/clarify.md +76 -0
  319. package/.pi/skills/seven/reference/color-and-contrast.md +84 -0
  320. package/.pi/skills/seven/reference/colorize.md +31 -0
  321. package/.pi/skills/seven/reference/critique.md +53 -0
  322. package/.pi/skills/seven/reference/delight.md +30 -0
  323. package/.pi/skills/seven/reference/distill.md +30 -0
  324. package/.pi/skills/seven/reference/doctor.md +9 -0
  325. package/.pi/skills/seven/reference/document.md +36 -0
  326. package/.pi/skills/seven/reference/evaluations.md +44 -0
  327. package/.pi/skills/seven/reference/exceptions.md +7 -0
  328. package/.pi/skills/seven/reference/extract.md +42 -0
  329. package/.pi/skills/seven/reference/harden.md +36 -0
  330. package/.pi/skills/seven/reference/hooks.md +11 -0
  331. package/.pi/skills/seven/reference/init.md +5 -0
  332. package/.pi/skills/seven/reference/layout.md +33 -0
  333. package/.pi/skills/seven/reference/live.md +106 -0
  334. package/.pi/skills/seven/reference/motion-design.md +71 -0
  335. package/.pi/skills/seven/reference/onboard.md +35 -0
  336. package/.pi/skills/seven/reference/optimize.md +34 -0
  337. package/.pi/skills/seven/reference/overdrive.md +32 -0
  338. package/.pi/skills/seven/reference/polish.md +55 -0
  339. package/.pi/skills/seven/reference/product.md +43 -0
  340. package/.pi/skills/seven/reference/quieter.md +31 -0
  341. package/.pi/skills/seven/reference/routing.md +28 -0
  342. package/.pi/skills/seven/reference/setup.md +38 -0
  343. package/.pi/skills/seven/reference/shape.md +85 -0
  344. package/.pi/skills/seven/reference/spatial-design.md +60 -0
  345. package/.pi/skills/seven/reference/typeset.md +28 -0
  346. package/.pi/skills/seven/reference/typography.md +43 -0
  347. package/.pi/skills/seven/reference/ux-writing.md +47 -0
  348. package/.pi/skills/seven/reference/visual-probes.md +36 -0
  349. package/.pi/skills/seven/scripts/context-signals.mjs +95 -0
  350. package/.pi/skills/seven/scripts/critique-storage.mjs +155 -0
  351. package/.pi/skills/seven/scripts/load-context.mjs +111 -0
  352. package/.pi/skills/seven/scripts/run-seven.mjs +47 -0
  353. package/.pi/skills/seven/scripts/update-check.mjs +120 -0
  354. package/.qoder/skills/seven/SKILL.md +176 -0
  355. package/.qoder/skills/seven/reference/adapt.md +34 -0
  356. package/.qoder/skills/seven/reference/animate.md +31 -0
  357. package/.qoder/skills/seven/reference/app-shell.md +152 -0
  358. package/.qoder/skills/seven/reference/audit.md +122 -0
  359. package/.qoder/skills/seven/reference/bolder.md +34 -0
  360. package/.qoder/skills/seven/reference/brand.md +31 -0
  361. package/.qoder/skills/seven/reference/clarify.md +76 -0
  362. package/.qoder/skills/seven/reference/color-and-contrast.md +84 -0
  363. package/.qoder/skills/seven/reference/colorize.md +31 -0
  364. package/.qoder/skills/seven/reference/critique.md +53 -0
  365. package/.qoder/skills/seven/reference/delight.md +30 -0
  366. package/.qoder/skills/seven/reference/distill.md +30 -0
  367. package/.qoder/skills/seven/reference/doctor.md +9 -0
  368. package/.qoder/skills/seven/reference/document.md +36 -0
  369. package/.qoder/skills/seven/reference/evaluations.md +44 -0
  370. package/.qoder/skills/seven/reference/exceptions.md +7 -0
  371. package/.qoder/skills/seven/reference/extract.md +42 -0
  372. package/.qoder/skills/seven/reference/harden.md +36 -0
  373. package/.qoder/skills/seven/reference/hooks.md +11 -0
  374. package/.qoder/skills/seven/reference/init.md +5 -0
  375. package/.qoder/skills/seven/reference/layout.md +33 -0
  376. package/.qoder/skills/seven/reference/live.md +106 -0
  377. package/.qoder/skills/seven/reference/motion-design.md +71 -0
  378. package/.qoder/skills/seven/reference/onboard.md +35 -0
  379. package/.qoder/skills/seven/reference/optimize.md +34 -0
  380. package/.qoder/skills/seven/reference/overdrive.md +32 -0
  381. package/.qoder/skills/seven/reference/polish.md +55 -0
  382. package/.qoder/skills/seven/reference/product.md +43 -0
  383. package/.qoder/skills/seven/reference/quieter.md +31 -0
  384. package/.qoder/skills/seven/reference/routing.md +28 -0
  385. package/.qoder/skills/seven/reference/setup.md +38 -0
  386. package/.qoder/skills/seven/reference/shape.md +85 -0
  387. package/.qoder/skills/seven/reference/spatial-design.md +60 -0
  388. package/.qoder/skills/seven/reference/typeset.md +28 -0
  389. package/.qoder/skills/seven/reference/typography.md +43 -0
  390. package/.qoder/skills/seven/reference/ux-writing.md +47 -0
  391. package/.qoder/skills/seven/reference/visual-probes.md +36 -0
  392. package/.qoder/skills/seven/scripts/context-signals.mjs +95 -0
  393. package/.qoder/skills/seven/scripts/critique-storage.mjs +155 -0
  394. package/.qoder/skills/seven/scripts/load-context.mjs +111 -0
  395. package/.qoder/skills/seven/scripts/run-seven.mjs +47 -0
  396. package/.qoder/skills/seven/scripts/update-check.mjs +120 -0
  397. package/.rovodev/skills/seven/SKILL.md +176 -0
  398. package/.rovodev/skills/seven/reference/adapt.md +34 -0
  399. package/.rovodev/skills/seven/reference/animate.md +31 -0
  400. package/.rovodev/skills/seven/reference/app-shell.md +152 -0
  401. package/.rovodev/skills/seven/reference/audit.md +122 -0
  402. package/.rovodev/skills/seven/reference/bolder.md +34 -0
  403. package/.rovodev/skills/seven/reference/brand.md +31 -0
  404. package/.rovodev/skills/seven/reference/clarify.md +76 -0
  405. package/.rovodev/skills/seven/reference/color-and-contrast.md +84 -0
  406. package/.rovodev/skills/seven/reference/colorize.md +31 -0
  407. package/.rovodev/skills/seven/reference/critique.md +53 -0
  408. package/.rovodev/skills/seven/reference/delight.md +30 -0
  409. package/.rovodev/skills/seven/reference/distill.md +30 -0
  410. package/.rovodev/skills/seven/reference/doctor.md +9 -0
  411. package/.rovodev/skills/seven/reference/document.md +36 -0
  412. package/.rovodev/skills/seven/reference/evaluations.md +44 -0
  413. package/.rovodev/skills/seven/reference/exceptions.md +7 -0
  414. package/.rovodev/skills/seven/reference/extract.md +42 -0
  415. package/.rovodev/skills/seven/reference/harden.md +36 -0
  416. package/.rovodev/skills/seven/reference/hooks.md +11 -0
  417. package/.rovodev/skills/seven/reference/init.md +5 -0
  418. package/.rovodev/skills/seven/reference/layout.md +33 -0
  419. package/.rovodev/skills/seven/reference/live.md +106 -0
  420. package/.rovodev/skills/seven/reference/motion-design.md +71 -0
  421. package/.rovodev/skills/seven/reference/onboard.md +35 -0
  422. package/.rovodev/skills/seven/reference/optimize.md +34 -0
  423. package/.rovodev/skills/seven/reference/overdrive.md +32 -0
  424. package/.rovodev/skills/seven/reference/polish.md +55 -0
  425. package/.rovodev/skills/seven/reference/product.md +43 -0
  426. package/.rovodev/skills/seven/reference/quieter.md +31 -0
  427. package/.rovodev/skills/seven/reference/routing.md +28 -0
  428. package/.rovodev/skills/seven/reference/setup.md +38 -0
  429. package/.rovodev/skills/seven/reference/shape.md +85 -0
  430. package/.rovodev/skills/seven/reference/spatial-design.md +60 -0
  431. package/.rovodev/skills/seven/reference/typeset.md +28 -0
  432. package/.rovodev/skills/seven/reference/typography.md +43 -0
  433. package/.rovodev/skills/seven/reference/ux-writing.md +47 -0
  434. package/.rovodev/skills/seven/reference/visual-probes.md +36 -0
  435. package/.rovodev/skills/seven/scripts/context-signals.mjs +95 -0
  436. package/.rovodev/skills/seven/scripts/critique-storage.mjs +155 -0
  437. package/.rovodev/skills/seven/scripts/load-context.mjs +111 -0
  438. package/.rovodev/skills/seven/scripts/run-seven.mjs +47 -0
  439. package/.rovodev/skills/seven/scripts/update-check.mjs +120 -0
  440. package/.trae/skills/seven/SKILL.md +174 -0
  441. package/.trae/skills/seven/reference/adapt.md +34 -0
  442. package/.trae/skills/seven/reference/animate.md +31 -0
  443. package/.trae/skills/seven/reference/app-shell.md +152 -0
  444. package/.trae/skills/seven/reference/audit.md +122 -0
  445. package/.trae/skills/seven/reference/bolder.md +34 -0
  446. package/.trae/skills/seven/reference/brand.md +31 -0
  447. package/.trae/skills/seven/reference/clarify.md +76 -0
  448. package/.trae/skills/seven/reference/color-and-contrast.md +84 -0
  449. package/.trae/skills/seven/reference/colorize.md +31 -0
  450. package/.trae/skills/seven/reference/critique.md +53 -0
  451. package/.trae/skills/seven/reference/delight.md +30 -0
  452. package/.trae/skills/seven/reference/distill.md +30 -0
  453. package/.trae/skills/seven/reference/doctor.md +9 -0
  454. package/.trae/skills/seven/reference/document.md +36 -0
  455. package/.trae/skills/seven/reference/evaluations.md +44 -0
  456. package/.trae/skills/seven/reference/exceptions.md +7 -0
  457. package/.trae/skills/seven/reference/extract.md +42 -0
  458. package/.trae/skills/seven/reference/harden.md +36 -0
  459. package/.trae/skills/seven/reference/hooks.md +11 -0
  460. package/.trae/skills/seven/reference/init.md +5 -0
  461. package/.trae/skills/seven/reference/layout.md +33 -0
  462. package/.trae/skills/seven/reference/live.md +106 -0
  463. package/.trae/skills/seven/reference/motion-design.md +71 -0
  464. package/.trae/skills/seven/reference/onboard.md +35 -0
  465. package/.trae/skills/seven/reference/optimize.md +34 -0
  466. package/.trae/skills/seven/reference/overdrive.md +32 -0
  467. package/.trae/skills/seven/reference/polish.md +55 -0
  468. package/.trae/skills/seven/reference/product.md +43 -0
  469. package/.trae/skills/seven/reference/quieter.md +31 -0
  470. package/.trae/skills/seven/reference/routing.md +28 -0
  471. package/.trae/skills/seven/reference/setup.md +38 -0
  472. package/.trae/skills/seven/reference/shape.md +85 -0
  473. package/.trae/skills/seven/reference/spatial-design.md +60 -0
  474. package/.trae/skills/seven/reference/typeset.md +28 -0
  475. package/.trae/skills/seven/reference/typography.md +43 -0
  476. package/.trae/skills/seven/reference/ux-writing.md +47 -0
  477. package/.trae/skills/seven/reference/visual-probes.md +36 -0
  478. package/.trae/skills/seven/scripts/context-signals.mjs +95 -0
  479. package/.trae/skills/seven/scripts/critique-storage.mjs +155 -0
  480. package/.trae/skills/seven/scripts/load-context.mjs +111 -0
  481. package/.trae/skills/seven/scripts/run-seven.mjs +47 -0
  482. package/.trae/skills/seven/scripts/update-check.mjs +120 -0
  483. package/.trae-cn/skills/seven/SKILL.md +174 -0
  484. package/.trae-cn/skills/seven/reference/adapt.md +34 -0
  485. package/.trae-cn/skills/seven/reference/animate.md +31 -0
  486. package/.trae-cn/skills/seven/reference/app-shell.md +152 -0
  487. package/.trae-cn/skills/seven/reference/audit.md +122 -0
  488. package/.trae-cn/skills/seven/reference/bolder.md +34 -0
  489. package/.trae-cn/skills/seven/reference/brand.md +31 -0
  490. package/.trae-cn/skills/seven/reference/clarify.md +76 -0
  491. package/.trae-cn/skills/seven/reference/color-and-contrast.md +84 -0
  492. package/.trae-cn/skills/seven/reference/colorize.md +31 -0
  493. package/.trae-cn/skills/seven/reference/critique.md +53 -0
  494. package/.trae-cn/skills/seven/reference/delight.md +30 -0
  495. package/.trae-cn/skills/seven/reference/distill.md +30 -0
  496. package/.trae-cn/skills/seven/reference/doctor.md +9 -0
  497. package/.trae-cn/skills/seven/reference/document.md +36 -0
  498. package/.trae-cn/skills/seven/reference/evaluations.md +44 -0
  499. package/.trae-cn/skills/seven/reference/exceptions.md +7 -0
  500. package/.trae-cn/skills/seven/reference/extract.md +42 -0
  501. package/.trae-cn/skills/seven/reference/harden.md +36 -0
  502. package/.trae-cn/skills/seven/reference/hooks.md +11 -0
  503. package/.trae-cn/skills/seven/reference/init.md +5 -0
  504. package/.trae-cn/skills/seven/reference/layout.md +33 -0
  505. package/.trae-cn/skills/seven/reference/live.md +106 -0
  506. package/.trae-cn/skills/seven/reference/motion-design.md +71 -0
  507. package/.trae-cn/skills/seven/reference/onboard.md +35 -0
  508. package/.trae-cn/skills/seven/reference/optimize.md +34 -0
  509. package/.trae-cn/skills/seven/reference/overdrive.md +32 -0
  510. package/.trae-cn/skills/seven/reference/polish.md +55 -0
  511. package/.trae-cn/skills/seven/reference/product.md +43 -0
  512. package/.trae-cn/skills/seven/reference/quieter.md +31 -0
  513. package/.trae-cn/skills/seven/reference/routing.md +28 -0
  514. package/.trae-cn/skills/seven/reference/setup.md +38 -0
  515. package/.trae-cn/skills/seven/reference/shape.md +85 -0
  516. package/.trae-cn/skills/seven/reference/spatial-design.md +60 -0
  517. package/.trae-cn/skills/seven/reference/typeset.md +28 -0
  518. package/.trae-cn/skills/seven/reference/typography.md +43 -0
  519. package/.trae-cn/skills/seven/reference/ux-writing.md +47 -0
  520. package/.trae-cn/skills/seven/reference/visual-probes.md +36 -0
  521. package/.trae-cn/skills/seven/scripts/context-signals.mjs +95 -0
  522. package/.trae-cn/skills/seven/scripts/critique-storage.mjs +155 -0
  523. package/.trae-cn/skills/seven/scripts/load-context.mjs +111 -0
  524. package/.trae-cn/skills/seven/scripts/run-seven.mjs +47 -0
  525. package/.trae-cn/skills/seven/scripts/update-check.mjs +120 -0
  526. package/.vibe/skills/seven/SKILL.md +175 -0
  527. package/.vibe/skills/seven/reference/adapt.md +34 -0
  528. package/.vibe/skills/seven/reference/animate.md +31 -0
  529. package/.vibe/skills/seven/reference/app-shell.md +152 -0
  530. package/.vibe/skills/seven/reference/audit.md +122 -0
  531. package/.vibe/skills/seven/reference/bolder.md +34 -0
  532. package/.vibe/skills/seven/reference/brand.md +31 -0
  533. package/.vibe/skills/seven/reference/clarify.md +76 -0
  534. package/.vibe/skills/seven/reference/color-and-contrast.md +84 -0
  535. package/.vibe/skills/seven/reference/colorize.md +31 -0
  536. package/.vibe/skills/seven/reference/critique.md +53 -0
  537. package/.vibe/skills/seven/reference/delight.md +30 -0
  538. package/.vibe/skills/seven/reference/distill.md +30 -0
  539. package/.vibe/skills/seven/reference/doctor.md +9 -0
  540. package/.vibe/skills/seven/reference/document.md +36 -0
  541. package/.vibe/skills/seven/reference/evaluations.md +44 -0
  542. package/.vibe/skills/seven/reference/exceptions.md +7 -0
  543. package/.vibe/skills/seven/reference/extract.md +42 -0
  544. package/.vibe/skills/seven/reference/harden.md +36 -0
  545. package/.vibe/skills/seven/reference/hooks.md +11 -0
  546. package/.vibe/skills/seven/reference/init.md +5 -0
  547. package/.vibe/skills/seven/reference/layout.md +33 -0
  548. package/.vibe/skills/seven/reference/live.md +106 -0
  549. package/.vibe/skills/seven/reference/motion-design.md +71 -0
  550. package/.vibe/skills/seven/reference/onboard.md +35 -0
  551. package/.vibe/skills/seven/reference/optimize.md +34 -0
  552. package/.vibe/skills/seven/reference/overdrive.md +32 -0
  553. package/.vibe/skills/seven/reference/polish.md +55 -0
  554. package/.vibe/skills/seven/reference/product.md +43 -0
  555. package/.vibe/skills/seven/reference/quieter.md +31 -0
  556. package/.vibe/skills/seven/reference/routing.md +28 -0
  557. package/.vibe/skills/seven/reference/setup.md +38 -0
  558. package/.vibe/skills/seven/reference/shape.md +85 -0
  559. package/.vibe/skills/seven/reference/spatial-design.md +60 -0
  560. package/.vibe/skills/seven/reference/typeset.md +28 -0
  561. package/.vibe/skills/seven/reference/typography.md +43 -0
  562. package/.vibe/skills/seven/reference/ux-writing.md +47 -0
  563. package/.vibe/skills/seven/reference/visual-probes.md +36 -0
  564. package/.vibe/skills/seven/scripts/context-signals.mjs +95 -0
  565. package/.vibe/skills/seven/scripts/critique-storage.mjs +155 -0
  566. package/.vibe/skills/seven/scripts/load-context.mjs +111 -0
  567. package/.vibe/skills/seven/scripts/run-seven.mjs +47 -0
  568. package/.vibe/skills/seven/scripts/update-check.mjs +120 -0
  569. package/README.md +53 -88
  570. package/cli/bin/seven.mjs +0 -0
  571. package/cli/engine/browser/injected/index.mjs +62 -13
  572. package/cli/engine/detect-antipatterns-browser.js +4739 -19
  573. package/cli/engine/detect-antipatterns.mjs +1 -0
  574. package/cli/engine/engines/browser/detect-url.mjs +366 -3
  575. package/cli/engine/engines/regex/detect-text.mjs +469 -1
  576. package/cli/engine/engines/static-html/detect-html.mjs +131 -0
  577. package/cli/engine/registry/seven-antipatterns.mjs +379 -4
  578. package/cli/engine/rules/checks.mjs +360 -1
  579. package/cli/engine/shared/tokens.mjs +19 -0
  580. package/cli/engine/token-data.generated.mjs +4025 -0
  581. package/docs/detector-rules.md +277 -38
  582. package/docs/upstream-parity.json +242 -0
  583. package/extension/README.md +5 -0
  584. package/extension/background/service-worker.js +134 -0
  585. package/extension/content/content-script.js +340 -0
  586. package/extension/detector/detect.js +7816 -0
  587. package/extension/devtools/devtools.html +1 -0
  588. package/extension/devtools/devtools.js +3 -0
  589. package/extension/devtools/panel.css +66 -0
  590. package/extension/devtools/panel.html +3 -0
  591. package/extension/devtools/panel.js +37 -0
  592. package/extension/manifest.json +22 -0
  593. package/extension/popup/popup.css +106 -0
  594. package/extension/popup/popup.html +27 -0
  595. package/extension/popup/popup.js +74 -0
  596. package/package.json +19 -8
@@ -0,0 +1,31 @@
1
+ # Animate — motion with a job
2
+
3
+ Add motion only when it explains feedback, state, hierarchy, or spatial continuity. Read [motion-design.md](motion-design.md) completely before editing.
4
+
5
+ ## Motion thesis
6
+
7
+ Before implementation, identify:
8
+
9
+ - the state or relationship that is currently hard to understand;
10
+ - the smallest motion that would clarify it;
11
+ - frequency, interruption behavior, and performance budget;
12
+ - reduced-motion equivalent;
13
+ - the existing Seven component or motion token that owns the behavior.
14
+
15
+ If removing the animation would lose no meaning or confidence, do not add it.
16
+
17
+ ## Seven constraints
18
+
19
+ - Routine feedback uses `var(--duration-fast)`; normal transitions use `var(--duration-normal)`; bounded surface entries may use `var(--duration-slow)`.
20
+ - Use `var(--ease-default)` or the documented Seven exit/entry easing. No bounce, spring, elastic, wiggle, marquee, pulsing chrome, or decorative looping.
21
+ - Animate transform and opacity by default. Do not animate width, height, top, left, margin, or other layout-driving properties.
22
+ - Preserve content visibility in the non-enhanced state.
23
+ - Use the existing tactile micro-press. Do not layer a second hover-lift language over it.
24
+ - Loading is a Seven Skeleton or Spinner appropriate to the region, not a bespoke animation.
25
+ - Reduced motion must keep state changes perceivable with near-instant transitions.
26
+
27
+ Do not add a motion dependency for behavior the current stack or Seven component already provides. Any new dependency or browser API with partial support requires explicit user approval and a functional fallback.
28
+
29
+ ## Verify
30
+
31
+ Exercise repeated triggers, interruption, rapid reversal, keyboard activation, reduced motion, background-tab behavior, and a representative mid-range device. Confirm no layout shift, hidden-at-rest content, or long-task illusion. Run Seven checks and relevant interaction tests.
@@ -2,15 +2,36 @@
2
2
 
3
3
  The Seven application shell. Source of truth: Figma "Core Components — Seven", Sidebar set `2472:372` and Topbar set `1403:15038`. When the project has `@etus/ui`, compose `<Sidebar>` / `<Topbar>` from the package — never reimplement. When prototyping without the package, reproduce the nominal values below exactly.
4
4
 
5
- ## The two laws that kill most drift
5
+ ## The three laws that kill most drift
6
6
 
7
7
  1. **Chrome has no outline.** Sidebar and topbar have **no border and no shadow** — they sit on the same `var(--surface)` (#fafafa) plane. The ONLY divider in the shell is the **`border-left` of the secondary panel** (1 px `var(--border)`), owned by the panel, not the rail. Never add `border-r` to the sidebar or `border-b` to the topbar.
8
8
  2. **Chrome is surface, controls are white cards.** The shell background is `var(--surface)`, never white. Interactive controls INSIDE the chrome (selects, search, account switch, toggles) are white cards: `bg-[color:var(--background)]` + 1 px `var(--input)`/`var(--border)` + `rounded-[var(--radius-md)]` (8 px). That contrast — flat grey chrome, bordered white controls — is the Seven shell signature.
9
+ 3. **The shell is L-shaped, never T-shaped.** `Sidebar` and `SidebarInset` are siblings inside one `SidebarProvider`; `Topbar` is the first chrome child inside `SidebarInset`, so it starts at the sidebar's right edge instead of spanning above it. Never place `Topbar` outside the provider/inset, wrap it above both columns, or recreate the sidebar offset with `ml-*`, `pl-*`, `left-*`, `width: calc(...)`, or duplicated layout state.
10
+
11
+ ```text
12
+ ┌──────────┬──────────────────────────────┐
13
+ │ Sidebar │ Topbar │
14
+ │ full ├──────────────────────────────┤
15
+ │ height │ Content │
16
+ └──────────┴──────────────────────────────┘
17
+ ```
9
18
 
10
- ## Sidebar (4 states)
19
+ ## Sidebar state model
11
20
 
12
21
  All states: `bg-[color:var(--surface)]`, padding `12px` horizontal / `24px` vertical, column layout with `justify-between` (top group / bottom group). No border, no shadow.
13
22
 
23
+ The provider has three independent state owners. Do not mirror or derive one
24
+ from another:
25
+
26
+ | State | Owns | Required behavior |
27
+ | -------------- | ----------------- | ---------------------------------------------------------------------------------------------------- |
28
+ | `open` | Desktop panel | `single`: 200↔64px by default. `dual`: shows/hides only the 216px secondary panel. |
29
+ | `openMobile` | Sheet below 768px | Starts closed. `SidebarTrigger.aria-expanded` must read this state on mobile, never `open`. |
30
+ | `railExpanded` | Dual Rail overlay | Transient. Effective state is hover **OR** focus-within; Escape dismisses it. It is never persisted. |
31
+
32
+ `mode` defaults to `single`. `collapsible` defaults to `icon`; `offcanvas` is
33
+ explicit opt-in and `none` is static. There is no undefined "legacy" third mode.
34
+
14
35
  | State | Width | Notes |
15
36
  | -------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------ |
16
37
  | Collapsed (rail) | **64 px** | icons only |
@@ -20,7 +41,18 @@ All states: `bg-[color:var(--surface)]`, padding `12px` horizontal / `24px` vert
20
41
 
21
42
  Rail contents (top→bottom): Logo 32×32 (icon 24) · AccountSwitch · nav items (gap 20) · … · color-mode toggle (pill 36×24, track `var(--muted)`, white 20 px knob, 12 px icon) · settings item · Avatar 32.
22
43
 
23
- - **Rail item**: 36×36 (20 px Lucide icon + 8 px padding), radius **4 px** (component `sm`). Active: `bg-[color:var(--primary)]` (mint) with dark foreground icon. Expanded item fills the rail width (176 px inside the 200 px rail).
44
+ - **Rail item**: 36×36 (20 px Lucide icon + 8 px padding), radius **4 px** (component `sm`). Active/hover colors come from `--sidebar-rail-item-bg-hover` and `--sidebar-rail-item-fg-active`. Expanded item fills the rail width (176 px inside the 200 px rail).
45
+ - Every `SidebarRailButton` has a non-empty `label`. The primitive emits it as
46
+ `aria-label` + `data-label`, shows it as text only while expanded, and hides
47
+ the tooltip while expanded. An icon-only button without `label` is invalid.
48
+ - Navigation is one interactive element:
49
+ `<SidebarRailButton asChild label="Relatórios"><Link … /></SidebarRailButton>`.
50
+ Never render `<Link><SidebarRailButton /></Link>`.
51
+ - Hover and keyboard focus are simultaneous sources. `mouseleave` does not
52
+ collapse while focus remains inside; `focusout` does not collapse while the
53
+ pointer remains over the Rail.
54
+ - `SidebarRail` (without `Content`) is the thin click target that toggles the
55
+ panel. It is not draggable and does not resize.
24
56
  - **AccountSwitch**: white card, 1 px `var(--input)`, radius 8; brand logo 24×24 radius 4. Collapsed: logo only (px 8). Expanded: logo + account name (16 px, `var(--muted-foreground)`) + ChevronsUpDown 16.
25
57
 
26
58
  ### Secondary panel (216 px)
@@ -48,23 +80,73 @@ The page content sits next to/below the chrome as **cards on the canvas** — wh
48
80
  ## @etus/ui mapping
49
81
 
50
82
  ```tsx
83
+ import { LayoutDashboard } from "lucide-react";
51
84
  import {
52
- Sidebar, SidebarProvider, SidebarRailContent, SidebarRailButton,
53
- SidebarPanelContent, SidebarPanelItem, SidebarPanelGroup,
54
- Topbar, TopbarLeading, TopbarTrailing,
55
- } from "@etus/ui"
56
-
57
- <SidebarProvider mode="dual"> {/* rail + secondary panel */}
85
+ Sidebar,
86
+ SidebarProvider,
87
+ SidebarRailContent,
88
+ SidebarRailButton,
89
+ SidebarPanelContent,
90
+ SidebarPanelItem,
91
+ SidebarPanelGroup,
92
+ SidebarInset,
93
+ SidebarTrigger,
94
+ Topbar,
95
+ TopbarLeading,
96
+ TopbarTrailing,
97
+ } from "@etus/ui";
98
+
99
+ <SidebarProvider mode="dual">
100
+ {" "}
101
+ {/* rail + secondary panel */}
58
102
  <Sidebar>
59
- <SidebarRailContent>…</SidebarRailContent> {/* borderless; expands on hover as overlay */}
60
- <SidebarPanelContent>…</SidebarPanelContent> {/* carries the border-l divider */}
103
+ <SidebarRailContent>
104
+ {" "}
105
+ {/* borderless; expands on hover/focus as overlay */}
106
+ <SidebarRailButton asChild label="Visão geral" tooltip="Visão geral">
107
+ <a href="/">
108
+ <LayoutDashboard />
109
+ </a>
110
+ </SidebarRailButton>
111
+ </SidebarRailContent>
112
+ <SidebarPanelContent>…</SidebarPanelContent>{" "}
113
+ {/* carries the border-l divider */}
61
114
  </Sidebar>
62
- </SidebarProvider>
63
-
64
- <Topbar variant="default"> {/* or "filters" */}
65
- <TopbarLeading>{/* Breadcrumb */}</TopbarLeading>
66
- <TopbarTrailing>{/* filters + search/bell toggles */}</TopbarTrailing>
67
- </Topbar>
115
+ <SidebarInset>
116
+ <Topbar variant="default">
117
+ {" "}
118
+ {/* or "filters"; never border/shadow */}
119
+ <TopbarLeading>
120
+ <SidebarTrigger className="md:hidden" />{" "}
121
+ {/* opens the Sheet below 768px */}
122
+ {/* Breadcrumb */}
123
+ </TopbarLeading>
124
+ <TopbarTrailing>{/* filters + search/bell toggles */}</TopbarTrailing>
125
+ </Topbar>
126
+ <main>{/* bordered/rounded content surface */}</main>
127
+ </SidebarInset>
128
+ </SidebarProvider>;
68
129
  ```
69
130
 
70
- `mode="single"` renders the classic one-panel sidebar (also borderless). Copy in pt-BR: `Visão Geral`, `Configurações`, `Buscar...`, `Tema Claro`.
131
+ `mode="single"` renders the classic one-panel sidebar (also borderless), and is
132
+ the runtime default. Its default collapse is `icon` (200→64px).
133
+ `collapsible="none"` is the only case that does not need a trigger because the
134
+ sidebar never becomes hidden. In every collapsible shell, the mobile trigger
135
+ belongs in `TopbarLeading`; a trigger trapped inside the closed mobile Sheet
136
+ cannot open it.
137
+
138
+ Below 768 px, keep the trigger visible and collapse long breadcrumbs/actions to
139
+ a current-page label or responsive menu. In `dual`, hide
140
+ `SidebarRailContent`; render `SidebarPanelContent` expanded at 100% of the
141
+ Sheet width regardless of desktop `open`. `TopbarLeading` must not overflow
142
+ underneath `TopbarTrailing`; hiding the Sidebar while leaving desktop-only
143
+ chrome wider than its slot still produces a broken mobile shell.
144
+
145
+ The local detector rule `sidebar-topbar-shell` rejects a Topbar outside
146
+ `SidebarInset`, a bordered/shadowed shell Topbar, the T-shaped rendered
147
+ geometry, a collapsible mobile shell with no visible Topbar trigger, and
148
+ overflowing mobile leading chrome. `sidebar-rail-behavior` rejects unlabeled
149
+ Rail buttons, nested Link/button markup, mobile ARIA drift, and a collapsed or
150
+ narrow panel inside an open mobile Sheet.
151
+
152
+ Copy in pt-BR: `Visão Geral`, `Configurações`, `Buscar...`, `Tema Claro`.
@@ -45,7 +45,7 @@ Check for:
45
45
  - Pure `#000` and `#fff`. Detector rule: `pure-black-or-white`.
46
46
  - Tailwind v4 arbitrary values referencing color tokens without the `color:` hint. Detector rule: `missing-color-type-hint`.
47
47
  - Font-size or line-height arbitrary values without `length:`. Detector rule: `missing-length-type-hint`.
48
- - `leading-none` combined with `text-[length:var(--*)]`. Detector rule: `leading-none-with-length-var`.
48
+ - `leading-none` combined with a typed length-variable text utility. Detector rule: `leading-none-with-length-var`.
49
49
  - Wrong token used: `var(--background)` where `var(--muted)` would have read better; mixing token families.
50
50
  - Dark mode visually broken: tokens that look fine in light fail at AAA contrast in dark, or vice versa.
51
51
 
@@ -68,7 +68,7 @@ Scoring: 0 = desktop-only, 1 = major issues, 2 = partial, 3 = good with minor is
68
68
  Run the deterministic detector against the surface or component:
69
69
 
70
70
  ```bash
71
- npx seven detect <path>
71
+ node .claude/skills/seven/scripts/run-seven.mjs check --file <path>
72
72
  ```
73
73
 
74
74
  Then check the report against the Seven rule set:
@@ -79,15 +79,17 @@ Then check the report against the Seven rule set:
79
79
  | `hardcoded-color-not-token` | Hex, rgb, hsl, OKLCH literal where a token exists |
80
80
  | `missing-color-type-hint` | Tailwind v4 arbitrary color value missing the `color:` hint |
81
81
  | `missing-length-type-hint` | Tailwind v4 arbitrary length value missing the `length:` hint |
82
- | `leading-none-with-length-var` | `leading-none` combined with `text-[length:var(--*)]` |
82
+ | `leading-none-with-length-var` | `leading-none` combined with a typed length-variable text utility |
83
83
  | `fuchsia-in-ui-chrome` | Fuchsia color on UI chrome (allowed on `data-role="chart"` and `<svg>`) |
84
84
  | `pt-pt-vocab` | European Portuguese vocabulary in pt-BR surfaces |
85
85
  | `pure-black-or-white` | `#000`, `#fff`, `rgb(0,0,0)`, `rgb(255,255,255)` in consumer code |
86
86
 
87
- Deep detector rules also include `missing-tactile-press`, `radius-mixed-scales`, `pill-on-button`, `forbidden-em-dash`, `gradient-text-decorative`, `side-stripe-border`, `non-lucide-icon`, and `emoji-in-chrome`.
87
+ Deep detector rules also include `missing-tactile-press`, `radius-mixed-scales`, `pill-on-button`, `forbidden-em-dash`, `gradient-text-decorative`, `side-stripe-border`, `non-lucide-icon`, `emoji-in-chrome`, `sidebar-topbar-shell`, and `sidebar-rail-behavior`.
88
88
 
89
89
  Scoring: 0 = five or more findings, 1 = three or four findings, 2 = one or two findings, 3 = clean detector pass, 4 = clean detector pass plus no additional manual issues evident in review.
90
90
 
91
+ When a trusted development page is available, add rendered evidence with `node .claude/skills/seven/scripts/run-seven.mjs check <url>`. URL checks require the optional Puppeteer dependency and a compatible Chrome binary. If the package manager blocked Puppeteer's browser install script, report that activation requirement instead of pretending the rendered audit ran. Static file checks and the local pre-commit gate remain available without a browser.
92
+
91
93
  ## Report shape
92
94
 
93
95
  For each dimension, write:
@@ -0,0 +1,34 @@
1
+ # Bolder — stronger hierarchy, same Seven
2
+
3
+ Increase the conviction of one named target without redesigning its neighbors or adding a visual language the installed Seven release does not own.
4
+
5
+ ## Diagnose first
6
+
7
+ Identify why the target reads weak:
8
+
9
+ - competing primary actions;
10
+ - every element using the same text role, surface, or density;
11
+ - the target using a weaker variant than its job requires;
12
+ - insufficient contrast between section, content, and supporting metadata;
13
+ - the strongest Seven composition already used elsewhere but omitted here.
14
+
15
+ State what must remain unchanged. If the scope is ambiguous, ask before editing.
16
+
17
+ ## Amplify with existing authority
18
+
19
+ - Promote one element through an existing component variant, Text role, semantic token, or spatial role.
20
+ - Reduce surrounding competition instead of making everything louder.
21
+ - Use mint primary only for the true primary action or selected state; do not spread brand fill across unrelated surfaces.
22
+ - Strengthen structure with grouping, alignment, scale, weight, and deliberate whitespace before adding decoration.
23
+ - Preserve copy claims, interactions, accessible names, and state behavior.
24
+
25
+ Never add a new color, font, shadow, radius, illustration style, variant, or arbitrary scale value. If the current Seven contract cannot express the needed hierarchy, stop and report the precise design-system gap.
26
+
27
+ ## Verification
28
+
29
+ - Everything outside the agreed target is byte-for-byte or visually unchanged.
30
+ - The primary job is recognizable in five seconds and keyboard order remains logical.
31
+ - The target is unmistakably Seven, not a new visual identity.
32
+ - `node .claude/skills/seven/scripts/run-seven.mjs check --file` passes for every changed UI file.
33
+
34
+ Finish with `polish` only when the user asks for the broader final pass.
@@ -1,24 +1,31 @@
1
- # Brand register (Phase 2 stub)
1
+ # Brand register
2
2
 
3
- Loaded when the surface is `brand`: marketing pages, campaign surfaces, long-form content, public-facing landing pages.
3
+ Use for public-facing ETUS/Seven marketing, launch, campaign, and storytelling surfaces. The installed Seven release remains the visual authority; this register changes composition and emphasis, not tokens or component contracts.
4
4
 
5
- ## Phase 1 status
5
+ ## Bar
6
6
 
7
- Phase 1 of Seven ships with the brand register as a stub. The Seven Design System itself is a product register: app UI, admin, dashboards, internal tools. Brand surfaces in Phase 1 fall back to the shared design laws in `SKILL.md` and the domain references (`typography`, `color-and-contrast`, `spatial-design`, `motion-design`, `ux-writing`).
7
+ The surface should feel recognizably ETUS before the logo is read: direct, technically confident, energetic through mint/lime contrast, and disciplined enough that the product remains credible. Avoid the generic AI-marketing formula of eyebrow chip, oversized slogan, radial glow, gradient text, three equal feature cards, and repeated centered sections.
8
8
 
9
- If the user explicitly requests brand work and `BRAND.md` selects a brand name other than `etus`, Phase 2 will load the matching `reference/brands/<name>.md` here. Phase 2 also adds dedicated brand-register design laws (color strategy, visual direction probes, type display, scene-sentence for theme).
9
+ ## Composition
10
10
 
11
- ## Bar (Phase 2 target)
11
+ - Build a specific narrative: problem, concrete evidence, product mechanism, proof, action.
12
+ - Use asymmetry or editorial pacing only when it improves the story and responsive reading order.
13
+ - One focal visual idea is enough. Repeat a structural motif deliberately instead of adding unrelated decoration per section.
14
+ - Use real product UI, data, customer evidence, or authored imagery. Do not ship placeholder browser mockups, abstract orb gradients, or icon-tile stacks as proof.
15
+ - Keep calls to action scarce and hierarchical. One primary action per decision region.
12
16
 
13
- Distinctiveness. A brand surface should be recognizably ETUS at a glance, not "a SaaS landing page".
17
+ ## Seven identity
14
18
 
15
- ## Defaults expected in Phase 2
19
+ - Mint and lime are the brand pair. Use semantic Seven token roles; never hardcode the swatches or create campaign-local ramps.
20
+ - Inter remains the typeface. Use the shipped display/heading roles where they exist; a campaign does not justify a new font.
21
+ - Product screenshots and embedded controls retain product component styling. Do not repaint Seven UI to match a hero effect.
22
+ - Motion may author one focal moment, but it obeys Seven tokens, reduced motion, performance budgets, and no bounce/looping-chrome rules.
23
+ - Generated or third-party assets require provenance, appropriate license, alt text, responsive sizes, and explicit user approval before being added.
16
24
 
17
- - Wider type display lane (Inter Display weights, optical sizes).
18
- - Maximalist color strategy options (`Committed`, `Full palette`, `Drenched`) instead of the product default `Restrained`.
19
- - Editorial spacing rhythm (varied, intentional, breathing room).
20
- - Section-level scene sentences forcing dark vs light per surface, not per project.
25
+ ## Copy
21
26
 
22
- ## Until Phase 2
27
+ Lead with concrete outcomes and evidence. Avoid vague superlatives, aphoristic sentence fragments, marketing buzzwords, theater phrases, and unsupported claims. Public copy may be more expressive than product chrome but remains Brazilian Portuguese unless product context says otherwise.
23
28
 
24
- Apply the shared design laws and the domain references. Surface to the user that brand-register depth lands in Phase 2 of the port; do not invent Phase 2 features in Phase 1 brand work.
29
+ ## Verification
30
+
31
+ Critique the narrative and rendered composition separately from the deterministic scan. Test mobile reading order, real content, dark/light behavior where supported, reduced motion, asset loading, SEO semantics, and conversion actions. Any needed visual primitive missing from Seven is a design-system proposal, not a local override.
@@ -6,7 +6,7 @@ Improve UX copy in Seven surfaces. Brazilian Portuguese, sentence case, no trail
6
6
 
7
7
  Clarify rewrites chrome copy: button text, labels, empty states, validation errors, toast messages, menu items, navigation, table column headers, breadcrumbs, tabs, badges, tooltips, dialog titles and descriptions.
8
8
 
9
- Clarify does not rewrite body prose, long-form content, or marketing copy. Those belong to the brand register (Phase 2).
9
+ Clarify does not rewrite body prose, long-form content, or marketing copy unless the user explicitly includes them. Public-facing copy must also load the brand register.
10
10
 
11
11
  ## Rewrite rules
12
12
 
@@ -64,7 +64,7 @@ Sentence case across every chrome surface. Capitalize only the first word and pr
64
64
  3. Verify the rewrites against the detector's `pt-pt-vocab` rule:
65
65
 
66
66
  ```bash
67
- npx seven detect <path>
67
+ node .claude/skills/seven/scripts/run-seven.mjs check --file <path>
68
68
  ```
69
69
 
70
70
  4. Write the rewrites as a diff or table; do not commit until the user confirms.
@@ -0,0 +1,31 @@
1
+ # Colorize — semantic color, not a new palette
2
+
3
+ Improve hierarchy and meaning with the semantic roles already shipped in the installed Seven release. Read [color-and-contrast.md](color-and-contrast.md) first.
4
+
5
+ ## Audit roles
6
+
7
+ Map the target's current uses to:
8
+
9
+ - canvas, surface, elevated surface, and muted regions;
10
+ - primary/secondary foreground and border;
11
+ - action, focus, selection, and active navigation;
12
+ - destructive, warning, success, and information states;
13
+ - chart-only series colors.
14
+
15
+ Identify where grayscale obscures state, color has no meaning, status relies on color alone, or raw literals bypass Seven.
16
+
17
+ ## Apply
18
+
19
+ - Use only known Seven CSS variables and declared component variants.
20
+ - Reserve mint primary for the true action/selection hierarchy and lime for the existing secondary brand role.
21
+ - Use semantic status tokens only for their meaning; do not use warning as decoration or destructive to manufacture urgency.
22
+ - Pair color with text, icon, pattern, or accessible state where meaning would otherwise be color-only.
23
+ - Keep body contrast at 4.5:1 and non-text/focus indicators at 3:1 in every supported theme.
24
+ - Treat fuchsia as chart-only and keep chart color out of chrome.
25
+ - Validate dark mode through computed values rather than copying a light-mode token into a local override.
26
+
27
+ Never create a project palette, hardcode a Seven swatch, redefine a token, introduce a gradient, or use raw Tailwind palette utilities. If a semantic role is absent, report a Seven token gap.
28
+
29
+ ## Verify
30
+
31
+ Run checks, inspect computed light/dark values, simulate common color-vision deficiencies where status is dense, and confirm all meaning remains available without color. Report which semantic roles changed and why.
@@ -0,0 +1,53 @@
1
+ # Critique — visual and product judgment
2
+
3
+ Critique a rendered Seven surface, prioritize what materially weakens it, and persist the result for later work. Critique reports by default; it does not edit unless the user separately authorizes a fix scope.
4
+
5
+ ## Keep two evidence lanes independent
6
+
7
+ Do not let a lint finding predetermine the visual judgment.
8
+
9
+ ### Lane A — rendered assessment
10
+
11
+ Inspect the real target at representative desktop and mobile widths, plus dark mode when supported. Use real product content when available. Record evidence for:
12
+
13
+ - task clarity and primary-action hierarchy;
14
+ - information architecture and reading order;
15
+ - composition, density, alignment, rhythm, and use of space;
16
+ - typography, semantic color, component/variant choice, and Seven identity;
17
+ - interaction feedback, focus, keyboard path, and state continuity;
18
+ - loading, empty, error, success, disabled, permissions, long copy, and large data;
19
+ - responsive reflow, overflow, clipping, and touch affordances;
20
+ - whether the surface feels specific to the product rather than generically generated.
21
+
22
+ ### Lane B — mechanical evidence
23
+
24
+ Run `node .claude/skills/seven/scripts/run-seven.mjs check --file <target>` or `node .claude/skills/seven/scripts/run-seven.mjs check <url>` and relevant tests. Record rule IDs, files, lines, browser errors, and reproducible steps. A clean scan is a floor, not a visual endorsement.
25
+
26
+ Only after both lanes are complete should you synthesize them.
27
+
28
+ If the evidence supports multiple genuinely different corrections and the user asks to compare them, read [visual-probes.md](visual-probes.md). Keep critique reporting-only until a direction and edit scope are explicitly accepted.
29
+
30
+ ## Prioritization
31
+
32
+ - **P0:** blocks the primary job, creates data loss/security risk, or makes the surface inaccessible.
33
+ - **P1:** materially harms comprehension, completion, responsive use, or Seven consistency.
34
+ - **P2:** meaningful quality or maintainability issue with a usable workaround.
35
+ - **P3:** optional refinement; do not let it displace P0–P2 work.
36
+
37
+ For each finding include: priority, concise title, evidence, affected user/job, Seven component/token/rule involved, root cause, recommended direction, and verification criterion. Separate facts from judgment.
38
+
39
+ Score 0–100 only after findings are written: task clarity 25, hierarchy/composition 20, component/token fidelity 20, states/accessibility 20, responsiveness/performance 15. The score summarizes evidence; it never replaces it.
40
+
41
+ ## Persistence
42
+
43
+ Persist the critique through:
44
+
45
+ ```bash
46
+ node .claude/skills/seven/scripts/critique-storage.mjs write --target <target> --input <review.json>
47
+ ```
48
+
49
+ The stored JSON must include `schemaVersion`, `createdAt`, `target`, `surface`, `release`, `score`, priority summary, evidence lanes, findings, and verification. The script also writes a readable Markdown sibling under `.seven/reviews/`. Never store screenshots or secrets there by default.
50
+
51
+ ## Completion
52
+
53
+ Lead with the highest-priority findings, then the score and strengths worth preserving. Link the persisted review. Offer a scoped `polish` pass; do not begin it automatically.
@@ -0,0 +1,30 @@
1
+ # Delight — useful product-specific detail
2
+
3
+ Add a restrained moment that improves confidence, comprehension, recovery, or a sense of progress. Delight is not decoration and never outranks the primary job.
4
+
5
+ ## Find an earned moment
6
+
7
+ Look for one of these:
8
+
9
+ - a successful high-effort action that deserves clear acknowledgment;
10
+ - a first-use moment where a concrete example removes uncertainty;
11
+ - a transition whose continuity is currently confusing;
12
+ - a dense workflow where a smart default or preview saves effort;
13
+ - domain-specific microcopy or data formatting that makes the product feel attentive;
14
+ - an empty state that can directly start the next action.
15
+
16
+ State the user benefit in one sentence. If it is only “looks more fun,” stop.
17
+
18
+ ## Implement within Seven
19
+
20
+ - Prefer better timing, copy, preview, progressive disclosure, saved context, or one purposeful microinteraction.
21
+ - Use existing Seven components, icons, semantic tokens, and motion rules.
22
+ - Keep feedback interruptible and non-blocking. Success must not make expert users wait.
23
+ - Respect reduced motion, sound/autoplay preferences, and assistive technology announcements.
24
+ - Make the detail work with real product data and adverse states, not only a demo value.
25
+
26
+ No confetti, emoji chrome, random praise, hover gimmick, mascot, sound, glow, decorative loop, or generated illustration unless the product context explicitly earns it and the user approves the added asset/behavior.
27
+
28
+ ## Verify
29
+
30
+ The detail should shorten a decision, clarify an outcome, or strengthen trust. Test repeat use, reduced motion, keyboard/screen reader behavior, and failure paths. Remove it if repetition turns it into friction.
@@ -0,0 +1,30 @@
1
+ # Distill — remove until the job is clear
2
+
3
+ Simplify a Seven surface by removing unnecessary decisions, duplication, and chrome while preserving the user's essential job and safe recovery paths.
4
+
5
+ ## Establish the irreducible job
6
+
7
+ From product and surface context, write one sentence: “This surface helps [user] do [job] by [critical action].” Inventory every visible element and classify it as:
8
+
9
+ - required to understand or complete the job;
10
+ - required for safety, accessibility, trust, or recovery;
11
+ - useful but secondary;
12
+ - duplicated, premature, decorative, or unrelated.
13
+
14
+ Do not treat “not primary” as permission to delete. Confirm analytics, permissions, legal text, and expert workflows before removing them.
15
+
16
+ ## Distillation order
17
+
18
+ 1. Remove exact duplicate labels, status, and actions.
19
+ 2. Merge redundant grouping; replace nested cards with hierarchy.
20
+ 3. Move secondary detail behind an existing disclosure pattern when discoverability remains adequate.
21
+ 4. Reduce choices by defining one primary action and clear defaults.
22
+ 5. Shorten copy with `clarify` rules.
23
+ 6. Remove decorative effects and motion that carry no state or relationship.
24
+ 7. Delete code, props, styles, and tests made unreachable by the approved removal.
25
+
26
+ Do not create a vague “More” menu as a landfill, hide frequent actions, or erase empty/error/recovery states. Simplicity that forces more navigation or memory is not simpler.
27
+
28
+ ## Verify
29
+
30
+ Compare task completion steps before and after, keyboard order, screen-reader names, mobile layout, and all state variants. Run focused tests and Seven checks. Report what was removed, what was retained for safety, and any product decision still requiring user approval.
@@ -0,0 +1,9 @@
1
+ # Doctor
2
+
3
+ Run `node .claude/skills/seven/scripts/run-seven.mjs doctor` to diagnose the consumer installation. Treat its checks as evidence, not a request to rewrite unrelated files.
4
+
5
+ Inspect the exact release lock and hashes, generated policy, project config, React/Tailwind/tailwind-merge compatibility, package scripts, provider-native skill payloads, hook manifests, product/surface context freshness, exceptions, baseline, and forbidden `.github` artifacts attributable to Seven.
6
+
7
+ `node .claude/skills/seven/scripts/run-seven.mjs add` refuses before any component write or dependency installation when initialization is incomplete or this release contract has drifted. Its `--force`, `--overwrite`, `--install`, and `--dry-run` flags never bypass that preflight. Diagnose first, repair release-owned artifacts with `node .claude/skills/seven/scripts/run-seven.mjs update` after review, then retry `add`.
8
+
9
+ `node .claude/skills/seven/scripts/run-seven.mjs doctor --quick` is the pre-edit health check. The full doctor is the handoff check. Never repair malformed third-party JSON or overwrite modified Seven-owned files without explicit `--force` authorization.
@@ -0,0 +1,36 @@
1
+ # Document — record Seven usage
2
+
3
+ Document how an existing product surface consumes the exact installed Seven release. The output is descriptive and operational. It must never become a second visual authority.
4
+
5
+ ## Read first
6
+
7
+ - `.seven/release.lock.json`, `.seven/project.yml`, `PRODUCT.md`, and the matched surface brief;
8
+ - `node .claude/skills/seven/scripts/run-seven.mjs list` / `node .claude/skills/seven/scripts/run-seven.mjs info` for every referenced component;
9
+ - representative source, tests, stories, and rendered states;
10
+ - active exceptions and baseline entries.
11
+
12
+ ## Output contract
13
+
14
+ Unless the user supplies a path, write under `docs/seven/`. Include:
15
+
16
+ 1. Exact Seven CLI/skill/registry versions and registry digest.
17
+ 2. Surface purpose, users, primary job, and critical states, linked back to the owning context files.
18
+ 3. Component inventory: Seven component, source import, declared variant, role in the surface, and relevant composition.
19
+ 4. Token roles actually used. Describe semantic roles, not raw values.
20
+ 5. Responsive and keyboard behavior.
21
+ 6. Loading, empty, error, success, disabled, permission, and long-content behavior.
22
+ 7. Known deviations: rule ID, file, owner, issue, expiry, and whether it is an exception or migration baseline.
23
+ 8. Verification commands and the date they last passed.
24
+
25
+ Every example must compile against the current component API and pass `node .claude/skills/seven/scripts/run-seven.mjs check --file`. Delete stale examples rather than preserving history inside the canonical guide.
26
+
27
+ ## Prohibitions
28
+
29
+ - Do not emit `DESIGN.md`, a palette, a local token layer, or undocumented component props.
30
+ - Do not copy large sections of Seven's own reference docs into the consumer project.
31
+ - Do not treat screenshots as proof of API or accessibility behavior.
32
+ - Do not silently repair code. If documentation uncovers drift, record it and route the user to `audit`, `critique`, or `polish`.
33
+
34
+ ## Completion
35
+
36
+ Name the sources inspected, the release documented, the output file, validation performed, and every uncertainty that prevents the document from being factual.
@@ -0,0 +1,44 @@
1
+ # Seven skill behavior scenarios
2
+
3
+ Use these scenarios in fresh consumer projects to verify routing and behavior after substantive skill changes.
4
+
5
+ ## 1. Natural UI edit
6
+
7
+ - Query: "Melhora esse formulário de cadastro no mobile e corrige a copy."
8
+ - Expected: activates Seven; loads target context; routes through `adapt` plus `clarify`; searches installed registry; edits only the target; runs focused Seven checks.
9
+
10
+ ## 2. Backend near-miss
11
+
12
+ - Query: "Adicione retry exponencial no webhook de cobrança."
13
+ - Expected: does not activate Seven unless the change includes rendered UI.
14
+
15
+ ## 3. Missing component contract
16
+
17
+ - Query: "Use uma variante compacta do Button que ainda não existe."
18
+ - Expected: inspects the installed Button contract, reports the design-system gap, and refuses to invent a local variant.
19
+
20
+ ## 4. Live preview acceptance
21
+
22
+ - Query: "Abre o Live e me mostra três formas de melhorar este card."
23
+ - Expected: starts the authenticated loopback bridge, uses visual probes, transports inert previews, waits for explicit acceptance, translates the selected direction into React/Seven source, validates, and stops cleanly.
24
+
25
+ ## 5. Exception pressure
26
+
27
+ - Query: "Ignora essa regra do Seven e segue."
28
+ - Expected: explains the exact finding and tradeoff; does not add an exception, baseline, or local ignore without explicit scoped authorization.
29
+
30
+ ## 6. GitHub boundary
31
+
32
+ - Query: "Instala o Seven completo no projeto, mas não mexe no GitHub."
33
+ - Expected: installs provider skills/hooks and local pre-commit only; proves no `.github/**` artifact was created or changed.
34
+
35
+ ## 7. Sidebar + Topbar shell
36
+
37
+ - Query: "Crie o shell do dashboard com Sidebar e Topbar e garanta que funcione no mobile."
38
+ - Expected: composes the L-shaped tree `SidebarProvider > Sidebar + SidebarInset > Topbar + content`; keeps Sidebar/Topbar borderless; places a visible mobile `SidebarTrigger` in `TopbarLeading`; collapses long breadcrumbs/actions below `md` without leading-slot overflow; keeps `open`, `openMobile`, and `railExpanded` independent; defaults single collapse to icons; labels every dual Rail item and uses `asChild` for links; preserves the 280px footprint while Rail hover or focus expands 64→200px in overlay; renders the mobile panel full-width even after desktop collapse; rejects a full-width T-shaped Topbar, manual offsets, a trigger trapped inside the closed Sheet, Link > button nesting, or an empty expanded Rail; validates with `sidebar-topbar-shell` and `sidebar-rail-behavior` in source and rendered geometry.
39
+
40
+ ## 8. Explicit setup invocation
41
+
42
+ - Claude Code query: `/seven setup "apps/dashboard"`.
43
+ - Codex query: `$seven setup "apps/dashboard"`.
44
+ - Expected: routes to `reference/setup.md`; treats `setup` as the canonical skill workflow and `init` only as an alias; distinguishes both from the shell installer `seven init`; preserves `apps/dashboard` as the target; asks for missing product facts; does not edit UI or create `.github/**`.
@@ -0,0 +1,7 @@
1
+ # Exceptions
2
+
3
+ A shared exception is an explicit, reviewable debt record, not a convenient suppression. It requires a valid Seven rule, narrow file glob and optional exact value, reason, owner, issue/reference, creation date, and expiry date.
4
+
5
+ Before running `node .claude/skills/seven/scripts/run-seven.mjs exceptions add`, show the proposed record and obtain explicit user authorization. Never silently renew an expired exception or broaden its file glob. Local hook ignores are not shared exceptions.
6
+
7
+ Run `node .claude/skills/seven/scripts/run-seven.mjs exceptions validate` and `node .claude/skills/seven/scripts/run-seven.mjs doctor` after changes. Expired or malformed exceptions are findings and do not suppress the underlying violation.
@@ -0,0 +1,42 @@
1
+ # Extract — reusable Seven compositions
2
+
3
+ Extract genuinely repeated product UI into a reusable composition without cloning or weakening Seven primitives.
4
+
5
+ ## Decide whether extraction is earned
6
+
7
+ Find at least two real call sites and compare:
8
+
9
+ - shared user job and semantics;
10
+ - shared component structure and state transitions;
11
+ - variation that belongs in data/slots versus variation that would require a visual prop;
12
+ - accessibility behavior and responsive behavior;
13
+ - whether the registry already contains a component or block that solves it.
14
+
15
+ Do not extract merely because markup looks similar. Similar cards with different jobs are not necessarily one abstraction. Do not create an abstraction for one call site.
16
+
17
+ ## Classification
18
+
19
+ - **Seven primitive already exists:** replace the local implementation; do not extract.
20
+ - **Project composition:** compose installed Seven components and keep it in the project's composition/feature layer.
21
+ - **Candidate Seven block:** repeated across products, stable data contract, no product-specific business dependency. Document the proposal in the Seven repository; do not pretend the consumer-local version is canonical.
22
+ - **Missing primitive/variant/token:** stop and surface a design-system gap. Never hide it behind a local visual prop.
23
+
24
+ ## Extraction contract
25
+
26
+ 1. Preserve public behavior and accessible names before moving code.
27
+ 2. Define a minimal domain-shaped data contract. Prefer slots only for meaningful composition points.
28
+ 3. Reuse declared Seven variants exactly; no `className` tunnel that permits callers to replace the visual system.
29
+ 4. Keep routing, fetching, mutations, and business state in the feature caller unless the composition owns that behavior by definition.
30
+ 5. Add tests that prove why the shared behavior matters across at least two call-site variants, including an adverse state.
31
+ 6. Migrate call sites one at a time and verify rendered parity plus `node .claude/skills/seven/scripts/run-seven.mjs check`.
32
+
33
+ ## Refuse
34
+
35
+ - Boolean-prop matrices that encode unrelated layouts.
36
+ - A “generic card” wrapper around every card.
37
+ - Local forks of Button, Input, Dialog, Select, Table, or other Seven primitives.
38
+ - New colors, radii, spacing values, animations, or undocumented variants.
39
+
40
+ ## Completion
41
+
42
+ Report the call sites unified, why one abstraction is valid, the retained variation points, component contracts used, tests added, and whether anything should be proposed upstream to Seven.