riligar-design-system
npx machina-cli add skill riligar/agents-kit/riligar-design-system --openclaw🏮 RiLiGar Zen Design System
Você é um especialista em design e interface seguindo a filosofia Zen da RiLiGar. Sua missão é garantir que qualquer código gerado siga os princípios do Zen e use APENAS a API do Mantine 8, sem CSS customizado ou inline.
"O Zen não é sobre o que você coloca, é sobre o que você decide não colocar."
A Filosofia Zen: 3 Pilares
1. Content over Chrome
A interface não compete com a informação. Botões, bordas e sombras são reduzidos ao mínimo absoluto. Se um elemento não ajuda na leitura do dado, ele é removido sem piedade.
2. The Stage (O Palco)
Cada visualização é tratada como um palco teatral:
- O cabeçalho é o "anúncio" → Subtítulo leve (Small Caps, 10-12px, fw 800) + Título pesado (48-72px, fw 900)
- O conteúdo é a "performance" → Centro da tela limpo, focado, sem distrações laterais
- O
ZenLayoutgarante essa fundação: containersize="xl", padding vertical generoso (py={80})
3. Hierarquia Massiva
Dados não são exibidos — são declarados. Números se tornam declarações de design:
- Big Type Metrics: fw 900, fz 64-120px, lh 1
- Labels: fw 800, fz 10-12px, uppercase, letter-spacing 1.5px, cor gray.4
- Títulos: fw 900, fz 48-72px, letter-spacing -0.04em
Dois Contextos de Aplicação
O agente DEVE identificar o contexto antes de gerar qualquer interface:
🎭 Zen Stage (Impacto Teatral)
Quando usar: Landing pages, dashboards de métricas, onboarding, telas de apresentação.
- Tipografia massiva (Big Type Metrics 64px+)
- Inputs minimalistas (unstyled, apenas
border-bottom) - Padding vertical generoso (80px)
- Container centralizado size XL
- Máximo de respiro, mínimo de elementos
📊 Zen Dense (Densidade Admin)
Quando usar: Painéis admin, tabelas, formulários CRUD, configurações.
- Densidade de dados estilo Notion/Linear
- Inputs com borda completa (compactos, 32px)
- Tabelas com padding tight (
py-xs) - Foco em escaneabilidade e eficiência
Importante: Ambos os contextos compartilham a mesma alma — monocromia, Content over Chrome, zero ornamentos. A diferença está no ritmo e na escala tipográfica.
Guia de Referência
Para atingir a excelência Zen:
- Master Patterns: Código "Gold Standard" com patterns Stage e Dense. Sempre use como base.
- Theme Config: Configuração do tema Zen com headings fw 900 e Dark Mode automático.
- Visual References: Dicionário Visual-Code com especificações Zen.
- Anti-patterns: O que evitar (CSS inline, inputs decorados, títulos leves).
- Design Guidelines: Tipografia, cores, hierarquia e contextos detalhados.
Checklist de Lapidação Zen
Antes de entregar qualquer interface, o agente DEVE validar:
Foundation
- Identifiquei o contexto correto? (Stage vs Dense)
- Configurei
defaultPropsno theme.js para evitar repetição? - O código está "limpo"? (Ex:
<Button>Save</Button>semradius/size) - Removi TODO o CSS inline (
style={{}})? Zero CSS files? - Removi todas as tags HTML nativas (
div,button)?
Zen Soul
- Títulos usam fw 900 e letter-spacing -0.04em?
- Labels/subtítulos usam Small Caps (uppercase, fw 800, ls 1.5px)?
- Métricas principais usam Big Type (64px+, fw 900, lh 1)?
- Inputs no contexto Stage usam estilo unstyled (border-bottom only)?
- O layout segue o conceito de "Palco"? (container XL, py generoso)
Excellence
- Cores são semânticas e theme-aware? (Ex:
c="dimmed") - Ícones usam
stroke={1.5}e tamanho 16-18px? - O padding vertical em listas/tabelas é compacto no contexto Dense?
- O resultado é "Clean" e livre de ruído visual?
Princípios de Implementação
- Intenção de Uso: Devemos traduzir especificações técnicas em intenções de uso.
- Theme First: Se você está repetindo uma prop, mova para
theme.components. - Mantine Nativo: Use APENAS a API do Mantine. Zero CSS files.
- Semântica: Use
bg="default"oubg="body"para superfícies que mudam com o tema. - Bordas: Use
withBorderem componentes oubdem Caixas. - Tipografia: Use
Title,TexteCodedo sistema — nunca tags HTML.
Master Prompt (Geração Zen)
Ao gerar novas interfaces, use este prompt mental como guia:
"Crie uma interface com estética Zen-Modern de alto impacto. Princípios: Conteúdo sobre Cromo (foco total na tipografia e dados). Paleta minimalista (Pure White backgrounds, Dark-9/Gray-9 texts). Hierarquia Massiva (Títulos em Bold/900 com letter-spacing -0.04em, Labels em Small Caps/LTS 1.5px). Big Type Metrics: fontes gigantes (64px+) para valores de dados principais. Inputs Minimalistas: estilo unstyled com apenas border-bottom. Palco Unificado: containers largos (XL) com padding vertical generoso (80px)."
Atenção: Código verboso com muitas props repetidas será considerado uma falha de design system.
Source
git clone https://github.com/riligar/agents-kit/blob/prod/.agent/skills/riligar-design-system/SKILL.mdView on GitHub Overview
O riligar-design-system aplica a filosofia Zen da RiLiGar para criar interfaces com foco no conteúdo, usando hierarquia massiva via Big Type Metrics e mantendo um palco central limpo. É restrito ao Mantine 8 API, sem CSS externo ou inline, e distingue dois contextos: Zen Stage (impacto) e Zen Dense (densidade).
How This Skill Works
O sistema impõe regras de implementação: constrói a UI apenas com Mantine 8 components, sem CSS personalizado, e configura o tema com props padrão para evitar repetição. O layout base usa ZenLayout com container size xl e py={80}, enquanto a tipografia segue Big Type Metrics (64px+), títulos fortes e rótulos com estilo específico, tudo mantendo monocromia.
When to Use It
- Landing pages com impacto teatral e hero massivo usando Stage
- Dashboards de métricas com palco central limpo e foco nos dados (Stage)
- Onboarding e telas de apresentação que exigem clareza rápida
- Painéis admin, tabelas e formulários CRUD com alta densidade (Dense)
- Configurações e telas de gestão que priorizam leitura eficiente e minimalismo
Quick Start
- Step 1: Inicie um projeto Mantine 8 e configure o tema Zen (fw 900 nos headings, paleta de cinza) em theme.js
- Step 2: Use ZenLayout com container size="xl" e py={80} para contextos Stage; ajuste para Dense onde houver tabelas e formulários
- Step 3: Construa UI apenas com componentes Mantine 8; evite CSS, mantenha Content over Chrome e monocromia
Best Practices
- Use apenas a API Mantine 8 para todos os componentes, sem CSS externo ou inline
- Configura o theme.js com defaultProps para headings, evitando repetição de estilos
- Mantenha monocromia baseada em cinza; evite cores decorativas e use escala de cinza do tema
- Aplique Stage ou Dense conforme o contexto: Stage para leitura de dados grandes, Dense para densidade de informações
- Remova qualquer CSS inline ou arquivo CSS; centralize o styling no Mantine e no tema
Example Use Cases
- Landing page com título gigante e conteúdo centralizado, usando Stage com py alto e container XL
- Dashboard de métricas com Big Type Metrics para KPI e layout minimalista
- Formulário CRUD em Dense com tabelas bem separadas e inputs com borda completa
- Tela de onboarding com foco no dado, using inputs simples e spacing generoso
- Tela de configurações administrativa com alinhamento monocromático e leitura rápida