wizz-method 1.0.3 → 1.1.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 (630) hide show
  1. package/package.json +4 -2
  2. package/skills-registry.yaml +318 -0
  3. package/src/bmm-skills/4-implementation/wizz-quick-dev/SKILL.md +7 -0
  4. package/src/core-skills/wizz-editorial-review-prose/SKILL.md +20 -45
  5. package/src/core-skills/wizz-party-mode/customize.toml +894 -0
  6. package/src/core-skills/wizz-party-mode/scripts/__pycache__/resolve_party.cpython-314.pyc +0 -0
  7. package/src/core-skills/wizz-review-adversarial-general/SKILL.md +23 -12
  8. package/src/modules/wizz/agents/wizz-maestro/SKILL.md +47 -23
  9. package/src/skills-lib/ab-test-setup/SKILL.md +266 -0
  10. package/src/skills-lib/ab-test-setup/evals/evals.json +105 -0
  11. package/src/skills-lib/ab-test-setup/references/sample-size-guide.md +263 -0
  12. package/src/skills-lib/ab-test-setup/references/test-templates.md +277 -0
  13. package/src/skills-lib/ad-creative/SKILL.md +362 -0
  14. package/src/skills-lib/ad-creative/evals/evals.json +90 -0
  15. package/src/skills-lib/ad-creative/references/generative-tools.md +637 -0
  16. package/src/skills-lib/ad-creative/references/platform-specs.md +213 -0
  17. package/src/skills-lib/adversarial-reviewer/SKILL.md +122 -0
  18. package/src/skills-lib/agent-browser/SKILL.md +139 -0
  19. package/src/skills-lib/ai-seo/SKILL.md +398 -0
  20. package/src/skills-lib/ai-seo/evals/evals.json +90 -0
  21. package/src/skills-lib/ai-seo/references/content-patterns.md +285 -0
  22. package/src/skills-lib/ai-seo/references/platform-ranking-factors.md +152 -0
  23. package/src/skills-lib/analytics-tracking/SKILL.md +309 -0
  24. package/src/skills-lib/analytics-tracking/evals/evals.json +90 -0
  25. package/src/skills-lib/analytics-tracking/references/event-library.md +260 -0
  26. package/src/skills-lib/analytics-tracking/references/ga4-implementation.md +300 -0
  27. package/src/skills-lib/analytics-tracking/references/gtm-implementation.md +390 -0
  28. package/src/skills-lib/auth-and-secrets/SKILL.md +82 -0
  29. package/src/skills-lib/caching-and-queues/SKILL.md +58 -0
  30. package/src/skills-lib/cerebro/SKILL.md +368 -0
  31. package/src/skills-lib/churn-prevention/SKILL.md +424 -0
  32. package/src/skills-lib/churn-prevention/evals/evals.json +93 -0
  33. package/src/skills-lib/churn-prevention/references/cancel-flow-patterns.md +316 -0
  34. package/src/skills-lib/churn-prevention/references/dunning-playbook.md +408 -0
  35. package/src/skills-lib/cloud-and-infra/SKILL.md +36 -0
  36. package/src/skills-lib/cold-email/SKILL.md +158 -0
  37. package/src/skills-lib/cold-email/evals/evals.json +94 -0
  38. package/src/skills-lib/cold-email/references/benchmarks.md +83 -0
  39. package/src/skills-lib/cold-email/references/follow-up-sequences.md +81 -0
  40. package/src/skills-lib/cold-email/references/frameworks.md +90 -0
  41. package/src/skills-lib/cold-email/references/personalization.md +79 -0
  42. package/src/skills-lib/cold-email/references/subject-lines.md +53 -0
  43. package/src/skills-lib/competitor-alternatives/SKILL.md +256 -0
  44. package/src/skills-lib/competitor-alternatives/evals/evals.json +93 -0
  45. package/src/skills-lib/competitor-alternatives/references/content-architecture.md +271 -0
  46. package/src/skills-lib/competitor-alternatives/references/templates.md +223 -0
  47. package/src/skills-lib/content-strategy/SKILL.md +359 -0
  48. package/src/skills-lib/content-strategy/evals/evals.json +90 -0
  49. package/src/skills-lib/copy-editing/SKILL.md +447 -0
  50. package/src/skills-lib/copy-editing/evals/evals.json +89 -0
  51. package/src/skills-lib/copy-editing/references/plain-english-alternatives.md +394 -0
  52. package/src/skills-lib/copywriting/SKILL.md +252 -0
  53. package/src/skills-lib/copywriting/evals/evals.json +111 -0
  54. package/src/skills-lib/copywriting/references/copy-frameworks.md +344 -0
  55. package/src/skills-lib/copywriting/references/natural-transitions.md +272 -0
  56. package/src/skills-lib/database-and-deps/SKILL.md +80 -0
  57. package/src/skills-lib/database-scaling/SKILL.md +44 -0
  58. package/src/skills-lib/decision-maker/SKILL.md +534 -0
  59. package/src/skills-lib/desktop-security/SKILL.md +43 -0
  60. package/src/skills-lib/email-sequence/SKILL.md +309 -0
  61. package/src/skills-lib/email-sequence/evals/evals.json +93 -0
  62. package/src/skills-lib/email-sequence/references/copy-guidelines.md +113 -0
  63. package/src/skills-lib/email-sequence/references/email-types.md +515 -0
  64. package/src/skills-lib/email-sequence/references/sequence-templates.md +168 -0
  65. package/src/skills-lib/enhance-prompt/README.md +34 -0
  66. package/src/skills-lib/enhance-prompt/SKILL.md +204 -0
  67. package/src/skills-lib/enhance-prompt/references/KEYWORDS.md +114 -0
  68. package/src/skills-lib/find-skills/SKILL.md +181 -0
  69. package/src/skills-lib/form-cro/SKILL.md +429 -0
  70. package/src/skills-lib/form-cro/evals/evals.json +90 -0
  71. package/src/skills-lib/free-tool-strategy/SKILL.md +178 -0
  72. package/src/skills-lib/free-tool-strategy/evals/evals.json +90 -0
  73. package/src/skills-lib/free-tool-strategy/references/tool-types.md +217 -0
  74. package/src/skills-lib/graphify/.graphify_version +1 -0
  75. package/src/skills-lib/graphify/SKILL.md +1217 -0
  76. package/src/skills-lib/huashu-design/LICENSE +21 -0
  77. package/src/skills-lib/huashu-design/README.en.md +309 -0
  78. package/src/skills-lib/huashu-design/README.md +348 -0
  79. package/src/skills-lib/huashu-design/SKILL.md +631 -0
  80. package/src/skills-lib/huashu-design/assets/android_frame.jsx +175 -0
  81. package/src/skills-lib/huashu-design/assets/animations.jsx +348 -0
  82. package/src/skills-lib/huashu-design/assets/banner.svg +198 -0
  83. package/src/skills-lib/huashu-design/assets/bgm-ad.mp3 +0 -0
  84. package/src/skills-lib/huashu-design/assets/bgm-educational-alt.mp3 +0 -0
  85. package/src/skills-lib/huashu-design/assets/bgm-educational.mp3 +0 -0
  86. package/src/skills-lib/huashu-design/assets/bgm-tech.mp3 +0 -0
  87. package/src/skills-lib/huashu-design/assets/bgm-tutorial-alt.mp3 +0 -0
  88. package/src/skills-lib/huashu-design/assets/bgm-tutorial.mp3 +0 -0
  89. package/src/skills-lib/huashu-design/assets/browser_window.jsx +166 -0
  90. package/src/skills-lib/huashu-design/assets/deck_index.html +348 -0
  91. package/src/skills-lib/huashu-design/assets/deck_stage.js +420 -0
  92. package/src/skills-lib/huashu-design/assets/design_canvas.jsx +205 -0
  93. package/src/skills-lib/huashu-design/assets/director-notes-samples/launch-film-30s-sample.md +1713 -0
  94. package/src/skills-lib/huashu-design/assets/ios_frame.jsx +192 -0
  95. package/src/skills-lib/huashu-design/assets/macos_window.jsx +96 -0
  96. package/src/skills-lib/huashu-design/assets/narration_stage.jsx +476 -0
  97. package/src/skills-lib/huashu-design/assets/personal-asset-index.example.json +71 -0
  98. package/src/skills-lib/huashu-design/assets/sfx/container/card-flip.mp3 +0 -0
  99. package/src/skills-lib/huashu-design/assets/sfx/container/card-snap.mp3 +0 -0
  100. package/src/skills-lib/huashu-design/assets/sfx/container/modal-open.mp3 +0 -0
  101. package/src/skills-lib/huashu-design/assets/sfx/container/stack-collapse.mp3 +0 -0
  102. package/src/skills-lib/huashu-design/assets/sfx/feedback/achievement.mp3 +0 -0
  103. package/src/skills-lib/huashu-design/assets/sfx/feedback/error-tone.mp3 +0 -0
  104. package/src/skills-lib/huashu-design/assets/sfx/feedback/notification-pop.mp3 +0 -0
  105. package/src/skills-lib/huashu-design/assets/sfx/feedback/success-chime.mp3 +0 -0
  106. package/src/skills-lib/huashu-design/assets/sfx/impact/brand-stamp.mp3 +0 -0
  107. package/src/skills-lib/huashu-design/assets/sfx/impact/drop-thud.mp3 +0 -0
  108. package/src/skills-lib/huashu-design/assets/sfx/impact/logo-reveal-v2.mp3 +0 -0
  109. package/src/skills-lib/huashu-design/assets/sfx/impact/logo-reveal.mp3 +0 -0
  110. package/src/skills-lib/huashu-design/assets/sfx/keyboard/delete-key.mp3 +0 -0
  111. package/src/skills-lib/huashu-design/assets/sfx/keyboard/enter.mp3 +0 -0
  112. package/src/skills-lib/huashu-design/assets/sfx/keyboard/space-tap.mp3 +0 -0
  113. package/src/skills-lib/huashu-design/assets/sfx/keyboard/type-fast.mp3 +0 -0
  114. package/src/skills-lib/huashu-design/assets/sfx/keyboard/type.mp3 +0 -0
  115. package/src/skills-lib/huashu-design/assets/sfx/magic/ai-process.mp3 +0 -0
  116. package/src/skills-lib/huashu-design/assets/sfx/magic/sparkle.mp3 +0 -0
  117. package/src/skills-lib/huashu-design/assets/sfx/magic/transform.mp3 +0 -0
  118. package/src/skills-lib/huashu-design/assets/sfx/progress/complete-done.mp3 +0 -0
  119. package/src/skills-lib/huashu-design/assets/sfx/progress/generate-start.mp3 +0 -0
  120. package/src/skills-lib/huashu-design/assets/sfx/progress/loading-tick.mp3 +0 -0
  121. package/src/skills-lib/huashu-design/assets/sfx/terminal/command-execute.mp3 +0 -0
  122. package/src/skills-lib/huashu-design/assets/sfx/terminal/cursor-blink.mp3 +0 -0
  123. package/src/skills-lib/huashu-design/assets/sfx/terminal/output-appear.mp3 +0 -0
  124. package/src/skills-lib/huashu-design/assets/sfx/transition/dissolve.mp3 +0 -0
  125. package/src/skills-lib/huashu-design/assets/sfx/transition/slide-in.mp3 +0 -0
  126. package/src/skills-lib/huashu-design/assets/sfx/transition/swipe-horizontal.mp3 +0 -0
  127. package/src/skills-lib/huashu-design/assets/sfx/transition/whoosh-fast.mp3 +0 -0
  128. package/src/skills-lib/huashu-design/assets/sfx/transition/whoosh.mp3 +0 -0
  129. package/src/skills-lib/huashu-design/assets/sfx/ui/click-soft.mp3 +0 -0
  130. package/src/skills-lib/huashu-design/assets/sfx/ui/click.mp3 +0 -0
  131. package/src/skills-lib/huashu-design/assets/sfx/ui/focus.mp3 +0 -0
  132. package/src/skills-lib/huashu-design/assets/sfx/ui/hover-subtle.mp3 +0 -0
  133. package/src/skills-lib/huashu-design/assets/sfx/ui/tap-finger.mp3 +0 -0
  134. package/src/skills-lib/huashu-design/assets/sfx/ui/toggle-on.mp3 +0 -0
  135. package/src/skills-lib/huashu-design/assets/showcases/INDEX.md +115 -0
  136. package/src/skills-lib/huashu-design/assets/showcases/cover/cover-build.html +235 -0
  137. package/src/skills-lib/huashu-design/assets/showcases/cover/cover-build.png +0 -0
  138. package/src/skills-lib/huashu-design/assets/showcases/cover/cover-pentagram.html +229 -0
  139. package/src/skills-lib/huashu-design/assets/showcases/cover/cover-pentagram.png +0 -0
  140. package/src/skills-lib/huashu-design/assets/showcases/cover/cover-takram.html +288 -0
  141. package/src/skills-lib/huashu-design/assets/showcases/cover/cover-takram.png +0 -0
  142. package/src/skills-lib/huashu-design/assets/showcases/infographic/infographic-build.html +503 -0
  143. package/src/skills-lib/huashu-design/assets/showcases/infographic/infographic-build.png +0 -0
  144. package/src/skills-lib/huashu-design/assets/showcases/infographic/infographic-pentagram.html +600 -0
  145. package/src/skills-lib/huashu-design/assets/showcases/infographic/infographic-pentagram.png +0 -0
  146. package/src/skills-lib/huashu-design/assets/showcases/infographic/infographic-takram.html +670 -0
  147. package/src/skills-lib/huashu-design/assets/showcases/infographic/infographic-takram.png +0 -0
  148. package/src/skills-lib/huashu-design/assets/showcases/ppt/ppt-build.html +382 -0
  149. package/src/skills-lib/huashu-design/assets/showcases/ppt/ppt-build.png +0 -0
  150. package/src/skills-lib/huashu-design/assets/showcases/ppt/ppt-pentagram.html +536 -0
  151. package/src/skills-lib/huashu-design/assets/showcases/ppt/ppt-pentagram.png +0 -0
  152. package/src/skills-lib/huashu-design/assets/showcases/ppt/ppt-takram.html +497 -0
  153. package/src/skills-lib/huashu-design/assets/showcases/ppt/ppt-takram.png +0 -0
  154. package/src/skills-lib/huashu-design/assets/showcases/website-ai-nav/ainav-build.html +385 -0
  155. package/src/skills-lib/huashu-design/assets/showcases/website-ai-nav/ainav-build.png +0 -0
  156. package/src/skills-lib/huashu-design/assets/showcases/website-ai-nav/ainav-pentagram.html +422 -0
  157. package/src/skills-lib/huashu-design/assets/showcases/website-ai-nav/ainav-pentagram.png +0 -0
  158. package/src/skills-lib/huashu-design/assets/showcases/website-ai-nav/ainav-takram.html +499 -0
  159. package/src/skills-lib/huashu-design/assets/showcases/website-ai-nav/ainav-takram.png +0 -0
  160. package/src/skills-lib/huashu-design/assets/showcases/website-ai-writing/aiwriting-build.html +562 -0
  161. package/src/skills-lib/huashu-design/assets/showcases/website-ai-writing/aiwriting-build.png +0 -0
  162. package/src/skills-lib/huashu-design/assets/showcases/website-ai-writing/aiwriting-pentagram.html +548 -0
  163. package/src/skills-lib/huashu-design/assets/showcases/website-ai-writing/aiwriting-pentagram.png +0 -0
  164. package/src/skills-lib/huashu-design/assets/showcases/website-ai-writing/aiwriting-takram.html +696 -0
  165. package/src/skills-lib/huashu-design/assets/showcases/website-ai-writing/aiwriting-takram.png +0 -0
  166. package/src/skills-lib/huashu-design/assets/showcases/website-devdocs/devdocs-build.html +372 -0
  167. package/src/skills-lib/huashu-design/assets/showcases/website-devdocs/devdocs-build.png +0 -0
  168. package/src/skills-lib/huashu-design/assets/showcases/website-devdocs/devdocs-pentagram.html +460 -0
  169. package/src/skills-lib/huashu-design/assets/showcases/website-devdocs/devdocs-pentagram.png +0 -0
  170. package/src/skills-lib/huashu-design/assets/showcases/website-devdocs/devdocs-takram.html +494 -0
  171. package/src/skills-lib/huashu-design/assets/showcases/website-devdocs/devdocs-takram.png +0 -0
  172. package/src/skills-lib/huashu-design/assets/showcases/website-homepage/homepage-build.html +367 -0
  173. package/src/skills-lib/huashu-design/assets/showcases/website-homepage/homepage-build.png +0 -0
  174. package/src/skills-lib/huashu-design/assets/showcases/website-homepage/homepage-pentagram.html +368 -0
  175. package/src/skills-lib/huashu-design/assets/showcases/website-homepage/homepage-pentagram.png +0 -0
  176. package/src/skills-lib/huashu-design/assets/showcases/website-homepage/homepage-takram.html +459 -0
  177. package/src/skills-lib/huashu-design/assets/showcases/website-homepage/homepage-takram.png +0 -0
  178. package/src/skills-lib/huashu-design/assets/showcases/website-saas/saas-build.html +493 -0
  179. package/src/skills-lib/huashu-design/assets/showcases/website-saas/saas-build.png +0 -0
  180. package/src/skills-lib/huashu-design/assets/showcases/website-saas/saas-pentagram.html +556 -0
  181. package/src/skills-lib/huashu-design/assets/showcases/website-saas/saas-pentagram.png +0 -0
  182. package/src/skills-lib/huashu-design/assets/showcases/website-saas/saas-takram.html +604 -0
  183. package/src/skills-lib/huashu-design/assets/showcases/website-saas/saas-takram.png +0 -0
  184. package/src/skills-lib/huashu-design/demos/c1-ios-prototype-en.html +1145 -0
  185. package/src/skills-lib/huashu-design/demos/c1-ios-prototype.html +1142 -0
  186. package/src/skills-lib/huashu-design/demos/c2-slides-pptx-en.html +1055 -0
  187. package/src/skills-lib/huashu-design/demos/c2-slides-pptx.html +1055 -0
  188. package/src/skills-lib/huashu-design/demos/c3-motion-design-en.html +1134 -0
  189. package/src/skills-lib/huashu-design/demos/c3-motion-design.html +1134 -0
  190. package/src/skills-lib/huashu-design/demos/c4-tweaks-en.html +989 -0
  191. package/src/skills-lib/huashu-design/demos/c4-tweaks.html +989 -0
  192. package/src/skills-lib/huashu-design/demos/c5-infographic-en.html +816 -0
  193. package/src/skills-lib/huashu-design/demos/c5-infographic.html +813 -0
  194. package/src/skills-lib/huashu-design/demos/c6-expert-review-en.html +885 -0
  195. package/src/skills-lib/huashu-design/demos/c6-expert-review.html +894 -0
  196. package/src/skills-lib/huashu-design/demos/hero-animation-v10-en.html +1498 -0
  197. package/src/skills-lib/huashu-design/demos/md-html-narration/md-html-demo.html +615 -0
  198. package/src/skills-lib/huashu-design/demos/md-html-narration/script.md +69 -0
  199. package/src/skills-lib/huashu-design/demos/voiceover-demo/script.md +17 -0
  200. package/src/skills-lib/huashu-design/demos/voiceover-demo//344/273/200/344/271/210/346/230/257token.html +201 -0
  201. package/src/skills-lib/huashu-design/demos/w1-brand-protocol-en.html +684 -0
  202. package/src/skills-lib/huashu-design/demos/w1-brand-protocol.html +696 -0
  203. package/src/skills-lib/huashu-design/demos/w2-junior-designer-en.html +983 -0
  204. package/src/skills-lib/huashu-design/demos/w2-junior-designer.html +994 -0
  205. package/src/skills-lib/huashu-design/demos/w3-fallback-advisor-en.html +647 -0
  206. package/src/skills-lib/huashu-design/demos/w3-fallback-advisor.html +704 -0
  207. package/src/skills-lib/huashu-design/package-lock.json +846 -0
  208. package/src/skills-lib/huashu-design/package.json +8 -0
  209. package/src/skills-lib/huashu-design/references/animation-best-practices.md +506 -0
  210. package/src/skills-lib/huashu-design/references/animation-pitfalls.md +402 -0
  211. package/src/skills-lib/huashu-design/references/animations.md +249 -0
  212. package/src/skills-lib/huashu-design/references/apple-gallery-showcase.md +338 -0
  213. package/src/skills-lib/huashu-design/references/audio-design-rules.md +260 -0
  214. package/src/skills-lib/huashu-design/references/brand-asset-protocol.md +250 -0
  215. package/src/skills-lib/huashu-design/references/cinematic-patterns.md +264 -0
  216. package/src/skills-lib/huashu-design/references/content-guidelines.md +260 -0
  217. package/src/skills-lib/huashu-design/references/critique-guide.md +199 -0
  218. package/src/skills-lib/huashu-design/references/design-context.md +213 -0
  219. package/src/skills-lib/huashu-design/references/design-styles.md +370 -0
  220. package/src/skills-lib/huashu-design/references/editable-pptx.md +334 -0
  221. package/src/skills-lib/huashu-design/references/hero-animation-case-study.md +250 -0
  222. package/src/skills-lib/huashu-design/references/launch-film-director-notes.md +293 -0
  223. package/src/skills-lib/huashu-design/references/multi-perspective-parallel-case-study.md +267 -0
  224. package/src/skills-lib/huashu-design/references/react-setup.md +276 -0
  225. package/src/skills-lib/huashu-design/references/scene-templates.md +262 -0
  226. package/src/skills-lib/huashu-design/references/sfx-library.md +226 -0
  227. package/src/skills-lib/huashu-design/references/slide-decks.md +745 -0
  228. package/src/skills-lib/huashu-design/references/tweaks-system.md +313 -0
  229. package/src/skills-lib/huashu-design/references/verification.md +183 -0
  230. package/src/skills-lib/huashu-design/references/video-export.md +232 -0
  231. package/src/skills-lib/huashu-design/references/voiceover-pipeline.md +397 -0
  232. package/src/skills-lib/huashu-design/references/workflow.md +216 -0
  233. package/src/skills-lib/huashu-design/scripts/add-music.sh +108 -0
  234. package/src/skills-lib/huashu-design/scripts/convert-formats.sh +83 -0
  235. package/src/skills-lib/huashu-design/scripts/export_deck_pdf.mjs +98 -0
  236. package/src/skills-lib/huashu-design/scripts/export_deck_pptx.mjs +107 -0
  237. package/src/skills-lib/huashu-design/scripts/export_deck_stage_pdf.mjs +130 -0
  238. package/src/skills-lib/huashu-design/scripts/fetch_images.py +94 -0
  239. package/src/skills-lib/huashu-design/scripts/gen_deck_thumbs.mjs +55 -0
  240. package/src/skills-lib/huashu-design/scripts/html2pptx.js +1178 -0
  241. package/src/skills-lib/huashu-design/scripts/mix-voiceover.sh +127 -0
  242. package/src/skills-lib/huashu-design/scripts/narrate-pipeline.mjs +315 -0
  243. package/src/skills-lib/huashu-design/scripts/render-narration.sh +151 -0
  244. package/src/skills-lib/huashu-design/scripts/render-video-seek.js +238 -0
  245. package/src/skills-lib/huashu-design/scripts/render-video.js +289 -0
  246. package/src/skills-lib/huashu-design/scripts/tts-doubao.mjs +184 -0
  247. package/src/skills-lib/huashu-design/scripts/verify.py +154 -0
  248. package/src/skills-lib/huashu-design/test-prompts.json +38 -0
  249. package/src/skills-lib/humanizer/LICENSE +21 -0
  250. package/src/skills-lib/humanizer/README.md +145 -0
  251. package/src/skills-lib/humanizer/SKILL.md +474 -0
  252. package/src/skills-lib/humanizer/WARP.md +53 -0
  253. package/src/skills-lib/impeccable/SKILL.md +186 -0
  254. package/src/skills-lib/implementation-planner/SKILL.md +630 -0
  255. package/src/skills-lib/infrastructure/SKILL.md +34 -0
  256. package/src/skills-lib/inicio-de-projeto/SKILL.md +313 -0
  257. package/src/skills-lib/launch-strategy/SKILL.md +353 -0
  258. package/src/skills-lib/launch-strategy/evals/evals.json +91 -0
  259. package/src/skills-lib/marketing-ideas/SKILL.md +167 -0
  260. package/src/skills-lib/marketing-ideas/evals/evals.json +90 -0
  261. package/src/skills-lib/marketing-ideas/references/ideas-by-category.md +366 -0
  262. package/src/skills-lib/marketing-psychology/SKILL.md +455 -0
  263. package/src/skills-lib/marketing-psychology/evals/evals.json +88 -0
  264. package/src/skills-lib/motion-3d-director/SKILL.md +485 -0
  265. package/src/skills-lib/onboarding-cro/SKILL.md +220 -0
  266. package/src/skills-lib/onboarding-cro/evals/evals.json +92 -0
  267. package/src/skills-lib/onboarding-cro/references/experiments.md +258 -0
  268. package/src/skills-lib/page-cro/SKILL.md +182 -0
  269. package/src/skills-lib/page-cro/evals/evals.json +111 -0
  270. package/src/skills-lib/page-cro/references/experiments.md +248 -0
  271. package/src/skills-lib/paid-ads/SKILL.md +315 -0
  272. package/src/skills-lib/paid-ads/evals/evals.json +90 -0
  273. package/src/skills-lib/paid-ads/references/ad-copy-templates.md +207 -0
  274. package/src/skills-lib/paid-ads/references/audience-targeting.md +243 -0
  275. package/src/skills-lib/paid-ads/references/platform-setup-checklists.md +277 -0
  276. package/src/skills-lib/paywall-upgrade-cro/SKILL.md +227 -0
  277. package/src/skills-lib/paywall-upgrade-cro/evals/evals.json +93 -0
  278. package/src/skills-lib/paywall-upgrade-cro/references/experiments.md +164 -0
  279. package/src/skills-lib/popup-cro/SKILL.md +453 -0
  280. package/src/skills-lib/popup-cro/evals/evals.json +94 -0
  281. package/src/skills-lib/premium-landing-ui-researcher/SKILL.md +2090 -0
  282. package/src/skills-lib/pricing-strategy/SKILL.md +231 -0
  283. package/src/skills-lib/pricing-strategy/evals/evals.json +90 -0
  284. package/src/skills-lib/pricing-strategy/references/research-methods.md +152 -0
  285. package/src/skills-lib/pricing-strategy/references/tier-structure.md +232 -0
  286. package/src/skills-lib/product-marketing-context/SKILL.md +241 -0
  287. package/src/skills-lib/product-marketing-context/evals/evals.json +85 -0
  288. package/src/skills-lib/programmatic-seo/SKILL.md +238 -0
  289. package/src/skills-lib/programmatic-seo/evals/evals.json +94 -0
  290. package/src/skills-lib/programmatic-seo/references/playbooks.md +308 -0
  291. package/src/skills-lib/react-components/README.md +36 -0
  292. package/src/skills-lib/react-components/SKILL.md +51 -0
  293. package/src/skills-lib/react-components/examples/gold-standard-card.tsx +80 -0
  294. package/src/skills-lib/react-components/package-lock.json +231 -0
  295. package/src/skills-lib/react-components/package.json +16 -0
  296. package/src/skills-lib/react-components/resources/architecture-checklist.md +15 -0
  297. package/src/skills-lib/react-components/resources/component-template.tsx +37 -0
  298. package/src/skills-lib/react-components/resources/stitch-api-reference.md +14 -0
  299. package/src/skills-lib/react-components/resources/style-guide.json +27 -0
  300. package/src/skills-lib/react-components/scripts/fetch-stitch.sh +30 -0
  301. package/src/skills-lib/react-components/scripts/validate.js +70 -0
  302. package/src/skills-lib/references/premium-agency-rules.md +79 -0
  303. package/src/skills-lib/referral-program/SKILL.md +255 -0
  304. package/src/skills-lib/referral-program/evals/evals.json +89 -0
  305. package/src/skills-lib/referral-program/references/affiliate-programs.md +164 -0
  306. package/src/skills-lib/referral-program/references/program-examples.md +143 -0
  307. package/src/skills-lib/remotion-best-practices/SKILL.md +61 -0
  308. package/src/skills-lib/remotion-best-practices/rules/3d.md +86 -0
  309. package/src/skills-lib/remotion-best-practices/rules/animations.md +27 -0
  310. package/src/skills-lib/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
  311. package/src/skills-lib/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
  312. package/src/skills-lib/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +103 -0
  313. package/src/skills-lib/remotion-best-practices/rules/assets.md +78 -0
  314. package/src/skills-lib/remotion-best-practices/rules/audio-visualization.md +198 -0
  315. package/src/skills-lib/remotion-best-practices/rules/audio.md +169 -0
  316. package/src/skills-lib/remotion-best-practices/rules/calculate-metadata.md +134 -0
  317. package/src/skills-lib/remotion-best-practices/rules/can-decode.md +75 -0
  318. package/src/skills-lib/remotion-best-practices/rules/charts.md +120 -0
  319. package/src/skills-lib/remotion-best-practices/rules/compositions.md +154 -0
  320. package/src/skills-lib/remotion-best-practices/rules/display-captions.md +184 -0
  321. package/src/skills-lib/remotion-best-practices/rules/extract-frames.md +229 -0
  322. package/src/skills-lib/remotion-best-practices/rules/ffmpeg.md +38 -0
  323. package/src/skills-lib/remotion-best-practices/rules/fonts.md +152 -0
  324. package/src/skills-lib/remotion-best-practices/rules/get-audio-duration.md +58 -0
  325. package/src/skills-lib/remotion-best-practices/rules/get-video-dimensions.md +68 -0
  326. package/src/skills-lib/remotion-best-practices/rules/get-video-duration.md +60 -0
  327. package/src/skills-lib/remotion-best-practices/rules/gifs.md +141 -0
  328. package/src/skills-lib/remotion-best-practices/rules/images.md +134 -0
  329. package/src/skills-lib/remotion-best-practices/rules/import-srt-captions.md +69 -0
  330. package/src/skills-lib/remotion-best-practices/rules/light-leaks.md +73 -0
  331. package/src/skills-lib/remotion-best-practices/rules/lottie.md +70 -0
  332. package/src/skills-lib/remotion-best-practices/rules/maps.md +412 -0
  333. package/src/skills-lib/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
  334. package/src/skills-lib/remotion-best-practices/rules/measuring-text.md +140 -0
  335. package/src/skills-lib/remotion-best-practices/rules/parameters.md +109 -0
  336. package/src/skills-lib/remotion-best-practices/rules/sequencing.md +118 -0
  337. package/src/skills-lib/remotion-best-practices/rules/sfx.md +26 -0
  338. package/src/skills-lib/remotion-best-practices/rules/subtitles.md +36 -0
  339. package/src/skills-lib/remotion-best-practices/rules/tailwind.md +11 -0
  340. package/src/skills-lib/remotion-best-practices/rules/text-animations.md +20 -0
  341. package/src/skills-lib/remotion-best-practices/rules/timing.md +179 -0
  342. package/src/skills-lib/remotion-best-practices/rules/transcribe-captions.md +70 -0
  343. package/src/skills-lib/remotion-best-practices/rules/transitions.md +197 -0
  344. package/src/skills-lib/remotion-best-practices/rules/transparent-videos.md +106 -0
  345. package/src/skills-lib/remotion-best-practices/rules/trimming.md +51 -0
  346. package/src/skills-lib/remotion-best-practices/rules/videos.md +171 -0
  347. package/src/skills-lib/remotion-best-practices/rules/voiceover.md +99 -0
  348. package/src/skills-lib/revops/SKILL.md +343 -0
  349. package/src/skills-lib/revops/evals/evals.json +91 -0
  350. package/src/skills-lib/revops/references/automation-playbooks.md +290 -0
  351. package/src/skills-lib/revops/references/lifecycle-definitions.md +278 -0
  352. package/src/skills-lib/revops/references/routing-rules.md +203 -0
  353. package/src/skills-lib/revops/references/scoring-models.md +247 -0
  354. package/src/skills-lib/sales-enablement/SKILL.md +349 -0
  355. package/src/skills-lib/sales-enablement/evals/evals.json +91 -0
  356. package/src/skills-lib/sales-enablement/references/deck-frameworks.md +263 -0
  357. package/src/skills-lib/sales-enablement/references/demo-scripts.md +355 -0
  358. package/src/skills-lib/sales-enablement/references/objection-library.md +270 -0
  359. package/src/skills-lib/sales-enablement/references/one-pager-templates.md +208 -0
  360. package/src/skills-lib/schema-markup/SKILL.md +179 -0
  361. package/src/skills-lib/schema-markup/evals/evals.json +87 -0
  362. package/src/skills-lib/schema-markup/references/schema-examples.md +398 -0
  363. package/src/skills-lib/seo-audit/SKILL.md +412 -0
  364. package/src/skills-lib/seo-audit/evals/evals.json +136 -0
  365. package/src/skills-lib/seo-audit/references/ai-writing-detection.md +200 -0
  366. package/src/skills-lib/signup-flow-cro/SKILL.md +359 -0
  367. package/src/skills-lib/signup-flow-cro/evals/evals.json +88 -0
  368. package/src/skills-lib/site-architecture/SKILL.md +357 -0
  369. package/src/skills-lib/site-architecture/evals/evals.json +88 -0
  370. package/src/skills-lib/site-architecture/references/mermaid-templates.md +216 -0
  371. package/src/skills-lib/site-architecture/references/navigation-patterns.md +305 -0
  372. package/src/skills-lib/site-architecture/references/site-type-templates.md +293 -0
  373. package/src/skills-lib/social-content/SKILL.md +278 -0
  374. package/src/skills-lib/social-content/evals/evals.json +92 -0
  375. package/src/skills-lib/social-content/references/platforms.md +170 -0
  376. package/src/skills-lib/social-content/references/post-templates.md +177 -0
  377. package/src/skills-lib/social-content/references/reverse-engineering.md +195 -0
  378. package/src/skills-lib/supabase-postgres-best-practices/AGENTS.md +68 -0
  379. package/src/skills-lib/supabase-postgres-best-practices/CLAUDE.md +68 -0
  380. package/src/skills-lib/supabase-postgres-best-practices/README.md +116 -0
  381. package/src/skills-lib/supabase-postgres-best-practices/SKILL.md +64 -0
  382. package/src/skills-lib/supabase-postgres-best-practices/references/_contributing.md +171 -0
  383. package/src/skills-lib/supabase-postgres-best-practices/references/_sections.md +39 -0
  384. package/src/skills-lib/supabase-postgres-best-practices/references/_template.md +34 -0
  385. package/src/skills-lib/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
  386. package/src/skills-lib/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
  387. package/src/skills-lib/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
  388. package/src/skills-lib/supabase-postgres-best-practices/references/conn-limits.md +44 -0
  389. package/src/skills-lib/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
  390. package/src/skills-lib/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
  391. package/src/skills-lib/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
  392. package/src/skills-lib/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
  393. package/src/skills-lib/supabase-postgres-best-practices/references/data-pagination.md +50 -0
  394. package/src/skills-lib/supabase-postgres-best-practices/references/data-upsert.md +50 -0
  395. package/src/skills-lib/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
  396. package/src/skills-lib/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
  397. package/src/skills-lib/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
  398. package/src/skills-lib/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
  399. package/src/skills-lib/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
  400. package/src/skills-lib/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
  401. package/src/skills-lib/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
  402. package/src/skills-lib/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
  403. package/src/skills-lib/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
  404. package/src/skills-lib/supabase-postgres-best-practices/references/query-index-types.md +48 -0
  405. package/src/skills-lib/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
  406. package/src/skills-lib/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
  407. package/src/skills-lib/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
  408. package/src/skills-lib/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
  409. package/src/skills-lib/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
  410. package/src/skills-lib/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
  411. package/src/skills-lib/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
  412. package/src/skills-lib/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
  413. package/src/skills-lib/supabase-postgres-best-practices/references/security-privileges.md +54 -0
  414. package/src/skills-lib/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
  415. package/src/skills-lib/supabase-postgres-best-practices/references/security-rls-performance.md +57 -0
  416. package/src/skills-lib/taste-redesign/SKILL.md +178 -0
  417. package/src/skills-lib/taste-skill/SKILL.md +1206 -0
  418. package/src/skills-lib/ui-component-curator/SKILL.md +102 -0
  419. package/src/skills-lib/ui-ux-pro-max/SKILL.md +377 -0
  420. package/src/skills-lib/ui-ux-pro-max/data/charts.csv +26 -0
  421. package/src/skills-lib/ui-ux-pro-max/data/colors.csv +97 -0
  422. package/src/skills-lib/ui-ux-pro-max/data/icons.csv +101 -0
  423. package/src/skills-lib/ui-ux-pro-max/data/landing.csv +31 -0
  424. package/src/skills-lib/ui-ux-pro-max/data/products.csv +97 -0
  425. package/src/skills-lib/ui-ux-pro-max/data/react-performance.csv +45 -0
  426. package/src/skills-lib/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  427. package/src/skills-lib/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  428. package/src/skills-lib/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  429. package/src/skills-lib/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  430. package/src/skills-lib/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  431. package/src/skills-lib/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  432. package/src/skills-lib/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  433. package/src/skills-lib/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  434. package/src/skills-lib/ui-ux-pro-max/data/stacks/react.csv +54 -0
  435. package/src/skills-lib/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  436. package/src/skills-lib/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  437. package/src/skills-lib/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  438. package/src/skills-lib/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  439. package/src/skills-lib/ui-ux-pro-max/data/styles.csv +68 -0
  440. package/src/skills-lib/ui-ux-pro-max/data/typography.csv +58 -0
  441. package/src/skills-lib/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  442. package/src/skills-lib/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  443. package/src/skills-lib/ui-ux-pro-max/data/web-interface.csv +31 -0
  444. package/src/skills-lib/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
  445. package/src/skills-lib/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
  446. package/src/skills-lib/ui-ux-pro-max/scripts/__pycache__/search.cpython-314.pyc +0 -0
  447. package/src/skills-lib/ui-ux-pro-max/scripts/core.py +253 -0
  448. package/src/skills-lib/ui-ux-pro-max/scripts/design_system.py +1067 -0
  449. package/src/skills-lib/ui-ux-pro-max/scripts/graphify-out/cache/0964cef300f753b5cee0cc49777ca97035c85d45c212099405d9ee4da36e523f.json +1 -0
  450. package/src/skills-lib/ui-ux-pro-max/scripts/graphify-out/cache/21a40f6810c3a6f17acc3580f106171daf78c7b41bbd066bc80448a821ea0adf.json +1 -0
  451. package/src/skills-lib/ui-ux-pro-max/scripts/graphify-out/cache/69ea15a020ac81b8459e37ef63654398a50c1035fc01c43d8069df217389f7f3.json +1 -0
  452. package/src/skills-lib/ui-ux-pro-max/scripts/search.py +114 -0
  453. package/src/skills-lib/web-security/SKILL.md +147 -0
  454. package/src/skills-lib/wizz-router/SKILL.md +257 -0
  455. package/src/squads/README.md +39 -0
  456. package/src/squads/advisory-board/README.md +34 -0
  457. package/src/squads/advisory-board/agents/board-chair.md +161 -0
  458. package/src/squads/advisory-board/agents/brene-brown.md +296 -0
  459. package/src/squads/advisory-board/agents/charlie-munger.md +590 -0
  460. package/src/squads/advisory-board/agents/derek-sivers.md +268 -0
  461. package/src/squads/advisory-board/agents/naval-ravikant.md +251 -0
  462. package/src/squads/advisory-board/agents/patrick-lencioni.md +394 -0
  463. package/src/squads/advisory-board/agents/peter-thiel.md +269 -0
  464. package/src/squads/advisory-board/agents/ray-dalio.md +587 -0
  465. package/src/squads/advisory-board/agents/reid-hoffman.md +278 -0
  466. package/src/squads/advisory-board/agents/simon-sinek.md +291 -0
  467. package/src/squads/advisory-board/agents/yvon-chouinard.md +275 -0
  468. package/src/squads/advisory-board/squad.yaml +50 -0
  469. package/src/squads/brand-squad/README.md +60 -0
  470. package/src/squads/brand-squad/agents/al-ries.md +175 -0
  471. package/src/squads/brand-squad/agents/alina-wheeler.md +184 -0
  472. package/src/squads/brand-squad/agents/archetype-consultant.md +215 -0
  473. package/src/squads/brand-squad/agents/brand-chief.md +158 -0
  474. package/src/squads/brand-squad/agents/byron-sharp.md +169 -0
  475. package/src/squads/brand-squad/agents/david-aaker.md +166 -0
  476. package/src/squads/brand-squad/agents/denise-yohn.md +172 -0
  477. package/src/squads/brand-squad/agents/domain-scout.md +135 -0
  478. package/src/squads/brand-squad/agents/donald-miller.md +179 -0
  479. package/src/squads/brand-squad/agents/emily-heyward.md +147 -0
  480. package/src/squads/brand-squad/agents/jean-noel-kapferer.md +189 -0
  481. package/src/squads/brand-squad/agents/kevin-keller.md +199 -0
  482. package/src/squads/brand-squad/agents/marty-neumeier.md +170 -0
  483. package/src/squads/brand-squad/agents/miller-sticky-brand.md +180 -0
  484. package/src/squads/brand-squad/agents/naming-strategist.md +171 -0
  485. package/src/squads/brand-squad/squad.yaml +117 -0
  486. package/src/squads/c-level-squad/README.md +29 -0
  487. package/src/squads/c-level-squad/agents/caio-architect.md +235 -0
  488. package/src/squads/c-level-squad/agents/cio-engineer.md +209 -0
  489. package/src/squads/c-level-squad/agents/cmo-architect.md +208 -0
  490. package/src/squads/c-level-squad/agents/coo-orchestrator.md +193 -0
  491. package/src/squads/c-level-squad/agents/cto-architect.md +194 -0
  492. package/src/squads/c-level-squad/agents/vision-chief.md +201 -0
  493. package/src/squads/c-level-squad/squad.yaml +45 -0
  494. package/src/squads/claude-code-mastery/README.md +146 -0
  495. package/src/squads/claude-code-mastery/agents/claude-mastery-chief.md +554 -0
  496. package/src/squads/claude-code-mastery/agents/config-engineer.md +865 -0
  497. package/src/squads/claude-code-mastery/agents/hooks-architect.md +1013 -0
  498. package/src/squads/claude-code-mastery/agents/mcp-integrator.md +791 -0
  499. package/src/squads/claude-code-mastery/agents/project-integrator.md +1196 -0
  500. package/src/squads/claude-code-mastery/agents/roadmap-sentinel.md +931 -0
  501. package/src/squads/claude-code-mastery/agents/skill-craftsman.md +1250 -0
  502. package/src/squads/claude-code-mastery/agents/swarm-orchestrator.md +1008 -0
  503. package/src/squads/copy-squad/README.md +65 -0
  504. package/src/squads/copy-squad/agents/andre-chaperon.md +206 -0
  505. package/src/squads/copy-squad/agents/ben-settle.md +194 -0
  506. package/src/squads/copy-squad/agents/claude-hopkins.md +182 -0
  507. package/src/squads/copy-squad/agents/clayton-makepeace.md +225 -0
  508. package/src/squads/copy-squad/agents/copy-chief.md +166 -0
  509. package/src/squads/copy-squad/agents/dan-kennedy.md +202 -0
  510. package/src/squads/copy-squad/agents/dan-koe.md +223 -0
  511. package/src/squads/copy-squad/agents/david-deutsch.md +197 -0
  512. package/src/squads/copy-squad/agents/david-ogilvy.md +198 -0
  513. package/src/squads/copy-squad/agents/eugene-schwartz.md +238 -0
  514. package/src/squads/copy-squad/agents/frank-kern.md +195 -0
  515. package/src/squads/copy-squad/agents/gary-bencivenga.md +197 -0
  516. package/src/squads/copy-squad/agents/gary-halbert.md +219 -0
  517. package/src/squads/copy-squad/agents/jim-rutz.md +193 -0
  518. package/src/squads/copy-squad/agents/joe-sugarman.md +234 -0
  519. package/src/squads/copy-squad/agents/john-carlton.md +203 -0
  520. package/src/squads/copy-squad/agents/jon-benson.md +196 -0
  521. package/src/squads/copy-squad/agents/parris-lampropoulos.md +188 -0
  522. package/src/squads/copy-squad/agents/robert-collier.md +183 -0
  523. package/src/squads/copy-squad/agents/russell-brunson.md +229 -0
  524. package/src/squads/copy-squad/agents/ry-schwartz.md +185 -0
  525. package/src/squads/copy-squad/agents/stefan-georgi.md +188 -0
  526. package/src/squads/copy-squad/agents/todd-brown.md +171 -0
  527. package/src/squads/copy-squad/squad.yaml +87 -0
  528. package/src/squads/cybersecurity/README.md +38 -0
  529. package/src/squads/cybersecurity/agents/busterer.md +108 -0
  530. package/src/squads/cybersecurity/agents/cartographer.md +114 -0
  531. package/src/squads/cybersecurity/agents/chris-sanders.md +205 -0
  532. package/src/squads/cybersecurity/agents/command-generator.md +121 -0
  533. package/src/squads/cybersecurity/agents/cyber-chief.md +120 -0
  534. package/src/squads/cybersecurity/agents/dirber.md +111 -0
  535. package/src/squads/cybersecurity/agents/fuzzer.md +121 -0
  536. package/src/squads/cybersecurity/agents/georgia-weidman.md +178 -0
  537. package/src/squads/cybersecurity/agents/jim-manico.md +182 -0
  538. package/src/squads/cybersecurity/agents/marcus-carey.md +200 -0
  539. package/src/squads/cybersecurity/agents/omar-santos.md +206 -0
  540. package/src/squads/cybersecurity/agents/peter-kim.md +179 -0
  541. package/src/squads/cybersecurity/agents/ripper.md +121 -0
  542. package/src/squads/cybersecurity/agents/rogue.md +116 -0
  543. package/src/squads/cybersecurity/agents/shannon-runner.md +108 -0
  544. package/src/squads/cybersecurity/squad.yaml +56 -0
  545. package/src/squads/data-squad/README.md +30 -0
  546. package/src/squads/data-squad/agents/avinash-kaushik.md +268 -0
  547. package/src/squads/data-squad/agents/data-chief.md +167 -0
  548. package/src/squads/data-squad/agents/david-spinks.md +277 -0
  549. package/src/squads/data-squad/agents/nick-mehta.md +294 -0
  550. package/src/squads/data-squad/agents/peter-fader.md +246 -0
  551. package/src/squads/data-squad/agents/sean-ellis.md +303 -0
  552. package/src/squads/data-squad/agents/wes-kao.md +268 -0
  553. package/src/squads/data-squad/squad.yaml +46 -0
  554. package/src/squads/design-squad/README.md +31 -0
  555. package/src/squads/design-squad/agents/brad-frost.md +185 -0
  556. package/src/squads/design-squad/agents/dan-mall.md +178 -0
  557. package/src/squads/design-squad/agents/dave-malouf.md +198 -0
  558. package/src/squads/design-squad/agents/design-chief.md +109 -0
  559. package/src/squads/design-squad/agents/design-system-architect.md +109 -0
  560. package/src/squads/design-squad/agents/ui-engineer.md +102 -0
  561. package/src/squads/design-squad/agents/ux-designer.md +105 -0
  562. package/src/squads/design-squad/agents/visual-generator.md +108 -0
  563. package/src/squads/design-squad/squad.yaml +48 -0
  564. package/src/squads/hormozi-squad/README.md +39 -0
  565. package/src/squads/hormozi-squad/agents/hormozi-ads.md +159 -0
  566. package/src/squads/hormozi-squad/agents/hormozi-advisor.md +178 -0
  567. package/src/squads/hormozi-squad/agents/hormozi-audit.md +178 -0
  568. package/src/squads/hormozi-squad/agents/hormozi-chief.md +111 -0
  569. package/src/squads/hormozi-squad/agents/hormozi-closer.md +179 -0
  570. package/src/squads/hormozi-squad/agents/hormozi-content.md +166 -0
  571. package/src/squads/hormozi-squad/agents/hormozi-copy.md +152 -0
  572. package/src/squads/hormozi-squad/agents/hormozi-hooks.md +177 -0
  573. package/src/squads/hormozi-squad/agents/hormozi-launch.md +160 -0
  574. package/src/squads/hormozi-squad/agents/hormozi-leads.md +198 -0
  575. package/src/squads/hormozi-squad/agents/hormozi-models.md +191 -0
  576. package/src/squads/hormozi-squad/agents/hormozi-offers.md +197 -0
  577. package/src/squads/hormozi-squad/agents/hormozi-pricing.md +151 -0
  578. package/src/squads/hormozi-squad/agents/hormozi-retention.md +166 -0
  579. package/src/squads/hormozi-squad/agents/hormozi-scale.md +175 -0
  580. package/src/squads/hormozi-squad/agents/hormozi-workshop.md +160 -0
  581. package/src/squads/hormozi-squad/squad.yaml +60 -0
  582. package/src/squads/movement/README.md +29 -0
  583. package/src/squads/movement/agents/analista-de-impacto.md +350 -0
  584. package/src/squads/movement/agents/estrategista-de-ciclo.md +301 -0
  585. package/src/squads/movement/agents/fenomenologo.md +169 -0
  586. package/src/squads/movement/agents/identitario.md +265 -0
  587. package/src/squads/movement/agents/manifestador.md +279 -0
  588. package/src/squads/movement/agents/movement-architect.md +210 -0
  589. package/src/squads/movement/agents/movement-chief.md +135 -0
  590. package/src/squads/movement/squad.yaml +45 -0
  591. package/src/squads/storytelling/README.md +35 -0
  592. package/src/squads/storytelling/agents/blake-snyder.md +225 -0
  593. package/src/squads/storytelling/agents/dan-harmon.md +167 -0
  594. package/src/squads/storytelling/agents/joseph-campbell.md +184 -0
  595. package/src/squads/storytelling/agents/keith-johnstone.md +157 -0
  596. package/src/squads/storytelling/agents/kindra-hall.md +162 -0
  597. package/src/squads/storytelling/agents/marshall-ganz.md +167 -0
  598. package/src/squads/storytelling/agents/matthew-dicks.md +152 -0
  599. package/src/squads/storytelling/agents/nancy-duarte.md +154 -0
  600. package/src/squads/storytelling/agents/oren-klaff.md +166 -0
  601. package/src/squads/storytelling/agents/park-howell.md +152 -0
  602. package/src/squads/storytelling/agents/shawn-coyne.md +208 -0
  603. package/src/squads/storytelling/agents/story-chief.md +155 -0
  604. package/src/squads/storytelling/squad.yaml +52 -0
  605. package/src/squads/traffic-masters/README.md +39 -0
  606. package/src/squads/traffic-masters/agents/ad-midas.md +149 -0
  607. package/src/squads/traffic-masters/agents/ads-analyst.md +135 -0
  608. package/src/squads/traffic-masters/agents/creative-analyst.md +142 -0
  609. package/src/squads/traffic-masters/agents/depesh-mandalia.md +174 -0
  610. package/src/squads/traffic-masters/agents/fiscal.md +144 -0
  611. package/src/squads/traffic-masters/agents/kasim-aslam.md +158 -0
  612. package/src/squads/traffic-masters/agents/media-buyer.md +159 -0
  613. package/src/squads/traffic-masters/agents/molly-pittman.md +185 -0
  614. package/src/squads/traffic-masters/agents/nicholas-kusmich.md +157 -0
  615. package/src/squads/traffic-masters/agents/pedro-sobral.md +158 -0
  616. package/src/squads/traffic-masters/agents/performance-analyst.md +135 -0
  617. package/src/squads/traffic-masters/agents/pixel-specialist.md +144 -0
  618. package/src/squads/traffic-masters/agents/ralph-burns.md +163 -0
  619. package/src/squads/traffic-masters/agents/scale-optimizer.md +144 -0
  620. package/src/squads/traffic-masters/agents/tom-breeze.md +175 -0
  621. package/src/squads/traffic-masters/agents/traffic-chief.md +97 -0
  622. package/src/squads/traffic-masters/squad.yaml +59 -0
  623. package/tools/installer/commands/install.js +12 -0
  624. package/tools/installer/core/config.js +20 -0
  625. package/tools/installer/core/installer.js +100 -0
  626. package/tools/installer/core/manifest-generator.js +14 -3
  627. package/tools/installer/modules/cli-config.js +145 -0
  628. package/tools/installer/modules/mcp-config.js +137 -0
  629. package/tools/installer/modules/skills-lib.js +135 -0
  630. package/tools/installer/ui.js +210 -0
@@ -0,0 +1,885 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>c6 · Five Axes · One Punch List</title>
6
+ <link rel="preconnect" href="https://fonts.googleapis.com">
7
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
8
+ <link href="https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,300..700;1,8..60,300..700&family=Noto+Serif+SC:wght@200;300;400;500;600&family=Inter:wght@100;200;300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
9
+ <style>
10
+ :root {
11
+ --bg: #000000;
12
+ --ink: #FFFFFF;
13
+ --ink-80: rgba(255,255,255,0.82);
14
+ --ink-60: rgba(255,255,255,0.58);
15
+ --muted: rgba(255,255,255,0.40);
16
+ --dim: rgba(255,255,255,0.18);
17
+ --hairline: rgba(255,255,255,0.12);
18
+ --accent: #D97757;
19
+ --accent-deep: #B85D3D;
20
+ --cd-bg: #F5F4F0;
21
+ --cd-panel: #FFFFFF;
22
+ --cd-ink: #1A1918;
23
+
24
+ --serif-zh: "Noto Serif SC", "Songti SC", serif;
25
+ --serif-en: "Source Serif 4", "Tiempos Headline", Georgia, serif;
26
+ --sans: "Inter", -apple-system, "PingFang SC", "HarmonyOS Sans SC", system-ui, sans-serif;
27
+ --mono: "JetBrains Mono", "SF Mono", ui-monospace, monospace;
28
+ }
29
+ html, body {
30
+ margin: 0; padding: 0;
31
+ background: #000;
32
+ overflow: hidden;
33
+ font-family: var(--sans);
34
+ color: var(--ink);
35
+ -webkit-font-smoothing: antialiased;
36
+ }
37
+ * { box-sizing: border-box; }
38
+
39
+ .stage {
40
+ position: fixed;
41
+ top: 50%; left: 50%;
42
+ width: 1920px; height: 1080px;
43
+ transform-origin: center center;
44
+ background: var(--bg);
45
+ overflow: hidden;
46
+ }
47
+
48
+ /* Film grain */
49
+ .stage::before {
50
+ content: '';
51
+ position: absolute;
52
+ inset: 0;
53
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");
54
+ opacity: 0.02;
55
+ pointer-events: none;
56
+ z-index: 100;
57
+ }
58
+
59
+ /* Chrome */
60
+ .mark {
61
+ position: absolute;
62
+ top: 48px; left: 64px;
63
+ font-family: var(--mono);
64
+ font-size: 13px;
65
+ letter-spacing: 0.2em;
66
+ color: rgba(255,255,255,1);
67
+ opacity: 0.16;
68
+ pointer-events: none;
69
+ z-index: 50;
70
+ }
71
+ .mark-right {
72
+ position: absolute;
73
+ top: 48px; right: 64px;
74
+ font-family: var(--mono);
75
+ font-size: 13px;
76
+ letter-spacing: 0.2em;
77
+ color: rgba(255,255,255,1);
78
+ opacity: 0.16;
79
+ pointer-events: none;
80
+ z-index: 50;
81
+ }
82
+
83
+ /* Title */
84
+ .title-line {
85
+ position: absolute;
86
+ top: 108px;
87
+ left: 50%;
88
+ transform: translateX(-50%);
89
+ font-family: var(--mono);
90
+ font-size: 13px;
91
+ letter-spacing: 0.28em;
92
+ color: var(--muted);
93
+ text-transform: uppercase;
94
+ opacity: 0;
95
+ will-change: opacity, transform;
96
+ }
97
+
98
+ /* Main composition: camera wrapper for push-in at Beat 3 */
99
+ .camera {
100
+ position: absolute;
101
+ inset: 0;
102
+ transform-origin: 1000px 940px; /* center of Fix first-row */
103
+ will-change: transform;
104
+ }
105
+
106
+ /* ============ LEFT: under-review artwork ============ */
107
+ .subject {
108
+ position: absolute;
109
+ left: 150px;
110
+ top: 310px;
111
+ width: 640px;
112
+ height: 460px;
113
+ background: #0B0B0B;
114
+ border: 1px solid var(--hairline);
115
+ border-radius: 8px;
116
+ overflow: hidden;
117
+ opacity: 0;
118
+ will-change: opacity, transform, filter;
119
+ transform: translateY(12px);
120
+ }
121
+ .subject::after {
122
+ /* subtle inner vignette */
123
+ content: '';
124
+ position: absolute;
125
+ inset: 0;
126
+ box-shadow: inset 0 0 120px rgba(0,0,0,0.6);
127
+ pointer-events: none;
128
+ }
129
+ .subject-label {
130
+ position: absolute;
131
+ left: 20px;
132
+ top: 18px;
133
+ font-family: var(--mono);
134
+ font-size: 10px;
135
+ letter-spacing: 0.25em;
136
+ color: var(--muted);
137
+ z-index: 3;
138
+ }
139
+ .subject-dot {
140
+ position: absolute;
141
+ right: 20px;
142
+ top: 18px;
143
+ width: 6px;
144
+ height: 6px;
145
+ background: var(--accent);
146
+ border-radius: 50%;
147
+ z-index: 3;
148
+ box-shadow: 0 0 10px rgba(217,119,87,0.6);
149
+ }
150
+ /* Subject wireframe: abstract design mockup */
151
+ .subject-canvas {
152
+ position: absolute;
153
+ inset: 50px 36px 36px;
154
+ }
155
+ .wf-h1 {
156
+ width: 62%;
157
+ height: 18px;
158
+ background: rgba(255,255,255,0.28);
159
+ border-radius: 2px;
160
+ margin-bottom: 10px;
161
+ }
162
+ .wf-h2 {
163
+ width: 38%;
164
+ height: 10px;
165
+ background: rgba(255,255,255,0.14);
166
+ border-radius: 2px;
167
+ margin-bottom: 28px;
168
+ }
169
+ .wf-row {
170
+ display: flex;
171
+ gap: 12px;
172
+ margin-bottom: 12px;
173
+ }
174
+ .wf-row .bar {
175
+ height: 8px;
176
+ background: rgba(255,255,255,0.10);
177
+ border-radius: 2px;
178
+ }
179
+ .wf-grid {
180
+ display: grid;
181
+ grid-template-columns: 1fr 1fr 1fr;
182
+ gap: 14px;
183
+ margin-top: 28px;
184
+ }
185
+ .wf-card {
186
+ height: 82px;
187
+ background: rgba(255,255,255,0.04);
188
+ border: 1px solid rgba(255,255,255,0.06);
189
+ border-radius: 6px;
190
+ position: relative;
191
+ }
192
+ .wf-card::before {
193
+ content: '';
194
+ position: absolute;
195
+ left: 12px; top: 14px;
196
+ width: 40%;
197
+ height: 6px;
198
+ background: rgba(255,255,255,0.22);
199
+ border-radius: 2px;
200
+ }
201
+ .wf-card::after {
202
+ content: '';
203
+ position: absolute;
204
+ left: 12px; bottom: 16px;
205
+ width: 64%;
206
+ height: 4px;
207
+ background: rgba(255,255,255,0.10);
208
+ border-radius: 2px;
209
+ }
210
+ .wf-card.accent { border-color: rgba(217,119,87,0.55); background: rgba(217,119,87,0.06); }
211
+ .wf-card.accent::before { background: var(--accent); }
212
+ .wf-foot {
213
+ position: absolute;
214
+ left: 0; right: 0;
215
+ bottom: 0;
216
+ height: 44px;
217
+ display: flex;
218
+ align-items: center;
219
+ gap: 10px;
220
+ padding: 0 4px;
221
+ }
222
+ .wf-chip {
223
+ height: 22px;
224
+ padding: 0 10px;
225
+ background: rgba(255,255,255,0.05);
226
+ border: 1px solid rgba(255,255,255,0.08);
227
+ border-radius: 11px;
228
+ flex: 0 0 auto;
229
+ width: 68px;
230
+ }
231
+ .wf-chip.wide { width: 120px; }
232
+
233
+ /* ============ Light sweep ============ */
234
+ .sweep {
235
+ position: absolute;
236
+ left: 130px;
237
+ top: 250px;
238
+ width: 680px;
239
+ height: 140px;
240
+ background: linear-gradient(180deg,
241
+ rgba(217,119,87,0) 0%,
242
+ rgba(217,119,87,0.12) 20%,
243
+ rgba(255,220,200,0.62) 50%,
244
+ rgba(217,119,87,0.18) 80%,
245
+ rgba(217,119,87,0) 100%);
246
+ filter: blur(14px);
247
+ opacity: 0;
248
+ pointer-events: none;
249
+ z-index: 4;
250
+ mix-blend-mode: screen;
251
+ will-change: opacity, transform;
252
+ }
253
+ .sweep-line {
254
+ position: absolute;
255
+ left: 150px;
256
+ top: 310px;
257
+ width: 640px;
258
+ height: 1px;
259
+ background: linear-gradient(90deg,
260
+ transparent 0%,
261
+ rgba(255,220,200,0.2) 10%,
262
+ rgba(255,220,200,0.9) 50%,
263
+ rgba(255,220,200,0.2) 90%,
264
+ transparent 100%);
265
+ filter: blur(0.6px);
266
+ box-shadow: 0 0 14px rgba(217,119,87,0.8), 0 0 30px rgba(217,119,87,0.3);
267
+ opacity: 0;
268
+ pointer-events: none;
269
+ z-index: 6;
270
+ will-change: opacity, transform;
271
+ }
272
+
273
+ /* ============ RIGHT: radar chart ============ */
274
+ .radar-wrap {
275
+ position: absolute;
276
+ right: 280px;
277
+ top: 200px;
278
+ width: 520px;
279
+ height: 520px;
280
+ opacity: 0;
281
+ will-change: opacity, transform;
282
+ }
283
+ .radar-wrap svg {
284
+ width: 100%;
285
+ height: 100%;
286
+ overflow: visible;
287
+ }
288
+ .radar-grid path {
289
+ fill: none;
290
+ stroke: rgba(255,255,255,0.10);
291
+ stroke-width: 1;
292
+ }
293
+ .radar-spoke {
294
+ stroke: rgba(255,255,255,0.08);
295
+ stroke-width: 1;
296
+ }
297
+ .radar-poly {
298
+ fill: rgba(217,119,87,0.16);
299
+ stroke: var(--accent);
300
+ stroke-width: 2;
301
+ stroke-linejoin: round;
302
+ }
303
+ .radar-point {
304
+ fill: var(--accent);
305
+ stroke: #1A1918;
306
+ stroke-width: 2;
307
+ }
308
+ .radar-label {
309
+ font-family: var(--mono);
310
+ font-size: 12px;
311
+ letter-spacing: 0.2em;
312
+ fill: var(--muted);
313
+ text-transform: uppercase;
314
+ opacity: 0;
315
+ }
316
+ .radar-label-zh {
317
+ font-family: var(--serif-en);
318
+ font-size: 22px;
319
+ font-weight: 400;
320
+ font-style: italic;
321
+ fill: var(--ink);
322
+ letter-spacing: 0.01em;
323
+ }
324
+ .radar-score {
325
+ font-family: var(--mono);
326
+ font-size: 13px;
327
+ fill: var(--accent);
328
+ letter-spacing: 0.08em;
329
+ }
330
+
331
+ .radar-title {
332
+ position: absolute;
333
+ right: 280px;
334
+ top: 160px;
335
+ width: 520px;
336
+ text-align: center;
337
+ font-family: var(--mono);
338
+ font-size: 11px;
339
+ letter-spacing: 0.28em;
340
+ color: var(--muted);
341
+ text-transform: uppercase;
342
+ opacity: 0;
343
+ will-change: opacity;
344
+ }
345
+ .radar-score-total {
346
+ position: absolute;
347
+ left: 150px;
348
+ top: 170px;
349
+ width: 640px;
350
+ text-align: left;
351
+ opacity: 0;
352
+ will-change: opacity;
353
+ }
354
+ .radar-score-total .score-row {
355
+ display: flex;
356
+ align-items: baseline;
357
+ gap: 24px;
358
+ }
359
+ .radar-score-total .score-label {
360
+ font-family: var(--mono);
361
+ font-size: 11px;
362
+ letter-spacing: 0.28em;
363
+ color: var(--muted);
364
+ text-transform: uppercase;
365
+ }
366
+ .radar-score-total .score-num {
367
+ font-family: var(--serif-en);
368
+ font-size: 72px;
369
+ font-weight: 300;
370
+ color: var(--ink);
371
+ letter-spacing: -0.02em;
372
+ line-height: 1;
373
+ }
374
+ .radar-score-total .score-num .accent { color: var(--accent); }
375
+ .radar-score-total .score-total {
376
+ font-family: var(--mono);
377
+ font-size: 11px;
378
+ letter-spacing: 0.28em;
379
+ color: var(--muted);
380
+ margin-top: 8px;
381
+ text-transform: uppercase;
382
+ }
383
+
384
+ /* ============ Single Fix row (Concept Card lean) ============ */
385
+ .fix-lane {
386
+ position: absolute;
387
+ left: 150px;
388
+ bottom: 120px;
389
+ width: 1620px;
390
+ opacity: 0;
391
+ will-change: opacity, transform;
392
+ }
393
+ .fix-head {
394
+ display: flex;
395
+ align-items: baseline;
396
+ gap: 14px;
397
+ margin-bottom: 20px;
398
+ padding-bottom: 12px;
399
+ border-bottom: 1px solid var(--hairline);
400
+ }
401
+ .fix-mark {
402
+ font-family: var(--mono);
403
+ font-size: 13px;
404
+ letter-spacing: 0.28em;
405
+ color: var(--accent);
406
+ text-transform: uppercase;
407
+ }
408
+ .fix-zh {
409
+ font-family: var(--serif-en);
410
+ font-size: 28px;
411
+ font-weight: 400;
412
+ font-style: italic;
413
+ color: var(--ink);
414
+ }
415
+ .fix-count {
416
+ margin-left: auto;
417
+ font-family: var(--mono);
418
+ font-size: 11px;
419
+ color: var(--muted);
420
+ letter-spacing: 0.2em;
421
+ }
422
+
423
+ .fix-row {
424
+ position: relative;
425
+ font-family: var(--sans);
426
+ font-size: 28px;
427
+ font-weight: 300;
428
+ color: var(--ink);
429
+ line-height: 1.45;
430
+ padding: 12px 0;
431
+ display: flex;
432
+ gap: 20px;
433
+ align-items: center;
434
+ }
435
+ .fix-row .idx {
436
+ font-family: var(--mono);
437
+ font-size: 12px;
438
+ color: var(--muted);
439
+ letter-spacing: 0.2em;
440
+ flex: 0 0 40px;
441
+ padding-top: 2px;
442
+ }
443
+ .fix-row .mono {
444
+ font-family: var(--mono);
445
+ font-size: 26px;
446
+ letter-spacing: 0;
447
+ color: var(--accent);
448
+ font-weight: 400;
449
+ }
450
+ .fix-row .arrow {
451
+ color: var(--muted);
452
+ margin: 0 4px;
453
+ }
454
+
455
+ .fix-severity {
456
+ display: inline-block;
457
+ padding: 3px 10px;
458
+ font-family: var(--mono);
459
+ font-size: 11px;
460
+ letter-spacing: 0.22em;
461
+ color: var(--accent);
462
+ border: 1px solid rgba(217,119,87,0.5);
463
+ border-radius: 3px;
464
+ margin-right: 10px;
465
+ vertical-align: 3px;
466
+ }
467
+ .fix-pulse {
468
+ position: absolute;
469
+ inset: 4px -12px 4px -12px;
470
+ border: 1px solid var(--accent);
471
+ border-radius: 4px;
472
+ opacity: 0;
473
+ pointer-events: none;
474
+ will-change: opacity;
475
+ box-shadow: 0 0 24px rgba(217,119,87,0.35);
476
+ }
477
+
478
+ /* ============ Brand Reveal (hero-v10 signature) ============ */
479
+ .stage-dimmer {
480
+ position: absolute;
481
+ inset: 0;
482
+ background: #000000;
483
+ opacity: 0;
484
+ z-index: 40;
485
+ pointer-events: none;
486
+ will-change: opacity;
487
+ }
488
+ .brand-panel {
489
+ position: absolute;
490
+ inset: 0;
491
+ background: #F5F4F0;
492
+ transform: translateY(100%);
493
+ display: flex;
494
+ flex-direction: column;
495
+ align-items: center;
496
+ justify-content: center;
497
+ z-index: 50;
498
+ will-change: transform;
499
+ }
500
+ .brand-wordmark {
501
+ font-family: var(--serif-en);
502
+ font-size: 72px;
503
+ font-weight: 100;
504
+ font-variation-settings: "wght" 100;
505
+ letter-spacing: -0.02em;
506
+ color: #1A1918;
507
+ text-align: center;
508
+ line-height: 1;
509
+ opacity: 0;
510
+ transform: translateY(20px);
511
+ will-change: opacity, transform, font-variation-settings, font-weight;
512
+ }
513
+ .brand-wordmark .accent { color: #D97757; font-weight: inherit; }
514
+ .brand-line {
515
+ margin-top: 60px;
516
+ height: 2px;
517
+ width: 0;
518
+ background: #D97757;
519
+ align-self: center;
520
+ will-change: width;
521
+ }
522
+ </style>
523
+ </head>
524
+ <body>
525
+ <div class="stage" id="stage">
526
+ <div class="mark">HUASHU · DESIGN</div>
527
+ <div class="mark-right">V2 · 2026</div>
528
+
529
+ <div class="title-line" id="titleLine">c6 · Expert Review · Five Axes</div>
530
+
531
+ <div class="camera" id="camera">
532
+ <!-- Subject: design under review -->
533
+ <div class="subject" id="subject">
534
+ <div class="subject-label">SUBJECT · DRAFT_V3</div>
535
+ <div class="subject-dot"></div>
536
+ <div class="subject-canvas">
537
+ <div class="wf-h1"></div>
538
+ <div class="wf-h2"></div>
539
+ <div class="wf-row"><div class="bar" style="width:24%"></div><div class="bar" style="width:14%"></div><div class="bar" style="width:20%"></div></div>
540
+ <div class="wf-row"><div class="bar" style="width:30%"></div><div class="bar" style="width:10%"></div></div>
541
+ <div class="wf-grid">
542
+ <div class="wf-card"></div>
543
+ <div class="wf-card accent"></div>
544
+ <div class="wf-card"></div>
545
+ </div>
546
+ <div class="wf-foot">
547
+ <div class="wf-chip wide"></div>
548
+ <div class="wf-chip"></div>
549
+ <div class="wf-chip"></div>
550
+ </div>
551
+ </div>
552
+ </div>
553
+
554
+ <!-- Scanning light -->
555
+ <div class="sweep" id="sweep"></div>
556
+ <div class="sweep-line" id="sweepLine"></div>
557
+
558
+ <!-- Radar chart (right) -->
559
+ <div class="radar-title" id="radarTitle">Five-Axis Diagnosis · Radar</div>
560
+ <div class="radar-wrap" id="radarWrap">
561
+ <svg viewBox="-270 -270 540 540" xmlns="http://www.w3.org/2000/svg">
562
+ <!-- Grid rings (5 levels) -->
563
+ <g class="radar-grid" id="radarGrid"></g>
564
+ <!-- Spokes to 5 axes -->
565
+ <g id="radarSpokes"></g>
566
+ <!-- Filled polygon -->
567
+ <polygon id="radarPoly" class="radar-poly" points="" />
568
+ <!-- Points -->
569
+ <g id="radarPoints"></g>
570
+ <!-- Axis labels -->
571
+ <g id="radarLabels"></g>
572
+ </svg>
573
+ </div>
574
+
575
+ <div class="radar-score-total" id="radarTotal">
576
+ <div class="score-row">
577
+ <div class="score-num"><span id="scoreNum">0</span><span class="accent">/50</span></div>
578
+ <div>
579
+ <div class="score-label">OVERALL · PASSED</div>
580
+ <div class="score-total">WEIGHTED · 7.4</div>
581
+ </div>
582
+ </div>
583
+ </div>
584
+
585
+ <!-- Single Fix row: Concept Card lean -->
586
+ <div class="fix-lane" id="fixLane">
587
+ <div class="fix-head">
588
+ <span class="fix-mark">FIX</span>
589
+ <span class="fix-zh">Fix</span>
590
+ <span class="fix-count">01 / 01</span>
591
+ </div>
592
+ <div class="fix-row">
593
+ <span class="idx">01</span>
594
+ <span><span class="fix-severity">⚡</span>Tracking <span class="mono">0.02</span><span class="arrow"> → </span><span class="mono">0.04em</span></span>
595
+ <div class="fix-pulse" id="fixPulse"></div>
596
+ </div>
597
+ </div>
598
+ </div>
599
+
600
+ <!-- Brand Reveal (hero-v10 signature) -->
601
+ <div class="stage-dimmer" id="stageDimmer"></div>
602
+ <div class="brand-panel" id="brandPanel">
603
+ <div class="brand-wordmark" id="brandMark">huashu<span class="accent">-</span>design</div>
604
+ <div class="brand-line" id="brandLine"></div>
605
+ </div>
606
+ </div>
607
+
608
+ <script>
609
+ // Auto-scale
610
+ function fitStage() {
611
+ const stage = document.getElementById('stage');
612
+ const sx = window.innerWidth / 1920;
613
+ const sy = window.innerHeight / 1080;
614
+ const s = Math.min(sx, sy);
615
+ stage.style.transform = `translate(-50%, -50%) scale(${s})`;
616
+ }
617
+ fitStage();
618
+ window.addEventListener('resize', fitStage);
619
+
620
+ // Easings
621
+ const expoOut = t => t === 1 ? 1 : 1 - Math.pow(2, -10 * t);
622
+ const expoIn = t => t === 0 ? 0 : Math.pow(2, 10 * (t - 1));
623
+ const cubicInOut = t => t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;
624
+ const cubicOut = t => 1 - Math.pow(1 - t, 3);
625
+
626
+ function lerp(t, a, b, easing) {
627
+ if (t <= 0) return a;
628
+ if (t >= 1) return b;
629
+ const e = easing ? easing(t) : t;
630
+ return a + (b - a) * e;
631
+ }
632
+ function seg(time, start, end) {
633
+ if (time <= start) return 0;
634
+ if (time >= end) return 1;
635
+ return (time - start) / (end - start);
636
+ }
637
+
638
+ // ============ Build radar SVG ============
639
+ const RADIUS = 210;
640
+ const AXES = [
641
+ { zh: 'Philosophy', en: 'PHILOSOPHY', score: 8 },
642
+ { zh: 'Hierarchy', en: 'HIERARCHY', score: 6 },
643
+ { zh: 'Execution', en: 'EXECUTION', score: 8 },
644
+ { zh: 'Function', en: 'FUNCTION', score: 7 },
645
+ { zh: 'Innovation', en: 'INNOVATION', score: 8 },
646
+ ];
647
+ const N = AXES.length;
648
+
649
+ function axisPoint(i, r) {
650
+ // Start at top (-90deg), clockwise
651
+ const angle = -Math.PI / 2 + (2 * Math.PI * i) / N;
652
+ return [Math.cos(angle) * r, Math.sin(angle) * r];
653
+ }
654
+
655
+ // Grid rings (polygons at 5 levels)
656
+ const gridG = document.getElementById('radarGrid');
657
+ for (let level = 1; level <= 5; level++) {
658
+ const r = (RADIUS * level) / 5;
659
+ const pts = [];
660
+ for (let i = 0; i < N; i++) {
661
+ const [x, y] = axisPoint(i, r);
662
+ pts.push(`${x.toFixed(2)},${y.toFixed(2)}`);
663
+ }
664
+ const poly = document.createElementNS('http://www.w3.org/2000/svg', 'polygon');
665
+ poly.setAttribute('points', pts.join(' '));
666
+ poly.setAttribute('fill', 'none');
667
+ poly.setAttribute('stroke', level === 5 ? 'rgba(255,255,255,0.18)' : 'rgba(255,255,255,0.07)');
668
+ poly.setAttribute('stroke-width', '1');
669
+ gridG.appendChild(poly);
670
+ }
671
+
672
+ // Spokes
673
+ const spokesG = document.getElementById('radarSpokes');
674
+ for (let i = 0; i < N; i++) {
675
+ const [x, y] = axisPoint(i, RADIUS);
676
+ const line = document.createElementNS('http://www.w3.org/2000/svg', 'line');
677
+ line.setAttribute('x1', 0);
678
+ line.setAttribute('y1', 0);
679
+ line.setAttribute('x2', x.toFixed(2));
680
+ line.setAttribute('y2', y.toFixed(2));
681
+ line.setAttribute('class', 'radar-spoke');
682
+ spokesG.appendChild(line);
683
+ }
684
+
685
+ // Labels (position outside). ZH sits at a base radial distance; EN stacks
686
+ // below it with a fixed vertical offset to avoid overlap on the side axes.
687
+ const labelsG = document.getElementById('radarLabels');
688
+ AXES.forEach((axis, i) => {
689
+ const angle = -Math.PI / 2 + (2 * Math.PI * i) / N;
690
+ const dirX = Math.cos(angle);
691
+ const dirY = Math.sin(angle);
692
+
693
+ // text-anchor based on horizontal direction
694
+ let anchor = 'middle';
695
+ if (dirX > 0.3) anchor = 'start';
696
+ else if (dirX < -0.3) anchor = 'end';
697
+
698
+ const baseRadial = RADIUS + 36;
699
+ const [bx, by] = axisPoint(i, baseRadial);
700
+
701
+ // Title Case serif italic label (only one per axis in EN)
702
+ const zhText = document.createElementNS('http://www.w3.org/2000/svg', 'text');
703
+ zhText.setAttribute('x', bx.toFixed(2));
704
+ zhText.setAttribute('y', by.toFixed(2));
705
+ zhText.setAttribute('text-anchor', anchor);
706
+ zhText.setAttribute('dominant-baseline', 'middle');
707
+ zhText.setAttribute('class', 'radar-label-zh');
708
+ zhText.textContent = axis.zh;
709
+ labelsG.appendChild(zhText);
710
+ });
711
+
712
+ // Points (initial: center)
713
+ const pointsG = document.getElementById('radarPoints');
714
+ const pointEls = AXES.map((axis, i) => {
715
+ const circle = document.createElementNS('http://www.w3.org/2000/svg', 'circle');
716
+ circle.setAttribute('cx', 0);
717
+ circle.setAttribute('cy', 0);
718
+ circle.setAttribute('r', 5);
719
+ circle.setAttribute('class', 'radar-point');
720
+ circle.setAttribute('opacity', '0');
721
+ pointsG.appendChild(circle);
722
+ return circle;
723
+ });
724
+ const radarPoly = document.getElementById('radarPoly');
725
+
726
+ // ============ Timeline (10s) ============
727
+ // Beat 1 (0-2s): title + subject enters
728
+ // Beat 2 (2-8s):
729
+ // 2.0-3.8: light sweep top → bottom (1.8s)
730
+ // 3.2-4.8: radar grid fades in + polygon + points grow from center
731
+ // 4.8-5.2: score count up
732
+ // 5.0-6.0: Keep col ripple in
733
+ // 5.5-6.5: Fix col ripple in
734
+ // 6.0-7.0: Quick Wins col ripple in
735
+ // 7.0-8.0: hold
736
+ // Beat 3 (8-10s): push-in camera to fix[0] + pulse (8-9), brand reveal (8.0-10.0)
737
+
738
+ const titleLine = document.getElementById('titleLine');
739
+ const subject = document.getElementById('subject');
740
+ const sweep = document.getElementById('sweep');
741
+ const sweepLine = document.getElementById('sweepLine');
742
+ const radarTitle = document.getElementById('radarTitle');
743
+ const radarWrap = document.getElementById('radarWrap');
744
+ const radarTotal = document.getElementById('radarTotal');
745
+ const scoreNum = document.getElementById('scoreNum');
746
+ const fixLane = document.getElementById('fixLane');
747
+ const fixPulse = document.getElementById('fixPulse');
748
+ const camera = document.getElementById('camera');
749
+ const stageDimmer = document.getElementById('stageDimmer');
750
+ const brandPanel = document.getElementById('brandPanel');
751
+ const brandMark = document.getElementById('brandMark');
752
+ const brandLine = document.getElementById('brandLine');
753
+
754
+ const DURATION = 10.0;
755
+ let startTime = null;
756
+ let loop = true;
757
+ if (window.__recording === true) loop = false;
758
+
759
+ function tick(now) {
760
+ if (startTime === null) startTime = now;
761
+ let t = (now - startTime) / 1000;
762
+
763
+ if (t >= DURATION) {
764
+ if (loop) { startTime = now; t = 0; }
765
+ else { t = DURATION; }
766
+ }
767
+
768
+ // Title fade in/out
769
+ const titleIn = seg(t, 0.2, 1.2);
770
+ const titleOut = seg(t, 7.6, 8.0);
771
+ titleLine.style.opacity = Math.min(cubicOut(titleIn), 1 - titleOut);
772
+ titleLine.style.transform = `translateX(-50%) translateY(${lerp(titleIn, -6, 0, cubicOut)}px)`;
773
+
774
+ // Subject appears Beat 1
775
+ const subjectIn = seg(t, 0.4, 1.8);
776
+ subject.style.opacity = expoOut(subjectIn);
777
+ subject.style.transform = `translateY(${lerp(subjectIn, 14, 0, expoOut)}px)`;
778
+
779
+ // Subject dims after sweep completes (during Beat 2 to keep focus right)
780
+ const subjectDim = seg(t, 4.4, 5.6);
781
+ const dimFactor = lerp(subjectDim, 1.0, 0.38, cubicInOut);
782
+ subject.style.filter = `saturate(${lerp(subjectDim, 1.0, 0.5, cubicInOut)}) brightness(${dimFactor})`;
783
+
784
+ // Light sweep: 2.0-3.8 top to bottom
785
+ const sweepProgress = seg(t, 2.0, 3.8);
786
+ const sweepOp = (t < 2.0 || t > 4.2) ? 0 :
787
+ (t < 2.2 ? seg(t, 2.0, 2.2) :
788
+ t < 3.7 ? 1 :
789
+ 1 - seg(t, 3.7, 4.2));
790
+ sweep.style.opacity = sweepOp * 0.95;
791
+ sweepLine.style.opacity = sweepOp * 1.0;
792
+ // Move from y=250 to y=700 (subject top 310 to bottom 770)
793
+ const sweepY = lerp(sweepProgress, -70, 410, cubicInOut);
794
+ sweep.style.transform = `translateY(${sweepY}px)`;
795
+ sweepLine.style.transform = `translateY(${sweepY + 70}px)`;
796
+
797
+ // Radar title + wrap appear 3.2
798
+ const radarIn = seg(t, 3.2, 4.0);
799
+ radarTitle.style.opacity = cubicOut(radarIn);
800
+ radarWrap.style.opacity = cubicOut(radarIn);
801
+ radarWrap.style.transform = `scale(${lerp(radarIn, 0.92, 1.0, expoOut)})`;
802
+
803
+ // Radar grid strokes already visible once wrap fades; animate grid via stroke-dasharray trick would be overkill.
804
+ // Instead, grow polygon + points from center (3.6-4.8)
805
+ const polyGrow = seg(t, 3.6, 4.8);
806
+ const polyT = expoOut(polyGrow);
807
+ const polyPts = [];
808
+ AXES.forEach((axis, i) => {
809
+ const targetR = (axis.score / 10) * RADIUS;
810
+ const r = targetR * polyT;
811
+ const [x, y] = axisPoint(i, r);
812
+ polyPts.push(`${x.toFixed(2)},${y.toFixed(2)}`);
813
+ const pt = pointEls[i];
814
+ pt.setAttribute('cx', x.toFixed(2));
815
+ pt.setAttribute('cy', y.toFixed(2));
816
+ pt.setAttribute('opacity', polyT.toFixed(2));
817
+ });
818
+ radarPoly.setAttribute('points', polyPts.join(' '));
819
+
820
+ // EN labels fade in slightly later
821
+ const enLabelIn = seg(t, 4.2, 4.8);
822
+ document.querySelectorAll('[data-type="en-label"]').forEach(el => {
823
+ el.setAttribute('opacity', cubicOut(enLabelIn).toFixed(2));
824
+ });
825
+
826
+ // Score count up 4.6-5.4, target total = 37
827
+ const scoreT = seg(t, 4.6, 5.4);
828
+ const total = AXES.reduce((s, a) => s + a.score, 0); // 37
829
+ const shown = Math.round(lerp(scoreT, 0, total, cubicOut));
830
+ scoreNum.textContent = shown;
831
+ radarTotal.style.opacity = cubicOut(seg(t, 4.4, 5.0));
832
+
833
+ // Fix lane ripple in (5.3-6.1)
834
+ const fixRip = seg(t, 5.3, 6.1);
835
+ fixLane.style.opacity = expoOut(fixRip);
836
+ fixLane.style.transform = `translateY(${lerp(fixRip, 24, 0, expoOut)}px)`;
837
+
838
+ // Beat 3: Push-in camera to Fix row + pulse (7.4-8.0)
839
+ const pushT = seg(t, 7.4, 8.0);
840
+ const scale = lerp(pushT, 1.0, 1.18, cubicInOut);
841
+ camera.style.transform = `scale(${scale})`;
842
+
843
+ // Fix pulse border: blink 2 times between 7.6-8.0
844
+ const pulseOp = t < 7.6 ? 0 :
845
+ t < 8.0 ? (0.4 + 0.6 * Math.abs(Math.sin((t - 7.6) * Math.PI * 2.4))) :
846
+ 0;
847
+ fixPulse.style.opacity = pulseOp;
848
+
849
+ // ============ Brand Reveal (hero-v10 signature, aligned) ============
850
+ // [T-2.0 → T-1.7s] i.e. 8.0-8.3: scene fade to black (0.3s)
851
+ const soK = seg(t, 8.0, 8.3);
852
+ stageDimmer.style.opacity = cubicOut(soK);
853
+ const sceneFade = seg(t, 8.0, 8.3);
854
+ camera.style.opacity = 1 - cubicOut(sceneFade);
855
+
856
+ // [T-1.7 → T-1.3s] i.e. 8.3-8.7: cream panel slides from bottom (0.4s, expoOut)
857
+ const panelT = seg(t, 8.3, 8.7);
858
+ const panelY = lerp(panelT, 100, 0, expoOut);
859
+ brandPanel.style.transform = `translateY(${panelY}%)`;
860
+
861
+ // [T-1.3 → T-0.7s] i.e. 8.7-9.3: wordmark wght 100→500 + y 20→0 + opacity 0→1 (0.6s)
862
+ const markT = seg(t, 8.7, 9.3);
863
+ const markE = expoOut(markT);
864
+ const wght = 100 + (500 - 100) * markE;
865
+ brandMark.style.opacity = markE;
866
+ brandMark.style.transform = `translateY(${20 * (1 - markE)}px)`;
867
+ brandMark.style.fontWeight = Math.round(wght);
868
+ brandMark.style.fontVariationSettings = `"wght" ${wght.toFixed(0)}`;
869
+
870
+ // [T-0.7 → T-0.3s] i.e. 9.3-9.7: orange line width 0→280 (0.4s, cubicOut)
871
+ const lineT = seg(t, 9.3, 9.7);
872
+ brandLine.style.width = `${lerp(lineT, 0, 280, cubicOut)}px`;
873
+
874
+ // [T-0.3 → T] hold
875
+
876
+ if (!window.__ready) window.__ready = true;
877
+
878
+ if (loop || t < DURATION) requestAnimationFrame(tick);
879
+ }
880
+
881
+ (document.fonts && document.fonts.ready ? document.fonts.ready : Promise.resolve())
882
+ .then(() => requestAnimationFrame(tick));
883
+ </script>
884
+ </body>
885
+ </html>