Skill especializada em criar sites institucionais de alta qualidade a partir de materiais
de referência do cliente. O workflow é projetado para extrair o máximo dos materiais fornecidos
(logos, identidade visual, apresentações, PDFs) e transformá-los em um site React profissional
com animações, responsividade e performance otimizada.
O projeto SEMPRE usa:
@tailwindcss/viteDependências opcionais (instalar conforme necessidade):
three + @types/three — backgrounds 3D animados (DottedSurface, shader backgrounds)react-use-measure — para o InfiniteSlider (logo cloud, marquee)Antes de escrever qualquer código, explore TUDO que o usuário forneceu. Esta fase é crítica
porque os materiais definem o tom, as cores, o conteúdo e as imagens do site.
Organize os materiais em categorias mentais:
| Categoria | O que procurar | Como usar |
|---|---|---|
| ----------- | --------------- | ----------- |
| Identidade Visual | Paleta de cores (hex), tipografia, guidelines | Define @theme no CSS, cores de accent, gradientes |
| Logos | Variantes claro/escuro, horizontal/vertical, SVG/PNG | Navbar (horizontal, claro), Footer (horizontal, claro), Favicon (ícone escuro) |
| Imagens de Produto | Screenshots, mockups, fotos operacionais | Feature cards, hero background, timeline, scroll media |
| Apresentações | PPTs, PDFs com slides | EXTRAIR textos, headlines, bullet points, estrutura de seções |
| Componentes UI | Arquivos .txt com código React de referência | Adaptar para o projeto (remover deps de shadcn, Next.js) |
| Dados de Contato | E-mails, telefones, redes sociais, endereços | Footer, seção contato, WhatsApp flutuante |
| Logos de Clientes | Logos de empresas parceiras/clientes | Seção de social proof com InfiniteSlider |
Checklist de exploração:
ls -la recursivo em toda a pasta do usuárioApós inventariar, pergunte ao usuário usando AskUserQuestion:
A maioria dos sites institucionais B2B segue esta ordem de seções (ajustar conforme necessidade):
1. Navbar (fixa, com blur no scroll)
2. Hero (proposta de valor + CTA)
3. Contexto/Problema (por que o produto existe)
4. Solução (o que o produto faz)
5. Pipeline/Processo (como funciona, passo a passo)
6. Funcionalidades (feature cards com imagens)
7. Detalhes técnicos (IoT, integrações, etc.)
8. Benefícios (cards por categoria)
9. Canais de Entrega (integrações multicanal)
10. Clientes (logo cloud com social proof) ← antes do CTA
11. CTA Final (frase de impacto + botão)
12. Contato (formulário + dados)
13. Footer (links, logo, copyright)
14. WhatsApp Flutuante
npm create vite@latest <nome-site> -- --template react-ts
cd <nome-site>
npm install
npm install -D tailwindcss @tailwindcss/vite --legacy-peer-deps
npm install framer-motion lucide-react
Configurar vite.config.ts:
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import tailwindcss from '@tailwindcss/vite'
export default defineConfig({
plugins: [react(), tailwindcss()],
build: {
rollupOptions: {
output: {
manualChunks: {
// Adicionar conforme libs pesadas são usadas
'framer-motion': ['framer-motion'],
},
},
},
},
})
Configurar src/index.css com a paleta do cliente:
@import "tailwindcss";
@theme {
/* Cores extraídas da identidade visual do cliente */
--color-primary-900: #XXXXXX;
--color-primary-800: #XXXXXX;
/* ... mapear toda a paleta ... */
--color-accent: #XXXXXX;
--font-sans: 'Inter', system-ui, sans-serif;
}
Configurar index.html:
lang correto (pt-BR ou en)```html
```
Copiar assets:
public/images/ e copiar todas as imagens do produtopublic/images/clientes/ se houver logos de clientesConstruir o site inteiro em um único App.tsx (para sites de até ~800 linhas).
Para sites maiores, criar componentes em src/components/.
Padrões obrigatórios em TODAS as imagens:
<img src="..." alt="Descrição" width={N} height={N} loading="lazy" />
Componentes utilitários a incluir:
useInView() — Intersection Observer para animações de entradaSection — wrapper que anima opacity+translateY no scrollTextCycle — texto que alterna entre palavras com animação slideUpPara cada seção, consultar references/components.md que contém templates
prontos adaptados para o stack (sem dependências de shadcn, Next.js, ou cn()).
Esta fase é executada ANTES de entregar o site ao usuário.
5.1 Imagens — Converter para WebP:
from PIL import Image
import glob, os
for f in glob.glob("public/images/*.png") + glob.glob("public/images/*.jpg"):
if os.path.getsize(f) > 100_000:
img = Image.open(f)
if img.width > 1200:
ratio = 1200 / img.width
img = img.resize((1200, int(img.height * ratio)), Image.LANCZOS)
img.save(f.rsplit('.', 1)[0] + '.webp', 'WEBP', quality=80)
Atualizar todas as referências no código para .webp.
5.2 Fontes — Eliminar render-blocking:
Usar o pattern media="print" onload="this.media='all'" no index.html.
5.3 JavaScript — Code splitting:
5.4 Acessibilidade mínima:
role="main" no container principalalt em todas as imagenswidth e height explícitos em todas as ![]()
5.5 SEO básico:
descritivo com o produtolang correto no npm run build e verificar que compila sem erroscomputer:///path/to/projectcd nome-site && npm install && npm run devreferences/components.md — Catálogo completo dos 23 componentes com tabela por categoria, cheat sheet de adaptação Next.js→Vite, e templates inline prontosreferences/components/ — Os 23 arquivos .txt originais com código TSX completo, demo e dependências de cada componentereferences/patterns.md — Padrões de CSS, animações, glass morphism, gradients, otimização de imagensHeroes: Glassmorphism Trust Hero, 3D Hero (Spline), Scroll Expand Media
Backgrounds: Animated Shader (GLSL Aurora), Flow Field (Canvas 2D), Dotted Surface (Three.js)
Navigation: Tubelight Navbar, Limelight Nav (dark mode)
Cards: Glowing Effect Border, Bauhaus Card, Bento Grid
Content: Timeline (scroll-based), Vertical Tabs, DB/API Diagram, Global Map, Logo Cloud (InfiniteSlider)
Animations: Text Cycle, Loading Skeleton, Container Scroll 3D, Notification Alert
Utility: Page 404, Footer, Password Confirmation
21st.dev Extras: Starfall Portfolio Landing, Parallax Feature Section, Metaball Hero, Rotating Prompts, Collapsible Header, Image Card, Spotlight, Accordion
Para usar qualquer componente, leia references/components.md para o catálogo e depois
leia o .txt correspondente em references/components/ (originais) ou references/components/21st-dev/ (extras).
Para buscar mais componentes do 21st.dev, use a API: POST /api/prompts com {"prompt_type":"extended","demo_id":. Ver instruções completas em references/components.md.
Quando o usuário fornecer materiais, a skill espera (ou sugere) esta organização:
materiais-projeto/
├── logos/ ← Variantes do logo (claro, escuro, horizontal, vertical)
├── identidade-visual/ ← Paleta de cores, guidelines, tipografia
├── imagens/ ← Fotos, screenshots, mockups do produto
├── apresentacoes/ ← PPTs, PDFs com conteúdo do produto
├── clientes/ ← Logos de empresas clientes/parceiras
├── components/ ← Componentes UI de referência (.txt com código React)
└── copy/ ← Textos, taglines, descrições (se houver separado)
Se os materiais estiverem desorganizados, a skill navega e cataloga tudo mesmo assim.
Mas se o usuário perguntar "como organizar?", sugira esta estrutura.
共 1 个版本