Skip to content
Back to skills

Dl Tabler Ui

ASecurity

Cria, implementa, corrige, moderniza e mantém interfaces de aplicações web baseadas no Tabler, sempre usando CDN para Tabler e dependências frontend de terceiros, com foco forte em usabilidade, acessibilidade, responsividade, consistência visual e manutenção segura. Use em telas, CRUDs, dashboards, formulários, tabelas, modais, navegação, layouts e revisões de UI/UX em projetos existentes ou novos.

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 23, 2026
developmentjavascriptpythongojavaphpshellbashreactvuedjango

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 7 files and shows the line behind each finding

Scanned September 23, 2026

npx -y skills add alexishida/dalhe-cli --skill dl-tabler-ui --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Dl Tabler Ui?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Dl Tabler Ui
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/alexishida-dl-tabler-ui/badge)](https://www.skillsdirectory.com/skills/alexishida-dl-tabler-ui)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: dl-tabler-ui
description: Cria, implementa, corrige, moderniza e mantém interfaces de aplicações web baseadas no Tabler, sempre usando CDN para Tabler e dependências frontend de terceiros, com foco forte em usabilidade, acessibilidade, responsividade, consistência visual e manutenção segura. Use em telas, CRUDs, dashboards, formulários, tabelas, modais, navegação, layouts e revisões de UI/UX em projetos existentes ou novos.
---

# dl-tabler-ui

Atue como engenheiro frontend sênior e especialista em UI/UX para aplicações administrativas baseadas em **Tabler**.

O objetivo é entregar interfaces claras, consistentes, responsivas, acessíveis e fáceis de manter, respeitando a arquitetura existente do projeto.

## Regras inegociáveis

1. **Use CDN para todas as dependências frontend de terceiros.**
   - Tabler CSS e JavaScript: CDN.
   - Tabler Icons: CDN.
   - Plugins e bibliotecas de navegador: CDN quando necessários.
   - Não adicione `@tabler/core`, Tabler Icons ou bibliotecas visuais via npm, yarn, pnpm ou bun.
   - Não introduza Vite, Webpack, Rollup, Parcel, esbuild, Sass/PostCSS ou outra etapa de build apenas para servir dependências de interface.
   - Não copie bibliotecas de terceiros para `vendor/`, `public/`, `assets/` ou equivalente.
   - Dependências do backend não são afetadas por esta regra.

2. **Prefira Tabler nativo antes de CSS/JS customizado.**
   - Reutilize componentes, utilitários e padrões oficiais do Tabler/Bootstrap.
   - Crie CSS customizado apenas quando o Tabler não resolver adequadamente.
   - Evite duplicar estilos que já existem no framework.

3. **Preserve a arquitetura do projeto.**
   - Não troque framework, engine de templates, rotas, organização de arquivos ou backend sem pedido explícito.
   - Adapte-se a HTML, ERB/Rails, Blade/Laravel, Twig, PHP, EJS, Django templates, Jinja, Razor ou outra stack encontrada.
   - Faça a menor alteração coerente que resolva o problema.

4. **UX faz parte da implementação, não é acabamento opcional.**
   - Toda tela deve considerar hierarquia visual, estados, feedback, responsividade, acessibilidade, prevenção de erro e fluxo de tarefa.

5. **Não invente APIs, rotas, campos ou regras de negócio.**
   - Descubra no código existente antes de conectar a interface.
   - Quando algo não existir, isole a interface e deixe claro o contrato esperado.

## Antes de alterar qualquer tela

Inspecione primeiro o projeto para descobrir:

- framework e engine de templates;
- layout principal e partials/componentes reutilizáveis;
- versão/URL de CDN do Tabler já usada;
- CSS e JavaScript customizados existentes;
- convenções de nomenclatura;
- rotas, controllers/handlers e modelos envolvidos;
- padrões existentes para flash messages, erros, modais, tabelas e formulários;
- suporte atual a dark mode, RTL e responsividade;
- bibliotecas de terceiros já carregadas por CDN.

Não crie um segundo padrão visual quando o projeto já possui um consistente.

## Política de CDN

Para um projeto novo, use como baseline:

```html
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/core@latest/dist/css/tabler.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@latest/dist/tabler-icons.min.css">

<script src="https://cdn.jsdelivr.net/npm/@tabler/core@latest/dist/js/tabler.min.js"></script>
```

Regras adicionais:

- Em manutenção, **preserve a versão já fixada** se ela estiver funcionando e o usuário não pediu upgrade.
- Em produção, prefira uma **versão explícita e verificada** no CDN para evitar mudanças inesperadas; continue usando CDN.
- `@latest` é aceitável para protótipos, exemplos e bootstrap inicial.
- Não carregue Bootstrap separadamente quando o bundle atual do Tabler já fornecer o comportamento necessário.
- Carregue plugins extras somente na página/layout que realmente precisa deles, quando a arquitetura permitir.
- Evite duas bibliotecas diferentes para resolver o mesmo problema.
- Antes de adicionar um novo CDN, confira se o projeto já possui biblioteca equivalente.

Leia `references/tabler-cdn.md` quando precisar decidir URLs, versionamento ou dependências adicionais.

## Processo de implementação

### 1. Entenda a tarefa do usuário

Converta o pedido em:

- objetivo da tela;
- ação principal;
- ações secundárias;
- dados necessários;
- estados possíveis;
- riscos de uso;
- comportamento mobile.

Não comece pela estética; comece pelo fluxo.

### 2. Reuse a estrutura existente

Procure por:

- `page`, `page-wrapper`, `page-header`, `page-body`;
- `container-xl` ou container já padronizado;
- navbar/sidebar existente;
- partials de breadcrumb, alerts e paginação;
- helpers de formulário e autorização;
- componentes de card, table e modal já usados.

Extraia partial/componente somente quando houver reutilização real ou quando o arquivo estiver ficando difícil de manter.

### 3. Escolha componentes Tabler adequados

Priorize:

- `card` para agrupamento lógico;
- `table`/responsive table para dados tabulares;
- `form-control`, `form-select`, `input-group` e feedback de validação para formulários;
- `badge` e `status` para estados curtos;
- `alert` para mensagens importantes;
- `modal` apenas para tarefas curtas e contextuais;
- `offcanvas` quando uma ação lateral preservar melhor o contexto;
- `dropdown` para ações secundárias;
- `empty state` quando não houver dados;
- `spinner`, placeholder/skeleton ou estado de carregamento quando houver espera;
- `pagination` para coleções extensas;
- tabs somente quando as seções forem pares conceituais e o usuário precisar alternar entre elas.

### 4. Implemente estados completos

Uma funcionalidade não está pronta enquanto não tratar, quando aplicável:

- estado normal;
- loading;
- vazio;
- sucesso;
- erro;
- validação de campo;
- permissão negada;
- ação desabilitada;
- processamento/submissão em andamento;
- confirmação para ação destrutiva;
- conteúdo longo ou inesperado;
- viewport pequeno.

### 5. Revise usabilidade

Antes de concluir, aplique `references/ui-ux-checklist.md`.

### 6. Valide a política CDN

Quando puder executar scripts locais, rode:

```bash
python scripts/check_cdn_policy.py .
```

Use o script como alerta, não como substituto para revisão humana.

## Diretrizes de UI/UX

### Hierarquia

- Uma ação primária clara por contexto.
- Títulos devem dizer o que o usuário está vendo, não apenas repetir o menu.
- Use subtítulos apenas para contexto útil.
- Agrupe por tarefa ou significado, não por conveniência técnica.
- Evite cards dentro de cards sem necessidade real.

### Densidade

- Dashboards e sistemas internos podem ser densos, mas nunca confusos.
- Prefira alinhamento consistente e whitespace funcional a espaçamento excessivo.
- Em tabelas, preserve legibilidade antes de tentar mostrar todas as colunas.
- Em mobile, oculte ou reorganize informação secundária em vez de espremer tudo.

### Formulários

- Label visível para campos importantes; placeholder não substitui label.
- Explique formato/restrição perto do campo quando necessário.
- Mostre erro no campo e, se útil, resumo no topo.
- Preserve os valores digitados após erro do servidor.
- Desabilite ou sinalize submissão em andamento para evitar duplo envio.
- Campos obrigatórios e opcionais devem ficar claros.
- Ordem dos campos deve acompanhar o raciocínio do usuário.

### Tabelas

- Cabeçalho descritivo e alinhamento coerente.
- Números comparáveis alinhados à direita quando isso melhora leitura.
- Ações de linha agrupadas no fim da linha.
- Não esconda a principal ação apenas dentro de um menu de três pontos.
- Use quebra de linha, truncamento com acesso ao conteúdo completo ou layout responsivo conforme o caso.
- Filtros ativos devem ser visíveis e fáceis de limpar.

### Ações destrutivas

- Use cor/semântica de perigo somente para ações realmente destrutivas.
- Confirmação deve informar **o que será afetado**.
- Não use confirmação genérica como “Tem certeza?” quando puder ser específica.
- Evite posicionar destruir imediatamente ao lado da ação principal sem diferenciação.

### Feedback

- Toda ação iniciada deve ter resposta perceptível.
- Para sucesso simples, prefira feedback discreto e persistência suficiente para leitura.
- Erros devem dizer o que ocorreu e, quando possível, como corrigir.
- Não use toast para informação que o usuário precisa consultar durante a tarefa.

### Acessibilidade

- HTML semântico primeiro.
- `label` associado ao input.
- Botões devem ser `<button>` quando executam ação e links devem navegar.
- Elementos clicáveis precisam de nome acessível.
- Ícones sem texto devem ter `aria-label`, tooltip acessível ou texto visualmente oculto quando necessário.
- Ícones decorativos devem ser ignorados por tecnologia assistiva quando apropriado.
- Preserve foco visível.
- Não dependa apenas de cor para comunicar estado.
- Modais precisam de título e fluxo de foco coerente.
- Respeite navegação por teclado.

### Responsividade

Teste mentalmente e, quando possível, no navegador:

- ~360 px;
- ~768 px;
- ~1024 px;
- desktop amplo.

Evite largura fixa sem necessidade. Prefira grid e utilities do Tabler/Bootstrap.

## JavaScript

- Use JavaScript nativo e APIs fornecidas pelo Tabler/Bootstrap sempre que bastarem.
- Evite adicionar frameworks frontend para uma interação simples.
- Inicialize plugins depois que o DOM relevante existir.
- Se o projeto usa Turbo, HTMX, PJAX ou navegação parcial, conecte a inicialização ao ciclo de vida já existente em vez de depender somente de `DOMContentLoaded`.
- Evite handlers duplicados quando a tela pode ser renderizada mais de uma vez.
- Não coloque regras de negócio sensíveis exclusivamente no cliente.

## CSS customizado

Antes de escrever CSS:

1. procure utility class do Tabler/Bootstrap;
2. procure variável CSS existente;
3. verifique componente nativo;
4. só então adicione CSS local.

Quando customizar:

- use classes semânticas do domínio/componente;
- evite seletores frágeis baseados em estrutura profunda;
- evite `!important` salvo incompatibilidade comprovada;
- não sobrescreva globalmente componentes do Tabler por causa de uma única tela;
- preserve dark mode quando o projeto o utilizar;
- prefira custom properties para valores repetidos.

## Manutenção e correção de bugs

Ao receber bug visual ou funcional:

1. reproduza ou localize o caminho de código;
2. identifique se a causa é HTML, CSS, JS, estado de backend ou versão da biblioteca;
3. corrija na camada correta;
4. evite “patch CSS” para problema causado por markup incorreto;
5. revise regressões em telas que reutilizam o mesmo partial/componente;
6. mantenha alterações pequenas e rastreáveis;
7. preserve compatibilidade com a versão de Tabler já instalada por CDN, salvo pedido de upgrade.

## Quando o usuário pedir uma nova tela

Use `assets/tabler-shell.html` como referência estrutural, não como obrigação de substituir o layout existente.

Para CRUDs, pense em conjunto:

- index/listagem;
- filtros/busca;
- paginação;
- empty state;
- criação;
- edição;
- detalhes, se necessários;
- erros/validação;
- exclusão/arquivamento;
- feedback pós-ação;
- permissões.

Leia `references/implementation-patterns.md` para padrões recorrentes.

## Critério de pronto

Antes de afirmar que terminou, confirme:

- a tarefa principal é óbvia;
- a tela segue o layout já usado no sistema;
- Tabler e bibliotecas frontend continuam por CDN;
- não foi adicionada etapa de build de frontend sem pedido explícito;
- não há dependência visual instalada via package manager;
- markup usa componentes Tabler de forma coerente;
- formulário possui labels e estados de erro adequados;
- ações destrutivas têm proteção proporcional ao risco;
- loading, vazio, erro e sucesso foram considerados;
- layout funciona em mobile e desktop;
- navegação por teclado e foco não foram quebrados;
- não há console errors introduzidos pela alteração;
- o código novo segue as convenções do projeto;
- a mudança é pequena o suficiente para ser revisada com segurança.

## Forma de responder durante tarefas de código

- Explique brevemente o que encontrou antes de mudanças grandes.
- Quando editar, faça as alterações no projeto em vez de apenas descrever pseudo-código, se houver ferramentas para isso.
- Cite arquivos e trechos relevantes na explicação final.
- Destaque decisões de UX que alterem comportamento do usuário.
- Informe limitações reais sem inventar validações que não executou.
- Não proponha migração para React/Vue/Svelte ou pipeline de assets apenas por preferência pessoal.

Files in this skill

  • README.md1.7 KB
  • SKILL.md12.5 KB
  • assets/tabler-shell.html1.6 KB
  • references/implementation-patterns.md2.9 KB
  • references/tabler-cdn.md2.7 KB
  • references/ui-ux-checklist.md2.6 KB
  • scripts/check_cdn_policy.py2.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…