Communitygithub.com

Stosan/arquiteto-de-design-system

Crie um sistema de design moderno para qualquer produto ou empresa, ou audite uma base de código existente ou URL e recomende melhores escolhas de design, tokens e componentes.

O que é arquiteto-de-design-system?

Esta skill capacita um agente AI a atuar como um Arquiteto de Design System completo. Ela oferece dois modos de operação: **Criar** (Create) e **Revisar** (Review). No modo Criar, o agente constrói um sistema de design completo e documentado a partir de várias fontes, como arquivos de marca, Figma, código, URLs ou até mesmo uma simples descrição. No modo Revisar, ele audita uma base de código ou URL existente, extrai o sistema atualmente em uso, pontua sua qualidade e prescreve um sistema melhor. A skill é modelada em um sistema fintech real, utilizando uma paleta de cores pequena, um tom de azul com uma rampa de 50 a 950, uma única tipografia com fallback, espaçamento baseado em 4pt, CTAs em formato de pílula, sombras em camadas e um padrão de marca d'água. O resultado final é um guia de estilo vivo contendo tokens CSS/JSON, diretrizes de componentes, pré-visualizações e um livro de marca, garantindo consistência e acessibilidade. A abordagem do agente é rigorosa: ele não inventa valores silenciosamente, verifica contraste em cada tema e segue uma lista de verificação de qualidade para evitar armadilhas comuns de IA, como gradientes genéricos ou valores arbitrários.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Stosan/Claude-Skills-for-engineering-teams/tree/HEAD/skills/design-system-architect

Perguntar na sua IA favorita

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

Documentação

Arquiteto de Design System

Dois modos. Escolha a partir da solicitação; se ambos se aplicarem, execute a Revisão primeiro e alimente suas descobertas na Criação.

  • Criar: construa um sistema de design completo e documentado para um produto, negócio ou empresa, a partir de quaisquer fontes que existam (arquivos de marca, Figma, apresentações, uma base de código, um site ou nada além de uma descrição).
  • Revisar: audite uma base de código ou URL(s) existente, extraia o sistema de design que ela realmente usa, pontue-o e prescreva um melhor.

A forma de referência para cada sistema é um livro de marca vivo + tokens + pré-visualizações + componentes + kits de UI (modelado em um sistema fintech real: paleta de marca pequena, um azul de destaque com uma rampa 50-950, uma única tipografia de marca com um fallback para web, espaçamento de 4pt, CTAs em pílula, sombras em camadas com tom frio, um padrão de marca d'água construído a partir da marca do logotipo).


0. Coleta de informações (seja breve)

Encontre fontes antes de perguntar qualquer coisa: arquivos anexados, pastas conectadas, links do Figma/conector, repositórios, URLs na mensagem, um artefato de Design System existente. Pergunte (uma AskUserQuestion, no máximo 3 perguntas) apenas pelo que te bloqueia:

  • Nome do produto/empresa, categoria, público
  • Personalidade da marca em 3 adjetivos (se não houver fontes)
  • Plataformas (aplicativo web, site de marketing, mobile, impressão/apresentações)
  • Apenas claro, ou claro + escuro

Se o usuário não estiver presente, assuma padrões sensatos e declare-os no topo da entrega.


1. Inventário das fontes (Criar e Revisar)

Enumere tudo antes de projetar. Acompanhe como uma lista de verificação e relate o que resta no final.

FonteComo extrair
Figmavariáveis/estilos (cor, tipo, efeitos), conjuntos de componentes e suas variantes, nomes de conjuntos de ícones, páginas de capa/marca
Base de códigotailwind.config.*, propriedades personalizadas CSS (:root), variáveis SCSS/LESS, arquivos de tema (MUI/Chakra/styled-components), tokens.json, pastas de componentes, importações de ícones, carregamento de fontes (@font-face, next/font, links do Google Fonts)
URLcarregue a página em uma ferramenta de navegador; leia os estilos computados de body, títulos, botões, links, inputs, cards; colete cada cor distinta, font-family, font-size, raio, sombra; tire screenshots do desktop + mobile; anote arquivos de logotipo/favicon
Ativos de marcalogotipos, marcas, padrões, mockups: copie os arquivos, nunca redesenhe ou aproxime uma marca
Nadaconstrua um sistema INICIAL PEQUENO (veja os mínimos da seção 3) e diga isso

Regras: valores exatos sempre; código é melhor que screenshots; nunca invente um valor e o apresente como obtido de fontes. Marque cada valor como obtido de fonte, derivado (ex.: uma rampa gerada a partir de um hex obtido de fonte) ou proposto.


2. Fundamentos da marca (abertura do livro de marca)

Escreva estas seções em README.md, nesta ordem:

  1. Fontes: tabela de fonte, o que forneceu, status.
  2. Marca de relance: nome e regras exatas de grafia/caixa, categoria, público, pilares, submarcas, voz em uma linha.
  3. Fundamentos de conteúdo: tom, pessoa (nós/você), registros de caixa (título vs corpo vs microrrótulos), dispositivos de ênfase, padrões de CTA, política de emoji, exemplos de texto real para reutilizar.
  4. Fundamentos visuais: cor, tipo, espaçamento/grid, fundos, textura ou padrão de assinatura, raios, botões, cards, bordas, sombras, transparência/desfoque, movimento, estados de hover/press, regras de layout. Cada regra nomeia o token que usa.
  5. Iconografia: uso do logotipo/marca, espaço livre, cores permitidas, família de ícones de UI (traço, tamanho, estilo), o que é proibido.
  6. Substituições e sinalizações: fontes licenciadas que não podem ser enviadas como webfonts e seu fallback, aproximações, perguntas em aberto.
  7. Índice: cada arquivo e o que é.

Mantenha as palavras dos autores quando existirem; marque qualquer coisa que você escreveu como uma proposta.


3. Fundamentos (tokens)

Cor

  • Paleta da marca: mantenha pequena (2-5 cores da marca). Um destaque primário, usado com moderação para ação, confiança e interação, não como um banho de cor.
  • Rampas: gere 50-950 para o primário (e qualquer secundário) para que o hex obtido de fonte caia em seu degrau natural (geralmente 500 ou 600). Use OKLCH para manter os degraus perceptuais uniformes.
  • Neutros: 8-11 passos de tinta quase preta a cinza claro; levemente tingidos em direção ao matiz da marca (marca fria → cinzas frios).
  • Funções semânticas (o que os componentes usam): fg-1/2/3, fg-on-accent, bg-1/2/3, border, border-strong, accent, accent-hover, accent-soft, focus-ring, success, warning, danger, info (cada um com uma variante de fundo suave).
  • Temas: claro primeiro; escuro é um remapeamento das funções semânticas, não uma rampa invertida. Levante superfícies escuras com cinzas mais claros, não sombras.
  • Contraste: texto do corpo ≥ 4.5:1 em seu fundo em cada tema; texto grande (24px+), ícones, bordas de controle e anéis de foco ≥ 3:1. Verifique programaticamente (luminosidade relativa WCAG). Estados que devem ser distinguidos diferem em leveza, não apenas matiz; prefira azul/laranja a vermelho/verde para significado pareado.

Tipo

  • Uma família de marca (duas no máximo: display + texto). Fontes licenciadas recebem uma pilha de fallback documentada e um substituto do Google Fonts.
  • Escala: display, h1, h2, h3, title, body-lg, body, sm, caption, label. Proporção de cerca de 1.2-1.333; display pode quebrar a proporção.
  • Altura da linha: apertada (1.0-1.1) para display, 1.2-1.3 para títulos, 1.45-1.6 para corpo. Tracking: negativo (-0.01 a -0.02em) em tamanhos grandes, positivo (+0.06 a +0.1em) em rótulos em CAIXA ALTA.
  • Pesos em uso: nomeie-os (ex.: 300/400/500/700) e diga onde cada um vai.

Espaçamento, raio, elevação, movimento

  • Espaçamento: base de 4pt; passos 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 80, 96.
  • Raio: sm 6-8, md 10-12, lg 16, xl 24, pílula 999. Indique quais componentes usam quais.
  • Sombras: 3-4 sombras em camadas, de baixa propagação, tingidas com o matiz escuro da marca (nunca gotas de preto puro), mais um brilho de destaque opcional para CTAs primários.
  • Movimento: durações (120/180/240ms), easing (ease-out para entrada, ease-in para saída), hover rise 2-4px, press scale 0.98. Respeite prefers-reduced-motion.
  • Breakpoints e grid de layout: ex.: 640/768/1024/1280; larguras máximas de conteúdo; shell do aplicativo (sidebar + barra superior + canvas).

Formatos de arquivo de token

Escreva os tokens duas vezes, a partir de uma única fonte de verdade:

  • tokens.css: :root { --nome: valor } mais remapeamentos de [data-theme="dark"] e @media (prefers-color-scheme: dark).
  • tokens.json: cada família como uma LISTA: {"tokens":[{"name","value","usage"}]}; cor carrega themes e valores por tema {"light":"#..","dark":"#.."}; tipo usa fonts, families, groups[].styles[]. Nomes [A-Za-z0-9][A-Za-z0-9_.-]*, únicos. Valores de cor em hex/rgb/hsl/oklch ou {alias}; sem cores nomeadas, var() ou color-mix(). Cada token tem uma nota de uso.
  • Ofereça uma configuração Tailwind / exportação DTCG somente se a stack do usuário precisar.

Mínimos para um sistema inicial (sem fontes): 6-10 cores em um tema, 5-7 estilos de texto, 4+ passos de espaçamento, 3 raios, README de um parágrafo; diga que é um ponto de partida.


4. Componentes

Construa as famílias que o produto precisa; para um produto SaaS/fintech típico:

  • Ações: Button (solid primário, outline secundário, ghost, destrutivo; sm/md/lg; loading, disabled, icon-only), Link, IconButton
  • Entradas: TextField, Select, Checkbox, Radio, Switch, DatePicker, SearchField, com label, dica, erro, foco-ring
  • Exibição: Card, Badge/Chip, Tag, Avatar, Stat/KPI tile, Table, EmptyState, Skeleton
  • Navegação: Sidebar, TopBar, Tabs, Breadcrumbs, Pagination
  • Feedback: Alert/Banner, Toast, Modal/Dialog, Tooltip, Progress
  • Domínio: o que o produto é (ex.: imposto: rastreador de status de declaração, linha de dedução, cartão de prazo; IA: painel de assistente, chip de sugestão)

Para cada componente, escreva uma diretriz curta: primeira frase = resumo; anatomia; variantes e quando usar cada uma; tokens que usa; estados; acessibilidade (papéis, teclado, foco, rótulos); faça/não faça. Construa uma pré-visualização ao vivo (pequeno documento HTML usando os tokens). Se um pacote for construído, é um único script clássico atribuindo window.<Namespace> com props tipadas documentadas em index.d.ts.


5. Pré-visualizações e kits de UI

  • Um cartão de espécime por fundamento: cores da marca, rampa, neutros, cores semânticas, família tipográfica, escala de display, escala de corpo, espaçamento, raios, elevação, logotipos, marcas de ícones, padrão, marca em uso.
  • Kits de UI que recriam superfícies reais com o sistema: um site de marketing (nav, hero, recursos, CTA, rodapé) e/ou aplicativo de produto (shell, dashboard, lista/tabela, detalhes, configurações, assistente). Use texto de domínio realista na voz da marca, não lorem ipsum.
  • Uma página de capa para o sistema: nome, marca, promessa de uma linha, faixa de paleta.

6. Entrega

  1. Se a ferramenta de Artefato listar um tipo Design System, crie o sistema a partir dele (type_url, title) e siga o SKILL.md que ele retorna para caminhos de arquivo e o índice; essa é a casa preferida. Para revisar um existente, leia-o primeiro e altere apenas o que foi solicitado.
  2. Caso contrário, publique um livro de marca HTML autônomo como um artefato e entregue tokens.css, tokens.json, arquivos de componente e ativos como arquivos (escritos em uma pasta conectada quando houver uma).
  3. Copie logotipos, ícones e fontes como arquivos reais; nunca cole base64 no chat.
  4. Finalize com: link, o que foi obtido de fonte vs. proposto, o que resta do inventário, uma oferta para levar adiante (componentes, tema escuro, sincronização Figma, integração de código).

7. Modo de Revisão (auditoria de base de código ou URL)

Coletar

  • Base de código: pesquise literais de cor (#[0-9a-fA-F]{3,8}, rgb(, hsl(), declarações font-family, valores font-size/px, border-radius, box-shadow, z-index, breakpoints, estilos inline, componentes duplicados (várias implementações de Button/Modal), bibliotecas de ícones em uso. Conte as ocorrências.
  • URL(s): abra cada página (desktop 1440 e mobile 390), leia estilos computados, colete valores distintos, faça screenshots de telas-chave, execute uma verificação de contraste em pares texto/fundo, observe a visibilidade do foco ao usar tab, verifique prefers-color-scheme e reduced motion.

Extrair o sistema de facto

Agrupe valores quase duplicados (ex.: 14 cinzas → 6 passos; 9 raios → 4). Mostre a paleta real, a escala tipográfica, o espaçamento e o raio em uso, com contagens.

Pontuar (0-5 cada, com evidência)

  1. Cor (disciplina da paleta, uso semântico, contraste)
  2. Tipografia (consistência da escala, hierarquia, legibilidade)
  3. Espaçamento e layout (adesão ao grid, ritmo, responsividade)
  4. Componentes (consistência, estados, duplicação)
  5. Acessibilidade (contraste, foco, rótulos, teclado, movimento)
  6. Expressão da marca (distintividade, voz, imagética)
  7. Arquitetura de tokens (valores codificados vs. tokens, prontidão para temas)

Descobertas

Classifique por gravidade: Crítico (falhas de acessibilidade, fluxos quebrados), Alto (inconsistência que os usuários notam, diluição da marca), Médio, Detalhe. Cada descoberta: onde (file:line ou URL + elemento), o quê, por que é importante, a correção exata (nome do token e valor, ou mudança de componente).

Prescrever

  • Um conjunto consolidado de tokens (tabela de mapeamento valor antigo → novo token).
  • Antes/depois para as 3-5 telas ou componentes de maior impacto (mockup HTML quando útil).
  • Um plano de migração em fases: 1) tokens + correções de contraste, 2) componentes principais, 3) telas, 4) modo escuro/polimento. Observe mudanças disruptivas.
  • Entregue como um documento ou relatório HTML; ofereça-se para construir o sistema completo via Create.

Nunca edite o código do usuário no modo de Revisão, a menos que ele peça.


8. Lista de verificação de qualidade

  • Cada valor marcado como obtido de fonte / derivado / proposto; nada inventado silenciosamente
  • Logotipos e marcas são os arquivos reais; sem logotipo significa wordmark simples e uma nota
  • Contraste verificado em cada tema e cada pré-visualização
  • Cada token tem uma nota de uso; cada componente lista os tokens que usa
  • Nome da marca escrito de forma consistente em todos os lugares, incluindo texto de amostra
  • Fontes: arquivos reais ou fallback licenciado documentado
  • Texto segue as próprias regras de voz da marca (caixa, política de emoji, padrão de CTA)
  • Responsivo em 390px sem rolagem horizontal
  • Inventário relatado: construído, pulado, restante

Antipadrões (não entregue)

  • Clichês genéricos de IA: gradientes de azul para roxo em todos os lugares, cartões de recursos com emoji, cartões de destaque com borda esquerda, glassmorphism sem motivo
  • Uma cor de destaque usada como banho de fundo em vez de para ação
  • Sombras de gota de preto puro; mais de 4 níveis de sombra
  • Valores arbitrários (13px, 17px, 22px de raio) fora da escala
  • Logotipos redesenhados ou recoloridos
  • Vermelho/verde como o único sinal para status
  • Mapas de token (objetos DTCG aninhados) onde um tokens.json em forma de lista é necessário

Habilidades Relacionadas