Skip to content
Back to skills

Usage Monitor Design

ASecurity

Apply the Usage Monitor design system (tokens, primitive contracts, precedence over the prototype, UI kit) when drawing, changing, or auditing any visible surface — Compose screens, dialogs, tray, PDF report — or building a visual prototype for this project.

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 29, 2026
ai-agentsgokotlin

Security analysis

A100/100

Scanned September 29, 2026

npx -y skills add edilsonvilarinho/usage-monitor --skill usage-monitor-design --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Usage Monitor Design?

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

Security grade badge for Usage Monitor Design
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/edilsonvilarinho-usage-monitor-design/badge)](https://www.skillsdirectory.com/skills/edilsonvilarinho-usage-monitor-design)

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: usage-monitor-design
description: Apply the Usage Monitor design system (tokens, primitive contracts, precedence over the prototype, UI kit) when drawing, changing, or auditing any visible surface — Compose screens, dialogs, tray, PDF report — or building a visual prototype for this project.
---

# Usage Monitor — design system

A fonte de verdade visual deste repositório é [`docs/design-system/`](../../../docs/design-system/).
Ela é normativa: divergência entre o Compose e o design system é defeito do Compose. A tabela
completa de precedência está em [CLAUDE.md](../../../CLAUDE.md), seção *Sistema visual → Design
system — precedência*.

## Antes de desenhar qualquer coisa

1. Ler [`docs/design-system/readme.md`](../../../docs/design-system/readme.md) inteiro. Ele carrega
   os fundamentos de conteúdo (voz, casing, "todo estado carrega uma palavra", "controle
   desabilitado sempre diz por quê") e as fundações visuais.
2. Ler os tokens em [`docs/design-system/tokens/`](../../../docs/design-system/tokens/). Eles já têm
   equivalente exato em Kotlin — `AppSpacing`, `AppShapes`, `AppElevation`, `AppMotion`,
   `AppThemePreset.OBSIDIANA_DARK`/`PORCELANA_LIGHT` e `AppAccents` em
   `src/commonMain/kotlin/com/usagemonitor/presentation/ui/theme/`. **Não introduza um valor novo:**
   se falta um degrau, a decisão vai para o design system antes de ir para o código.
3. Ler o contrato da primitiva que você vai usar em
   [`docs/design-system/components/`](../../../docs/design-system/components/). Cada `*.prompt.md`
   diz o que a primitiva resolve e o que é proibido dentro dela.
4. Abrir o mockup da tela no protótipo aprovado,
   [`docs/planos/prototipo-visual-opencode.html`](../../../docs/planos/prototipo-visual-opencode.html),
   e o kit correspondente em
   [`docs/design-system/ui_kits/desktop-app/`](../../../docs/design-system/ui_kits/desktop-app/).

## Regras que não se negociam

- **Nenhuma tela reimplementa uma primitiva.** Antes de escrever `Surface`, `Card`,
  `Modifier.border`, `.background` com cor de superfície ou `RoundedCornerShape`, procure em
  `presentation/ui/components/AppStructure.kt`, `AppControls.kt`, `AppStates.kt` e nos vizinhos
  `AppTabs.kt`, `AppSettingsNav.kt`, `AppSurfaceDepth.kt`, `AppChips.kt`, `AppMenu.kt` e
  `AppTooltip.kt`.
- **Primitiva construída e não adotada não conserta nada.** O commit que cria e o que consome são o
  mesmo.
- **Cor de acento vem de `AppAccents.current` e `AppTone`**, nunca de `darkAppAccents` /
  `lightAppAccents` diretamente — `val` de topo de arquivo não lê o tema em vigor.
- **Cor nunca informa sozinha.** Todo estado carrega ponto **e** palavra (`AppStatusIndicator`).
- **Nenhuma animação infinita.** Ela trava o `waitForIdle` dos testes de componente. Carregamento é
  esqueleto estático, sem shimmer e sem spinner.
- **Sem emoji.** Os ícones são marcas Unicode em IBM Plex Mono, e a lista está no `readme.md`.
- Escala tipográfica fechada em 10/12/14/16/20/28; raio com teto de 10dp; elevação 8 só para janela,
  diálogo, menu e overlay.

## Ao terminar

Registrar a mudança **no mesmo commit**, nos dois documentos: a seção da tela no protótipo e, quando
a tela tem kit, o `.jsx` em `ui_kits/desktop-app/`. Primitiva nova ou contrato alterado vira
`components/<grupo>/<Nome>.prompt.md` mais a entrada no índice do `readme.md`.

Verificar com `gradlew.bat desktopTest --tests "com.usagemonitor.ui.*"` e, para comparação visual,
`gradlew.bat generateScreenshots`.

## Para mocks e protótipos descartáveis

Copie `docs/design-system/styles.css`, `tokens/` e `assets/` para junto do HTML e monte a página com
as primitivas de `components/`. `_ds_local.js` monta os componentes sem o bundle compilado.

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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.