@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,157 +1,157 @@
1
- ---
2
- name: asset-creator
3
- description: Creates code-based visual assets — SVG icons, OG image HTML templates, social banners, and icon sets. Outputs files with usage instructions.
4
- metadata:
5
- author: runedev
6
- version: "0.2.0"
7
- layer: L3
8
- model: sonnet
9
- group: media
10
- tools: "Read, Write, Edit, Glob, Grep"
11
- ---
12
-
13
- # asset-creator
14
-
15
- ## Purpose
16
-
17
- Creates code-based visual assets (SVG, CSS, HTML) for projects and marketing. Handles logos, OG images, social cards, and icon sets. Outputs actual files with light/dark variants and usage instructions. This skill creates CODE-based assets — not raster images.
18
-
19
- ## Called By (inbound)
20
-
21
- - `marketing` (L2): banners, OG images, social graphics
22
- - `design` (L2): UI asset generation during design phase
23
- - L4 `@rune/ui`: design system assets
24
-
25
- ## Calls (outbound)
26
-
27
- None — pure L3 utility.
28
-
29
- ## Executable Instructions
30
-
31
- ### Step 1: Receive Brief
32
-
33
- Accept input from calling skill:
34
- - `asset_type` — one of: `logo` | `og_image` | `social_card` | `icon` | `icon_set` | `banner`
35
- - `dimensions` — width x height in pixels (e.g. `1200x630` for OG images)
36
- - `style` — description of visual style (e.g. "minimal dark", "comic bold", "glassmorphism")
37
- - `content` — text, brand name, tagline, or icon names to include
38
- - `output_dir` — where to save files (default: `assets/`)
39
-
40
- ### Step 2: Design
41
-
42
- Before writing code, determine design parameters:
43
-
44
- 1. Check if the project has `.rune/conventions.md` — use `Read` to load color palette and typography
45
- 2. If no conventions file, apply defaults based on `style`:
46
- - "dark" → `#0c1419` bg, `#ffffff` text, `#2196f3` accent
47
- - "light" → `#faf8f3` bg, `#1a1a1a` text, `#1d4ed8` accent
48
- - "comic" → `#fffef9` bg, `#1a1a1a` text, `2px solid #2a2a2a` border, `4px 4px 0 #2a2a2a` shadow
49
- - "glassmorphism" → `rgba(255,255,255,0.05)` bg, `backdrop-filter: blur(12px)`, `rgba(255,255,255,0.1)` border
50
-
51
- 3. Select typography:
52
- - Display/headlines: Space Grotesk 700
53
- - Body: Inter 400
54
- - Monospace/prices: JetBrains Mono 700
55
-
56
- 4. Apply standard dimensions by asset type if not specified:
57
- - OG image: 1200x630px
58
- - Twitter card: 1200x628px
59
- - Instagram square: 1080x1080px
60
- - Icon: 24x24px (or 512x512px for app icon)
61
-
62
- ### Step 3: Create
63
-
64
- Use `Write` to generate the asset files:
65
-
66
- **For SVG icons and logos:**
67
- - Write inline SVG with proper `viewBox` attribute
68
- - Use `xmlns="http://www.w3.org/2000/svg"`
69
- - Include `role="img"` and `aria-label` for accessibility
70
- - Optimize paths — no unnecessary groups or transforms
71
- - File: `assets/[name].svg`
72
-
73
- **For OG images and social cards:**
74
- - Create an HTML file with embedded CSS
75
- - Use absolute pixel values (no relative units) for pixel-perfect output
76
- - Include Google Fonts import for Space Grotesk and Inter
77
- - File: `assets/[name]-og.html`
78
-
79
- **For icon sets:**
80
- - Create a single SVG sprite file with `<symbol>` elements
81
- - Each icon as a named `<symbol id="icon-[name]">` with `viewBox`
82
- - Include a usage example comment at the top
83
- - File: `assets/icons/sprite.svg`
84
-
85
- **For HTML banners:**
86
- - Self-contained HTML with all styles inline (no external deps)
87
- - File: `assets/banner-[platform].html`
88
-
89
- ### Step 4: Variants
90
-
91
- If `style` contains "dark" or the asset type is OG/banner, also create a light mode variant:
92
- - Suffix dark variant with `-dark` (e.g. `og-dark.html`)
93
- - Suffix light variant with `-light` (e.g. `og-light.html`)
94
-
95
- For icon sets, create both a filled and outline variant if applicable.
96
-
97
- ### Step 5: Report
98
-
99
- Output the following:
100
-
101
- ```
102
- ## Assets Created
103
-
104
- ### Generated Files
105
- - [asset_type]: [file_path] ([dimensions])
106
- - [asset_type] (dark): [file_path]
107
- - [asset_type] (light): [file_path]
108
-
109
- ### Usage Instructions
110
- - OG image: Add <meta property="og:image" content="[url]/[filename]"> to <head>
111
- - SVG icon: <img src="assets/[name].svg" alt="[description]">
112
- - Icon sprite: <svg><use href="assets/icons/sprite.svg#icon-[name]"></use></svg>
113
- - Banner: Open [file] in browser, screenshot at [width]x[height]
114
-
115
- ### Design Tokens Used
116
- - Background: [color]
117
- - Text: [color]
118
- - Accent: [color]
119
- - Font: [font-family]
120
- ```
121
-
122
- ## Note
123
-
124
- This skill creates CODE-based assets (SVG/CSS/HTML). It does not generate raster images (PNG/JPG) directly — those require screenshotting the generated HTML files using browser-pilot.
125
-
126
- ## Output Format
127
-
128
- Structured report with generated file paths, usage instructions (HTML snippets), and design tokens used. See Step 5 Report above for full template.
129
-
130
- ## Constraints
131
-
132
- 1. MUST confirm output format and dimensions before generating
133
- 2. MUST NOT generate copyrighted or trademarked content
134
- 3. MUST save to project assets directory — not random locations
135
-
136
- ## Sharp Edges
137
-
138
- Known failure modes for this skill. Check these before declaring done.
139
-
140
- | Failure Mode | Severity | Mitigation |
141
- |---|---|---|
142
- | Generating copyrighted or trademarked content (logos, characters) | CRITICAL | Constraint 2: only generate original assets — no brand marks, characters, or protected symbols |
143
- | Saving to random location instead of assets/ | MEDIUM | Constraint 3: output_dir defaults to assets/ — always save there |
144
- | Missing light/dark variants for OG/banner assets | MEDIUM | Step 4: dark mode variant required for any OG/banner asset |
145
- | Generating raster images (PNG/JPG) directly | MEDIUM | This skill creates SVG/HTML CODE only — raster requires browser-pilot screenshot of generated HTML |
146
-
147
- ## Done When
148
-
149
- - Asset type, dimensions, and style confirmed from input
150
- - Design tokens from .rune/conventions.md loaded (or defaults applied)
151
- - Asset files written to assets/ directory in correct format (SVG/HTML)
152
- - Light/dark variants created if applicable (OG/banner)
153
- - Assets Created report emitted with file paths and usage instructions
154
-
155
- ## Cost Profile
156
-
157
- ~500-1500 tokens input, ~500-1000 tokens output. Sonnet for creative quality.
1
+ ---
2
+ name: asset-creator
3
+ description: Creates code-based visual assets — SVG icons, OG image HTML templates, social banners, and icon sets. Outputs files with usage instructions.
4
+ metadata:
5
+ author: runedev
6
+ version: "0.2.0"
7
+ layer: L3
8
+ model: sonnet
9
+ group: media
10
+ tools: "Read, Write, Edit, Glob, Grep"
11
+ ---
12
+
13
+ # asset-creator
14
+
15
+ ## Purpose
16
+
17
+ Creates code-based visual assets (SVG, CSS, HTML) for projects and marketing. Handles logos, OG images, social cards, and icon sets. Outputs actual files with light/dark variants and usage instructions. This skill creates CODE-based assets — not raster images.
18
+
19
+ ## Called By (inbound)
20
+
21
+ - `marketing` (L2): banners, OG images, social graphics
22
+ - `design` (L2): UI asset generation during design phase
23
+ - L4 `@rune/ui`: design system assets
24
+
25
+ ## Calls (outbound)
26
+
27
+ None — pure L3 utility.
28
+
29
+ ## Executable Instructions
30
+
31
+ ### Step 1: Receive Brief
32
+
33
+ Accept input from calling skill:
34
+ - `asset_type` — one of: `logo` | `og_image` | `social_card` | `icon` | `icon_set` | `banner`
35
+ - `dimensions` — width x height in pixels (e.g. `1200x630` for OG images)
36
+ - `style` — description of visual style (e.g. "minimal dark", "comic bold", "glassmorphism")
37
+ - `content` — text, brand name, tagline, or icon names to include
38
+ - `output_dir` — where to save files (default: `assets/`)
39
+
40
+ ### Step 2: Design
41
+
42
+ Before writing code, determine design parameters:
43
+
44
+ 1. Check if the project has `.rune/conventions.md` — use `Read` to load color palette and typography
45
+ 2. If no conventions file, apply defaults based on `style`:
46
+ - "dark" → `#0c1419` bg, `#ffffff` text, `#2196f3` accent
47
+ - "light" → `#faf8f3` bg, `#1a1a1a` text, `#1d4ed8` accent
48
+ - "comic" → `#fffef9` bg, `#1a1a1a` text, `2px solid #2a2a2a` border, `4px 4px 0 #2a2a2a` shadow
49
+ - "glassmorphism" → `rgba(255,255,255,0.05)` bg, `backdrop-filter: blur(12px)`, `rgba(255,255,255,0.1)` border
50
+
51
+ 3. Select typography:
52
+ - Display/headlines: Space Grotesk 700
53
+ - Body: Inter 400
54
+ - Monospace/prices: JetBrains Mono 700
55
+
56
+ 4. Apply standard dimensions by asset type if not specified:
57
+ - OG image: 1200x630px
58
+ - Twitter card: 1200x628px
59
+ - Instagram square: 1080x1080px
60
+ - Icon: 24x24px (or 512x512px for app icon)
61
+
62
+ ### Step 3: Create
63
+
64
+ Use `Write` to generate the asset files:
65
+
66
+ **For SVG icons and logos:**
67
+ - Write inline SVG with proper `viewBox` attribute
68
+ - Use `xmlns="http://www.w3.org/2000/svg"`
69
+ - Include `role="img"` and `aria-label` for accessibility
70
+ - Optimize paths — no unnecessary groups or transforms
71
+ - File: `assets/[name].svg`
72
+
73
+ **For OG images and social cards:**
74
+ - Create an HTML file with embedded CSS
75
+ - Use absolute pixel values (no relative units) for pixel-perfect output
76
+ - Include Google Fonts import for Space Grotesk and Inter
77
+ - File: `assets/[name]-og.html`
78
+
79
+ **For icon sets:**
80
+ - Create a single SVG sprite file with `<symbol>` elements
81
+ - Each icon as a named `<symbol id="icon-[name]">` with `viewBox`
82
+ - Include a usage example comment at the top
83
+ - File: `assets/icons/sprite.svg`
84
+
85
+ **For HTML banners:**
86
+ - Self-contained HTML with all styles inline (no external deps)
87
+ - File: `assets/banner-[platform].html`
88
+
89
+ ### Step 4: Variants
90
+
91
+ If `style` contains "dark" or the asset type is OG/banner, also create a light mode variant:
92
+ - Suffix dark variant with `-dark` (e.g. `og-dark.html`)
93
+ - Suffix light variant with `-light` (e.g. `og-light.html`)
94
+
95
+ For icon sets, create both a filled and outline variant if applicable.
96
+
97
+ ### Step 5: Report
98
+
99
+ Output the following:
100
+
101
+ ```
102
+ ## Assets Created
103
+
104
+ ### Generated Files
105
+ - [asset_type]: [file_path] ([dimensions])
106
+ - [asset_type] (dark): [file_path]
107
+ - [asset_type] (light): [file_path]
108
+
109
+ ### Usage Instructions
110
+ - OG image: Add <meta property="og:image" content="[url]/[filename]"> to <head>
111
+ - SVG icon: <img src="assets/[name].svg" alt="[description]">
112
+ - Icon sprite: <svg><use href="assets/icons/sprite.svg#icon-[name]"></use></svg>
113
+ - Banner: Open [file] in browser, screenshot at [width]x[height]
114
+
115
+ ### Design Tokens Used
116
+ - Background: [color]
117
+ - Text: [color]
118
+ - Accent: [color]
119
+ - Font: [font-family]
120
+ ```
121
+
122
+ ## Note
123
+
124
+ This skill creates CODE-based assets (SVG/CSS/HTML). It does not generate raster images (PNG/JPG) directly — those require screenshotting the generated HTML files using browser-pilot.
125
+
126
+ ## Output Format
127
+
128
+ Structured report with generated file paths, usage instructions (HTML snippets), and design tokens used. See Step 5 Report above for full template.
129
+
130
+ ## Constraints
131
+
132
+ 1. MUST confirm output format and dimensions before generating
133
+ 2. MUST NOT generate copyrighted or trademarked content
134
+ 3. MUST save to project assets directory — not random locations
135
+
136
+ ## Sharp Edges
137
+
138
+ Known failure modes for this skill. Check these before declaring done.
139
+
140
+ | Failure Mode | Severity | Mitigation |
141
+ |---|---|---|
142
+ | Generating copyrighted or trademarked content (logos, characters) | CRITICAL | Constraint 2: only generate original assets — no brand marks, characters, or protected symbols |
143
+ | Saving to random location instead of assets/ | MEDIUM | Constraint 3: output_dir defaults to assets/ — always save there |
144
+ | Missing light/dark variants for OG/banner assets | MEDIUM | Step 4: dark mode variant required for any OG/banner asset |
145
+ | Generating raster images (PNG/JPG) directly | MEDIUM | This skill creates SVG/HTML CODE only — raster requires browser-pilot screenshot of generated HTML |
146
+
147
+ ## Done When
148
+
149
+ - Asset type, dimensions, and style confirmed from input
150
+ - Design tokens from .rune/conventions.md loaded (or defaults applied)
151
+ - Asset files written to assets/ directory in correct format (SVG/HTML)
152
+ - Light/dark variants created if applicable (OG/banner)
153
+ - Assets Created report emitted with file paths and usage instructions
154
+
155
+ ## Cost Profile
156
+
157
+ ~500-1500 tokens input, ~500-1000 tokens output. Sonnet for creative quality.
@@ -3,7 +3,7 @@ name: audit
3
3
  description: Comprehensive project audit — security, dependencies, code quality, architecture, performance, infra, docs, and mesh analytics. Delegates to specialist skills and generates an 8-dimension health score.
4
4
  metadata:
5
5
  author: runedev
6
- version: "0.3.0"
6
+ version: "0.4.0"
7
7
  layer: L2
8
8
  model: sonnet
9
9
  group: quality
@@ -19,8 +19,10 @@ Comprehensive project health audit across 8 dimensions (7 project + 1 mesh analy
19
19
 
20
20
  ## Triggers
21
21
 
22
- - `/rune audit` — manual invocation
22
+ - `/rune audit` — full 8-dimension project health audit
23
+ - `/rune audit dx` — DX Review Mode (Addy Osmani 8 principles, see below)
23
24
  - User says "audit", "review project", "health check", "project assessment"
25
+ - User says "developer experience", "DX audit", "onboarding experience", "time to hello world"
24
26
 
25
27
  ## Calls (outbound)
26
28
 
@@ -34,6 +36,7 @@ Comprehensive project health audit across 8 dimensions (7 project + 1 mesh analy
34
36
  - `constraint-check` (L3): audit HARD-GATE compliance across project skills
35
37
  - `sast` (L3): Phase 2 — deep static analysis (Semgrep, Bandit, ESLint security rules)
36
38
  - `retro` (L2): Phase 6 — engineering velocity and health dimension (rune:retro)
39
+ - `browser-pilot` (L3): DX Review Mode — real browser testing of docs, setup guides, error pages
37
40
 
38
41
  ## Called By (inbound)
39
42
 
@@ -373,6 +376,148 @@ Output as a section in the final audit report:
373
376
 
374
377
  ---
375
378
 
379
+ ---
380
+
381
+ ## DX Review Mode (Addy Osmani 8 Principles)
382
+
383
+ Triggered by `/rune audit dx`. Evaluates **developer experience** — how easy it is for a new contributor to understand, set up, use, and recover from mistakes in this project. Inspired by Addy Osmani's DX framework.
384
+
385
+ <HARD-GATE>
386
+ DX Review is a SEPARATE mode — it does NOT run the 8-phase health audit above.
387
+ If the user wants both, run `/rune audit` then `/rune audit dx` separately.
388
+ </HARD-GATE>
389
+
390
+ ### DX Principle 1: Time to Hello World
391
+
392
+ Measure: How many steps from `git clone` to running the project?
393
+
394
+ ```
395
+ 1. Read README.md — extract setup instructions
396
+ 2. Count discrete steps (clone, install, config, build, run)
397
+ 3. Check: are ALL commands copy-pasteable? (no placeholders without explanation)
398
+ 4. Check: does `npm start` / `python main.py` / equivalent work immediately after install?
399
+ 5. If browser-pilot available: attempt to follow the README steps literally
400
+ ```
401
+
402
+ | Steps to Run | Score | Verdict |
403
+ |--------------|-------|---------|
404
+ | 1-2 commands | 10/10 | Excellent — "clone and go" |
405
+ | 3-4 commands | 7/10 | Good — reasonable setup |
406
+ | 5-7 commands | 4/10 | Fair — friction will lose contributors |
407
+ | 8+ commands | 2/10 | Poor — significant onboarding barrier |
408
+ | Cannot run from README | 0/10 | Broken — README is lying or incomplete |
409
+
410
+ ### DX Principle 2: First-Time Setup Friction
411
+
412
+ Check for common setup traps:
413
+
414
+ - Missing `.env.example` → new dev has no idea what env vars are needed
415
+ - Missing system dependency docs (e.g., needs Redis/Postgres but README doesn't say)
416
+ - Node version mismatch (no `.nvmrc` or `engines` field)
417
+ - Python version mismatch (no `python-version` in `pyproject.toml`)
418
+ - Failing install on clean machine (native deps, missing build tools)
419
+ - No `--help` or usage message when running CLI with no args
420
+
421
+ Score: count friction points. 0 = 10/10, 1-2 = 7/10, 3-4 = 4/10, 5+ = 2/10.
422
+
423
+ ### DX Principle 3: Error Message Quality
424
+
425
+ Sample 5 error paths in the codebase (auth failure, invalid input, missing config, network error, permission denied). For each:
426
+
427
+ - Does the error message say WHAT went wrong? (not just "Error" or "Something went wrong")
428
+ - Does it say WHY? (context: which input, which config key)
429
+ - Does it suggest HOW to fix? (actionable: "set X in .env" not "check configuration")
430
+
431
+ | Quality | Score |
432
+ |---------|-------|
433
+ | All 3 (what + why + how) | 10/10 |
434
+ | What + why, no how | 6/10 |
435
+ | What only | 3/10 |
436
+ | Generic errors | 1/10 |
437
+
438
+ ### DX Principle 4: CLI Help Quality
439
+
440
+ If project has a CLI entry point:
441
+
442
+ ```
443
+ 1. Run `<cli> --help` — capture output
444
+ 2. Check: does it list all commands with descriptions?
445
+ 3. Check: does each subcommand have `--help` with examples?
446
+ 4. Check: is there a quickstart example in help output?
447
+ 5. Check: are flags named predictably (--verbose not --v, --output not --o)?
448
+ ```
449
+
450
+ Score: 2 points each for: command listing, subcommand help, examples, consistent naming, error on unknown flag.
451
+
452
+ If no CLI: score as N/A (does not count toward total).
453
+
454
+ ### DX Principle 5: Documentation Navigation
455
+
456
+ Can a developer find answers in under 60 seconds?
457
+
458
+ - README has a table of contents or clear section headers
459
+ - API endpoints / functions have a reference page or inline docs
460
+ - Search works (if docs site): try 3 common queries
461
+ - Cross-references between related concepts exist
462
+ - No dead links (use `Grep` for `](` patterns and spot-check 5 links)
463
+
464
+ If `browser-pilot` available: navigate the docs site, time how long to find "how to authenticate" and "how to deploy".
465
+
466
+ ### DX Principle 6: API Consistency
467
+
468
+ For the top 10 exported functions / API endpoints:
469
+
470
+ - Naming convention consistent? (all camelCase, or all snake_case — not mixed)
471
+ - Return type pattern consistent? (all return `{ data, error }` or all throw — not mixed)
472
+ - Parameter ordering consistent? (required first, optional last — across all functions)
473
+ - HTTP methods correct? (GET for reads, POST for creates — no GET with side effects)
474
+
475
+ Score: consistency percentage across the 10 sampled APIs.
476
+
477
+ ### DX Principle 7: Progressive Disclosure
478
+
479
+ - Simple use case achievable with 1-3 lines of code? (check README examples)
480
+ - Advanced config available but not required? (sensible defaults exist)
481
+ - Configuration is layered? (env vars → config file → CLI flags → defaults)
482
+ - Type hints / IDE completion available? (`d.ts` files, JSDoc, type stubs)
483
+
484
+ ### DX Principle 8: Recovery from Mistakes
485
+
486
+ - Can the user undo/rollback? (migrations have `down`, deploys have rollback, git-based workflows)
487
+ - Do destructive operations have confirmation prompts? (`--force` required for dangerous ops)
488
+ - Are error states recoverable? (retry guidance, not just "failed")
489
+ - Does `--dry-run` exist for risky operations?
490
+
491
+ ### DX Review Output
492
+
493
+ ```markdown
494
+ ## DX Review: [Project Name]
495
+
496
+ | # | Principle | Score | Key Finding |
497
+ |---|-----------|-------|-------------|
498
+ | 1 | Time to Hello World | ?/10 | [steps count + blocker if any] |
499
+ | 2 | Setup Friction | ?/10 | [friction points found] |
500
+ | 3 | Error Messages | ?/10 | [quality level + worst example] |
501
+ | 4 | CLI Help | ?/10 | [coverage + gaps] |
502
+ | 5 | Doc Navigation | ?/10 | [findability + dead links] |
503
+ | 6 | API Consistency | ?/10 | [consistency % + violations] |
504
+ | 7 | Progressive Disclosure | ?/10 | [simple path exists? defaults?] |
505
+ | 8 | Recovery | ?/10 | [undo/rollback/dry-run support] |
506
+ | **Overall DX** | | **?/10** | **[verdict]** |
507
+
508
+ ### Quick Wins (fix in <1 hour)
509
+ 1. [specific, actionable improvement]
510
+ 2. [specific, actionable improvement]
511
+ 3. [specific, actionable improvement]
512
+
513
+ ### Structural Improvements (plan needed)
514
+ 1. [deeper change needed]
515
+ ```
516
+
517
+ Grade thresholds: 9-10 Excellent DX, 7-8 Good DX, 5-6 Fair DX (losing contributors), 3-4 Poor DX (significant barrier), 1-2 Hostile DX.
518
+
519
+ ---
520
+
376
521
  ### Final Report
377
522
 
378
523
  After all phases complete: