izanagi-ai 2.11.0 → 2.11.1

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 (258) hide show
  1. package/.claude/skills/animation-web/SKILL.md +108 -108
  2. package/.claude/skills/brainstorming/SKILL.md +96 -96
  3. package/.claude/skills/caveman/SKILL.md +88 -0
  4. package/.claude/skills/deep-research/SKILL.md +78 -78
  5. package/.claude/skills/economia-tokens/SKILL.md +264 -264
  6. package/.claude/skills/frontend/SKILL.md +361 -361
  7. package/.claude/skills/handoff-sessao/SKILL.md +86 -86
  8. package/.claude/skills/memoria-projeto/SKILL.md +92 -92
  9. package/.claude/skills/motion-design/SKILL.md +139 -139
  10. package/.claude/skills/qa/SKILL.md +245 -245
  11. package/.claude/skills/security-privacy/SKILL.md +219 -219
  12. package/.claude/skills/tdd/SKILL.md +85 -85
  13. package/.claude/skills/ui-ux-pro-max/SKILL.md +164 -164
  14. package/.claude/skills/webgl-3d/SKILL.md +110 -110
  15. package/.manifest +4 -4
  16. package/AGENTS.md +129 -129
  17. package/CHANGELOG.md +427 -411
  18. package/CLAUDE.md +42 -41
  19. package/README.md +113 -113
  20. package/ROADMAP.md +95 -95
  21. package/RULES.md +249 -249
  22. package/SYSTEM.md +256 -256
  23. package/agents/INDEX.md +54 -54
  24. package/agents/adversarial-critic-agent.json +102 -102
  25. package/agents/agent-architect-agent.json +107 -107
  26. package/agents/animation-agent.json +95 -95
  27. package/agents/architect-agent.json +114 -114
  28. package/agents/automation-engineer-agent.json +142 -142
  29. package/agents/bug-hunter-agent.json +95 -95
  30. package/agents/database-agent.json +100 -100
  31. package/agents/devops-agent.json +108 -108
  32. package/agents/discovery-agent.json +175 -175
  33. package/agents/docs-agent.json +88 -88
  34. package/agents/evaluator-agent.json +98 -98
  35. package/agents/form-engineer-agent.json +93 -93
  36. package/agents/pm-agent.json +92 -92
  37. package/agents/product-reasoner-agent.json +108 -108
  38. package/agents/professor-agent.json +82 -82
  39. package/agents/qa-agent.json +108 -108
  40. package/agents/researcher-agent.json +93 -93
  41. package/agents/security-agent.json +109 -109
  42. package/agents/senior-engineer-agent.json +134 -134
  43. package/agents/skill-architect-agent.json +108 -108
  44. package/agents/techlead-agent.json +96 -96
  45. package/architecture/clean-architecture.md +100 -100
  46. package/architecture/cqrs-specialist.md +104 -104
  47. package/architecture/ddd-specialist.md +99 -99
  48. package/architecture/event-driven-architect.md +81 -81
  49. package/architecture/hexagonal-architecture.md +98 -98
  50. package/architecture/microservices-expert.md +85 -85
  51. package/architecture/monolith-expert.md +69 -69
  52. package/architecture/repository-pattern.md +75 -75
  53. package/architecture/unit-of-work.md +94 -94
  54. package/backend/README.md +34 -34
  55. package/core/skill-resolver.json +558 -558
  56. package/devops/ci-cd-specialist.md +103 -103
  57. package/devops/devops-engineer.md +360 -360
  58. package/devops/docker-expert.md +107 -107
  59. package/devops/kubernetes-specialist.md +86 -86
  60. package/dist/cli/commands/export.js +2 -2
  61. package/dist/cli/commands/skill.js +25 -25
  62. package/dist/cli/index.js +54 -54
  63. package/dist/exporters.d.ts +1 -1
  64. package/dist/exporters.d.ts.map +1 -1
  65. package/dist/exporters.js +344 -343
  66. package/dist/exporters.js.map +1 -1
  67. package/dist/runtime/factories/skill-factory.js +21 -21
  68. package/dist/runtime/tests/routing.test.js +7 -7
  69. package/frontend/README.md +24 -24
  70. package/memory/context-recovery.md +51 -51
  71. package/memory/conversation-summarizer.md +67 -67
  72. package/memory/long-term-project-memory.md +60 -60
  73. package/memory/session-compression.md +184 -184
  74. package/optimization/compact-example.md +89 -89
  75. package/optimization/cost-optimizer.md +55 -55
  76. package/optimization/prompt-optimizer.md +196 -196
  77. package/optimization/token-audit.md +179 -179
  78. package/optimization/token-reducer.md +204 -204
  79. package/package.json +98 -98
  80. package/security/owasp-auditor.md +251 -251
  81. package/security/pentest-reviewer.md +111 -111
  82. package/security/security-engineer.md +240 -240
  83. package/skills/INDEX.md +464 -464
  84. package/skills/accessibility-reviewer/SKILL.md +111 -111
  85. package/skills/adversarial-critique/SKILL.md +60 -60
  86. package/skills/agentic-coding/SKILL.md +86 -86
  87. package/skills/ai-agent/SKILL.md +108 -108
  88. package/skills/ai-agent/references.md +1 -1
  89. package/skills/alternative-solution-generator/SKILL.md +85 -85
  90. package/skills/animation-web/SKILL.md +114 -114
  91. package/skills/anti-ai-slop/SKILL.md +64 -64
  92. package/skills/api-automation/SKILL.md +121 -121
  93. package/skills/architecture-patterns/SKILL.md +243 -243
  94. package/skills/automation-documentation/SKILL.md +103 -103
  95. package/skills/automation-engineer/SKILL.md +174 -174
  96. package/skills/automation-optimization/SKILL.md +117 -117
  97. package/skills/automation-planning/SKILL.md +72 -72
  98. package/skills/automation-research/SKILL.md +72 -72
  99. package/skills/automation-security/SKILL.md +81 -81
  100. package/skills/brainstorming/SKILL.md +102 -102
  101. package/skills/breaking-change-detector/SKILL.md +97 -97
  102. package/skills/browser-automation/SKILL.md +120 -120
  103. package/skills/bug-hunter/SKILL.md +247 -247
  104. package/skills/bug-prevention/SKILL.md +88 -88
  105. package/skills/caveman/SKILL.md +88 -0
  106. package/skills/chaos-engineering/SKILL.md +108 -108
  107. package/skills/chaos-engineering/references.md +1 -1
  108. package/skills/clean-code-validator/SKILL.md +231 -231
  109. package/skills/cloud-infra/SKILL.md +100 -100
  110. package/skills/code-auditor/SKILL.md +112 -112
  111. package/skills/complexity-analyzer/SKILL.md +115 -115
  112. package/skills/confidence-estimator/SKILL.md +59 -59
  113. package/skills/confidence-estimator/references.md +1 -1
  114. package/skills/continuous-improvement/SKILL.md +48 -48
  115. package/skills/continuous-improvement/references.md +1 -1
  116. package/skills/cto-advisor/SKILL.md +79 -79
  117. package/skills/cto-advisor/references.md +1 -1
  118. package/skills/data-engineering/SKILL.md +83 -83
  119. package/skills/data-validation/SKILL.md +105 -105
  120. package/skills/debug-specialist/SKILL.md +228 -228
  121. package/skills/deep-research/SKILL.md +83 -83
  122. package/skills/defense-in-depth/SKILL.md +83 -83
  123. package/skills/dependency-analyzer/SKILL.md +120 -120
  124. package/skills/design-directions/SKILL.md +65 -65
  125. package/skills/design-pattern-advisor/SKILL.md +91 -91
  126. package/skills/documentation-writer/SKILL.md +79 -79
  127. package/skills/documentation-writer/references.md +1 -1
  128. package/skills/dry-kiss-yagni-validator/SKILL.md +127 -127
  129. package/skills/economia-tokens/SKILL.md +270 -270
  130. package/skills/er-diagram-builder/SKILL.md +98 -98
  131. package/skills/er-diagram-builder/references.md +1 -1
  132. package/skills/error-recovery/SKILL.md +97 -97
  133. package/skills/evaluation/SKILL.md +80 -80
  134. package/skills/failure-patterns/SKILL.md +67 -67
  135. package/skills/feature-flags/SKILL.md +96 -96
  136. package/skills/frontend/SKILL.md +367 -367
  137. package/skills/graphql/SKILL.md +105 -105
  138. package/skills/hallucination-detection/SKILL.md +58 -58
  139. package/skills/hallucination-detection/references.md +1 -1
  140. package/skills/handoff-protocol/SKILL.md +61 -61
  141. package/skills/handoff-sessao/SKILL.md +92 -92
  142. package/skills/i18n-l10n/SKILL.md +104 -104
  143. package/skills/iac-terraform/SKILL.md +99 -99
  144. package/skills/legacy-migration/SKILL.md +91 -91
  145. package/skills/logging-expert/SKILL.md +91 -91
  146. package/skills/mcp-server-dev/SKILL.md +149 -149
  147. package/skills/mcp-server-dev/references.md +1 -1
  148. package/skills/memoria-projeto/SKILL.md +98 -98
  149. package/skills/mobile-dev/SKILL.md +83 -83
  150. package/skills/monitoring-specialist/SKILL.md +38 -38
  151. package/skills/motion-design/SKILL.md +145 -145
  152. package/skills/observability-expert/SKILL.md +48 -48
  153. package/skills/parallel-agents/SKILL.md +73 -73
  154. package/skills/performance-optimizer/SKILL.md +263 -263
  155. package/skills/principal-engineer/SKILL.md +50 -50
  156. package/skills/principal-engineer/references.md +1 -1
  157. package/skills/professor-modo/SKILL.md +37 -37
  158. package/skills/professor-modo/references.md +1 -1
  159. package/skills/project-manager/SKILL.md +87 -87
  160. package/skills/project-manager/references.md +1 -1
  161. package/skills/prompt-engineering/SKILL.md +115 -115
  162. package/skills/prompt-engineering/references.md +1 -1
  163. package/skills/qa/SKILL.md +251 -251
  164. package/skills/readme-generator/SKILL.md +163 -163
  165. package/skills/readme-generator/references.md +1 -1
  166. package/skills/refactoring-specialist/SKILL.md +268 -268
  167. package/skills/release-planner/SKILL.md +83 -83
  168. package/skills/release-planner/references.md +1 -1
  169. package/skills/requirement-analyzer/SKILL.md +51 -51
  170. package/skills/requirement-analyzer/references.md +1 -1
  171. package/skills/risk-analyzer/SKILL.md +86 -86
  172. package/skills/risk-analyzer/references.md +1 -1
  173. package/skills/root-cause-analyzer/SKILL.md +223 -223
  174. package/skills/scalability-expert/SKILL.md +86 -86
  175. package/skills/security-privacy/SKILL.md +225 -225
  176. package/skills/self-correction/SKILL.md +55 -55
  177. package/skills/self-critique/SKILL.md +53 -53
  178. package/skills/senior-code-reviewer/SKILL.md +206 -206
  179. package/skills/sequence-diagram-builder/SKILL.md +57 -57
  180. package/skills/sequence-diagram-builder/references.md +1 -1
  181. package/skills/serverless-edge/SKILL.md +104 -104
  182. package/skills/software-architect/SKILL.md +369 -369
  183. package/skills/solid-validator/SKILL.md +345 -345
  184. package/skills/spreadsheet-automation/SKILL.md +148 -148
  185. package/skills/sre-reliability/SKILL.md +116 -116
  186. package/skills/staff-engineer/SKILL.md +34 -34
  187. package/skills/staff-engineer/references.md +1 -1
  188. package/skills/systematic-debugging/SKILL.md +158 -158
  189. package/skills/task-planner/SKILL.md +67 -67
  190. package/skills/task-planner/references.md +1 -1
  191. package/skills/tdd/SKILL.md +90 -90
  192. package/skills/tech-lead/SKILL.md +42 -42
  193. package/skills/tech-lead/references.md +1 -1
  194. package/skills/technical-debt-analyzer/SKILL.md +94 -94
  195. package/skills/technical-writer/SKILL.md +74 -74
  196. package/skills/technical-writer/references.md +1 -1
  197. package/skills/technology-selection/SKILL.md +89 -89
  198. package/skills/testing-automation/SKILL.md +123 -123
  199. package/skills/tradeoff-analyzer/SKILL.md +92 -92
  200. package/skills/ui-ux-pro-max/SKILL.md +170 -170
  201. package/skills/ui-ux-pro-max/data/app-interface.csv +30 -30
  202. package/skills/ui-ux-pro-max/data/charts.csv +26 -26
  203. package/skills/ui-ux-pro-max/data/colors.csv +193 -193
  204. package/skills/ui-ux-pro-max/data/google-fonts.csv +1924 -1924
  205. package/skills/ui-ux-pro-max/data/icons.csv +105 -105
  206. package/skills/ui-ux-pro-max/data/landing.csv +35 -35
  207. package/skills/ui-ux-pro-max/data/motion.csv +17 -17
  208. package/skills/ui-ux-pro-max/data/products.csv +193 -193
  209. package/skills/ui-ux-pro-max/data/react-performance.csv +45 -45
  210. package/skills/ui-ux-pro-max/data/stacks/angular.csv +51 -51
  211. package/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
  212. package/skills/ui-ux-pro-max/data/stacks/avalonia.csv +57 -57
  213. package/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
  214. package/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
  215. package/skills/ui-ux-pro-max/data/stacks/javafx.csv +76 -76
  216. package/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
  217. package/skills/ui-ux-pro-max/data/stacks/laravel.csv +51 -51
  218. package/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
  219. package/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +71 -71
  220. package/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
  221. package/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -52
  222. package/skills/ui-ux-pro-max/data/stacks/react.csv +54 -54
  223. package/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
  224. package/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
  225. package/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
  226. package/skills/ui-ux-pro-max/data/stacks/threejs.csv +54 -54
  227. package/skills/ui-ux-pro-max/data/stacks/uno.csv +60 -60
  228. package/skills/ui-ux-pro-max/data/stacks/uwp.csv +56 -56
  229. package/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -50
  230. package/skills/ui-ux-pro-max/data/stacks/winui.csv +60 -60
  231. package/skills/ui-ux-pro-max/data/stacks/wpf.csv +57 -57
  232. package/skills/ui-ux-pro-max/data/styles.csv +85 -85
  233. package/skills/ui-ux-pro-max/data/typography.csv +75 -75
  234. package/skills/ui-ux-pro-max/data/ui-reasoning.csv +162 -162
  235. package/skills/ui-ux-pro-max/data/ux-guidelines.csv +99 -99
  236. package/skills/ui-ux-pro-max/references/pro-rules.md +109 -109
  237. package/skills/ui-ux-pro-max/references/quick-reference.md +240 -240
  238. package/skills/ui-ux-pro-max/scripts/core.py +464 -464
  239. package/skills/ui-ux-pro-max/scripts/design_system.py +1479 -1479
  240. package/skills/ui-ux-pro-max/scripts/search.py +162 -162
  241. package/skills/ui-ux-pro-max/scripts/tests/test_core.py +134 -134
  242. package/skills/ui-ux-pro-max/scripts/tests/test_design_system_mode.py +159 -159
  243. package/skills/ui-ux-pro-max/scripts/validate_data.py +114 -114
  244. package/skills/uml-generator/SKILL.md +85 -85
  245. package/skills/uml-generator/references.md +1 -1
  246. package/skills/ux-reviewer/SKILL.md +85 -85
  247. package/skills/wasm/SKILL.md +133 -133
  248. package/skills/web-forms/SKILL.md +146 -146
  249. package/skills/web-perf-seo/SKILL.md +281 -281
  250. package/skills/webapp-testing/SKILL.md +86 -86
  251. package/skills/webapp-testing/examples/with_server.py +105 -105
  252. package/skills/webgl-3d/SKILL.md +116 -116
  253. package/skills/websocket-realtime/SKILL.md +108 -108
  254. package/teaching/code-explainer.md +174 -174
  255. package/teaching/professor-mode.md +224 -224
  256. package/testing/e2e-test-engineer.md +70 -70
  257. package/testing/integration-test-engineer.md +76 -76
  258. package/testing/unit-test-engineer.md +211 -211
@@ -3,114 +3,114 @@ name: animation-web
3
3
  description: "Scrollytelling, scroll-driven animations, sequências de imagem em canvas (estilo Apple), parallax e pinned sections. Use quando o site não deve parecer estático e o scroll for a timeline da experiência."
4
4
  ---
5
5
 
6
- # Animation Web — Scrollytelling & Cinematic Sites
7
-
8
- ## Identity
9
-
10
- Especialista em transformar sites estáticos em experiências cinematográficas dirigidas pelo scroll. O scroll é o playhead: cada movimento do mouse/finger controla frames, câmera e narrativa. O site deve parecer um vídeo interativo, nunca uma página comum.
11
-
12
- ## Princípios
13
-
14
- 1. **Scroll = timeline.** O progresso do scroll controla a animação (scrub), não dispara apenas gatilhos one-shot.
15
- 2. **Performance é parte do design.** Animação de 60fps só com `transform` + `opacity`; nunca animar `top/left/width/height/margin`.
16
- 3. **Prefere visualização progressiva.** Cada seção revela informação em camadas enquanto o usuário rola.
17
- 4. **Reduced motion é obrigatório.** `prefers-reduced-motion: reduce` desativa/degrada toda a coreografia.
18
- 5. **Mobile não é desktop pequeno.** Pinning pesado e câmeras longas são reavaliados em viewports pequenas (`matchMedia`).
19
-
20
- ## Arquitetura de Técnicas (Decision Tree)
21
-
22
- | Desejo do usuário | Técnica | Stack |
23
- |---|---|---|
24
- | Site parece um vídeo, frames avançam com o scroll | **Scroll image sequence** — sequência de frames pré-renderizados em `<canvas>` (estilo Apple) | GSAP ScrollTrigger + canvas + preload |
25
- | Camera se move pelo produto/cena no scroll | **Scroll-driven 3D** — câmera/objetos reagindo à posição de scroll | Three.js / R3F + ScrollTrigger |
26
- | Narrativa em capítulos | **Pinned sections** — seção fixa enquanto capítulo anima por cima | ScrollTrigger `pin` + `scrub` |
27
- | Efeito de profundidade | **Parallax** em camadas com velocidades diferentes | ScrollTrigger `scrub` + `yPercent` |
28
- | Slide horizontal de conteúdo | **Horizontal scroll section** — painéis se movem lateralmente | ScrollTrigger `pin` + `xPercent` |
29
- | Texto dramático entrando | **SplitText reveals** (word/char/line) | GSAP SplitText ou CSS custom |
30
- | Revelações simples | **Entrance reveals** (fade/slide/mask) | IntersectionObserver / CSS `animation-timeline: scroll()` ou `view()` — suportado nativamente em Chrome 115+, Edge 115+, Firefox 132+, Safari 18+ (2026); sem esses browsers, fallback obrigatório via `@supports (animation-timeline: scroll())` |
31
- | Hero "wow" no topo | **Preloader + hero reveal coreografado** | GSAP timeline + Lenis |
32
-
33
- ## Workflow
34
-
35
- 1. **Storyboard primeiro.** Divida o conteúdo em cenas (hero → capítulo 1..n → finale). Cada cena = 1 técnica + 1 gatilho de scroll.
36
- 2. **Escolha a stack de scroll**: Lenis (smooth scroll) + GSAP ScrollTrigger (controle de scrub/pin) é o padrão; React usa `lenis` + `@gsap/react` (`useGSAP`).
37
- 3. **Implemente por cena**, começando pelo hero.
38
- 4. **Valide perf**: DevTools Performance panel, Lighthouse, Core Web Vitals (LCP/INP/CLS).
39
- 5. **Degrade**: sem JS → conteúdo estático visível; reduced motion → sem scrub.
40
-
41
- ## Padrões Core
42
-
43
- ### Scroll image sequence (o "site-vídeo" do usuário)
44
- ```js
45
- gsap.registerPlugin(ScrollTrigger);
46
- // canvas fixo + frames 0001.jpg..0120.jpg pré-carregados com Image() cache
47
- const img = new Image(); // draw com requestAnimationFrame; só drawFrame() no onUpdate
48
- gsap.to(frames, {
49
- frame: totalFrames - 1, // objeto-proxy: { frame: 0 }
50
- ease: 'none',
51
- scrollTrigger: { trigger: '#pin', start: 'top top', end: '+=4000', pin: true, scrub: 1 }
52
- });
53
- ```
54
- - Preload frames com cache compartilhado (`Map<src, Image>`).
55
- - Canvas HiDPI: `canvas.width = clientWidth * min(devicePixelRatio, 2)`.
56
- - Texto/capítulos aparecem como overlays em pontos específicos do progresso (timeline sobre o scrub).
57
- - **Performance (2026)**: nunca redesenhe o canvas dentro do handler de `resize` sem debounce/throttle — mobile dispara `resize` repetidamente em mudanças de viewport (rotação, barra de endereço escondendo); recalcule dimensões só depois do evento estabilizar. O handler de scroll/scrub em si deve ficar leve (`onUpdate` só troca o índice do frame e chama `drawFrame()`, nunca decodifica imagem ali). Otimize o peso da sequência (WebP/AVIF, resolução por breakpoint) antes de otimizar o código — dezenas a centenas de frames pesam mais que qualquer microotimização de JS.
58
-
59
- ### Hero coreografado
60
- ```js
61
- const tl = gsap.timeline({ scrollTrigger: { trigger: '#hero', start: 'top top', end: 'bottom top', scrub: true }});
62
- tl.to('.hero-title', { yPercent: -40, opacity: 0, ease: 'none' })
63
- .to('.hero-visual', { scale: 0.9, yPercent: 10, ease: 'none' }, 0);
64
- ```
65
-
66
- ### Smooth scroll (Lenis)
67
- ```js
68
- const lenis = new Lenis({ duration: 1.2, easing: (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t)) });
69
- lenis.on('scroll', ScrollTrigger.update);
70
- gsap.ticker.add((time) => lenis.raf(time * 1000));
71
- gsap.ticker.lagSmoothing(0);
72
- ```
73
-
74
- ### Horizontal scroll
75
- ```js
76
- const panels = gsap.utils.toArray('.panel');
77
- gsap.to(panels, { xPercent: -100 * (panels.length - 1), ease: 'none',
78
- scrollTrigger: { trigger: '#track', pin: true, scrub: 1, snap: 1 / (panels.length - 1),
79
- end: () => '+=' + track.offsetWidth } });
80
- ```
81
-
82
- ## Rules
83
-
84
- - **Regra de ouro**: `ease: 'none'` em tudo que for scrub (proporcional ao scroll); easing animado só em reveals one-shot.
85
- - Nunca bloquear LCP: frames e libs carregam lazy; hero estático primeiro, animação depois.
86
- - `will-change` só no elemento animando ativamente e removido ao final; evitar em massa.
87
- - Respeitar `prefers-reduced-motion` (desliga scrub, mostra frames finais).
88
- - Mobile: pin de seções altas vira scroll normal + transições simples (`ScrollTrigger.matchMedia()`).
89
- - Limpar triggers: `ScrollTrigger.getAll().forEach(t => t.kill())` em SPA unmount; `useGSAP` faz isso automaticamente no React.
90
- - Scrollbar nativa ou Lenis? Lenis para desktop; manter scrollbar nativa para acessibilidade — nunca `overflow: hidden` no body sem fallback.
91
-
92
- ## Checklists
93
-
94
- - [ ] Storyboard das cenas definido antes do código
95
- - [ ] Scroll = timeline (scrub) nas cenas principais
96
- - [ ] Só transform/opacity animados (sem layout thrash)
97
- - [ ] Frames de imagem pré-carregados com cache + HiDPI cap
98
- - [ ] Lenis integrado com ScrollTrigger (update no scroll, raf no ticker)
99
- - [ ] Reduced motion tratado
100
- - [ ] Mobile: pin/pesado removido ou simplificado
101
- - [ ] LCP/INP/CLS verdes (Lighthouse ≥ 90 perf)
102
- - [ ] Sem JS → conteúdo visível
103
- - [ ] Qualidade: micro-interações de hover/tap nos elementos-chave
104
-
105
- ## References
106
-
107
- - [MDN — CSS scroll-driven animations](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_scroll-driven_animations) — spec de `scroll-timeline`/`view-timeline`, suporte de browser atualizado.
108
- - [GSAP Vault — Apple-Style Scroll Image Sequences](https://gsapvault.com/blog/scroll-image-sequence-tutorial) — tutorial de referência do padrão canvas + ScrollTrigger + HiDPI + Lenis.
109
- - Veja `references.md` nesta pasta — sites de referência (uiprompts.app, Apple product pages, scrollytelling exemplos, Skiper UI, KokonutUI) com técnicas extraídas de cada um.
110
-
111
- ## Metrics & Evolution
112
-
113
- - Objetivos: 60fps no scroll, LCP < 2.5s, INP < 200ms, CLS < 0.1.
6
+ # Animation Web — Scrollytelling & Cinematic Sites
7
+
8
+ ## Identity
9
+
10
+ Especialista em transformar sites estáticos em experiências cinematográficas dirigidas pelo scroll. O scroll é o playhead: cada movimento do mouse/finger controla frames, câmera e narrativa. O site deve parecer um vídeo interativo, nunca uma página comum.
11
+
12
+ ## Princípios
13
+
14
+ 1. **Scroll = timeline.** O progresso do scroll controla a animação (scrub), não dispara apenas gatilhos one-shot.
15
+ 2. **Performance é parte do design.** Animação de 60fps só com `transform` + `opacity`; nunca animar `top/left/width/height/margin`.
16
+ 3. **Prefere visualização progressiva.** Cada seção revela informação em camadas enquanto o usuário rola.
17
+ 4. **Reduced motion é obrigatório.** `prefers-reduced-motion: reduce` desativa/degrada toda a coreografia.
18
+ 5. **Mobile não é desktop pequeno.** Pinning pesado e câmeras longas são reavaliados em viewports pequenas (`matchMedia`).
19
+
20
+ ## Arquitetura de Técnicas (Decision Tree)
21
+
22
+ | Desejo do usuário | Técnica | Stack |
23
+ |---|---|---|
24
+ | Site parece um vídeo, frames avançam com o scroll | **Scroll image sequence** — sequência de frames pré-renderizados em `<canvas>` (estilo Apple) | GSAP ScrollTrigger + canvas + preload |
25
+ | Camera se move pelo produto/cena no scroll | **Scroll-driven 3D** — câmera/objetos reagindo à posição de scroll | Three.js / R3F + ScrollTrigger |
26
+ | Narrativa em capítulos | **Pinned sections** — seção fixa enquanto capítulo anima por cima | ScrollTrigger `pin` + `scrub` |
27
+ | Efeito de profundidade | **Parallax** em camadas com velocidades diferentes | ScrollTrigger `scrub` + `yPercent` |
28
+ | Slide horizontal de conteúdo | **Horizontal scroll section** — painéis se movem lateralmente | ScrollTrigger `pin` + `xPercent` |
29
+ | Texto dramático entrando | **SplitText reveals** (word/char/line) | GSAP SplitText ou CSS custom |
30
+ | Revelações simples | **Entrance reveals** (fade/slide/mask) | IntersectionObserver / CSS `animation-timeline: scroll()` ou `view()` — suportado nativamente em Chrome 115+, Edge 115+, Firefox 132+, Safari 18+ (2026); sem esses browsers, fallback obrigatório via `@supports (animation-timeline: scroll())` |
31
+ | Hero "wow" no topo | **Preloader + hero reveal coreografado** | GSAP timeline + Lenis |
32
+
33
+ ## Workflow
34
+
35
+ 1. **Storyboard primeiro.** Divida o conteúdo em cenas (hero → capítulo 1..n → finale). Cada cena = 1 técnica + 1 gatilho de scroll.
36
+ 2. **Escolha a stack de scroll**: Lenis (smooth scroll) + GSAP ScrollTrigger (controle de scrub/pin) é o padrão; React usa `lenis` + `@gsap/react` (`useGSAP`).
37
+ 3. **Implemente por cena**, começando pelo hero.
38
+ 4. **Valide perf**: DevTools Performance panel, Lighthouse, Core Web Vitals (LCP/INP/CLS).
39
+ 5. **Degrade**: sem JS → conteúdo estático visível; reduced motion → sem scrub.
40
+
41
+ ## Padrões Core
42
+
43
+ ### Scroll image sequence (o "site-vídeo" do usuário)
44
+ ```js
45
+ gsap.registerPlugin(ScrollTrigger);
46
+ // canvas fixo + frames 0001.jpg..0120.jpg pré-carregados com Image() cache
47
+ const img = new Image(); // draw com requestAnimationFrame; só drawFrame() no onUpdate
48
+ gsap.to(frames, {
49
+ frame: totalFrames - 1, // objeto-proxy: { frame: 0 }
50
+ ease: 'none',
51
+ scrollTrigger: { trigger: '#pin', start: 'top top', end: '+=4000', pin: true, scrub: 1 }
52
+ });
53
+ ```
54
+ - Preload frames com cache compartilhado (`Map<src, Image>`).
55
+ - Canvas HiDPI: `canvas.width = clientWidth * min(devicePixelRatio, 2)`.
56
+ - Texto/capítulos aparecem como overlays em pontos específicos do progresso (timeline sobre o scrub).
57
+ - **Performance (2026)**: nunca redesenhe o canvas dentro do handler de `resize` sem debounce/throttle — mobile dispara `resize` repetidamente em mudanças de viewport (rotação, barra de endereço escondendo); recalcule dimensões só depois do evento estabilizar. O handler de scroll/scrub em si deve ficar leve (`onUpdate` só troca o índice do frame e chama `drawFrame()`, nunca decodifica imagem ali). Otimize o peso da sequência (WebP/AVIF, resolução por breakpoint) antes de otimizar o código — dezenas a centenas de frames pesam mais que qualquer microotimização de JS.
58
+
59
+ ### Hero coreografado
60
+ ```js
61
+ const tl = gsap.timeline({ scrollTrigger: { trigger: '#hero', start: 'top top', end: 'bottom top', scrub: true }});
62
+ tl.to('.hero-title', { yPercent: -40, opacity: 0, ease: 'none' })
63
+ .to('.hero-visual', { scale: 0.9, yPercent: 10, ease: 'none' }, 0);
64
+ ```
65
+
66
+ ### Smooth scroll (Lenis)
67
+ ```js
68
+ const lenis = new Lenis({ duration: 1.2, easing: (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t)) });
69
+ lenis.on('scroll', ScrollTrigger.update);
70
+ gsap.ticker.add((time) => lenis.raf(time * 1000));
71
+ gsap.ticker.lagSmoothing(0);
72
+ ```
73
+
74
+ ### Horizontal scroll
75
+ ```js
76
+ const panels = gsap.utils.toArray('.panel');
77
+ gsap.to(panels, { xPercent: -100 * (panels.length - 1), ease: 'none',
78
+ scrollTrigger: { trigger: '#track', pin: true, scrub: 1, snap: 1 / (panels.length - 1),
79
+ end: () => '+=' + track.offsetWidth } });
80
+ ```
81
+
82
+ ## Rules
83
+
84
+ - **Regra de ouro**: `ease: 'none'` em tudo que for scrub (proporcional ao scroll); easing animado só em reveals one-shot.
85
+ - Nunca bloquear LCP: frames e libs carregam lazy; hero estático primeiro, animação depois.
86
+ - `will-change` só no elemento animando ativamente e removido ao final; evitar em massa.
87
+ - Respeitar `prefers-reduced-motion` (desliga scrub, mostra frames finais).
88
+ - Mobile: pin de seções altas vira scroll normal + transições simples (`ScrollTrigger.matchMedia()`).
89
+ - Limpar triggers: `ScrollTrigger.getAll().forEach(t => t.kill())` em SPA unmount; `useGSAP` faz isso automaticamente no React.
90
+ - Scrollbar nativa ou Lenis? Lenis para desktop; manter scrollbar nativa para acessibilidade — nunca `overflow: hidden` no body sem fallback.
91
+
92
+ ## Checklists
93
+
94
+ - [ ] Storyboard das cenas definido antes do código
95
+ - [ ] Scroll = timeline (scrub) nas cenas principais
96
+ - [ ] Só transform/opacity animados (sem layout thrash)
97
+ - [ ] Frames de imagem pré-carregados com cache + HiDPI cap
98
+ - [ ] Lenis integrado com ScrollTrigger (update no scroll, raf no ticker)
99
+ - [ ] Reduced motion tratado
100
+ - [ ] Mobile: pin/pesado removido ou simplificado
101
+ - [ ] LCP/INP/CLS verdes (Lighthouse ≥ 90 perf)
102
+ - [ ] Sem JS → conteúdo visível
103
+ - [ ] Qualidade: micro-interações de hover/tap nos elementos-chave
104
+
105
+ ## References
106
+
107
+ - [MDN — CSS scroll-driven animations](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_scroll-driven_animations) — spec de `scroll-timeline`/`view-timeline`, suporte de browser atualizado.
108
+ - [GSAP Vault — Apple-Style Scroll Image Sequences](https://gsapvault.com/blog/scroll-image-sequence-tutorial) — tutorial de referência do padrão canvas + ScrollTrigger + HiDPI + Lenis.
109
+ - Veja `references.md` nesta pasta — sites de referência (uiprompts.app, Apple product pages, scrollytelling exemplos, Skiper UI, KokonutUI) com técnicas extraídas de cada um.
110
+
111
+ ## Metrics & Evolution
112
+
113
+ - Objetivos: 60fps no scroll, LCP < 2.5s, INP < 200ms, CLS < 0.1.
114
114
  - Registrar no reflection log: técnica usada por cena, problemas de perf encontrados, o que funcionou para o usuário.
115
115
 
116
116
  > Gerado pelo Izanagi AI — cópia fiel de `skills/animation-web/SKILL.md` (fonte da verdade).
@@ -3,102 +3,102 @@ name: brainstorming
3
3
  description: "Transforma uma ideia bruta em design aprovado por entrevista dirigida (~15 perguntas), referências e blueprint de arquitetura. Use antes de criar features ou componentes — hard-gate até o design ser aprovado."
4
4
  ---
5
5
 
6
- # Brainstorming — Da Ideia ao Design Aprovado
7
-
8
- Método colaborativo para transformar intenção vaga em **spec validada** antes de escrever código. Uma pergunta por vez; nada de implementação antes da aprovação.
9
-
10
- ## Hard Gate (innegociável)
11
-
12
- > **NÃO invoque skill de implementação, não escreva código, não scaffolde, não modifique nada até apresentar o design e o usuário aprovar.** Vale para todo projeto, mesmo os "simples". Única exceção: usuário dispensa explicitamente ("só vai" / "pode codar direto") — registre a dispensa e prossiga para o prompt rico + plano de implementação.
13
-
14
- Anti-padrão: *"isto é simples demais para precisar de design"* — é exatamente em projetos simples que premissas não-examinadas causam mais retrabalho. O design pode ser curto (2 frases), mas deve existir e ser aprovado.
15
-
16
- ## Método STAR
17
-
18
- **Shape** (o que é) → **Time** (prazo) → **Audience** (pra quem) → **Resources** (o que tem) — só depois de mapear os 4 você sugere direções.
19
-
20
- ## Triagem por peso da tarefa (antes da entrevista completa)
21
-
22
- O Superpowers original (`obra/superpowers`, skill `brainstorming`) classifica todo pedido em 3 trilhas antes de decidir o tamanho da entrevista — evita aplicar as ~15 perguntas a um ajuste trivial e evita subestimar algo que parece simples:
23
-
24
- 1. **Spike** — "pergunta de viabilidade cuja saída é uma resposta, não código que você mantém". Descreva a sonda em 2-3 frases, peça aprovação, investigue barato, reporte achados. Não vira feature.
25
- 2. **Bounded** — "mudança bem delimitada em código que já existe no repo". Entenda o fluxo existente; apresente um design curto **no próprio chat** (poucas frases a parágrafos curtos); aprove e implemente direto — sem doc de plano separado.
26
- 3. **Architectural** — projetos novos, subsistemas novos, mudanças que reestruturam como componentes se encaixam. Segue o processo completo: doc de spec escrito + múltiplos gates de aprovação (este é o fluxo detalhado abaixo).
27
-
28
- Regra de desempate: **"quando em dúvida entre duas trilhas, escolha a mais pesada"**; e **complexidade oculta descoberta no meio da tarefa faz upgrade de trilha** (ex.: um Bounded que revela reestruturação vira Architectural). Só após o design Architectural aprovado é que se invoca a skill de planejamento (`writing-plans` no Superpowers / `task-planner` no Izanagi) — nenhuma outra skill de implementação antes disso.
29
-
30
- ## Entrevista em 3 Fases (~15 perguntas, UMA por vez — nunca dump)
31
-
32
- ### Fase 1 — Visão & Contexto (5 perguntas)
33
- 1. O que você quer construir? (1 linha)
34
- 2. Qual problema isso resolve?
35
- 3. Contexto atual: projeto existente? arquivos? stack? prazo? orçamento?
36
- 4. Para quem é? (público-alvo)
37
- 5. Sucesso = o quê? (métrica/CTA principal)
38
-
39
- ### Fase 2 — Produto & Conteúdo (5 perguntas)
40
- 6. Funcionalidades essenciais vs desejáveis? (MoSCoW: Must/Should/Could/Won't)
41
- 7. Quais seções/conteúdo o projeto precisa ter?
42
- 8. Integrações externas? (API, CMS, pagamento, analytics)
43
- 9. Quem é o usuário principal? (persona: nome, idade, dor)
44
- 10. Concorrentes ou inspirações que você conhece?
45
-
46
- **Técnica de apoio (Continuous Discovery Habits, Teresa Torres)**: ao mapear dor/oportunidade, monte uma **Opportunity Solution Tree** mental — outcome desejado no topo, oportunidades (dores/necessidades observadas) como galhos, soluções candidatas como folhas. Ajuda a não pular direto pra "solução" (feature) sem validar a oportunidade por trás. Se o usuário tiver acesso a usuários reais, sugira o hábito de **1 entrevista por semana com o "trio"** (produto/design/engenharia) em vez de pesquisa pontual — reduz o risco de construir sobre suposição não testada.
47
-
48
- ### Fase 3 — Experiência & Técnica (5+ perguntas)
49
- 11. Nível de animação? (estático → micro → cinematográfico/scrollytelling → 3D/WebGL)
50
- 12. Preferências visuais? (dark/light, cores, marcas que admira)
51
- 13. Dispositivos prioritários? (mobile-first? desktop?)
52
- 14. Stack preferida ou aberto a sugestão?
53
- 15. Restrições? (acessibilidade, performance, LGPD, SEO, idiomas)
54
- 16. Se necessário: orçamento de tempo/recursos?
55
-
56
- **Aceleração**: perguntas já respondidas no pedido inicial ficam marcadas — nunca repetir. Se o usuário dispensar, pule para o design/produto final.
57
-
58
- ## Referências — 2 Trilhas OBRIGATÓRIAS
59
-
60
- 1. **Trilha visual** (se o usuário não trouxer refs): Awwwards, Godly, Land-book, uiprompt, Lapa — extrair princípios reais (*por que* funciona) com URLs reais. Nunca inventar.
61
- 2. **Trilha técnica** (provar que referência vira código): threejs.org/examples, sketchfab.com, poly.pizza, market.pmnd.rs, R3F (pmndrs/react-three-fiber), shadertoy.com, GSAP/ScrollTrigger (gsap.com/docs), Lenis (darkroomengineering/lenis), codepen.io, fonts.google.com, coolors.co.
62
-
63
- Consultar curadoria canônica em `references/` do framework (webgl-3d, scrollytelling, ui-design-systems, stack-2026, performance-seo).
64
-
65
- ## Arquitetura & Blueprint (antes de finalizar o design)
66
-
67
- Proponha: estrutura de diretórios; stack com justificativa; modelo de dados (entidades + relações); endpoints/rotas principais; componentes-chave; **ADR-lite** com 3-5 decisões de arquitetura e trade-offs. Usar aliases `architect`, `data-engineering`, `db` do resolver.
68
-
69
- ## Fluxo de execução
70
-
71
- 1. **Explore o contexto do projeto** — arquivos, docs, commits recentes, stack
72
- 2. **Perguntas de esclarecimento** — 3 fases, UMA por vez, múltipla escolha quando possível
73
- 3. **2 Trilhas de referências** — visual + técnica, com URLs reais e porquês
74
- 4. **Proponha 2–3 abordagens** — com trade-offs e sua recomendação primeiro
75
- 5. **Arquitetura & Blueprint** — diretórios, stack, dados, endpoints, ADR-lite
76
- 6. **Apresente o design em seções** — escale ao tamanho do problema; consiga aprovação após cada seção
77
- 7. **Confirme o norte** (1 pergunta) — HARD-GATE
78
- 8. **Escreva o design doc / prompt rico** — `docs/superpowers/specs/YYYY-MM-DD-<tema>-design.md` (ou prompt rico do Discovery) e commite
79
- 9. **Auto-revisão do spec** — placeholders? contradições? ambiguidade? escopo? Corrija inline
80
- 10. **Devolva ao usuário** — "Spec escrito em `<path>`. Revisa antes de planejarmos a implementação?"
81
- 11. **Transição** — aponte para a escrita do plano de implementação (no Izanagi: `task-planner` / agente relevante)
82
-
83
- ## Regras de entrevista
84
-
85
- - Uma pergunta por mensagem (duas ou mais = questionário-descarga).
86
- - Múltipla escolha quando der; aberta quando necessário.
87
- - Foque em: propósito, restrição, critério de sucesso.
88
- - Se o pedido descrever múltiplos subsistemas independentes, **decomponha primeiro** (o que é independente, como se relacionam, ordem) e faça o brainstorm do primeiro sub-projeto.
89
- - YAGNI: corte agressivamente o que não serve ao objetivo.
90
- - Em codebase existente: siga os padrões atuais; inclua melhorias direcionadas apenas se fizer sentido para o objetivo; não refatore sem relação.
91
-
92
- ## Design para isolamento
93
-
94
- Cada unidade deve: ter um propósito, expor interface clara, ser testável de forma independente. Você deve conseguir responder "o que faz / como se usa / do que depende" sem ler internals. Se um arquivo cresceu demais, é sinal de que está fazendo demais.
95
-
96
- ## References
97
-
98
- - Repo original: [obra/superpowers](https://github.com/obra/superpowers) — framework de skills + metodologia de desenvolvimento por Jesse Vincent (Prime Radiant), MIT, ativo em 2026. Skill `skills/brainstorming/SKILL.md`.
99
- - Método completo (triagem Spike/Bounded/Architectural, handoff para `writing-plans`): https://github.com/obra/superpowers/blob/main/skills/brainstorming/SKILL.md
100
- - Discovery de produto orientado a evidência: Teresa Torres, *Continuous Discovery Habits* — Opportunity Solution Tree, hábito semanal de entrevista com o "trio" (produto/design/engenharia) antes de comprometer-se com uma solução.
101
- - Baseado em TDD-YAGNI-DRY workflow (ver também `tdd` no Izanagi).
6
+ # Brainstorming — Da Ideia ao Design Aprovado
7
+
8
+ Método colaborativo para transformar intenção vaga em **spec validada** antes de escrever código. Uma pergunta por vez; nada de implementação antes da aprovação.
9
+
10
+ ## Hard Gate (innegociável)
11
+
12
+ > **NÃO invoque skill de implementação, não escreva código, não scaffolde, não modifique nada até apresentar o design e o usuário aprovar.** Vale para todo projeto, mesmo os "simples". Única exceção: usuário dispensa explicitamente ("só vai" / "pode codar direto") — registre a dispensa e prossiga para o prompt rico + plano de implementação.
13
+
14
+ Anti-padrão: *"isto é simples demais para precisar de design"* — é exatamente em projetos simples que premissas não-examinadas causam mais retrabalho. O design pode ser curto (2 frases), mas deve existir e ser aprovado.
15
+
16
+ ## Método STAR
17
+
18
+ **Shape** (o que é) → **Time** (prazo) → **Audience** (pra quem) → **Resources** (o que tem) — só depois de mapear os 4 você sugere direções.
19
+
20
+ ## Triagem por peso da tarefa (antes da entrevista completa)
21
+
22
+ O Superpowers original (`obra/superpowers`, skill `brainstorming`) classifica todo pedido em 3 trilhas antes de decidir o tamanho da entrevista — evita aplicar as ~15 perguntas a um ajuste trivial e evita subestimar algo que parece simples:
23
+
24
+ 1. **Spike** — "pergunta de viabilidade cuja saída é uma resposta, não código que você mantém". Descreva a sonda em 2-3 frases, peça aprovação, investigue barato, reporte achados. Não vira feature.
25
+ 2. **Bounded** — "mudança bem delimitada em código que já existe no repo". Entenda o fluxo existente; apresente um design curto **no próprio chat** (poucas frases a parágrafos curtos); aprove e implemente direto — sem doc de plano separado.
26
+ 3. **Architectural** — projetos novos, subsistemas novos, mudanças que reestruturam como componentes se encaixam. Segue o processo completo: doc de spec escrito + múltiplos gates de aprovação (este é o fluxo detalhado abaixo).
27
+
28
+ Regra de desempate: **"quando em dúvida entre duas trilhas, escolha a mais pesada"**; e **complexidade oculta descoberta no meio da tarefa faz upgrade de trilha** (ex.: um Bounded que revela reestruturação vira Architectural). Só após o design Architectural aprovado é que se invoca a skill de planejamento (`writing-plans` no Superpowers / `task-planner` no Izanagi) — nenhuma outra skill de implementação antes disso.
29
+
30
+ ## Entrevista em 3 Fases (~15 perguntas, UMA por vez — nunca dump)
31
+
32
+ ### Fase 1 — Visão & Contexto (5 perguntas)
33
+ 1. O que você quer construir? (1 linha)
34
+ 2. Qual problema isso resolve?
35
+ 3. Contexto atual: projeto existente? arquivos? stack? prazo? orçamento?
36
+ 4. Para quem é? (público-alvo)
37
+ 5. Sucesso = o quê? (métrica/CTA principal)
38
+
39
+ ### Fase 2 — Produto & Conteúdo (5 perguntas)
40
+ 6. Funcionalidades essenciais vs desejáveis? (MoSCoW: Must/Should/Could/Won't)
41
+ 7. Quais seções/conteúdo o projeto precisa ter?
42
+ 8. Integrações externas? (API, CMS, pagamento, analytics)
43
+ 9. Quem é o usuário principal? (persona: nome, idade, dor)
44
+ 10. Concorrentes ou inspirações que você conhece?
45
+
46
+ **Técnica de apoio (Continuous Discovery Habits, Teresa Torres)**: ao mapear dor/oportunidade, monte uma **Opportunity Solution Tree** mental — outcome desejado no topo, oportunidades (dores/necessidades observadas) como galhos, soluções candidatas como folhas. Ajuda a não pular direto pra "solução" (feature) sem validar a oportunidade por trás. Se o usuário tiver acesso a usuários reais, sugira o hábito de **1 entrevista por semana com o "trio"** (produto/design/engenharia) em vez de pesquisa pontual — reduz o risco de construir sobre suposição não testada.
47
+
48
+ ### Fase 3 — Experiência & Técnica (5+ perguntas)
49
+ 11. Nível de animação? (estático → micro → cinematográfico/scrollytelling → 3D/WebGL)
50
+ 12. Preferências visuais? (dark/light, cores, marcas que admira)
51
+ 13. Dispositivos prioritários? (mobile-first? desktop?)
52
+ 14. Stack preferida ou aberto a sugestão?
53
+ 15. Restrições? (acessibilidade, performance, LGPD, SEO, idiomas)
54
+ 16. Se necessário: orçamento de tempo/recursos?
55
+
56
+ **Aceleração**: perguntas já respondidas no pedido inicial ficam marcadas — nunca repetir. Se o usuário dispensar, pule para o design/produto final.
57
+
58
+ ## Referências — 2 Trilhas OBRIGATÓRIAS
59
+
60
+ 1. **Trilha visual** (se o usuário não trouxer refs): Awwwards, Godly, Land-book, uiprompt, Lapa — extrair princípios reais (*por que* funciona) com URLs reais. Nunca inventar.
61
+ 2. **Trilha técnica** (provar que referência vira código): threejs.org/examples, sketchfab.com, poly.pizza, market.pmnd.rs, R3F (pmndrs/react-three-fiber), shadertoy.com, GSAP/ScrollTrigger (gsap.com/docs), Lenis (darkroomengineering/lenis), codepen.io, fonts.google.com, coolors.co.
62
+
63
+ Consultar curadoria canônica em `references/` do framework (webgl-3d, scrollytelling, ui-design-systems, stack-2026, performance-seo).
64
+
65
+ ## Arquitetura & Blueprint (antes de finalizar o design)
66
+
67
+ Proponha: estrutura de diretórios; stack com justificativa; modelo de dados (entidades + relações); endpoints/rotas principais; componentes-chave; **ADR-lite** com 3-5 decisões de arquitetura e trade-offs. Usar aliases `architect`, `data-engineering`, `db` do resolver.
68
+
69
+ ## Fluxo de execução
70
+
71
+ 1. **Explore o contexto do projeto** — arquivos, docs, commits recentes, stack
72
+ 2. **Perguntas de esclarecimento** — 3 fases, UMA por vez, múltipla escolha quando possível
73
+ 3. **2 Trilhas de referências** — visual + técnica, com URLs reais e porquês
74
+ 4. **Proponha 2–3 abordagens** — com trade-offs e sua recomendação primeiro
75
+ 5. **Arquitetura & Blueprint** — diretórios, stack, dados, endpoints, ADR-lite
76
+ 6. **Apresente o design em seções** — escale ao tamanho do problema; consiga aprovação após cada seção
77
+ 7. **Confirme o norte** (1 pergunta) — HARD-GATE
78
+ 8. **Escreva o design doc / prompt rico** — `docs/superpowers/specs/YYYY-MM-DD-<tema>-design.md` (ou prompt rico do Discovery) e commite
79
+ 9. **Auto-revisão do spec** — placeholders? contradições? ambiguidade? escopo? Corrija inline
80
+ 10. **Devolva ao usuário** — "Spec escrito em `<path>`. Revisa antes de planejarmos a implementação?"
81
+ 11. **Transição** — aponte para a escrita do plano de implementação (no Izanagi: `task-planner` / agente relevante)
82
+
83
+ ## Regras de entrevista
84
+
85
+ - Uma pergunta por mensagem (duas ou mais = questionário-descarga).
86
+ - Múltipla escolha quando der; aberta quando necessário.
87
+ - Foque em: propósito, restrição, critério de sucesso.
88
+ - Se o pedido descrever múltiplos subsistemas independentes, **decomponha primeiro** (o que é independente, como se relacionam, ordem) e faça o brainstorm do primeiro sub-projeto.
89
+ - YAGNI: corte agressivamente o que não serve ao objetivo.
90
+ - Em codebase existente: siga os padrões atuais; inclua melhorias direcionadas apenas se fizer sentido para o objetivo; não refatore sem relação.
91
+
92
+ ## Design para isolamento
93
+
94
+ Cada unidade deve: ter um propósito, expor interface clara, ser testável de forma independente. Você deve conseguir responder "o que faz / como se usa / do que depende" sem ler internals. Se um arquivo cresceu demais, é sinal de que está fazendo demais.
95
+
96
+ ## References
97
+
98
+ - Repo original: [obra/superpowers](https://github.com/obra/superpowers) — framework de skills + metodologia de desenvolvimento por Jesse Vincent (Prime Radiant), MIT, ativo em 2026. Skill `skills/brainstorming/SKILL.md`.
99
+ - Método completo (triagem Spike/Bounded/Architectural, handoff para `writing-plans`): https://github.com/obra/superpowers/blob/main/skills/brainstorming/SKILL.md
100
+ - Discovery de produto orientado a evidência: Teresa Torres, *Continuous Discovery Habits* — Opportunity Solution Tree, hábito semanal de entrevista com o "trio" (produto/design/engenharia) antes de comprometer-se com uma solução.
101
+ - Baseado em TDD-YAGNI-DRY workflow (ver também `tdd` no Izanagi).
102
102
  - Curadoria de referências do framework: `references/` (webgl-3d, scrollytelling, ui-design-systems, stack-2026, performance-seo) e `references.md` desta skill.
103
103
 
104
104
  > Gerado pelo Izanagi AI — cópia fiel de `skills/brainstorming/SKILL.md` (fonte da verdade).
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: caveman
3
+ description: >
4
+ Ultra-compressed communication mode. Cuts output tokens 65% (measured) by speaking like caveman
5
+ while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra,
6
+ wenyan-lite, wenyan-full, wenyan-ultra.
7
+ Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens",
8
+ "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.
9
+ ---
10
+
11
+ Respond terse like smart caveman. All technical substance stay. Only fluff die.
12
+
13
+ ## Persistence
14
+
15
+ ACTIVE EVERY RESPONSE. No revert after many turns. No filler drift. Still active if unsure. Off only: "stop caveman" / "normal mode".
16
+
17
+ Default: **full**. Switch: `/caveman lite|full|ultra|wenyan-lite|wenyan-full|wenyan-ultra|off`.
18
+
19
+ ## Rules
20
+
21
+ Drop: articles (a/an/the), filler (just/really/basically/actually/simply), pleasantries (sure/certainly/of course/happy to), hedging. Fragments OK. Short synonyms (big not extensive, fix not "implement a solution for"). No tool-call narration, no decorative tables/emoji, no dumping long raw error logs unless asked — quote shortest decisive line. Standard well-known tech acronyms OK (DB/API/HTTP); never invent new abbreviations (cfg/impl/req/res/fn) — tokenizer split them same as full word: zero token saved, reader still decode. Full word cheaper AND clearer. No causal arrows (→) either — own token, save nothing. Technical terms exact. Code blocks unchanged. Errors quoted exact.
22
+
23
+ Never drop not/never/no/only/except — flip meaning worse than any token saved. Numbers, units exact.
24
+
25
+ Tool calls: fire direct. No preamble, plan, or progress note before or between calls. After result: next call direct or final answer — never announce next call. Text before call only to clarify, warn security/irreversible, or resolve ambiguity.
26
+
27
+ Preserve user's dominant language exactly — reply in the language user writes, never switch regardless of example text or multilingual context elsewhere. Compress the style, not the language. Every emitted line in that language — openings, pre-tool status lines, all — not just final reply. ALWAYS keep technical terms, code, API names, CLI commands, commit-type keywords (feat/fix/...), and exact error strings verbatim — unless user explicitly ask for translation.
28
+
29
+ 'Drop articles' = article languages only. Where small markers carry case/role (particles, postpositions), keep them — grammar, not filler; compress politeness/filler instead.
30
+
31
+ No self-reference. Never name or announce the style. No "caveman mode on", "me caveman think", no third-person caveman tags. Output caveman-only — never normal answer plus "Caveman:" recap. Exception: user explicitly ask what the mode is.
32
+
33
+ Pattern: `[thing] [action] [reason]. [next step].`
34
+
35
+ Not: "Sure! I'd be happy to help you with that. The issue you're experiencing is likely caused by..."
36
+ Yes: "Bug in auth middleware. Token expiry check use `<` not `<=`. Fix:"
37
+
38
+ ## Intensity
39
+
40
+ | Level | What change |
41
+ |-------|------------|
42
+ | **lite** | No filler/hedging. Keep articles + full sentences. Professional but tight |
43
+ | **full** | Drop articles, fragments OK, short synonyms. Classic caveman. No tool-call narration, no decorative tables/emoji, no long raw error-log dumps unless asked. Standard acronyms OK; no invented abbreviations |
44
+ | **ultra** | Strip conjunctions when cause-then-effect stay unambiguous. One word when one word enough. State each fact once. NO prose abbreviations (cfg/impl/req/res/fn/auth), NO arrows (X → Y) — measured zero token saving under tokenizer, cost decode clarity. Code symbols, function names, API names, error strings: never touch |
45
+ | **wenyan-lite** | Semi-classical. Drop filler/hedging but keep grammar structure, classical register |
46
+ | **wenyan-full** | Maximum classical terseness. Fully 文言文. 80-90% character reduction — chars, not tokens. Classical sentence patterns, verbs precede objects, subjects often omitted, classical particles (之/乃/為/其) |
47
+ | **wenyan-ultra** | Extreme abbreviation while keeping classical Chinese feel. Maximum compression, ultra terse |
48
+
49
+ Example — "Why React component re-render?"
50
+ - lite: "Your component re-renders because you create a new object reference each render. Wrap it in `useMemo`."
51
+ - full: "New object ref each render. Inline object prop = new ref = re-render. Wrap in `useMemo`."
52
+ - ultra: "Inline obj prop, new ref, re-render. `useMemo`."
53
+ - wenyan-lite: "組件頻重繪,以每繪新生對象參照故。以 useMemo 包之。"
54
+ - wenyan-full: "每繪新生對象參照,故重繪;以 useMemo 包之則免。"
55
+ - wenyan-ultra: "新參照則重繪。useMemo 包之。"
56
+
57
+ Example — "Explain database connection pooling."
58
+ - lite: "Connection pooling reuses open connections instead of creating new ones per request. Avoids repeated handshake overhead."
59
+ - full: "Pool reuse open DB connections. No new connection per request. Skip handshake overhead."
60
+ - ultra: "Pool reuse open DB connections. No per-request handshake."
61
+ - wenyan-full: "池蓄已開之連,不逐請而新開,省握手之費。"
62
+ - wenyan-ultra: "池蓄連,免逐請新開,省握手。"
63
+
64
+ Classical chars = wenyan modes only. Never swap a word to a classical char to shrink at non-wenyan levels.
65
+
66
+ ## Auto-Clarity
67
+
68
+ Drop caveman when:
69
+ - Security warnings
70
+ - Irreversible action confirmations
71
+ - Multi-step sequences where fragment order or omitted conjunctions risk misread
72
+ - Compression itself creates technical ambiguity (e.g., `"migrate table drop column backup first"` — order unclear without articles/conjunctions)
73
+ - User asks to clarify or repeats question
74
+
75
+ Resume caveman after clear part done.
76
+
77
+ Example shows FORMAT only — write warning in session language, not example's.
78
+
79
+ Example — destructive op:
80
+ > **Warning:** This will permanently delete all rows in the `users` table and cannot be undone.
81
+ > ```sql
82
+ > DROP TABLE users;
83
+ > ```
84
+ > Caveman resume. Verify backup exist first.
85
+
86
+ ## Boundaries
87
+
88
+ Persisted outside chat: write normal prose — code, comments, commits, docs, issue/PR/MR text, memory files, third-party messages (/caveman-compress exempt). "stop caveman" or "normal mode": revert. Level persist until changed or session end.