Communitygithub.com

axewhyzed/agentic-skills

Estrutura operacional para aplicações web modernas de alta densidade e zero desperdício, painéis de ferramentas e espaços de trabalho produtivos. Use ao projetar, construir ou refatorar interfaces web (React, TypeScript), layouts mestre-detalhe de dois painéis, hubs de composição unificados, navegação por teclado, paletas de comando (cmdk), indicadores de telemetria ao vivo e ergonomia granular de autenticação.

O que é agentic-skills?

Este perfil detalha uma filosofia de design e um guia de implementação para construir aplicações web produtivas e de alta densidade, com foco em eficiência de espaço e usabilidade. Ele é projetado para desenvolvedores que trabalham com React e TypeScript, e oferece padrões concretos para eliminar elementos decorativos que consomem espaço, como banners de boas-vindas, em favor de barras superiores compactas com telemetria e ações rápidas. O guia também especifica layouts de viewport de 100vh sem scrollbars acidentais, uma estética inspirada em Linear, Vercel e Raycast com cores escuras profundas e bordas sutis de 1px, e a integração obrigatória de uma paleta de comandos (⌘K) para navegação rápida. Ele é útil para qualquer agente ou desenvolvedor que precise criar dashboards, painéis de administração ou ferramentas que maximizem a densidade de informações, garantindo acessibilidade (WCAG 2.2 AA/AAA) e uma experiência de autenticação granular, com distinção clara entre logout local e revogação global de sessões. O perfil é independente de plataforma, mas fornece referências diretas a repositórios como shadcn/ui e cmdk para implementação.

Funciona com~Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/axewhyzed/agentic-skills/tree/HEAD/.agents/skills/modern-web-ui-ux

Perguntar na sua IA favorita

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

Documentação

Design Moderno de UI/UX Web & Espaços de Trabalho de Alta Densidade

Um guia operacional abrangente para criar aplicações web de alta densidade, zero desperdício, painéis de ferramentas e espaços de trabalho produtivos.


1. A Filosofia Web de Zero Desperdício

Aplicativos web produtivos (ferramentas, painéis de administração, relés de comunicação, dashboards de desenvolvedor) não são páginas de destino. Os usuários chegam para realizar uma tarefa, não para admirar gráficos de marketing.

1.1 A Regra Anti-Herói

  • ❌ Anti-Padrão: Colocar um enorme banner decorativo de 300px no topo da tela do aplicativo ("Bem-vindo à sua Caixa de Entrada!", ilustrações abstratas flutuantes, grandes gradientes de fundo) que empurra dados reais e controles interativos para abaixo da dobra.
  • ✔️ O Padrão de Zero Desperdício: Elimine banners de marketing de herói completamente de estados logados. Use uma barra superior compacta de 56px que integra:
    1. Identidade de marca / ícone sutil.
    2. Telemetria do sistema ao vivo ou medidores de cota (ex.: pílula de armazenamento: 14 MB / 2 GB).
    3. Gatilhos de modais de ação (ex.: "Emparelhar Dispositivo").
    4. Alternadores de tema rápidos (Escuro / Claro).
    5. Menu de usuário compacto com opções distintas de logout local e segurança.

1.2 Maximização da Viewport

  • Layouts 100vh: Trave a altura da viewport raiz (height: 100vh; overflow: hidden;) e crie contêineres de rolagem independentes para listas de conteúdo e inspetores de detalhes.
  • Zero Barras de Rolagem Acidentais: Elimine barras de rolagem duplas gerenciando cuidadosamente overflow-y: auto apenas em contêineres de lista internos.

2. A Estética Linear-Style de Alta Densidade

Inspirada nos paradigmas de design popularizados por Linear, Vercel e Raycast:

2.1 Hierarquia Visual & Tokens

  • Bordas Sutis de 1px: Evite sombras pesadas. Use bordas finas de 1px (border-border/40 ou #1E293B) para estabelecer estrutura.
  • Fundos Slate Escuro / Obsidiana: Use fundos de alto contraste e não saturados (#0B0F17 ou #090D16) em vez de preto puro (#000000) ou cinzas turvos.
  • Figuras Tabulares Monoespaçadas: Sempre aplique font-mono tabular-nums a datas, timestamps, tamanhos de arquivo e contadores para que os números se alinhem verticalmente sem oscilação de layout.
  • Grade de Espaçamento Compacta: Padronize um ritmo de 4px/8px. Preencha linhas com 8px–10px verticais e 12px horizontais para máxima densidade de informação sem claustrofobia visual.

2.2 Paleta de Comandos (cmdk Pattern)

Além da barra de pesquisa padrão, integre uma paleta de comandos global acionada por ⌘K ou Ctrl+K:

  • Ações agrupadas: Navegação, Criação, Configurações do sistema, Ações da conta.
  • Pesquisa fuzzy instantânea em itens, arquivos e atalhos.
  • Navegação por teclado totalmente acessível (ArrowDown, ArrowUp, Enter, Escape).

3. O Padrão de Hub de Composição Unificado

Quando um aplicativo permite que os usuários criem, carreguem ou enviem diferentes tipos de dados (ex.: notas de texto, URLs, documentos), evite espalhar pontos de entrada por diferentes páginas ou enterrá-los na parte inferior.

+-------------------------------------------------------------+
| Hub de Composição                                           |
| [ 📝 Texto ]  [ 🔗 Link Web ]  [ 📁 Upload de Arquivo ]     |
+-------------------------------------------------------------+
|                                                             |
|  Área de Formulário Ativo / Alvo de Arrastar e Soltar       |
|  - Textarea multi-linha para notas                          |
|  - Entrada de URL limpa com validação automática            |
|  - Zona de arrastar e soltar com prévia de arquivo          |
|                                                             |
+-------------------------------------------------------------+
| Retenção: [ 1 Dia ] [ 3 Dias ] [ 7 Dias ]    [ Soltar no Cofre ↵ ] |
+-------------------------------------------------------------+

Elementos-chave de um Hub de Composição Eficaz:

  1. Alternador de Abas Segmentado: Abas tipo pílula com alternância instantânea sem redefinir o formulário.
  2. Zona de Arrastar e Soltar: Manipulação nativa de arrastar e soltar HTML5 com destaque visual de borda (border-dashed border-accent) e validação de tamanho em bytes.
  3. Contagem ao Vivo de Caracteres e Bytes: Calcule bytes UTF-8 reais em tempo real (ex.: 124 bytes ou 18.4 MB / 100 MB).
  4. Controles de Ciclo de Vida / Retenção: Permita que o usuário defina a expiração antecipadamente para que o sistema limpe itens temporários automaticamente.
  5. Envio por Teclado: Ctrl + Enter (ou Cmd + Enter) para enviar de qualquer entrada de texto ativa.
  6. Estados Ativos de Alto Contraste (WCAG 1.4.11):
    • Contraste de Aba Ativa: No modo escuro, uma aba ativa NUNCA deve se misturar ao seu contêiner (#111827 ativo em #0F172A é apenas 1.02:1). Sempre eleve a aba ativa com --card-elevated: #1E293B, uma borda semântica explícita de 1px (1px solid var(--accent)), um brilho de contorno ativo (box-shadow: 0 0 0 1px var(--accent-glow)) e um ícone com matiz ativo.
    • Limites de Controles de Formulário: Entradas de retenção, chevrons de dropdown e botões secundários no modo escuro devem usar bordas com opacidade de branco $\ge 18%$ (rgba(255, 255, 255, 0.18) ou #334155) para atender ao requisito de contraste de 3:1 para não texto contra fundos escuros.

4. Layouts Mestre-Detalhe de Alta Densidade (Dois Painéis)

Para navegação de dados, layouts mestre-detalhe mantêm o contexto visível enquanto permitem inspeção aprofundada.

flowchart LR
    subgraph MasterPane["Painel Mestre (Esquerda: 40% - 45%)"]
        SearchBar["Barra de Pesquisa Instantânea (Tecla de atalho: /)"]
        FilterChips["Filtros: [Todos] [Arquivos] [Links] [Texto]"]
        ListItems["Linhas de Itens Virtualizadas / Roláveis
        - Ícone de Tipo + Título
        - Emblema de Dispositivo Remetente
        - Timestamp Relativo
        - Ação Rápida / Deslizar"]
    end

    subgraph DetailPane["Painel de Detalhes (Direita: 55% - 60%)"]
        DetailHeader["Título do Item e Emblema de Tipo"]
        PreviewArea["Pré-visualização ao Vivo do Conteúdo:
        - Links Clicáveis
        - Texto com destaque de sintaxe
        - Pré-visualização de Imagem / Documento"]
        ActionRow["Ações Principais:
[ Abrir Link ] [ Copiar Texto ] [ Baixar Arquivo ] [ Excluir ]"]
    end

    MasterPane -->|"Estado de Seleção"| DetailPane

Melhores Práticas:

  • Cabeçalho de Pesquisa e Filtro Fixo: A entrada de pesquisa e os chips de filtro devem permanecer fixos enquanto a lista de itens rola por baixo.
  • Estados Vazios e de Resultado Zero: Forneça estados visuais claros:
    • Nenhum item ainda: "Sua caixa de entrada está vazia. Use o hub de composição acima para adicionar seu primeiro item."
    • Nenhuma correspondência de pesquisa: "Nenhum item correspondente a 'declaração-imposto'. [Limpar pesquisa]."

5. Navegação por Teclado & Acessibilidade (a11y)

Usuários avançados esperam fluência no teclado:

AtalhoAçãoImplementação
/ ou ⌘KFocar na Entrada de Pesquisadocument.addEventListener('keydown', ...) com input.focus()
EscapeLimpar Pesquisa / Fechar Modal AtivoDispensa o modal superior ou desfoca o campo de pesquisa
Ctrl + EnterEnviar Formulário Ativo / ItemManipulador onKeyDown do formulário
Tab / Shift + TabOrdem de Foco DOM LógicaAplicar anéis :focus-visible acessíveis (contorno azul de $2\text{px}$)

5.1 Auditoria de Contraste de Cor WCAG 2.2 AA / AAA

Nunca publique aplicativos web com tokens de design de contraste não verificado ou baixo:

  • Contraste de Texto Normal ($\ge 4.5:1$ AA, $\ge 7:1$ AAA):
    • Armadilha do Modo Claro: Slate-400 (#94A3B8) em #FFFFFF é apenas 2.57:1 (falha AA). Escureça o texto secundário do modo claro para pelo menos Slate-500 (#64748B), resultando em 4.77:1.
    • Armadilha do Emblema de Aviso / Âmbar: Amber-600 (#D97706) em #FFFFFF é apenas 3.22:1 (falha AA). Escureça para Amber-700 (#B45309) para emblemas de texto, resultando em 4.82:1.
    • Texto do Modo Escuro: Garanta que text-primary (#F8FAFC, 15.6:1 AAA) e text-secondary (#CBD5E1, 11:1 AAA) forneçam legibilidade sem esforço em cartões slate escuros.
  • Contraste de Componentes e Bordas ($\ge 3:1$, WCAG 1.4.11):
    • Entradas de formulário, campos de pesquisa e bordas de controles segmentados no modo escuro devem atender a $\ge 3:1$ de contraste contra contêineres adjacentes.
    • Indicadores de foco devem usar anéis primários de alto contraste (box-shadow: 0 0 0 2px var(--focus-ring)).

6. Experiência de Segurança e Autenticação Granular

Não confunda ações normais do usuário do dia a dia com ações de segurança de alto risco.

6.1 Logout Local vs. Revogação Global

  • Sair (Local): Limpa o cookie de sessão apenas no navegador atual. Esta é a ação de rotina que os usuários realizam em computadores compartilhados.
  • Sair de Todos os Lugares (Global): Revoga todos os tokens de atualização e sessões de dispositivos ativos em todos os telefones, laptops e navegadores registrados.
    • Regra de Segurança: Nunca coloque "Sair de Todos os Lugares" como um botão direto de um clique em um menu padrão. Sempre proteja-o atrás de um modal dedicado com uma etapa de confirmação explícita ("Tem certeza? Isso desconectará seu telefone e outros dispositivos.").

6.2 UX de Emparelhamento de Dispositivos

  • Renderize códigos QR de emparelhamento em um diálogo leve com:
    • Código QR SVG de alto contraste.
    • Temporizador de contagem regressiva em tempo real (ex.: "Expira em 09:42").
    • Segredo de texto alternativo com um botão de copiar com um clique para dispositivos sem câmeras funcionando.

7. Repositórios de Código Aberto de Referência

Inspecione estes repositórios líderes da indústria para design, estrutura de tokens e inspiração de implementação:

  • shadcn/ui: Primitivas de componentes acessíveis e sem estilo que combinam Radix UI e Tailwind CSS com padrões modernos de alta densidade.
  • pacocoursey/cmdk: O componente de menu de comando acessível padrão ouro usado por Linear, Vercel e Raycast.
  • henrikzabel/linearlike: Índice com curadoria de aplicações web de nível de produção que utilizam a estética Linear.
  • ln-dev7/circle: Rastreador de problemas inspirado em Linear de código aberto demonstrando tabelas densas e navegação na barra lateral.
  • calcom/cal.com: Layout de espaço de trabalho React de nível empresarial com configurações de vários painéis limpas, diálogos granulares e navegação instantânea.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

Habilidades Relacionadas