@rune-kit/rune 2.10.0 → 2.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +65 -6
  3. package/commands/rune.md +168 -168
  4. package/compiler/__tests__/detect-invariants.test.js +136 -0
  5. package/compiler/__tests__/doctor-mesh.test.js +229 -0
  6. package/compiler/__tests__/hook-dispatch.test.js +91 -0
  7. package/compiler/__tests__/hooks-antigravity.test.js +118 -0
  8. package/compiler/__tests__/hooks-cursor.test.js +139 -0
  9. package/compiler/__tests__/hooks-install.test.js +305 -0
  10. package/compiler/__tests__/hooks-merge.test.js +204 -0
  11. package/compiler/__tests__/hooks-tiers.test.js +519 -0
  12. package/compiler/__tests__/hooks-windsurf.test.js +115 -0
  13. package/compiler/__tests__/inject-claude-md.test.js +152 -0
  14. package/compiler/__tests__/load-invariants.test.js +408 -0
  15. package/compiler/__tests__/onboard-invariants.test.js +240 -0
  16. package/compiler/adapters/hooks/antigravity.js +140 -0
  17. package/compiler/adapters/hooks/claude.js +166 -0
  18. package/compiler/adapters/hooks/cursor.js +191 -0
  19. package/compiler/adapters/hooks/index.js +82 -0
  20. package/compiler/adapters/hooks/tier-emitter.js +182 -0
  21. package/compiler/adapters/hooks/windsurf.js +202 -0
  22. package/compiler/bin/rune.js +196 -6
  23. package/compiler/commands/hook-dispatch.js +87 -0
  24. package/compiler/commands/hooks/install.js +120 -0
  25. package/compiler/commands/hooks/merge.js +211 -0
  26. package/compiler/commands/hooks/presets.js +116 -0
  27. package/compiler/commands/hooks/status.js +112 -0
  28. package/compiler/commands/hooks/tiers.js +221 -0
  29. package/compiler/commands/hooks/uninstall.js +94 -0
  30. package/compiler/doctor.js +236 -0
  31. package/contexts/dev.md +34 -34
  32. package/contexts/research.md +43 -43
  33. package/contexts/review.md +55 -55
  34. package/extensions/ai-ml/PACK.md +88 -88
  35. package/extensions/ai-ml/skills/ai-agents.md +172 -172
  36. package/extensions/ai-ml/skills/code-sandbox.md +187 -187
  37. package/extensions/ai-ml/skills/deep-research.md +146 -146
  38. package/extensions/ai-ml/skills/embedding-search.md +66 -66
  39. package/extensions/ai-ml/skills/fine-tuning-guide.md +74 -74
  40. package/extensions/ai-ml/skills/llm-architect.md +125 -125
  41. package/extensions/ai-ml/skills/llm-integration.md +64 -64
  42. package/extensions/ai-ml/skills/prompt-patterns.md +72 -72
  43. package/extensions/ai-ml/skills/rag-patterns.md +66 -66
  44. package/extensions/ai-ml/skills/web-extraction.md +114 -114
  45. package/extensions/analytics/PACK.md +92 -92
  46. package/extensions/analytics/skills/ab-testing.md +72 -72
  47. package/extensions/analytics/skills/dashboard-patterns.md +83 -83
  48. package/extensions/analytics/skills/data-validation.md +68 -68
  49. package/extensions/analytics/skills/funnel-analysis.md +81 -81
  50. package/extensions/analytics/skills/sql-patterns.md +57 -57
  51. package/extensions/analytics/skills/statistical-analysis.md +79 -79
  52. package/extensions/analytics/skills/tracking-setup.md +71 -71
  53. package/extensions/backend/PACK.md +104 -104
  54. package/extensions/backend/skills/api-patterns.md +84 -84
  55. package/extensions/backend/skills/async-pipeline.md +193 -193
  56. package/extensions/backend/skills/auth-patterns.md +97 -97
  57. package/extensions/backend/skills/background-jobs.md +133 -133
  58. package/extensions/backend/skills/caching-patterns.md +108 -108
  59. package/extensions/backend/skills/cli-generation.md +133 -133
  60. package/extensions/backend/skills/database-patterns.md +87 -87
  61. package/extensions/backend/skills/middleware-patterns.md +104 -104
  62. package/extensions/chrome-ext/PACK.md +93 -93
  63. package/extensions/chrome-ext/skills/cws-preflight.md +143 -143
  64. package/extensions/chrome-ext/skills/cws-publish.md +104 -104
  65. package/extensions/chrome-ext/skills/ext-ai-integration.md +251 -251
  66. package/extensions/chrome-ext/skills/ext-messaging.md +139 -139
  67. package/extensions/chrome-ext/skills/ext-storage.md +133 -133
  68. package/extensions/chrome-ext/skills/mv3-scaffold.md +164 -164
  69. package/extensions/content/PACK.md +96 -96
  70. package/extensions/content/skills/blog-patterns.md +88 -88
  71. package/extensions/content/skills/cms-integration.md +131 -131
  72. package/extensions/content/skills/content-scoring.md +107 -107
  73. package/extensions/content/skills/i18n.md +83 -83
  74. package/extensions/content/skills/mdx-authoring.md +137 -137
  75. package/extensions/content/skills/reference.md +1014 -1014
  76. package/extensions/content/skills/seo-patterns.md +67 -67
  77. package/extensions/content/skills/video-repurpose.md +153 -153
  78. package/extensions/devops/PACK.md +101 -101
  79. package/extensions/devops/skills/chaos-testing.md +67 -67
  80. package/extensions/devops/skills/ci-cd.md +75 -75
  81. package/extensions/devops/skills/docker.md +58 -58
  82. package/extensions/devops/skills/edge-serverless.md +163 -163
  83. package/extensions/devops/skills/infra-as-code.md +158 -158
  84. package/extensions/devops/skills/kubernetes.md +110 -110
  85. package/extensions/devops/skills/monitoring.md +57 -57
  86. package/extensions/devops/skills/server-setup.md +64 -64
  87. package/extensions/devops/skills/ssl-domain.md +42 -42
  88. package/extensions/ecommerce/PACK.md +116 -116
  89. package/extensions/ecommerce/skills/cart-system.md +79 -79
  90. package/extensions/ecommerce/skills/inventory-mgmt.md +102 -102
  91. package/extensions/ecommerce/skills/order-management.md +126 -126
  92. package/extensions/ecommerce/skills/payment-integration.md +472 -472
  93. package/extensions/ecommerce/skills/shopify-dev.md +69 -69
  94. package/extensions/ecommerce/skills/subscription-billing.md +93 -93
  95. package/extensions/ecommerce/skills/tax-compliance.md +117 -117
  96. package/extensions/gamedev/PACK.md +142 -142
  97. package/extensions/gamedev/skills/asset-pipeline.md +74 -74
  98. package/extensions/gamedev/skills/audio-system.md +129 -129
  99. package/extensions/gamedev/skills/camera-system.md +87 -87
  100. package/extensions/gamedev/skills/ecs.md +98 -98
  101. package/extensions/gamedev/skills/game-loops.md +72 -72
  102. package/extensions/gamedev/skills/input-system.md +199 -199
  103. package/extensions/gamedev/skills/multiplayer.md +180 -180
  104. package/extensions/gamedev/skills/particles.md +105 -105
  105. package/extensions/gamedev/skills/physics-engine.md +89 -89
  106. package/extensions/gamedev/skills/scene-management.md +146 -146
  107. package/extensions/gamedev/skills/threejs-patterns.md +90 -90
  108. package/extensions/gamedev/skills/webgl.md +71 -71
  109. package/extensions/mobile/PACK.md +106 -106
  110. package/extensions/mobile/skills/app-store-connect.md +152 -152
  111. package/extensions/mobile/skills/app-store-prep.md +66 -66
  112. package/extensions/mobile/skills/deep-linking.md +109 -109
  113. package/extensions/mobile/skills/flutter.md +60 -60
  114. package/extensions/mobile/skills/ios-build-pipeline.md +142 -142
  115. package/extensions/mobile/skills/native-bridge.md +66 -66
  116. package/extensions/mobile/skills/ota-updates.md +97 -97
  117. package/extensions/mobile/skills/push-notifications.md +111 -111
  118. package/extensions/mobile/skills/react-native.md +82 -82
  119. package/extensions/saas/PACK.md +116 -116
  120. package/extensions/saas/skills/billing-integration.md +200 -200
  121. package/extensions/saas/skills/feature-flags.md +130 -130
  122. package/extensions/saas/skills/multi-tenant.md +103 -103
  123. package/extensions/saas/skills/onboarding-flow.md +139 -139
  124. package/extensions/saas/skills/subscription-flow.md +95 -95
  125. package/extensions/saas/skills/team-management.md +144 -144
  126. package/extensions/security/PACK.md +99 -99
  127. package/extensions/security/skills/api-security.md +140 -140
  128. package/extensions/security/skills/compliance.md +68 -68
  129. package/extensions/security/skills/owasp-audit.md +64 -64
  130. package/extensions/security/skills/pentest-patterns.md +77 -77
  131. package/extensions/security/skills/secret-mgmt.md +65 -65
  132. package/extensions/security/skills/supply-chain.md +65 -65
  133. package/extensions/trading/PACK.md +80 -80
  134. package/extensions/trading/skills/chart-components.md +55 -55
  135. package/extensions/trading/skills/experiment-loop.md +125 -125
  136. package/extensions/trading/skills/fintech-patterns.md +47 -47
  137. package/extensions/trading/skills/indicator-library.md +58 -58
  138. package/extensions/trading/skills/quant-analysis.md +111 -111
  139. package/extensions/trading/skills/realtime-data.md +58 -58
  140. package/extensions/trading/skills/trade-logic.md +104 -104
  141. package/extensions/ui/PACK.md +130 -130
  142. package/extensions/ui/skills/a11y-audit.md +91 -91
  143. package/extensions/ui/skills/animation-patterns.md +127 -127
  144. package/extensions/ui/skills/component-patterns.md +100 -100
  145. package/extensions/ui/skills/design-decision.md +108 -108
  146. package/extensions/ui/skills/design-system.md +68 -68
  147. package/extensions/ui/skills/landing-patterns.md +155 -155
  148. package/extensions/ui/skills/palette-picker.md +173 -173
  149. package/extensions/ui/skills/react-health.md +90 -90
  150. package/extensions/ui/skills/type-system.md +125 -125
  151. package/extensions/ui/skills/web-vitals.md +153 -153
  152. package/extensions/zalo/PACK.md +145 -145
  153. package/extensions/zalo/skills/zalo-oa-mcp.md +317 -317
  154. package/extensions/zalo/skills/zalo-oa-messaging.md +429 -429
  155. package/extensions/zalo/skills/zalo-oa-setup.md +236 -236
  156. package/extensions/zalo/skills/zalo-oa-webhook.md +189 -189
  157. package/extensions/zalo/skills/zalo-personal-messaging.md +194 -194
  158. package/extensions/zalo/skills/zalo-personal-setup.md +153 -153
  159. package/extensions/zalo/skills/zalo-rate-guard.md +219 -219
  160. package/hooks/auto-format/index.cjs +48 -48
  161. package/hooks/hooks.json +111 -111
  162. package/hooks/post-session-reflect/index.cjs +189 -189
  163. package/hooks/pre-compact/index.cjs +95 -95
  164. package/hooks/run-hook.cmd +1 -1
  165. package/hooks/secrets-scan/index.cjs +100 -100
  166. package/hooks/session-start/index.cjs +71 -71
  167. package/hooks/typecheck/index.cjs +65 -65
  168. package/package.json +63 -63
  169. package/references/ui-pro-max-data/LICENSE-UI-PRO-MAX +21 -21
  170. package/references/ui-pro-max-data/charts.csv +26 -26
  171. package/references/ui-pro-max-data/colors.csv +161 -161
  172. package/references/ui-pro-max-data/styles.csv +68 -68
  173. package/references/ui-pro-max-data/typography.csv +74 -74
  174. package/references/ui-pro-max-data/ui-reasoning.csv +162 -162
  175. package/references/ui-pro-max-data/ux-guidelines.csv +99 -99
  176. package/skills/adversary/SKILL.md +283 -283
  177. package/skills/asset-creator/SKILL.md +157 -157
  178. package/skills/audit/SKILL.md +147 -2
  179. package/skills/autopsy/SKILL.md +335 -335
  180. package/skills/ba/SKILL.md +85 -1
  181. package/skills/brainstorm/SKILL.md +380 -342
  182. package/skills/browser-pilot/SKILL.md +169 -168
  183. package/skills/constraint-check/SKILL.md +165 -165
  184. package/skills/context-engine/SKILL.md +408 -404
  185. package/skills/cook/SKILL.md +917 -863
  186. package/skills/db/SKILL.md +273 -273
  187. package/skills/debug/SKILL.md +465 -465
  188. package/skills/dependency-doctor/SKILL.md +265 -235
  189. package/skills/deploy/SKILL.md +274 -231
  190. package/skills/design/DESIGN-REFERENCE.md +365 -365
  191. package/skills/design/SKILL.md +590 -589
  192. package/skills/doc-processor/SKILL.md +254 -254
  193. package/skills/docs/SKILL.md +374 -374
  194. package/skills/docs-seeker/SKILL.md +178 -177
  195. package/skills/fix/SKILL.md +332 -330
  196. package/skills/git/SKILL.md +339 -339
  197. package/skills/hallucination-guard/SKILL.md +220 -219
  198. package/skills/incident/SKILL.md +254 -253
  199. package/skills/integrity-check/SKILL.md +169 -169
  200. package/skills/journal/SKILL.md +241 -240
  201. package/skills/launch/SKILL.md +344 -344
  202. package/skills/logic-guardian/SKILL.md +269 -251
  203. package/skills/marketing/SKILL.md +351 -289
  204. package/skills/mcp-builder/SKILL.md +425 -425
  205. package/skills/neural-memory/SKILL.md +359 -362
  206. package/skills/onboard/SKILL.md +432 -403
  207. package/skills/onboard/references/invariants-template.md +76 -0
  208. package/skills/onboard/scripts/detect-invariants.js +439 -0
  209. package/skills/onboard/scripts/inject-claude-md.js +150 -0
  210. package/skills/onboard/scripts/onboard-invariants.js +194 -0
  211. package/skills/perf/SKILL.md +347 -346
  212. package/skills/plan/SKILL.md +435 -428
  213. package/skills/preflight/SKILL.md +415 -415
  214. package/skills/problem-solver/SKILL.md +380 -284
  215. package/skills/rescue/SKILL.md +474 -474
  216. package/skills/research/SKILL.md +4 -0
  217. package/skills/retro/SKILL.md +3 -1
  218. package/skills/review/SKILL.md +614 -588
  219. package/skills/review-intake/SKILL.md +249 -249
  220. package/skills/safeguard/SKILL.md +200 -200
  221. package/skills/sast/SKILL.md +190 -190
  222. package/skills/scaffold/SKILL.md +328 -287
  223. package/skills/scope-guard/SKILL.md +183 -180
  224. package/skills/scout/SKILL.md +269 -263
  225. package/skills/sentinel/SKILL.md +384 -381
  226. package/skills/sentinel-env/SKILL.md +254 -254
  227. package/skills/sequential-thinking/SKILL.md +234 -234
  228. package/skills/session-bridge/SKILL.md +595 -543
  229. package/skills/session-bridge/scripts/load-invariants.js +397 -0
  230. package/skills/skill-forge/SKILL.md +581 -581
  231. package/skills/skill-router/SKILL.md +3 -0
  232. package/skills/slides/SKILL.md +19 -0
  233. package/skills/surgeon/SKILL.md +215 -215
  234. package/skills/team/SKILL.md +557 -537
  235. package/skills/test/SKILL.md +620 -614
  236. package/skills/trend-scout/SKILL.md +145 -145
  237. package/skills/verification/SKILL.md +334 -326
  238. package/skills/video-creator/SKILL.md +201 -201
  239. package/skills/watchdog/SKILL.md +168 -168
  240. package/skills/worktree/SKILL.md +140 -140
@@ -1,130 +1,130 @@
1
- ---
2
- name: "@rune/ui"
3
- description: Frontend UI patterns — React health scoring, Core Web Vitals auditing, design systems, color palettes, typography, component architecture, landing page sections, accessibility audits, animation patterns, and design decision mapping.
4
- metadata:
5
- author: runedev
6
- version: "0.3.0"
7
- layer: L4
8
- price: "$12"
9
- target: Frontend developers
10
- format: split
11
- ---
12
-
13
- # @rune/ui
14
-
15
- > Design intelligence data: [UI/UX Pro Max](https://github.com/nextlevelbuilder/ui-ux-pro-max-skill) (MIT) — 161 palettes, 84 styles, 73 font pairings, 99 UX guidelines. Located at `references/ui-pro-max-data/`.
16
-
17
- ## Purpose
18
-
19
- Frontend development accumulates invisible debt: ad-hoc color variables, mismatched font pairings, prop-drilled components, untested accessibility, janky animations, React anti-patterns, and slow page loads — all before you even decide what the product should *look* like. This pack addresses all layers systematically. Ten skills cover the full UI lifecycle: React codebase health scoring, Core Web Vitals performance auditing, token consistency, color palette selection, typography pairing, component composability, landing page structure, design-domain mapping, WCAG compliance, and motion polish. Run any skill independently or chain all ten as a comprehensive UI health check + design foundation generator.
20
-
21
- **Anti-AI Design Contract** (enforced by all skills in this pack):
22
- - NO gradient blob heroes (purple → pink → blue)
23
- - NO default indigo/violet (#6366f1) unless it IS the brand color
24
- - NO Lucide icons — use Phosphor Icons (`@phosphor-icons/react`) or Huge Icons
25
- - NO uniform card grids — vary sizes, establish visual hierarchy
26
- - NO centered hero formula (big title + subtitle + 2 buttons stacked)
27
-
28
- ## Triggers
29
-
30
- - Auto-trigger: when `*.tsx`, `*.svelte`, `*.vue`, CSS/Tailwind files detected in project
31
- - `/rune design-system` — generate or enforce design tokens
32
- - `/rune palette-picker` — select a curated color palette by product type
33
- - `/rune type-system` — select a typography pairing by product tone
34
- - `/rune component-patterns` — refactor component architecture
35
- - `/rune landing-patterns` — generate landing page section structure
36
- - `/rune design-decision` — map product domain to full style recommendation
37
- - `/rune a11y-audit` — run accessibility audit
38
- - `/rune animation-patterns` — add or refine motion design
39
- - `/rune react-health` — score React codebase health (0-100)
40
- - `/rune web-vitals` — audit Core Web Vitals and performance
41
- - Called by `cook` (L1) when frontend task is detected
42
- - Called by `review` (L2) when UI code is under review
43
- - Called by `design` (L2) when visual design decisions needed
44
-
45
- ## Skills Included
46
-
47
- | Skill | Model | Description |
48
- |-------|-------|-------------|
49
- | [react-health](skills/react-health.md) | sonnet | React codebase health scoring — 0-100 score across 6 dimensions: state management, effects hygiene, performance patterns, architecture, bundle efficiency, and accessibility. |
50
- | [web-vitals](skills/web-vitals.md) | sonnet | Core Web Vitals performance audit — LCP, CLS, FCP, TBT, INP against Google thresholds. Identifies render-blocking resources, layout shift culprits, missing preloads, and tree-shaking opportunities. |
51
- | [design-system](skills/design-system.md) | sonnet | Generate and enforce design system tokens — colors, typography, spacing, shadows, border radius. Consolidates ad-hoc values into a structured token file with full dark/light theme support. |
52
- | [palette-picker](skills/palette-picker.md) | sonnet | Color palette database organized by product type. 25 curated palettes covering fintech, healthcare, education, gaming, ecommerce, SaaS, social, news/content, productivity, and developer tools. |
53
- | [type-system](skills/type-system.md) | sonnet | Typography pairing database — 22 font pairings organized by product vibe. Each pairing includes Google Fonts URL, Tailwind config, size scale, weight mapping, and line height ratios. |
54
- | [landing-patterns](skills/landing-patterns.md) | sonnet | Landing page section patterns — 12 section archetypes with HTML structure hints, Tailwind classes, responsive rules, and conversion-focused copy guidance. Anti-AI design rules enforced. |
55
- | [design-decision](skills/design-decision.md) | sonnet | Product domain → style mapping. Outputs complete design recommendation: visual style, palette, typography pairing, component aesthetic, and design-system.md scaffold. |
56
- | [component-patterns](skills/component-patterns.md) | sonnet | Component architecture patterns — compound components, render props, composition, slots. Detects prop-heavy components and guides refactoring toward composable architectures. |
57
- | [a11y-audit](skills/a11y-audit.md) | sonnet | Accessibility audit beyond automated tools. Checks WCAG 2.1 AA compliance — focus management, screen reader compatibility, color contrast, ARIA patterns, keyboard navigation, focus traps. |
58
- | [animation-patterns](skills/animation-patterns.md) | sonnet | Motion design patterns — micro-interactions, page transitions, scroll animations, loading states. CSS transitions, Framer Motion, or GSAP based on project stack. Always respects prefers-reduced-motion. |
59
-
60
- ## Tech Stack Support
61
-
62
- | Framework | Styling | Components | Motion |
63
- |--------------|--------------------|---------------|---------------------|
64
- | React 19 | TailwindCSS 4 | shadcn/ui | Framer Motion |
65
- | Next.js 16 | CSS Custom Props | Radix UI | Framer Motion |
66
- | SvelteKit 5 | CSS Custom Props | Custom | View Transitions API|
67
- | Vue 3 | TailwindCSS 4 | Headless UI | Vue Transitions |
68
- | Astro 5 | TailwindCSS 4 | Astro Islands | View Transitions API|
69
-
70
- ## Connections
71
-
72
- ```
73
- Calls → asset-creator (L3): generate design assets (icons, illustrations)
74
- Calls → design (L2): escalate when full design review is needed
75
- Calls → perf (L2): react-health and web-vitals feed findings to perf for deeper analysis
76
- Calls → verification (L3): react-health triggers verification after fix application
77
- Called By ← review (L2): when UI code is being reviewed
78
- Called By ← cook (L1): when frontend task detected
79
- Called By ← launch (L1): pre-launch UI quality gate
80
- Called By ← scaffold (L1): when bootstrapping a new frontend project
81
- Called By ← preflight (L2): react-health runs as pre-commit quality gate on React projects
82
- design-decision → palette-picker: feeds palette slug to token generation
83
- design-decision → type-system: feeds pairing name to font config generation
84
- landing-patterns → palette-picker: pulls palette for section styling
85
- landing-patterns → type-system: pulls font pairing for section copy
86
- react-health → web-vitals: health report feeds into vitals audit for bundle-to-load correlation
87
- web-vitals → react-health: slow LCP/TBT traces back to bundle bloat identified by react-health
88
- ```
89
-
90
- ## Constraints
91
-
92
- 1. MUST respect `prefers-reduced-motion` on every animation — no exceptions.
93
- 2. MUST NOT overwrite original component files during refactor — emit to `*.refactored.tsx` or provide a diff.
94
- 3. MUST target WCAG 2.1 AA as the minimum bar for all a11y recommendations (AAA where feasible).
95
- 4. MUST use project's existing stack (detect from `package.json`) before suggesting new dependencies.
96
- 5. MUST enforce Anti-AI design rules: no gradient blobs, no default indigo, Phosphor Icons not Lucide, no uniform card grids.
97
- 6. MUST use Google Fonts CDN only for external font loading — no other external font services.
98
- 7. Color palettes MUST include colorblind-safe alternatives (deuteranopia minimum).
99
-
100
- ## Sharp Edges
101
-
102
- | Failure Mode | Severity | Mitigation |
103
- |---|---|---|
104
- | Token generation produces semantic tokens without primitives, causing theme switching to break | HIGH | Always emit 3-layer token structure: primitive → semantic → component |
105
- | Compound component refactor breaks controlled state (open/value props lost) | HIGH | Audit for controlled vs uncontrolled patterns before emitting scaffold |
106
- | axe-core misses ARIA live region issues and dynamic content violations | MEDIUM | Supplement automated scan with manual Grep for `setState`/store updates that modify visible content |
107
- | Framer Motion animations ship without `useReducedMotion` check | HIGH | Grep for `motion.` usage post-edit; flag any missing the hook |
108
- | Design token enforcement flags third-party library hardcoded values | LOW | Scope Grep to `src/` only; exclude `node_modules` and generated files |
109
- | palette-picker recommends palette without contrast verification | HIGH | Always run contrast check in Step 4 before emitting palette.css |
110
- | type-system recommends decorative font for body copy (Cormorant at 14px) | MEDIUM | Flag any pairing where body font is display/serif — warn readability at small sizes |
111
- | landing-patterns emits centered hero formula (the anti-pattern) | HIGH | Enforce split-hero or asymmetric-hero as defaults; centered-hero requires explicit opt-in |
112
- | design-decision recommends glassmorphism for data-dense dashboard | MEDIUM | Block glassmorphism recommendation when product domain is fintech, devtools, or productivity |
113
- | Focus trap missing on modal — keyboard users trapped in page behind overlay | CRITICAL | a11y-audit Step 4 must scan all Dialog/Modal/Drawer/Popover components before audit closes |
114
-
115
- ## Done When
116
-
117
- - React health score generated (0-100) with per-dimension breakdown; top 5 fixes listed by impact; dead code inventory complete
118
- - Web Vitals report produced with all 6 metrics against thresholds; render-blocking resources identified; CLS culprits found; image optimization recommendations emitted
119
- - Token file generated with 3-layer structure; hardcoded values replaced or flagged with diffs; dark/light theme switcher emitted
120
- - Palette selected, CSS custom properties emitted, contrast ratios verified (≥ 4.5:1 body, ≥ 3:1 large text), colorblind alternatives noted
121
- - Font pairing selected, Google Fonts link emitted, Tailwind fontFamily config emitted, type scale CSS variables written
122
- - Component refactor scaffold emitted; original files untouched; slot patterns applied where applicable
123
- - Landing section sequence composed; Anti-AI rules verified; responsive audit at 375/768/1280px complete; conversion checklist passed
124
- - Design system .md generated with color, typography, component, and anti-pattern rules for the product domain
125
- - Axe-core scan shows zero critical/serious violations; focus trap audit complete; skip nav link present
126
- - All animations pass `prefers-reduced-motion` audit; page transition pattern implemented
127
-
128
- ## Cost Profile
129
-
130
- ~24,000–38,000 tokens per full pack run (all 10 skills). Individual skill: ~2,000–5,000 tokens. Sonnet default. Use haiku for detection scans (Step 1 of each skill); escalate to sonnet for generation, refactoring, and report writing. Use `design-decision` first when starting a new project — it reduces token cost of subsequent skills by pre-scoping palette and typography choices.
1
+ ---
2
+ name: "@rune/ui"
3
+ description: Frontend UI patterns — React health scoring, Core Web Vitals auditing, design systems, color palettes, typography, component architecture, landing page sections, accessibility audits, animation patterns, and design decision mapping.
4
+ metadata:
5
+ author: runedev
6
+ version: "0.3.0"
7
+ layer: L4
8
+ price: "$12"
9
+ target: Frontend developers
10
+ format: split
11
+ ---
12
+
13
+ # @rune/ui
14
+
15
+ > Design intelligence data: [UI/UX Pro Max](https://github.com/nextlevelbuilder/ui-ux-pro-max-skill) (MIT) — 161 palettes, 84 styles, 73 font pairings, 99 UX guidelines. Located at `references/ui-pro-max-data/`.
16
+
17
+ ## Purpose
18
+
19
+ Frontend development accumulates invisible debt: ad-hoc color variables, mismatched font pairings, prop-drilled components, untested accessibility, janky animations, React anti-patterns, and slow page loads — all before you even decide what the product should *look* like. This pack addresses all layers systematically. Ten skills cover the full UI lifecycle: React codebase health scoring, Core Web Vitals performance auditing, token consistency, color palette selection, typography pairing, component composability, landing page structure, design-domain mapping, WCAG compliance, and motion polish. Run any skill independently or chain all ten as a comprehensive UI health check + design foundation generator.
20
+
21
+ **Anti-AI Design Contract** (enforced by all skills in this pack):
22
+ - NO gradient blob heroes (purple → pink → blue)
23
+ - NO default indigo/violet (#6366f1) unless it IS the brand color
24
+ - NO Lucide icons — use Phosphor Icons (`@phosphor-icons/react`) or Huge Icons
25
+ - NO uniform card grids — vary sizes, establish visual hierarchy
26
+ - NO centered hero formula (big title + subtitle + 2 buttons stacked)
27
+
28
+ ## Triggers
29
+
30
+ - Auto-trigger: when `*.tsx`, `*.svelte`, `*.vue`, CSS/Tailwind files detected in project
31
+ - `/rune design-system` — generate or enforce design tokens
32
+ - `/rune palette-picker` — select a curated color palette by product type
33
+ - `/rune type-system` — select a typography pairing by product tone
34
+ - `/rune component-patterns` — refactor component architecture
35
+ - `/rune landing-patterns` — generate landing page section structure
36
+ - `/rune design-decision` — map product domain to full style recommendation
37
+ - `/rune a11y-audit` — run accessibility audit
38
+ - `/rune animation-patterns` — add or refine motion design
39
+ - `/rune react-health` — score React codebase health (0-100)
40
+ - `/rune web-vitals` — audit Core Web Vitals and performance
41
+ - Called by `cook` (L1) when frontend task is detected
42
+ - Called by `review` (L2) when UI code is under review
43
+ - Called by `design` (L2) when visual design decisions needed
44
+
45
+ ## Skills Included
46
+
47
+ | Skill | Model | Description |
48
+ |-------|-------|-------------|
49
+ | [react-health](skills/react-health.md) | sonnet | React codebase health scoring — 0-100 score across 6 dimensions: state management, effects hygiene, performance patterns, architecture, bundle efficiency, and accessibility. |
50
+ | [web-vitals](skills/web-vitals.md) | sonnet | Core Web Vitals performance audit — LCP, CLS, FCP, TBT, INP against Google thresholds. Identifies render-blocking resources, layout shift culprits, missing preloads, and tree-shaking opportunities. |
51
+ | [design-system](skills/design-system.md) | sonnet | Generate and enforce design system tokens — colors, typography, spacing, shadows, border radius. Consolidates ad-hoc values into a structured token file with full dark/light theme support. |
52
+ | [palette-picker](skills/palette-picker.md) | sonnet | Color palette database organized by product type. 25 curated palettes covering fintech, healthcare, education, gaming, ecommerce, SaaS, social, news/content, productivity, and developer tools. |
53
+ | [type-system](skills/type-system.md) | sonnet | Typography pairing database — 22 font pairings organized by product vibe. Each pairing includes Google Fonts URL, Tailwind config, size scale, weight mapping, and line height ratios. |
54
+ | [landing-patterns](skills/landing-patterns.md) | sonnet | Landing page section patterns — 12 section archetypes with HTML structure hints, Tailwind classes, responsive rules, and conversion-focused copy guidance. Anti-AI design rules enforced. |
55
+ | [design-decision](skills/design-decision.md) | sonnet | Product domain → style mapping. Outputs complete design recommendation: visual style, palette, typography pairing, component aesthetic, and design-system.md scaffold. |
56
+ | [component-patterns](skills/component-patterns.md) | sonnet | Component architecture patterns — compound components, render props, composition, slots. Detects prop-heavy components and guides refactoring toward composable architectures. |
57
+ | [a11y-audit](skills/a11y-audit.md) | sonnet | Accessibility audit beyond automated tools. Checks WCAG 2.1 AA compliance — focus management, screen reader compatibility, color contrast, ARIA patterns, keyboard navigation, focus traps. |
58
+ | [animation-patterns](skills/animation-patterns.md) | sonnet | Motion design patterns — micro-interactions, page transitions, scroll animations, loading states. CSS transitions, Framer Motion, or GSAP based on project stack. Always respects prefers-reduced-motion. |
59
+
60
+ ## Tech Stack Support
61
+
62
+ | Framework | Styling | Components | Motion |
63
+ |--------------|--------------------|---------------|---------------------|
64
+ | React 19 | TailwindCSS 4 | shadcn/ui | Framer Motion |
65
+ | Next.js 16 | CSS Custom Props | Radix UI | Framer Motion |
66
+ | SvelteKit 5 | CSS Custom Props | Custom | View Transitions API|
67
+ | Vue 3 | TailwindCSS 4 | Headless UI | Vue Transitions |
68
+ | Astro 5 | TailwindCSS 4 | Astro Islands | View Transitions API|
69
+
70
+ ## Connections
71
+
72
+ ```
73
+ Calls → asset-creator (L3): generate design assets (icons, illustrations)
74
+ Calls → design (L2): escalate when full design review is needed
75
+ Calls → perf (L2): react-health and web-vitals feed findings to perf for deeper analysis
76
+ Calls → verification (L3): react-health triggers verification after fix application
77
+ Called By ← review (L2): when UI code is being reviewed
78
+ Called By ← cook (L1): when frontend task detected
79
+ Called By ← launch (L1): pre-launch UI quality gate
80
+ Called By ← scaffold (L1): when bootstrapping a new frontend project
81
+ Called By ← preflight (L2): react-health runs as pre-commit quality gate on React projects
82
+ design-decision → palette-picker: feeds palette slug to token generation
83
+ design-decision → type-system: feeds pairing name to font config generation
84
+ landing-patterns → palette-picker: pulls palette for section styling
85
+ landing-patterns → type-system: pulls font pairing for section copy
86
+ react-health → web-vitals: health report feeds into vitals audit for bundle-to-load correlation
87
+ web-vitals → react-health: slow LCP/TBT traces back to bundle bloat identified by react-health
88
+ ```
89
+
90
+ ## Constraints
91
+
92
+ 1. MUST respect `prefers-reduced-motion` on every animation — no exceptions.
93
+ 2. MUST NOT overwrite original component files during refactor — emit to `*.refactored.tsx` or provide a diff.
94
+ 3. MUST target WCAG 2.1 AA as the minimum bar for all a11y recommendations (AAA where feasible).
95
+ 4. MUST use project's existing stack (detect from `package.json`) before suggesting new dependencies.
96
+ 5. MUST enforce Anti-AI design rules: no gradient blobs, no default indigo, Phosphor Icons not Lucide, no uniform card grids.
97
+ 6. MUST use Google Fonts CDN only for external font loading — no other external font services.
98
+ 7. Color palettes MUST include colorblind-safe alternatives (deuteranopia minimum).
99
+
100
+ ## Sharp Edges
101
+
102
+ | Failure Mode | Severity | Mitigation |
103
+ |---|---|---|
104
+ | Token generation produces semantic tokens without primitives, causing theme switching to break | HIGH | Always emit 3-layer token structure: primitive → semantic → component |
105
+ | Compound component refactor breaks controlled state (open/value props lost) | HIGH | Audit for controlled vs uncontrolled patterns before emitting scaffold |
106
+ | axe-core misses ARIA live region issues and dynamic content violations | MEDIUM | Supplement automated scan with manual Grep for `setState`/store updates that modify visible content |
107
+ | Framer Motion animations ship without `useReducedMotion` check | HIGH | Grep for `motion.` usage post-edit; flag any missing the hook |
108
+ | Design token enforcement flags third-party library hardcoded values | LOW | Scope Grep to `src/` only; exclude `node_modules` and generated files |
109
+ | palette-picker recommends palette without contrast verification | HIGH | Always run contrast check in Step 4 before emitting palette.css |
110
+ | type-system recommends decorative font for body copy (Cormorant at 14px) | MEDIUM | Flag any pairing where body font is display/serif — warn readability at small sizes |
111
+ | landing-patterns emits centered hero formula (the anti-pattern) | HIGH | Enforce split-hero or asymmetric-hero as defaults; centered-hero requires explicit opt-in |
112
+ | design-decision recommends glassmorphism for data-dense dashboard | MEDIUM | Block glassmorphism recommendation when product domain is fintech, devtools, or productivity |
113
+ | Focus trap missing on modal — keyboard users trapped in page behind overlay | CRITICAL | a11y-audit Step 4 must scan all Dialog/Modal/Drawer/Popover components before audit closes |
114
+
115
+ ## Done When
116
+
117
+ - React health score generated (0-100) with per-dimension breakdown; top 5 fixes listed by impact; dead code inventory complete
118
+ - Web Vitals report produced with all 6 metrics against thresholds; render-blocking resources identified; CLS culprits found; image optimization recommendations emitted
119
+ - Token file generated with 3-layer structure; hardcoded values replaced or flagged with diffs; dark/light theme switcher emitted
120
+ - Palette selected, CSS custom properties emitted, contrast ratios verified (≥ 4.5:1 body, ≥ 3:1 large text), colorblind alternatives noted
121
+ - Font pairing selected, Google Fonts link emitted, Tailwind fontFamily config emitted, type scale CSS variables written
122
+ - Component refactor scaffold emitted; original files untouched; slot patterns applied where applicable
123
+ - Landing section sequence composed; Anti-AI rules verified; responsive audit at 375/768/1280px complete; conversion checklist passed
124
+ - Design system .md generated with color, typography, component, and anti-pattern rules for the product domain
125
+ - Axe-core scan shows zero critical/serious violations; focus trap audit complete; skip nav link present
126
+ - All animations pass `prefers-reduced-motion` audit; page transition pattern implemented
127
+
128
+ ## Cost Profile
129
+
130
+ ~24,000–38,000 tokens per full pack run (all 10 skills). Individual skill: ~2,000–5,000 tokens. Sonnet default. Use haiku for detection scans (Step 1 of each skill); escalate to sonnet for generation, refactoring, and report writing. Use `design-decision` first when starting a new project — it reduces token cost of subsequent skills by pre-scoping palette and typography choices.
@@ -1,91 +1,91 @@
1
- ---
2
- name: "a11y-audit"
3
- pack: "@rune/ui"
4
- description: "Accessibility audit beyond automated tools. Checks WCAG 2.1 AA compliance — focus management, screen reader compatibility, color contrast, ARIA patterns, keyboard navigation, focus traps, and skip navigation."
5
- model: sonnet
6
- tools: [Read, Edit, Write, Grep, Glob, Bash]
7
- ---
8
-
9
- # a11y-audit
10
-
11
- Accessibility audit beyond automated tools. Checks WCAG 2.1 AA compliance — focus management, screen reader compatibility, color contrast, ARIA patterns, keyboard navigation, focus traps, and skip navigation.
12
-
13
- #### Workflow
14
-
15
- **Step 1 — Automated scan**
16
- Run `Bash: npx axe-core-cli <url> --reporter json` to capture all automated violations. Parse the JSON output and group by impact: critical → serious → moderate → minor.
17
-
18
- **Step 2 — Manual WCAG 2.1 AA review**
19
- Use Grep to find `onClick` on non-button elements (missing keyboard support), `<img` without `alt`, `aria-label` absence on icon-only buttons, and `outline: none` without a focus-visible replacement. Read flagged files and annotate each violation with the WCAG criterion it breaks.
20
-
21
- **Step 3 — Emit audit report**
22
- Produce a structured report: automated violations (count by impact), manual violations (file + line + fix), contrast ratios for brand colors (pass/fail at AA). Include a prioritized fix list.
23
-
24
- **Step 4 — Focus trap audit + skip nav**
25
- Scan for `Dialog`, `Modal`, `Drawer`, `Popover` components. Verify each has: a focus trap on open (`focus-trap-react` or `aria-modal`), returns focus to trigger on close, has an `aria-labelledby` referencing its title. Also check: first `<a>` in `<body>` is a "Skip to main content" link visible on focus (WCAG 2.4.1).
26
-
27
- #### Example
28
-
29
- ```tsx
30
- // VIOLATION: icon button with no accessible name
31
- <button onClick={handleClose}>
32
- <XIcon />
33
- </button>
34
-
35
- // FIX: add aria-label; icon is decorative
36
- <button onClick={handleClose} aria-label="Close dialog">
37
- <XIcon aria-hidden="true" />
38
- </button>
39
-
40
- // VIOLATION: div acting as button (no keyboard, no role)
41
- <div onClick={handleSubmit}>Submit</div>
42
-
43
- // FIX: use semantic element
44
- <button type="button" onClick={handleSubmit}>Submit</button>
45
- ```
46
-
47
- ```tsx
48
- // Focus trap pattern for modals (using focus-trap-react)
49
- import FocusTrap from 'focus-trap-react'
50
-
51
- export function Dialog({ open, onClose, title, children }: DialogProps) {
52
- return open ? (
53
- <FocusTrap focusTrapOptions={{ onDeactivate: onClose }}>
54
- <div
55
- role="dialog"
56
- aria-modal="true"
57
- aria-labelledby="dialog-title"
58
- className="fixed inset-0 z-50 flex items-center justify-center"
59
- >
60
- <div className="bg-[var(--bg-card)] rounded-xl p-6 max-w-md w-full shadow-lg">
61
- <h2 id="dialog-title" className="text-h3 font-semibold mb-4">{title}</h2>
62
- {children}
63
- <button
64
- onClick={onClose}
65
- aria-label="Close dialog"
66
- className="absolute top-4 right-4 focus-visible:ring-2 focus-visible:ring-[var(--primary)]"
67
- >
68
- <X aria-hidden="true" />
69
- </button>
70
- </div>
71
- </div>
72
- </FocusTrap>
73
- ) : null
74
- }
75
- ```
76
-
77
- ```html
78
- <!-- Skip navigation link — must be FIRST focusable element in <body> -->
79
- <a
80
- href="#main-content"
81
- class="
82
- sr-only focus:not-sr-only
83
- fixed top-4 left-4 z-[9999]
84
- px-4 py-2 rounded-md
85
- bg-[var(--primary)] text-white font-semibold text-sm
86
- focus-visible:ring-2 focus-visible:ring-offset-2
87
- "
88
- >
89
- Skip to main content
90
- </a>
91
- ```
1
+ ---
2
+ name: "a11y-audit"
3
+ pack: "@rune/ui"
4
+ description: "Accessibility audit beyond automated tools. Checks WCAG 2.1 AA compliance — focus management, screen reader compatibility, color contrast, ARIA patterns, keyboard navigation, focus traps, and skip navigation."
5
+ model: sonnet
6
+ tools: [Read, Edit, Write, Grep, Glob, Bash]
7
+ ---
8
+
9
+ # a11y-audit
10
+
11
+ Accessibility audit beyond automated tools. Checks WCAG 2.1 AA compliance — focus management, screen reader compatibility, color contrast, ARIA patterns, keyboard navigation, focus traps, and skip navigation.
12
+
13
+ #### Workflow
14
+
15
+ **Step 1 — Automated scan**
16
+ Run `Bash: npx axe-core-cli <url> --reporter json` to capture all automated violations. Parse the JSON output and group by impact: critical → serious → moderate → minor.
17
+
18
+ **Step 2 — Manual WCAG 2.1 AA review**
19
+ Use Grep to find `onClick` on non-button elements (missing keyboard support), `<img` without `alt`, `aria-label` absence on icon-only buttons, and `outline: none` without a focus-visible replacement. Read flagged files and annotate each violation with the WCAG criterion it breaks.
20
+
21
+ **Step 3 — Emit audit report**
22
+ Produce a structured report: automated violations (count by impact), manual violations (file + line + fix), contrast ratios for brand colors (pass/fail at AA). Include a prioritized fix list.
23
+
24
+ **Step 4 — Focus trap audit + skip nav**
25
+ Scan for `Dialog`, `Modal`, `Drawer`, `Popover` components. Verify each has: a focus trap on open (`focus-trap-react` or `aria-modal`), returns focus to trigger on close, has an `aria-labelledby` referencing its title. Also check: first `<a>` in `<body>` is a "Skip to main content" link visible on focus (WCAG 2.4.1).
26
+
27
+ #### Example
28
+
29
+ ```tsx
30
+ // VIOLATION: icon button with no accessible name
31
+ <button onClick={handleClose}>
32
+ <XIcon />
33
+ </button>
34
+
35
+ // FIX: add aria-label; icon is decorative
36
+ <button onClick={handleClose} aria-label="Close dialog">
37
+ <XIcon aria-hidden="true" />
38
+ </button>
39
+
40
+ // VIOLATION: div acting as button (no keyboard, no role)
41
+ <div onClick={handleSubmit}>Submit</div>
42
+
43
+ // FIX: use semantic element
44
+ <button type="button" onClick={handleSubmit}>Submit</button>
45
+ ```
46
+
47
+ ```tsx
48
+ // Focus trap pattern for modals (using focus-trap-react)
49
+ import FocusTrap from 'focus-trap-react'
50
+
51
+ export function Dialog({ open, onClose, title, children }: DialogProps) {
52
+ return open ? (
53
+ <FocusTrap focusTrapOptions={{ onDeactivate: onClose }}>
54
+ <div
55
+ role="dialog"
56
+ aria-modal="true"
57
+ aria-labelledby="dialog-title"
58
+ className="fixed inset-0 z-50 flex items-center justify-center"
59
+ >
60
+ <div className="bg-[var(--bg-card)] rounded-xl p-6 max-w-md w-full shadow-lg">
61
+ <h2 id="dialog-title" className="text-h3 font-semibold mb-4">{title}</h2>
62
+ {children}
63
+ <button
64
+ onClick={onClose}
65
+ aria-label="Close dialog"
66
+ className="absolute top-4 right-4 focus-visible:ring-2 focus-visible:ring-[var(--primary)]"
67
+ >
68
+ <X aria-hidden="true" />
69
+ </button>
70
+ </div>
71
+ </div>
72
+ </FocusTrap>
73
+ ) : null
74
+ }
75
+ ```
76
+
77
+ ```html
78
+ <!-- Skip navigation link — must be FIRST focusable element in <body> -->
79
+ <a
80
+ href="#main-content"
81
+ class="
82
+ sr-only focus:not-sr-only
83
+ fixed top-4 left-4 z-[9999]
84
+ px-4 py-2 rounded-md
85
+ bg-[var(--primary)] text-white font-semibold text-sm
86
+ focus-visible:ring-2 focus-visible:ring-offset-2
87
+ "
88
+ >
89
+ Skip to main content
90
+ </a>
91
+ ```