Skip to content
Back to skills

Es

ASecurity

Un skill transversal de `staff-software-engineer`, que se aplica cuando el trabajo construye algo nuevo con UI: una app, una página, una feature o una landing. Se apila sobre el área skill `web` o `mobile`. `{repo}/.claude/conventions/web.md` tiene prioridad sobre él, y un repo que ya tiene un design system conserva ese sistema. Archivo del skill: [`skills/designer/SKILL.md`](https://github.com/Pierry/harness-kit/blob/main/.claude/agents/staff-software-engineer/skills/designer/SKILL.md). `/ss...

  • 4 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 6, 2026
ai-agentsgogitapi

Works with

  • api

Security analysis

A100/100

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

Scanned October 6, 2026

npx -y skills add Pierry/harness-kit --skill es --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Es?

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

Security grade badge for Es
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/pierry-harness-kit/badge)](https://www.skillsdirectory.com/skills/pierry-harness-kit)

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
# Designer Skill

Un skill transversal de `staff-software-engineer`, que se aplica cuando el trabajo construye algo nuevo con UI: una app, una página, una feature o una landing. Se apila sobre el área skill `web` o `mobile`. `{repo}/.claude/conventions/web.md` tiene prioridad sobre él, y un repo que ya tiene un design system conserva ese sistema.

Archivo del skill: [`skills/designer/SKILL.md`](https://github.com/Pierry/harness-kit/blob/main/.claude/agents/staff-software-engineer/skills/designer/SKILL.md). `/sse:plan` y `/sse:dev` lo leen para trabajo de UI nueva. Cuando no está claro si aplica, `/sse:dev` marca `NOT FOUND - NEEDS REVIEW: designer-skill applicability` y sigue sin él.

# Por qué

Las UIs hechas por IA convergen en un mismo aspecto: todo centrado, azul por defecto, íconos con emoji, lorem ipsum, un solo tema, solo en inglés. El skill es un [guide](Guides) feedforward que sube la vara antes del primer componente.

# Material Design 3

M3 es obligatorio y se usa como sistema de tokens. El color sale de los roles de M3 (`primary`, `on-primary`, `*-container`, `surface`, `surface-container`, `on-surface-variant`, `outline`, `error`) derivados de una sola semilla elegida a partir del contexto del producto. El CSS de los componentes nunca lleva hex crudo.

La tipografía sigue display, headline, title, body y label, cada una en L, M y S, mapeadas a clases una sola vez. La forma va de none 0, xs 4, s 8, m 12, l 16, xl 28 a full; las cards usan `l`, los botones `full` o `m`, las sheets `xl`. La elevación tiene 6 niveles de tintes de `surface-container` más una sombra sutil. Las capas de estado son hover 8%, focus 10% y pressed 10% del color `on-*`. El movimiento usa el easing enfatizado `cubic-bezier(.2,0,0,1)`, 200 a 300ms el estándar y 100ms el chico.

Los inputs son text fields de M3, de 56px de alto con label flotante. Los encabezados de página tienen un eyebrow, un título display y un subtítulo.

# Oscuro y claro

Se entregan los dos temas. Primero va la preferencia del sistema, después un toggle del usuario que escribe `data-theme` y `localStorage`. El oscuro usa una superficie tintada `#1A1C1E`, nunca negro puro.

```css
:root { color-scheme: light dark; }
:root[data-theme="light"] { --surface:#FDFCFF; --on-surface:#1A1C1E; --primary:#0B57D0; }
:root[data-theme="dark"]  { --surface:#1A1C1E; --on-surface:#E3E2E6; --primary:#A8C7FA; }
```

# Tipografía

La UI carga una fuente variable de verdad, y el stack del sistema nunca es el aspecto final. El cuerpo elige una entre `Geist`, `Instrument Sans`, `General Sans`, `Manrope` e `Inter Tight`; Inter queda como fallback. Display elige una entre `Bricolage Grotesque`, `Clash Display`, `Sora`, `Fraunces` y `Space Grotesk` con peso de 600 a 800. Los datos usan `font-variant-numeric: tabular-nums`.

Las fuentes cargan con `font-display: swap`, embebidas como data URI `woff2` en base64 cuando la superficie corre offline o bajo una CSP estricta.

# Color, profundidad, movimiento

La paleta es vívida: una semilla saturada, un segundo acento y gradientes en el hero, en los botones primarios y en los números focales.

Las superficies llevan sombras tintadas en capas y brillo de acento. Las vistas animan la entrada, la interacción, los cambios de valor y el mostrar y ocultar en ambas direcciones, nunca un salto con `display:none`. El movimiento queda bajo `prefers-reduced-motion` y anima solo `transform` y `opacity`.

Los callouts y textos de ayuda usan un contenedor tonal (`secondary-container` o `surface-container-high`) con un radio real y un ícono `info`. Una barra de acento de color en el borde izquierdo está prohibida.

# Pulido nivel Behance

El agent busca trabajos actuales de Behance y Dribbble en el dominio del producto y dice qué tomó. Los layouts usan una grilla de 8pt, un punto focal por vista, textos realistas y estados vacío, de carga y de error diseñados. Una suma de partes recibe una visualización en CSS o SVG (barra apilada, donut, sparkline) en lugar de una lista de números.

# Íconos

Los emojis están prohibidos en todas partes. La marca y las acciones primarias son SVGs originales en una grilla de 24px con trazo de 2px; el resto sale de un solo set (Material Symbols, Lucide, Phosphor), nunca mezclados. Los íconos usan `currentColor` y llevan `aria-label` o `<title>`.

# Textos e i18n

El texto visible para el usuario no tiene rayas largas ni medias en ningún idioma. Cada string pasa por `t('key')` con claves semánticas como `cart.empty.title`. `locales/{en,pt-BR,es}.json` comparten un mismo conjunto de claves; la app detecta `navigator.language`, cae a `en` como respaldo, guarda la elección del usuario, define `<html lang>` y formatea con `Intl`.

# Favicon

El favicon es una marca SVG sacada del contexto del producto (un monograma, un carrito para comercio) en la semilla de la marca, legible a 16px. El set es `favicon.svg`, `favicon.ico` de 32, `apple-touch-icon.png` de 180 y `site.webmanifest` con PNGs maskable de 192 y 512. El agent dice qué símbolo y qué semilla eligió y por qué.

# Accesibilidad

El contraste es de al menos 4.5:1 para el texto del cuerpo y 3:1 para texto grande y UI (WCAG 2.2 AA) en los dos temas. Cada elemento interactivo tiene un anillo `:focus-visible` y un área táctil de 44x44px, y se alcanza con el teclado.

# Qué se entrega

Una UI nueva se entrega con tokens claros y oscuros, un toggle de tema, una fuente cargada, los tres archivos de idioma con selector de idioma, íconos originales, el set de favicon, profundidad y movimiento, y estados vacío, de carga y de error diseñados.

# Ver también

[Agents](Agents), [Guides](Guides), [Pipeline y stages](Pipeline-and-Stages).

# Referencias

Material Design 3, m3.material.io. WCAG 2.2. Inter, rsms.me/inter, y Roboto Flex en Google Fonts. `Intl` de ECMAScript. MDN sobre el Web App Manifest y los favicons.

Files in this skill

  • Agent-Pipelines.md5.5 KB
  • Agents.md3.7 KB
  • Autonomy.md4.1 KB
  • Designer-Skill.md5.8 KB
  • Evals.md5.4 KB
  • Getting-Started.md10.5 KB
  • Golden-Path.md3.1 KB
  • Graph-Engineering.md7 KB
  • Graph-Theory.md18.6 KB
  • Guides.md3.1 KB
  • Harness-Engineering.md3.8 KB
  • Home.md3.8 KB
  • Jev-and-System-One.md17.7 KB
  • Orchestration-and-Subagents.md4.4 KB
  • Pipeline-and-Stages.md5.4 KB
  • Rate-Limiter.md11.6 KB
  • References.md5 KB
  • Search-Engine.md19.5 KB
  • Sensors.md4.2 KB
  • System-Design-Method.md9.2 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…

Newsletter

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