Communitygithub.com

JairoBg03/skills

Cria landing pages profissionais com design personalizado, animações e efeitos de nível agência, cobrindo todo o fluxo: briefing, direção de design, construção, auditoria e deploy. Evita o visual genérico de template de IA.

O que é skills?

Esta skill capacita agentes de IA a criarem landing pages profissionais e únicas, com design sob medida e animações de alta qualidade, evitando o aspecto genérico de templates prontos. É ideal para desenvolvedores que desejam entregar páginas de marketing, vendas ou portfólio com desempenho excepcional e identidade visual marcante. A skill define um fluxo de trabalho completo e obrigatório, começando com um briefing detalhado com o usuário, passando pela direção de design (personalidade, tipografia, cores), arquitetura de seções, construção mobile-first com animações GSAP, até a auditoria e deploy. O stack técnico é Astro 5 + Tailwind CSS v4 + GSAP 3.13+ com ScrollTrigger e Lenis, garantindo performance (0 JS de base, imagens otimizadas), animações fluidas e scroll suave. A skill enfatiza a criação de um design próprio, sem depender de bibliotecas de componentes UI, e inclui checklists rigorosos de desempenho (Lighthouse ≥ 95), acessibilidade (contraste AA, navegação por teclado) e qualidade visual (mesmo com o logo oculto, a página deve ser reconhecível).

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/JairoBg03/skills/tree/HEAD/landing-pages

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Quando usar

  • O usuário quer uma landing page nova (produto, serviço, evento, portfólio, waitlist)
  • Quer redesenhar uma landing existente para que pareça profissional e única
  • Pede animações, efeitos de scroll ou microinterações em uma página de marketing
  • Está em fase de planejamento: quais seções, qual mensagem, qual estrutura

Stack (e por quê)

PeçaEscolhaPor quêAlternativa descartada
FrameworkAstro 5Estático por padrão (0 JS de base), componentes, astro:assets para imagens, deploy = enviar dist/Next.js (exagerado para landing, deploy mais complexo), HTML puro (sem componentes ou otimização)
EstilosTailwind CSS v4Tokens próprios via @theme em CSS, sem config JS, purga automáticaUI kits (shadcn/DaisyUI/Flowbite → visual genérico), CSS puro (lento para iterar)
AnimaçãoGSAP 3.13+ (ScrollTrigger, SplitText)Padrão da indústria para scroll/timeline; desde v3.13 TODOS os plugins são gratuitosFramer Motion (preso ao React), AOS (limitado, parece "de template")
Smooth scrollLenisLeve (~4kb), integração documentada com ScrollTriggerLocomotive Scroll (mais pesado, menos mantido)
DeployNetlify / Cloudflare Pages / VercelConectar repositório → push → deploy; saída estática sem servidorVPS (desnecessário para estático)

Regra rígida: NÃO instalar bibliotecas de componentes de UI. O design é próprio — isso é exatamente o que separa esta skill de um template.

Fluxo de trabalho (obrigatório, nesta ordem)

NUNCA comece pelo código. Uma landing sem briefing é um template com outro nome.

  1. Briefing — preencha assets/brief-template.md COM o usuário. Se faltarem objetivo, público ou CTA: PERGUNTE antes de prosseguir.
  2. Direção de design — siga references/design-direction.md: personalidade → tipografia → cor → layout → assinatura visual. Materialize-a em assets/design-tokens.css.
  3. Arquitetura de seções — defina o arco narrativo (tabela abaixo) e o texto dos títulos antes de diagramar.
  4. Construção — seção por seção, mobile-first (390px primeiro). Animações com references/animation-recipes.md.
  5. Auditoria — checklist de entrega (abaixo). Não é entregue sem passar por ela.
  6. Deploy — build estático + hospedagem (comandos abaixo).

Arco narrativo (estrutura base)

#SeçãoTrabalho que faz
1HeroProposta de valor compreensível em <5s + CTA primário
2Problema / contextoNomeia a dor que o visitante reconhece
3Solução / benefíciosComo você resolve — benefícios, não características
4Prova socialDepoimentos reais, logotipos, métricas
5Como funcionaPassos, demo, screenshots
6ObjeçõesFAQ, garantia, preços
7CTA finalRepete a MESMA ação única do hero

Adapte, funda ou elimine seções conforme o briefing — nem todas as landings levam as 7.

Padrões críticos

  • Uma única conversão: toda a página empurra para UMA ação. Dois CTAs distintos = briefing mal feito.
  • Mobile-first real: projeta-se e constrói-se primeiro em 390px; desktop é a progressão, não o contrário.
  • LCP intocável: o elemento LCP (título ou imagem do hero) nunca fica opacity: 0 em CSS. As entradas são feitas com gsap.from() (sem JS a página é exibida completa) e duram ≤ 1s no total.
  • prefers-reduced-motion: TODA animação vive dentro de gsap.matchMedia(). Sem exceções.
  • Ilhas mínimas: JS apenas onde há interação real. Um acordeão FAQ é <details>, não um componente hidratado.
  • Imagens: sempre astro:assets (<Image>), AVIF/WebP, dimensões explícitas, loading="lazy" exceto o hero.
  • Fontes: self-hosted (woff2 local ou Fontsource), font-display: swap, máximo de 2 famílias, pré-carregamento da fonte de exibição.

Checklist antes de entregar

  • Lighthouse mobile ≥ 95 em Performance, Acessibilidade e SEO
  • CLS = 0 (dimensões em imagens, fallback de fonte ajustado)
  • Animações desativadas com prefers-reduced-motion: reduce
  • Contraste AA: 4.5:1 texto, 3:1 UI grande
  • Navegável por teclado, foco visível, um único h1
  • Meta description, OG tags, favicon, título único
  • Testada em 390px, 768px e 1440px
  • Teste da marca: escondendo o logotipo, a página poderia ser de outra empresa? Se sim → voltar para a fase 2

Comandos

# Criar projeto
pnpm create astro@latest minha-landing -- --template minimal --typescript strict
cd minha-landing
pnpm astro add tailwind
pnpm add gsap lenis

# Desenvolvimento e build
pnpm dev
pnpm build && pnpm preview

# Deploy (escolha um; no Netlify/Vercel/Cloudflare: build "pnpm build", saída "dist")
npx wrangler pages deploy dist        # Cloudflare Pages direto
npx netlify deploy --prod --dir=dist  # Netlify direto

Recursos

Habilidades Relacionadas