wizz-method 1.3.2 → 1.4.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.
- package/.claude-plugin/marketplace.json +4 -4
- package/README.md +1 -1
- package/evals/routing/dataset.json +290 -0
- package/evals/routing/run-routing-eval.mjs +89 -0
- package/package.json +11 -3
- package/skills-registry.yaml +72 -25
- package/src/modules/wizz/agents/wizz-ads/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-copy/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-designer/SKILL.md +6 -8
- package/src/modules/wizz/agents/wizz-growth/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-maestro/SKILL.md +6 -5
- package/src/modules/wizz/agents/wizz-memoria/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-qa/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-seo/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-social/SKILL.md +1 -1
- package/src/skills-lib/ai-product-design/SKILL.md +85 -0
- package/src/skills-lib/ai-product-design/references/LICENSE +21 -0
- package/src/skills-lib/ai-product-design/references/ai-alignment-reasoning/bias-detection-design/SKILL.md +37 -0
- package/src/skills-lib/ai-product-design/references/ai-alignment-reasoning/consent-and-agency/SKILL.md +37 -0
- package/src/skills-lib/ai-product-design/references/ai-alignment-reasoning/escalation-design/SKILL.md +40 -0
- package/src/skills-lib/ai-product-design/references/ai-alignment-reasoning/guardrail-design/SKILL.md +36 -0
- package/src/skills-lib/ai-product-design/references/ai-alignment-reasoning/harm-anticipation/SKILL.md +108 -0
- package/src/skills-lib/ai-product-design/references/ai-alignment-reasoning/transparency-patterns/SKILL.md +36 -0
- package/src/skills-lib/ai-product-design/references/ai-alignment-reasoning/trust-calibration/SKILL.md +102 -0
- package/src/skills-lib/ai-product-design/references/ai-alignment-reasoning/value-specification/SKILL.md +39 -0
- package/src/skills-lib/ai-product-design/references/design-agent-orchestration/agent-role-design/SKILL.md +37 -0
- package/src/skills-lib/ai-product-design/references/design-agent-orchestration/failure-recovery/SKILL.md +37 -0
- package/src/skills-lib/ai-product-design/references/design-agent-orchestration/handoff-protocols/SKILL.md +45 -0
- package/src/skills-lib/ai-product-design/references/design-agent-orchestration/human-in-the-loop/SKILL.md +39 -0
- package/src/skills-lib/ai-product-design/references/design-agent-orchestration/observability-design/SKILL.md +48 -0
- package/src/skills-lib/ai-product-design/references/design-agent-orchestration/state-management/SKILL.md +95 -0
- package/src/skills-lib/ai-product-design/references/design-agent-orchestration/task-decomposition/SKILL.md +36 -0
- package/src/skills-lib/ai-product-design/references/evaluation/comparative-evaluation/SKILL.md +39 -0
- package/src/skills-lib/ai-product-design/references/evaluation/failure-taxonomy/SKILL.md +47 -0
- package/src/skills-lib/ai-product-design/references/evaluation/heuristic-evaluation-ai/SKILL.md +46 -0
- package/src/skills-lib/ai-product-design/references/evaluation/longitudinal-measurement/SKILL.md +38 -0
- package/src/skills-lib/ai-product-design/references/evaluation/output-quality-rubrics/SKILL.md +41 -0
- package/src/skills-lib/ai-product-design/references/evaluation/task-success-metrics/SKILL.md +35 -0
- package/src/skills-lib/ai-product-design/references/evaluation/user-satisfaction-signals/SKILL.md +50 -0
- package/src/skills-lib/ai-product-design/references/model-interaction-design/context-window-design/SKILL.md +28 -0
- package/src/skills-lib/ai-product-design/references/model-interaction-design/conversation-patterns/SKILL.md +37 -0
- package/src/skills-lib/ai-product-design/references/model-interaction-design/feedback-loops/SKILL.md +35 -0
- package/src/skills-lib/ai-product-design/references/model-interaction-design/frustration-detection/SKILL.md +91 -0
- package/src/skills-lib/ai-product-design/references/model-interaction-design/generative-ui/SKILL.md +34 -0
- package/src/skills-lib/ai-product-design/references/model-interaction-design/mixed-initiative-flow/SKILL.md +39 -0
- package/src/skills-lib/ai-product-design/references/model-interaction-design/multimodal-orchestration/SKILL.md +94 -0
- package/src/skills-lib/ai-product-design/references/model-interaction-design/progressive-disclosure/SKILL.md +33 -0
- package/src/skills-lib/ai-product-design/references/prompt-architecture/chain-of-thought-design/SKILL.md +45 -0
- package/src/skills-lib/ai-product-design/references/prompt-architecture/constraint-specification/SKILL.md +50 -0
- package/src/skills-lib/ai-product-design/references/prompt-architecture/context-engineering/SKILL.md +45 -0
- package/src/skills-lib/ai-product-design/references/prompt-architecture/few-shot-patterns/SKILL.md +47 -0
- package/src/skills-lib/ai-product-design/references/prompt-architecture/prompt-versioning/SKILL.md +42 -0
- package/src/skills-lib/ai-product-design/references/prompt-architecture/system-prompt-structure/SKILL.md +50 -0
- package/src/skills-lib/ai-product-design/references/prompt-architecture/template-design/SKILL.md +42 -0
- package/src/skills-lib/ai-product-design/references/system-behavior-shaping/behavioral-consistency/SKILL.md +36 -0
- package/src/skills-lib/ai-product-design/references/system-behavior-shaping/cultural-adaptation/SKILL.md +38 -0
- package/src/skills-lib/ai-product-design/references/system-behavior-shaping/domain-voice/SKILL.md +51 -0
- package/src/skills-lib/ai-product-design/references/system-behavior-shaping/emotional-design/SKILL.md +51 -0
- package/src/skills-lib/ai-product-design/references/system-behavior-shaping/error-personality/SKILL.md +45 -0
- package/src/skills-lib/ai-product-design/references/system-behavior-shaping/persona-architecture/SKILL.md +38 -0
- package/src/skills-lib/ai-product-design/references/system-behavior-shaping/tone-calibration/SKILL.md +39 -0
- package/src/skills-lib/algorithmic-art/LICENSE.txt +202 -0
- package/src/skills-lib/algorithmic-art/SKILL.md +405 -0
- package/src/skills-lib/algorithmic-art/templates/generator_template.js +223 -0
- package/src/skills-lib/algorithmic-art/templates/viewer.html +599 -0
- package/src/skills-lib/animate/README.md +41 -0
- package/src/skills-lib/animate/SKILL.md +179 -0
- package/src/skills-lib/animate/examples/animate-height.tsx +75 -0
- package/src/skills-lib/animate/examples/app-store-card.tsx +164 -0
- package/src/skills-lib/animate/examples/card-hover.tsx +79 -0
- package/src/skills-lib/animate/examples/feedback-popover.tsx +119 -0
- package/src/skills-lib/animate/examples/multi-step-flow.tsx +128 -0
- package/src/skills-lib/animate/examples/shared-layout.tsx +64 -0
- package/src/skills-lib/animate/examples/text-reveal.tsx +70 -0
- package/src/skills-lib/animate/examples/toast-stacking.tsx +95 -0
- package/src/skills-lib/animate/references/css-animations.md +232 -0
- package/src/skills-lib/animate/references/easing-and-timing.md +105 -0
- package/src/skills-lib/animate/references/framer-motion.md +356 -0
- package/src/skills-lib/animate/references/performance-accessibility.md +185 -0
- package/src/skills-lib/auth-and-secrets/SKILL.md +38 -10
- package/src/skills-lib/canvas-design/LICENSE.txt +202 -0
- package/src/skills-lib/canvas-design/SKILL.md +130 -0
- package/src/skills-lib/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/src/skills-lib/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/src/skills-lib/design-motion-principles/SKILL.md +122 -0
- package/src/skills-lib/design-motion-principles/references/accessibility.md +52 -0
- package/src/skills-lib/design-motion-principles/references/anti-checklist.md +274 -0
- package/src/skills-lib/design-motion-principles/references/audit-checklist.md +137 -0
- package/src/skills-lib/design-motion-principles/references/creation-gotchas.md +36 -0
- package/src/skills-lib/design-motion-principles/references/demo-shell.html +275 -0
- package/src/skills-lib/design-motion-principles/references/emil-kowalski.md +121 -0
- package/src/skills-lib/design-motion-principles/references/jakub-krehel.md +80 -0
- package/src/skills-lib/design-motion-principles/references/jhey-tompkins.md +122 -0
- package/src/skills-lib/design-motion-principles/references/motion-cookbook.md +529 -0
- package/src/skills-lib/design-motion-principles/references/output-format.md +346 -0
- package/src/skills-lib/design-motion-principles/references/performance.md +82 -0
- package/src/skills-lib/design-motion-principles/references/report-template.html +1006 -0
- package/src/skills-lib/design-motion-principles/workflows/audit.md +203 -0
- package/src/skills-lib/design-motion-principles/workflows/create.md +87 -0
- package/src/skills-lib/desktop-security/SKILL.md +35 -4
- package/src/skills-lib/premium-landing-ui-researcher/SKILL.md +52 -2083
- package/src/skills-lib/premium-landing-ui-researcher/references/audit-protocol.md +124 -0
- package/src/skills-lib/premium-landing-ui-researcher/references/component-sources.md +336 -0
- package/src/skills-lib/premium-landing-ui-researcher/references/core-goal.md +62 -0
- package/src/skills-lib/premium-landing-ui-researcher/references/dashboard-and-portfolio-modes.md +92 -0
- package/src/skills-lib/premium-landing-ui-researcher/references/handoffs.md +55 -0
- package/src/skills-lib/premium-landing-ui-researcher/references/landing-page-strategy.md +227 -0
- package/src/skills-lib/premium-landing-ui-researcher/references/mandatory-process.md +36 -0
- package/src/skills-lib/premium-landing-ui-researcher/references/output-format-and-quality.md +129 -0
- package/src/skills-lib/premium-landing-ui-researcher/references/prompt-templates.md +206 -0
- package/src/skills-lib/premium-landing-ui-researcher/references/site-levels.md +515 -0
- package/src/skills-lib/premium-landing-ui-researcher/references/source-first-protocol.md +144 -0
- package/src/skills-lib/premium-landing-ui-researcher/references/source-links.md +39 -0
- package/src/skills-lib/premium-landing-ui-researcher/references/stack-and-visual-direction.md +118 -0
- package/src/skills-lib/taste-skill/SKILL.md +33 -1177
- package/src/skills-lib/taste-skill/references/anti-slop-tells.md +110 -0
- package/src/skills-lib/taste-skill/references/architecture-conventions.md +39 -0
- package/src/skills-lib/taste-skill/references/block-library.md +61 -0
- package/src/skills-lib/taste-skill/references/brief-and-dials.md +89 -0
- package/src/skills-lib/taste-skill/references/dark-mode.md +23 -0
- package/src/skills-lib/taste-skill/references/design-directives.md +191 -0
- package/src/skills-lib/taste-skill/references/design-systems.md +267 -0
- package/src/skills-lib/taste-skill/references/motion-patterns.md +167 -0
- package/src/skills-lib/taste-skill/references/pattern-vocabulary.md +78 -0
- package/src/skills-lib/taste-skill/references/performance-a11y.md +33 -0
- package/src/skills-lib/taste-skill/references/preflight-checklist.md +73 -0
- package/src/skills-lib/taste-skill/references/redesign-protocol.md +52 -0
- package/src/skills-lib/web-security/SKILL.md +74 -6
- package/src/skills-lib/wizz-router/SKILL.md +21 -243
- package/src/skills-lib/wizz-router/references/auditoria-360.md +21 -0
- package/src/skills-lib/wizz-router/references/routing-table-flat.md +95 -0
- package/src/squads/advisory-board/agents/ray-dalio.md +0 -20
- package/tools/hooks/README.md +17 -0
- package/tools/hooks/security-defensive-context.js +70 -0
- package/tools/hooks/session-rules.js +38 -0
- package/tools/hooks/wizz-router-enforce.js +188 -0
- package/tools/installer/modules/skills-lib.js +70 -1
- package/tools/sync-global.mjs +84 -0
- package/.claude/settings.local.json +0 -8
- package/src/core-skills/wizz-party-mode/scripts/__pycache__/resolve_party.cpython-314.pyc +0 -0
- package/src/skills-lib/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
- package/src/skills-lib/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
- package/src/skills-lib/ui-ux-pro-max/scripts/__pycache__/search.cpython-314.pyc +0 -0
- package/src/skills-lib/ui-ux-pro-max/scripts/graphify-out/cache/0964cef300f753b5cee0cc49777ca97035c85d45c212099405d9ee4da36e523f.json +0 -1
- package/src/skills-lib/ui-ux-pro-max/scripts/graphify-out/cache/21a40f6810c3a6f17acc3580f106171daf78c7b41bbd066bc80448a821ea0adf.json +0 -1
- package/src/skills-lib/ui-ux-pro-max/scripts/graphify-out/cache/69ea15a020ac81b8459e37ef63654398a50c1035fc01c43d8069df217389f7f3.json +0 -1
|
@@ -0,0 +1,515 @@
|
|
|
1
|
+
## Motion & Interaction Complexity Ladder
|
|
2
|
+
|
|
3
|
+
Sempre classificar o projeto em um destes níveis **antes** de recomendar componentes, animações, background, hover, scroll ou 3D. Cada nível tem seu próprio padrão de motion, interação e acabamento, e seu próprio **motion budget**.
|
|
4
|
+
|
|
5
|
+
Os cinco níveis oficiais são:
|
|
6
|
+
|
|
7
|
+
1. Basic Site
|
|
8
|
+
2. Intermediate Site
|
|
9
|
+
3. Advanced Site
|
|
10
|
+
4. 3D High-End Site
|
|
11
|
+
5. 3D High-End Site: modo Signature 3D Experience
|
|
12
|
+
|
|
13
|
+
Os dois erros que essa escada existe para evitar:
|
|
14
|
+
|
|
15
|
+
- **Basic Site sem vida**, parecendo página estática barata.
|
|
16
|
+
- **Signature 3D Experience poluído**, com efeitos demais sem direção.
|
|
17
|
+
|
|
18
|
+
A regra geral: toda landing precisa parecer viva, mas cada nível tem sua medida certa. Mais animação não significa melhor site: o melhor site usa motion como linguagem, não como decoração.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
### 1. Basic Site: Clean Motion
|
|
23
|
+
|
|
24
|
+
Usar para:
|
|
25
|
+
|
|
26
|
+
- landing simples;
|
|
27
|
+
- serviço local;
|
|
28
|
+
- página institucional;
|
|
29
|
+
- validação rápida;
|
|
30
|
+
- orçamento menor;
|
|
31
|
+
- oferta simples;
|
|
32
|
+
- projeto onde clareza importa mais que espetáculo.
|
|
33
|
+
|
|
34
|
+
Mesmo sendo básico, o site não deve parecer morto ou barato.
|
|
35
|
+
|
|
36
|
+
**Motion permitido (leve):**
|
|
37
|
+
|
|
38
|
+
- fade-in suave nas seções;
|
|
39
|
+
- slide-up leve no conteúdo;
|
|
40
|
+
- hover simples em botões;
|
|
41
|
+
- underline animado em links;
|
|
42
|
+
- transição suave de cards;
|
|
43
|
+
- pequenas mudanças de border/background no hover;
|
|
44
|
+
- reveal simples de imagens;
|
|
45
|
+
- CTA com hover claro;
|
|
46
|
+
- background estático com gradiente sutil.
|
|
47
|
+
|
|
48
|
+
**Background:**
|
|
49
|
+
|
|
50
|
+
- fundo sólido bem escolhido;
|
|
51
|
+
- gradiente leve;
|
|
52
|
+
- textura/noise discreto;
|
|
53
|
+
- nenhuma partícula pesada;
|
|
54
|
+
- nenhum WebGL;
|
|
55
|
+
- nenhum 3D.
|
|
56
|
+
|
|
57
|
+
**Hover:**
|
|
58
|
+
|
|
59
|
+
- botão muda cor ou brilho suavemente;
|
|
60
|
+
- cards sobem 2–4px;
|
|
61
|
+
- links com underline animado;
|
|
62
|
+
- ícones podem mover 2–3px.
|
|
63
|
+
|
|
64
|
+
**Não usar:**
|
|
65
|
+
|
|
66
|
+
- 3D;
|
|
67
|
+
- partículas;
|
|
68
|
+
- shaders;
|
|
69
|
+
- parallax pesado;
|
|
70
|
+
- scroll storytelling complexo;
|
|
71
|
+
- cursor custom;
|
|
72
|
+
- vídeo hero pesado;
|
|
73
|
+
- animação em excesso.
|
|
74
|
+
|
|
75
|
+
**Sensação final:** simples, profissional, bonito, rápido e confiável. O visitante deve pensar: *"É claro, bem feito e passa confiança."*
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
### 2. Intermediate Site: Polished Motion
|
|
80
|
+
|
|
81
|
+
Usar para:
|
|
82
|
+
|
|
83
|
+
- SaaS inicial;
|
|
84
|
+
- consultoria;
|
|
85
|
+
- creator;
|
|
86
|
+
- agência pequena;
|
|
87
|
+
- produto digital;
|
|
88
|
+
- landing de captação;
|
|
89
|
+
- oferta que precisa parecer mais valiosa.
|
|
90
|
+
|
|
91
|
+
**Motion permitido (além do Basic):**
|
|
92
|
+
|
|
93
|
+
- text reveal simples;
|
|
94
|
+
- stagger em cards;
|
|
95
|
+
- animated counters;
|
|
96
|
+
- marquee discreto;
|
|
97
|
+
- tabs animadas;
|
|
98
|
+
- accordion com motion suave;
|
|
99
|
+
- feature cards com hover mais refinado;
|
|
100
|
+
- mockup animado;
|
|
101
|
+
- gradient background animado lentamente;
|
|
102
|
+
- microinterações em CTAs;
|
|
103
|
+
- logos com fade/marquee;
|
|
104
|
+
- reveal de seção com timing coordenado.
|
|
105
|
+
|
|
106
|
+
**Background:**
|
|
107
|
+
|
|
108
|
+
- gradiente animado sutil;
|
|
109
|
+
- blobs leves;
|
|
110
|
+
- noise;
|
|
111
|
+
- grid sutil;
|
|
112
|
+
- pattern discreto;
|
|
113
|
+
- glow leve atrás do hero.
|
|
114
|
+
|
|
115
|
+
**Hover:**
|
|
116
|
+
|
|
117
|
+
- cards com border glow sutil;
|
|
118
|
+
- CTA com arrow animada;
|
|
119
|
+
- mockup com leve tilt;
|
|
120
|
+
- ícones com micro-movimento;
|
|
121
|
+
- cards com hover lift + shadow suave.
|
|
122
|
+
|
|
123
|
+
**Não usar:**
|
|
124
|
+
|
|
125
|
+
- 3D real pesado;
|
|
126
|
+
- WebGL complexo;
|
|
127
|
+
- muitos efeitos simultâneos;
|
|
128
|
+
- hero cinematográfico se o projeto não justificar;
|
|
129
|
+
- scroll hijacking.
|
|
130
|
+
|
|
131
|
+
**Sensação final:** polido, moderno, confiável e acima da média. O visitante deve pensar: *"Isso parece uma marca séria, bem posicionada e atual."*
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
### 3. Advanced Site: Premium Motion
|
|
136
|
+
|
|
137
|
+
Usar para:
|
|
138
|
+
|
|
139
|
+
- agência premium;
|
|
140
|
+
- startup;
|
|
141
|
+
- SaaS mais forte;
|
|
142
|
+
- high-ticket;
|
|
143
|
+
- consultoria sofisticada;
|
|
144
|
+
- marca pessoal forte;
|
|
145
|
+
- site de autoridade;
|
|
146
|
+
- portfolio premium.
|
|
147
|
+
|
|
148
|
+
**Motion permitido (além do Intermediate):**
|
|
149
|
+
|
|
150
|
+
- scroll effects;
|
|
151
|
+
- parallax em camadas;
|
|
152
|
+
- masked typography;
|
|
153
|
+
- image reveal com clip-path;
|
|
154
|
+
- cards com hover 3D leve;
|
|
155
|
+
- text reveal por palavras;
|
|
156
|
+
- scroll progress;
|
|
157
|
+
- seções com narrativa visual;
|
|
158
|
+
- transições cinematográficas moderadas;
|
|
159
|
+
- sticky sections;
|
|
160
|
+
- mockups com motion coordenado;
|
|
161
|
+
- hover magnético em CTAs;
|
|
162
|
+
- custom cursor discreto em áreas específicas;
|
|
163
|
+
- background com glow animado;
|
|
164
|
+
- SVG motion;
|
|
165
|
+
- microinterações em toda a UI.
|
|
166
|
+
|
|
167
|
+
**Background:**
|
|
168
|
+
|
|
169
|
+
- gradient mesh animado;
|
|
170
|
+
- grid técnico sutil;
|
|
171
|
+
- radial glow;
|
|
172
|
+
- noise;
|
|
173
|
+
- textura editorial;
|
|
174
|
+
- background com movimento lento;
|
|
175
|
+
- shader leve apenas se não pesar.
|
|
176
|
+
|
|
177
|
+
**Hover:**
|
|
178
|
+
|
|
179
|
+
- cards com tilt baseado no mouse;
|
|
180
|
+
- botões magnéticos;
|
|
181
|
+
- links com transição editorial;
|
|
182
|
+
- thumbnails com image reveal;
|
|
183
|
+
- case cards com preview animado;
|
|
184
|
+
- nav com blur/progress.
|
|
185
|
+
|
|
186
|
+
**Não usar:**
|
|
187
|
+
|
|
188
|
+
- 3D em todas as seções;
|
|
189
|
+
- excesso de neon;
|
|
190
|
+
- efeitos competindo com a copy;
|
|
191
|
+
- scroll preso/agressivo;
|
|
192
|
+
- animações lentas demais;
|
|
193
|
+
- glassmorphism exagerado;
|
|
194
|
+
- performance ruim no mobile.
|
|
195
|
+
|
|
196
|
+
**Sensação final:** premium, autoral, memorável e estratégico. O visitante deve pensar: *"Isso foi feito por alguém que entende design, produto e execução."*
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
### 4. 3D High-End Site: Cinematic Motion
|
|
201
|
+
|
|
202
|
+
Usar para:
|
|
203
|
+
|
|
204
|
+
- tecnologia;
|
|
205
|
+
- IA;
|
|
206
|
+
- inovação;
|
|
207
|
+
- estúdio premium;
|
|
208
|
+
- produto digital high-end;
|
|
209
|
+
- site de autoridade;
|
|
210
|
+
- marca que precisa demonstrar execução visual;
|
|
211
|
+
- projetos onde 3D aumenta percepção de valor.
|
|
212
|
+
|
|
213
|
+
**Motion permitido (além do Advanced):**
|
|
214
|
+
|
|
215
|
+
- 3D hero;
|
|
216
|
+
- WebGL;
|
|
217
|
+
- React Three Fiber;
|
|
218
|
+
- Three.js;
|
|
219
|
+
- Spline embed;
|
|
220
|
+
- Unicorn Studio background;
|
|
221
|
+
- shaders;
|
|
222
|
+
- particle systems;
|
|
223
|
+
- image-to-video;
|
|
224
|
+
- vídeo hero cinematográfico;
|
|
225
|
+
- scroll camera movement;
|
|
226
|
+
- floating elements em profundidade;
|
|
227
|
+
- glass cards com hover 3D;
|
|
228
|
+
- parallax avançado;
|
|
229
|
+
- cinematic section transitions;
|
|
230
|
+
- lighting motion;
|
|
231
|
+
- depth layers;
|
|
232
|
+
- atmospheric particles.
|
|
233
|
+
|
|
234
|
+
**Background:**
|
|
235
|
+
|
|
236
|
+
- WebGL background;
|
|
237
|
+
- shader background;
|
|
238
|
+
- vídeo loop;
|
|
239
|
+
- image-to-video;
|
|
240
|
+
- particle field;
|
|
241
|
+
- wireframe terrain;
|
|
242
|
+
- cinematic gradient;
|
|
243
|
+
- depth fog;
|
|
244
|
+
- atmospheric glow.
|
|
245
|
+
|
|
246
|
+
**Hover:**
|
|
247
|
+
|
|
248
|
+
- elementos com depth;
|
|
249
|
+
- cards seguindo cursor;
|
|
250
|
+
- CTA magnético;
|
|
251
|
+
- objeto 3D reagindo ao mouse;
|
|
252
|
+
- thumbnails com preview motion;
|
|
253
|
+
- sections com scroll-based transformations.
|
|
254
|
+
|
|
255
|
+
**Regras de composição (usar):**
|
|
256
|
+
|
|
257
|
+
- 1 hero 3D principal forte;
|
|
258
|
+
- 1 seção cinematográfica secundária;
|
|
259
|
+
- microinterações 3D pontuais;
|
|
260
|
+
- fallback mobile;
|
|
261
|
+
- performance budget.
|
|
262
|
+
|
|
263
|
+
**Não usar:**
|
|
264
|
+
|
|
265
|
+
- vários objetos 3D competindo;
|
|
266
|
+
- partículas em tudo;
|
|
267
|
+
- shaders em todas as seções;
|
|
268
|
+
- vídeo pesado sem poster;
|
|
269
|
+
- 3D sem função estratégica;
|
|
270
|
+
- animação só para impressionar.
|
|
271
|
+
|
|
272
|
+
**Sensação final:** cinematográfico, caro, técnico e memorável. O visitante deve pensar: *"Essa marca sabe construir coisas de outro nível."*
|
|
273
|
+
|
|
274
|
+
Regra: não usar 3D apenas para impressionar. Usar quando aumentar percepção de marca, desejo, diferenciação e valor. Se o ticket, público ou objetivo não justificam, voltar para Advanced.
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
### 5. Signature 3D Experience: Maximum Wow
|
|
279
|
+
|
|
280
|
+
Signature 3D Experience é o **modo máximo dentro de 3D High-End Site**: não é um nível à parte, é o teto desse nível.
|
|
281
|
+
|
|
282
|
+
Usar quando:
|
|
283
|
+
|
|
284
|
+
- for o site principal da agência;
|
|
285
|
+
- o objetivo for impressionar founders, startups ou clientes premium;
|
|
286
|
+
- o site for prova viva da capacidade da marca;
|
|
287
|
+
- o usuário pedir "o máximo", "outro nível", "uau", "high-end", "premium máximo";
|
|
288
|
+
- 3D, vídeo e motion forem parte da proposta de valor;
|
|
289
|
+
- o site precisa parecer projeto de 5.000 a 10.000+ euros.
|
|
290
|
+
|
|
291
|
+
**Objetivo:** criar uma experiência que gere reação imediata: *"Uau. Isso não é uma landing comum."*
|
|
292
|
+
|
|
293
|
+
A experiência deve parecer: autoral, cinematográfica, sofisticada, técnica, rara, memorável, impossível de confundir com template.
|
|
294
|
+
|
|
295
|
+
No formato de resposta, quando esse modo for usado, escrever:
|
|
296
|
+
|
|
297
|
+
```text
|
|
298
|
+
Nível recomendado:
|
|
299
|
+
3D High-End Site: modo Signature 3D Experience.
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
Não usar Signature 3D para projetos cuja oferta, ticket ou audiência não sustentem esse posicionamento. Se o usuário pedir Signature 3D em um contexto que não combina, sinalizar isso e propor Advanced como alternativa.
|
|
303
|
+
|
|
304
|
+
#### Signature 3D: Motion Checklist
|
|
305
|
+
|
|
306
|
+
Quando este modo estiver ativo, considerar todos os elementos abaixo e escolher os que fazem sentido para a marca.
|
|
307
|
+
|
|
308
|
+
**Hero:**
|
|
309
|
+
|
|
310
|
+
- hero 3D ou vídeo cinematográfico;
|
|
311
|
+
- objeto signature;
|
|
312
|
+
- logo transformada em objeto 3D, se fizer sentido;
|
|
313
|
+
- cluster de partículas;
|
|
314
|
+
- monólito abstrato;
|
|
315
|
+
- objeto de vidro/metal/cristal;
|
|
316
|
+
- shader hero;
|
|
317
|
+
- image-to-video hero;
|
|
318
|
+
- câmera lenta;
|
|
319
|
+
- iluminação cinematográfica;
|
|
320
|
+
- depth fog;
|
|
321
|
+
- mouse-reactive object;
|
|
322
|
+
- text reveal impactante;
|
|
323
|
+
- CTA magnético.
|
|
324
|
+
|
|
325
|
+
**Scroll:**
|
|
326
|
+
|
|
327
|
+
- scroll storytelling;
|
|
328
|
+
- camera movement;
|
|
329
|
+
- sticky sections;
|
|
330
|
+
- parallax em múltiplas camadas;
|
|
331
|
+
- masked typography;
|
|
332
|
+
- image reveal;
|
|
333
|
+
- section transitions;
|
|
334
|
+
- scroll progress lateral;
|
|
335
|
+
- typography sliding behind images;
|
|
336
|
+
- horizontal reveal pontual;
|
|
337
|
+
- mudança de atmosfera por seção.
|
|
338
|
+
|
|
339
|
+
**Background:**
|
|
340
|
+
|
|
341
|
+
- WebGL background;
|
|
342
|
+
- shader animado;
|
|
343
|
+
- gradient mesh dinâmico;
|
|
344
|
+
- particles;
|
|
345
|
+
- noise;
|
|
346
|
+
- depth layers;
|
|
347
|
+
- atmospheric glow;
|
|
348
|
+
- vídeo loop;
|
|
349
|
+
- poster fallback;
|
|
350
|
+
- background que muda com scroll.
|
|
351
|
+
|
|
352
|
+
**Components:**
|
|
353
|
+
|
|
354
|
+
- premium nav com blur/progress;
|
|
355
|
+
- ghost buttons sofisticados;
|
|
356
|
+
- magnetic buttons;
|
|
357
|
+
- cards com hover 3D;
|
|
358
|
+
- case cards com preview animado;
|
|
359
|
+
- quote blocks editoriais;
|
|
360
|
+
- logo marquee discreto;
|
|
361
|
+
- capability grid técnico;
|
|
362
|
+
- visual metadata mono;
|
|
363
|
+
- cursor custom discreto;
|
|
364
|
+
- microinterações em links.
|
|
365
|
+
|
|
366
|
+
#### Signature 3D: 3D / Video Path
|
|
367
|
+
|
|
368
|
+
O `motion-3d-director` decide entre quatro caminhos:
|
|
369
|
+
|
|
370
|
+
1. 3D real no navegador (R3F/Three.js);
|
|
371
|
+
2. image-to-video;
|
|
372
|
+
3. hybrid motion (mistura controlada);
|
|
373
|
+
4. motion 2D premium.
|
|
374
|
+
|
|
375
|
+
Para Signature 3D, o caminho recomendado geralmente é:
|
|
376
|
+
|
|
377
|
+
- **Hybrid motion**, se performance e controle visual importam;
|
|
378
|
+
- **3D real**, se interação for essencial;
|
|
379
|
+
- **Image-to-video**, se o visual precisa ser cinematográfico e leve;
|
|
380
|
+
- **Motion 2D premium**, se 3D não aumentar conversão.
|
|
381
|
+
|
|
382
|
+
#### Signature 3D: Image-to-video
|
|
383
|
+
|
|
384
|
+
Se não houver imagem disponível, perguntar:
|
|
385
|
+
|
|
386
|
+
> "Você tem logo, símbolo, imagem, produto, print ou dashboard que possa virar hero visual?"
|
|
387
|
+
|
|
388
|
+
Se não houver asset, propor um signature object:
|
|
389
|
+
|
|
390
|
+
- objeto signature abstrato;
|
|
391
|
+
- monólito;
|
|
392
|
+
- cluster de partículas;
|
|
393
|
+
- logo reinterpretada;
|
|
394
|
+
- mockup cinematic;
|
|
395
|
+
- cena atmosférica.
|
|
396
|
+
|
|
397
|
+
Nunca travar por falta de imagem.
|
|
398
|
+
|
|
399
|
+
#### Signature 3D: Performance obrigatória
|
|
400
|
+
|
|
401
|
+
Signature 3D sempre deve incluir:
|
|
402
|
+
|
|
403
|
+
- fallback mobile;
|
|
404
|
+
- poster image;
|
|
405
|
+
- `prefers-reduced-motion`;
|
|
406
|
+
- lazy load;
|
|
407
|
+
- dynamic import;
|
|
408
|
+
- compressão WebM/MP4;
|
|
409
|
+
- WebP/AVIF;
|
|
410
|
+
- redução de partículas;
|
|
411
|
+
- limite de shaders;
|
|
412
|
+
- Core Web Vitals respeitados;
|
|
413
|
+
- pause offscreen;
|
|
414
|
+
- mobile crop;
|
|
415
|
+
- desktop/video split.
|
|
416
|
+
|
|
417
|
+
#### Signature 3D: Evitar
|
|
418
|
+
|
|
419
|
+
- parecer template de Web3;
|
|
420
|
+
- neon demais;
|
|
421
|
+
- sci-fi barato;
|
|
422
|
+
- glassmorphism em tudo;
|
|
423
|
+
- 3D sem propósito;
|
|
424
|
+
- site pesado que demora carregar;
|
|
425
|
+
- animação que atrapalha leitura;
|
|
426
|
+
- múltiplos efeitos competindo;
|
|
427
|
+
- copy genérica;
|
|
428
|
+
- visual bonito sem estratégia.
|
|
429
|
+
|
|
430
|
+
#### Signature 3D: Resultado esperado
|
|
431
|
+
|
|
432
|
+
O site deve parecer:
|
|
433
|
+
|
|
434
|
+
- uma experiência;
|
|
435
|
+
- um manifesto visual;
|
|
436
|
+
- um portfolio vivo;
|
|
437
|
+
- uma prova técnica;
|
|
438
|
+
- uma peça de autoridade;
|
|
439
|
+
- uma landing premium;
|
|
440
|
+
- uma demonstração de capacidade.
|
|
441
|
+
|
|
442
|
+
O visitante deve lembrar:
|
|
443
|
+
|
|
444
|
+
- o objeto hero;
|
|
445
|
+
- a frase principal;
|
|
446
|
+
- a sensação de profundidade;
|
|
447
|
+
- a qualidade do motion;
|
|
448
|
+
- a clareza da marca.
|
|
449
|
+
|
|
450
|
+
---
|
|
451
|
+
|
|
452
|
+
## Motion Budget by Level
|
|
453
|
+
|
|
454
|
+
Cada nível tem um orçamento quantitativo de animação. Esse orçamento evita dois extremos: subentrega (Basic morto) e exagero (Signature poluído).
|
|
455
|
+
|
|
456
|
+
**Basic Site:**
|
|
457
|
+
|
|
458
|
+
- 5 a 8 animações leves no total;
|
|
459
|
+
- nenhuma animação crítica para entender a página;
|
|
460
|
+
- tudo deve funcionar sem JavaScript pesado.
|
|
461
|
+
|
|
462
|
+
**Intermediate Site:**
|
|
463
|
+
|
|
464
|
+
- 10 a 15 animações;
|
|
465
|
+
- microinterações em CTAs e cards;
|
|
466
|
+
- 1 ou 2 elementos animados principais;
|
|
467
|
+
- sem 3D real.
|
|
468
|
+
|
|
469
|
+
**Advanced Site:**
|
|
470
|
+
|
|
471
|
+
- 15 a 25 animações coordenadas;
|
|
472
|
+
- scroll effects;
|
|
473
|
+
- parallax;
|
|
474
|
+
- hover 3D leve;
|
|
475
|
+
- text reveal;
|
|
476
|
+
- mockups animados;
|
|
477
|
+
- background animado leve.
|
|
478
|
+
|
|
479
|
+
**3D High-End Site:**
|
|
480
|
+
|
|
481
|
+
- 1 cena hero forte;
|
|
482
|
+
- 1 background ou shader secundário;
|
|
483
|
+
- 20 a 35 interações/motions coordenadas;
|
|
484
|
+
- performance budget obrigatório;
|
|
485
|
+
- fallback mobile obrigatório.
|
|
486
|
+
|
|
487
|
+
**Signature 3D Experience:**
|
|
488
|
+
|
|
489
|
+
- 1 momento "wow" principal;
|
|
490
|
+
- 2 a 3 momentos memoráveis secundários;
|
|
491
|
+
- microinterações em toda a experiência;
|
|
492
|
+
- motion system consistente;
|
|
493
|
+
- plano 3D/video completo;
|
|
494
|
+
- performance e fallback tratados desde o início.
|
|
495
|
+
|
|
496
|
+
Regra final do budget: mais animação não significa melhor site. O melhor site usa motion como linguagem, não como decoração.
|
|
497
|
+
|
|
498
|
+
---
|
|
499
|
+
|
|
500
|
+
## Regra final do ladder
|
|
501
|
+
|
|
502
|
+
Toda landing page precisa parecer viva. Mas cada nível tem sua medida certa:
|
|
503
|
+
|
|
504
|
+
- **Basic:** vivo, leve e limpo.
|
|
505
|
+
- **Intermediate:** polido e interativo.
|
|
506
|
+
- **Advanced:** premium, autoral e com scroll/motion.
|
|
507
|
+
- **3D High-End:** cinematográfico e técnico.
|
|
508
|
+
- **Signature 3D:** memorável, raro, "uau".
|
|
509
|
+
|
|
510
|
+
Para o site principal/pessoal do usuário ou da agência, o padrão esperado é:
|
|
511
|
+
|
|
512
|
+
```text
|
|
513
|
+
3D High-End Site: modo Signature 3D Experience.
|
|
514
|
+
```
|
|
515
|
+
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
<EXTREMELY-IMPORTANT>
|
|
2
|
+
|
|
3
|
+
## Source-First Mandate (read this FIRST, every time)
|
|
4
|
+
|
|
5
|
+
**Esta skill existe porque escrever shaders, animações, hovers e componentes do zero NÃO é o caminho.** O caminho é **curar componentes, animações e shaders maduros de bibliotecas profissionais** (21st.dev, v0, React Bits, Cult UI, Ali Imam, Watermelon, StyleUI, Skiper UI, modelos lp do usuário) e **adaptar à marca**.
|
|
6
|
+
|
|
7
|
+
Se você se pegar pensando "vou escrever um shader perlin do zero" ou "vou criar uma esfera de partículas no R3F na mão" ou "vou desenhar um SVG de carousel": **PARE**. Isso é o anti-pattern que essa skill foi feita pra prevenir.
|
|
8
|
+
|
|
9
|
+
### Anti-pattern (NUNCA fazer)
|
|
10
|
+
|
|
11
|
+
- ❌ Escrever um shader GLSL custom sem antes ter inspecionado Ali Imam, paper.design refs, 21st.dev e o conteúdo do usuário em `/modelos lp/`
|
|
12
|
+
- ❌ Reinventar text reveal / magnetic / scroll-driven animation sem antes ter inspecionado React Bits e os modelos do usuário
|
|
13
|
+
- ❌ Criar hero 3D na mão sem antes ter buscado em 21st.dev via Magic MCP e gerado variações em v0
|
|
14
|
+
- ❌ Criar carousel/slider sem antes ter verificado se Embla, shadcn/ui ou 21st.dev têm componente pronto compatível com o stack
|
|
15
|
+
- ❌ Desenhar mockup SVG de produto inteiro sem antes ter pedido autorização pro usuário capturar screenshot real ou usar agent-browser no projeto live
|
|
16
|
+
- ❌ "Fazer tudo na mão pra ir mais rápido": isso quebra o propósito da skill
|
|
17
|
+
|
|
18
|
+
### Required pattern (SEMPRE fazer)
|
|
19
|
+
|
|
20
|
+
Antes de escrever qualquer linha de código de UI, executar o **Source-First Protocol** (definido abaixo). A regra absoluta é:
|
|
21
|
+
|
|
22
|
+
> **Inspecione fontes reais → ofereça opções ao usuário → adapte à marca. Nunca recrie o que já existe maduro.**
|
|
23
|
+
|
|
24
|
+
Se você não consegue ou não está autorizado a invocar uma fonte (MCP offline, sem permissão pra clone, sem rede), **declare isso explicitamente ao usuário** antes de cair pro fallback de criar do zero. O usuário deve poder dizer "ok, então vamos clonar Ali Imam agora" ou "tudo bem, faça na mão dessa vez". Nunca cair pro fallback silenciosamente.
|
|
25
|
+
|
|
26
|
+
</EXTREMELY-IMPORTANT>
|
|
27
|
+
|
|
28
|
+
## Source-First Protocol
|
|
29
|
+
|
|
30
|
+
Este é o protocolo executável dos checkpoints 6, 7 e 8 do Mandatory Process. Seguir nesta ordem, declarando ao usuário o que está fazendo em cada fase.
|
|
31
|
+
|
|
32
|
+
### Fase 1: Inventário interno (sem dependência externa)
|
|
33
|
+
|
|
34
|
+
Antes de qualquer rede ou MCP, inspecionar o que o usuário já tem:
|
|
35
|
+
|
|
36
|
+
1. **Pasta `modelos lp/` (ou equivalente)**: rodar `find ~ -maxdepth 6 -type d -iname "modelos*lp*"` para localizar. Listar subpastas, ler package.json e README.md de cada projeto promissor. Identificar quais já tem Lenis, GSAP, R3F, OGL, Embla, Framer Motion, shaders prontos.
|
|
37
|
+
2. **Projeto atual do usuário**: se houver, listar dependências instaladas (`cat package.json`) e componentes/utilities existentes que podem ser reaproveitados.
|
|
38
|
+
3. **Cérebro / vault do usuário**: usar grep nos arquivos do vault (`projetos/`, `_learnings/`) para achar padrões técnicos já documentados em projetos anteriores.
|
|
39
|
+
|
|
40
|
+
Saída desta fase: lista de **componentes, libs e padrões reaproveitáveis** com path absoluto.
|
|
41
|
+
|
|
42
|
+
### Fase 2: Magic MCP do 21st.dev
|
|
43
|
+
|
|
44
|
+
**Ferramentas disponíveis (chamar via ToolSearch se não estiverem carregadas):**
|
|
45
|
+
|
|
46
|
+
- `mcp__magic__21st_magic_component_inspiration`: buscar referências e padrões para uma seção específica (hero, pricing, testimonials, navbar, contact dialog, etc.)
|
|
47
|
+
- `mcp__magic__21st_magic_component_builder`: gerar/instalar componente alinhado ao stack do usuário
|
|
48
|
+
- `mcp__magic__21st_magic_component_refiner`: refinar componente existente
|
|
49
|
+
- `mcp__magic__logo_search`: logos de marcas para integrações/prova social
|
|
50
|
+
|
|
51
|
+
**Quando chamar (mínimo obrigatório por landing):**
|
|
52
|
+
|
|
53
|
+
- 1 chamada de `inspiration` para o **hero** (ex: liquid glass hero, particle hero, mask reveal hero)
|
|
54
|
+
- 1 chamada para o **bloco principal de conversão** (ex: pricing, contact dialog, CTA group)
|
|
55
|
+
- 1 chamada para **selected work / portfolio grid** se o projeto for autoridade/portfolio
|
|
56
|
+
- 1 chamada para **navigation** se a direção visual exigir navbar não-padrão
|
|
57
|
+
|
|
58
|
+
Se o Magic MCP não estiver disponível no ambiente: declarar ao usuário "o Magic MCP do 21st.dev não está conectado nesta sessão" e perguntar se ele quer conectar ou seguir com as outras fontes. **Não cair pro fallback de criar do zero sem essa pergunta.**
|
|
59
|
+
|
|
60
|
+
### Fase 3: v0.app community (catálogo de referência via WebFetch)
|
|
61
|
+
|
|
62
|
+
**Esta é a fase padrão.** v0 entra como banco de templates pra inspecionar e adaptar, não como gerador. Ver "Uso A: v0 como CATÁLOGO DE REFERÊNCIA" na seção `## v0.app` em references/component-sources.md pro fluxo completo.
|
|
63
|
+
|
|
64
|
+
**Fluxo resumido:**
|
|
65
|
+
|
|
66
|
+
1. WebFetch em `https://v0.app/community?q=<termo>` (queries do tipo `liquid+glass`, `portfolio+dark+editorial`, `bento+grid`, `hero+webgl`, `case+study`). Resposta vem como lista estruturada de templates com URL `/templates/<id>`.
|
|
67
|
+
2. Apresentar 5-10 links curados ao usuário com título, autor, link absoluto.
|
|
68
|
+
3. Usuário abre os templates relevantes no navegador, copia o código (View code → copia o JSX) e salva em `modelos lp/<nome>/`. Skill então inspeciona a pasta local.
|
|
69
|
+
|
|
70
|
+
**Mínimo obrigatório por landing:** 1 query relacionada ao hero/estética principal + 1 query relacionada à seção crítica de conteúdo (portfolio/products/cases conforme o projeto).
|
|
71
|
+
|
|
72
|
+
**Antes da Fase 3**, sempre fazer overlap-check: muitos templates v0 populares já podem estar na pasta local do usuário desde a Fase 1 (inventário). Não recomendar baixar o que ele já tem.
|
|
73
|
+
|
|
74
|
+
### ~~Fase 3b~~: v0 como gerador (REMOVIDO)
|
|
75
|
+
|
|
76
|
+
> O MCP `v0-platform-mcp` foi removido do ecossistema. Para geração de UI, use o **Magic MCP (21st.dev)** como fonte principal: `mcp__magic__21st_magic_component_builder` e `mcp__magic__21st_magic_component_refiner`. O catálogo do v0 (WebFetch) continua disponível para descoberta de referências na Fase 3.
|
|
77
|
+
|
|
78
|
+
### Fase 4: Busca nos repos de referência (cache central primeiro)
|
|
79
|
+
|
|
80
|
+
Para cada efeito visual ainda não resolvido pelas fases 1-3, inspecionar o **cache central de design** em `~/.claude/design-sources/` antes de qualquer clone. Só clonar se o repo não estiver em cache ou estiver desatualizado.
|
|
81
|
+
|
|
82
|
+
**Mapa de decisão "preciso disso → fonte":**
|
|
83
|
+
|
|
84
|
+
| Preciso de... | Cache central | Atualizar cache se necessário |
|
|
85
|
+
|---|---|---|
|
|
86
|
+
| Shader líquido / liquid wave / ripple / pixel grid / efeito experimental WebGL | `~/.claude/design-sources/aliimam/` | `git -C ~/.claude/design-sources/aliimam pull` |
|
|
87
|
+
| Text reveal / particle effects / hover effects / animated cards / scroll effects React | `~/.claude/design-sources/react-bits/` | `git -C ~/.claude/design-sources/react-bits pull` |
|
|
88
|
+
| Hero sections shadcn premium / marketing sections / botões sofisticados / cards animados | `~/.claude/design-sources/cult-ui/` | `git -C ~/.claude/design-sources/cult-ui pull` |
|
|
89
|
+
| SaaS components / dashboards / product UI blocks | `~/.claude/design-sources/watermelon/` | `git -C ~/.claude/design-sources/watermelon pull` |
|
|
90
|
+
| Templates / landing layouts prontos / páginas base | `~/.claude/design-sources/styleui/` | `git -C ~/.claude/design-sources/styleui pull` |
|
|
91
|
+
| Componentes shadcn premium específicos | **Skiper UI** | `npx shadcn add @skiper-ui/skiperXX` (sem clone, instala direto) |
|
|
92
|
+
|
|
93
|
+
**Fluxo de uso do cache:**
|
|
94
|
+
|
|
95
|
+
1. Verificar se o diretório em `~/.claude/design-sources/<repo>/` existe e tem conteúdo.
|
|
96
|
+
2. Se sim: ler/grep diretamente no cache sem clonar.
|
|
97
|
+
3. Se desatualizado (> 7 dias sem pull): `git -C ~/.claude/design-sources/<repo> pull --quiet` antes de inspecionar.
|
|
98
|
+
4. Se o cache não existir (máquina nova): `git clone --depth=1 <url> ~/.claude/design-sources/<repo>` e seguir.
|
|
99
|
+
|
|
100
|
+
**Regras de cópia para o projeto:**
|
|
101
|
+
|
|
102
|
+
- Copiar APENAS o(s) componente(s) necessário(s) para `src/components/` adaptados à marca
|
|
103
|
+
- Nunca adicionar o repo inteiro como dependência permanente
|
|
104
|
+
- Não clonar em `.design-sources-temp/` se o cache já tem o repo: usar o cache diretamente
|
|
105
|
+
|
|
106
|
+
### Fase 5: Apresentação ao usuário e confirmação
|
|
107
|
+
|
|
108
|
+
Antes de implementar, apresentar ao usuário uma resposta estruturada:
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
Source-First Inventory para sua landing:
|
|
112
|
+
|
|
113
|
+
HERO (efeito liquid glass)
|
|
114
|
+
├─ Opção A: 21st.dev → componente "X" via Magic MCP (recomendado, já compatível com Next + Tailwind)
|
|
115
|
+
├─ Opção B: clonar Ali Imam → arquivo `liquid-wave.tsx` adaptado para token #FF4500
|
|
116
|
+
└─ Opção C: gerar variação no v0 com `generate_prototype`
|
|
117
|
+
|
|
118
|
+
CAROUSEL DE PRODUTOS
|
|
119
|
+
├─ Opção A: Embla Carousel (lib oficial, já no seu /modelos lp/ em `air-pods-max-product-showcase`)
|
|
120
|
+
└─ Opção B: 21st.dev → "scroll-snap carousel" via Magic MCP
|
|
121
|
+
|
|
122
|
+
TEXT REVEAL HEADLINE
|
|
123
|
+
├─ Opção A: React Bits → `split-text-reveal.tsx` (precisa autorização pra clonar)
|
|
124
|
+
└─ Opção B: Framer Motion na mão (fallback aceitável, padrão simples)
|
|
125
|
+
|
|
126
|
+
PORTFOLIO GRID
|
|
127
|
+
├─ Opção A: clonar Cult UI → `marketing-grid.tsx`
|
|
128
|
+
└─ Opção B: 21st.dev → portfolio grid via Magic MCP
|
|
129
|
+
|
|
130
|
+
Posso prosseguir com (A, A, A, A) ou prefere ajustar?
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Só implementar depois da confirmação do usuário sobre quais fontes usar.
|
|
134
|
+
|
|
135
|
+
### Quando é aceitável criar do zero
|
|
136
|
+
|
|
137
|
+
Existem 3 casos onde é OK criar do zero, e em todos deve ser declarado ao usuário:
|
|
138
|
+
|
|
139
|
+
1. **Componente trivial e específico da marca** (ex: WizzMark inline SVG do logo): sem fonte que faça sentido, custo de adaptação > custo de fazer
|
|
140
|
+
2. **Após esgotar as fases 1-4** sem encontrar componente compatível, com o usuário ciente disso
|
|
141
|
+
3. **Microcomponentes utilitários** (MonoLabel, Section wrapper) que são apenas estilização de tokens
|
|
142
|
+
|
|
143
|
+
Para todo o resto (shaders, animações complexas, hero pieces, carousels, cards 3D, hover effects, transições), **DEVE passar pelo Source-First Protocol antes de ser escrito do zero**.
|
|
144
|
+
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
|
|
2
|
+
# Source Link Directory
|
|
3
|
+
|
|
4
|
+
## Component / Code Sources
|
|
5
|
+
|
|
6
|
+
- React Bits: https://github.com/DavidHDev/react-bits.git
|
|
7
|
+
- Cult UI Docs: https://www.cult-ui.com/docs
|
|
8
|
+
- Cult UI GitHub: https://github.com/nolly-studio/cult-ui
|
|
9
|
+
- Ali Imam: https://github.com/aliimam-in/aliimam.git
|
|
10
|
+
- Watermelon UI: https://github.com/WatermelonCorp/watermellon-registry.git
|
|
11
|
+
- StyleUI: https://github.com/heyfabrika/styleui.git
|
|
12
|
+
- Skiper UI command: `npx shadcn add @skiper-ui/skiper40`
|
|
13
|
+
- 21st.dev: https://21st.dev/
|
|
14
|
+
- 21st.dev Magic MCP: https://21st.dev/magic
|
|
15
|
+
- 21st.dev MCP: https://21st.dev/mcp
|
|
16
|
+
- v0.app: https://v0.app/
|
|
17
|
+
- v0 Community Search (catálogo via WebFetch): https://v0.app/community?q=<termo>
|
|
18
|
+
- v0 Template direto: https://v0.app/templates/<id>
|
|
19
|
+
- v0 API Keys (regenerar quando 401): https://v0.app/chat/settings/keys
|
|
20
|
+
- v0 API Docs: https://v0.app/docs/en/docs/api
|
|
21
|
+
|
|
22
|
+
## Reference Sources (taste, qualidade visual, motion)
|
|
23
|
+
|
|
24
|
+
- Impeccable: https://github.com/pbakaus/impeccable.git
|
|
25
|
+
- Taste Skill: https://github.com/Leonxlnx/taste-skill.git
|
|
26
|
+
- Design Motion Principles: https://github.com/kylezantos/design-motion-principles.git
|
|
27
|
+
- MotionSites: https://github.com/aayushsoam/motionsites.ai.git
|
|
28
|
+
- Vibe Code Components: https://vibecodecomponents.com/
|
|
29
|
+
|
|
30
|
+
## Visual Inspiration Sources
|
|
31
|
+
|
|
32
|
+
- Landing Love: https://www.landing.love/
|
|
33
|
+
- Godly: https://godly.website/
|
|
34
|
+
- Design Spells: https://www.designspells.com/
|
|
35
|
+
- Spline: https://spline.design/
|
|
36
|
+
- Unicorn Studio: https://www.unicorn.studio/
|
|
37
|
+
- Mobbin: https://mobbin.com/
|
|
38
|
+
- ScreensDesign: https://screensdesign.com/
|
|
39
|
+
- DesignVault: https://designvault.io/
|