design languagev2.1 · octubre 2026modosclaro + oscuropara IAllms.txt · brand.md
9:41
Search Lisbon
AllViewpointsFoodMarkets
MiradouroGraça · 1.2 km · Open
Go
Feira da LadraMarket · 1.8 km
ExploreSavedTripsProfile
MD
Total balance
$12,480.00
Send
Request
Top up
More
S
Studio accountToday · Transfer
−$1,240.00
C
Coffee LabYesterday · Card
−$6.40
M
Mara DiazMon · Request
+$180.00
9:41
Send
S
Studio accountTally •••• 4021
$1,240
No fee · arrives Nov 12
NowNov 12Monthly
Schedule transfer
9:41
Bench pressSet 3 of 4
180 kg× 8
280 kg× 6
Rest0:47Next · 82.5 kg × 6
−15 s+15 s
Skip rest
VerdantExplorar una ciudad en un mapa que se desenfoca en los bordes.
TallyEnviar plata desde un sheet de vidrio que flota sobre tu saldo.
SolaceDescansar entre series con un timer que se lee desde el banco.
ejemplos
Mismo lenguaje, cualquier producto. Apps ficticias, reglas reales.
Cada pantalla está hecha a tamaño real de iPhone con los tokens y patrones de esta página, y después escalada al marco. Los nombres y datos son inventados; las decisiones no.
9:41
Scanning
detected
NEW
Deep Cuts Pressings
Blue Hours
Vinyl LP · First pressing · 1959
Jazz12 inMint
Add to collection
Closet · objeto detectado
Apuntás la cámara y el objeto se despega de la habitación.
Vidrio flotanteProfundidad por capasSombra de contactoUn sticker
Somewhere warm for a weekend in November?
Seville, Málaga or Barcelona. Barcelona has the most direct flights from Lisbon.
Cheap weekend in Barcelona from Lisbon, Nov 14 to 16?
Found 3 direct flights. The early one is the best deal, and it gives you a full Friday.
Direct · Fri, Nov 14
LIS07:40
BCN10:25
1h 45m$184Book
Checking hotels near the beach
9:41
AtlasTrip planner
MD
Ask Atlas
Atlas · planificador de viajes
Un planificador de viajes que responde con palabras que llegan, con un solo acento donde está la plata.
Palabras que lleganShimmerBlur progresivoUn acento
9:41
18 min
Friday, November 14
9:41
LIS → BCNGate B12
18min to boarding
Lisbon 07:40Barcelona 10:25
Boarding · actividad en vivo
Tu vuelo, en vivo en la pantalla bloqueada, en la island y sobre vidrio.
IslandActividad en vivoNúmero protagonistaAtmósfera
9:41
1,204 live nowJazz · 0.4 km
Your city, live.See what's on around you, right now.
Get started
I already have an account
Pulse · onboarding
Primer arranque: un objeto, dos líneas, un botón.
Atmósfera completaObjeto de marcaTitular en dos tonos
filosofía
La gente no lee interfaces. Las siente.
Siete creencias que guían todo lo que diseño. Cuando dudo entre dos opciones, vuelvo acá.
El detalle es el producto
Dos apps con las mismas funciones no se sienten igual. La diferencia está en 200 milisegundos, en un blur de 6 píxeles, en un botón que se achica cuando lo tocás.
Ahí pongo la mayor parte de mi tiempo.
Marco quieto, producto protagonista
Fondos neutros, tipografía contenida y casi nada de color alrededor de la pantalla.
Cuanto más callado el marco, más se escucha el producto.
Profundidad con luz, no con líneas
Separo capas con desenfoque, transparencia y sombras suaves. Los bordes y las cajas dividen; el blur ordena sin cortar la imagen.
Una interfaz con capas se entiende sin explicarla.
El movimiento explica
Animo para mostrar de dónde viene algo y adónde va. El sheet sube desde abajo porque vive abajo; el check nace del botón que lo pidió.
Si una animación no responde una pregunta, la saco.
Un color por historia
Mi marca vive en negro, blanco y grises. Cada proyecto elige un solo color y lo sostiene en todas sus piezas.
Un color sostenido se recuerda. Cinco colores se olvidan.
Claro y oscuro desde el día uno
Diseño los dos modos en paralelo. No invierto colores: cada modo tiene sus propias decisiones de sombra, vidrio y contraste.
El modo es de quien usa la app, no mío.
Las palabras también son diseño
Copy corto, voz activa, cero jerga. Los nombres se escriben como los escriben sus dueños, y los flujos con flecha.
Si un botón necesita explicación, el botón está mal.
decisiones
Cada decisión tiene un porqué. Si no lo puedo explicar, no va.
Lo que siempre hago, la razón y la regla concreta que sale de eso.
Botones siempre pastilla
Se leen como tocables al instante, entran cómodos bajo el pulgar y repiten la curva del teléfono.
radio 999 · alto 40 o 52
Titulares chicos en dos tonos
La seguridad no necesita tamaño. El gris arma la jerarquía y deja el tamaño grande libre para los números.
línea 1 fg · línea 2 fg-2 · mismo peso
Números enormes
Hora, plata y puntaje son lo que la gente vino a ver. Tienen que leerse de un vistazo.
600 · tabulares · tracking −4.5%
Una sola sans
Inter Display tiene tamaño óptico y números tabulares, y se parece a SF Pro: el diseño y el iPhone hablan igual.
Inter Display · Geist Mono solo en labels
Negro puro en oscuro
En OLED el negro desaparece, el device se funde con la página y los glows ganan contraste.
bg #000 en oscuro
Gris claro, no blanco, en claro
El blanco puro cansa y no deja que las cards se separen. Sobre gris claro, una card blanca flota sola.
bg #F4F4F4 · cards #FFFFFF
Blur en vez de bordes
El vidrio deja ver el contexto y separa capas sin cortar la imagen de atrás.
blur 20 · saturate 180% · luz de 1 px arriba
Sheets flotantes y concéntricos
Separado del borde se lee como capa. Con radio concéntrico parece parte del hardware.
inset 12 · radio = exterior − inset
Ease-out por defecto
Responde al toque de inmediato y frena como un objeto real. Nada arranca lento.
cubic-bezier(.22, 1, .36, 1)
Cerrar más rápido que abrir
Cuando alguien cierra algo ya decidió. No lo hago esperar.
abrir 420 ms · cerrar 280 ms
Una atmósfera por proyecto
El color identifica el proyecto, no decora. Repetido en todas las piezas, se vuelve memoria.
elegir 1 de 4 · nunca mezclar
Mockups frontales, sin manos
La perspectiva y las manos distorsionan y achican la pantalla, que es lo que importa.
device ≤ 60% del alto del shot
claro + oscuro
Claro y oscuro al mismo nivel. Mismas decisiones, distinta luz.
Los dos modos usan los mismos tokens con valores pensados para cada uno. Probá el selector de arriba: toda la página cambia, menos esta comparación.
modo claro
Transfer sent.$1,240 to Studio account.
DoneShare receipt
CompletedNov 12
● Sent · $1,240
modo oscuro
Transfer sent.$1,240 to Studio account.
DoneShare receipt
CompletedNov 12
● Sent · $1,240
qué cambia entre modos
aspecto
claro
oscuro
fondo
#F4F4F4
#000000
cards
Blancas, con sombra suave y larga.
#111111 con un hilo de luz de 1 px arriba.
separación
Sombra.
Escalón de superficie y hairline. Casi sin sombras: en negro se ven sucias.
vidrio
Blanco al 68% + blur 20.
Blanco al 12% + blur 20.
botón primario
Negro con texto claro.
Blanco con texto negro.
texto secundario
#6B6B6B
#8F8F8F
atmósferas
Pastel, con glow saturado.
Profundas, con glow brillante.
grano
5%
12%
stage de devices
#E8E8E8
#EDEDED: el stage claro se mantiene en oscuro.
cómo diseño los dos modos
siempre
Diseño los dos modos en paralelo, en el mismo archivo y la misma semana.
Cada token tiene un valor elegido por modo. Nada se invierte automáticamente.
En claro separo con sombra; en oscuro, con superficie y luz.
Reviso contraste AA en los dos antes de dar algo por terminado.
Por defecto sigo al sistema y dejo elegir: sistema, claro u oscuro.
nunca
Gris medio como fondo oscuro "para que no sea tan negro".
Sombras oscuras grandes en modo oscuro.
Un modo terminado y el otro "después".
El mismo vidrio en los dos modos: en claro necesita más opacidad.
Íconos o ilustraciones que solo funcionan sobre un fondo.
sistema
Negro, blanco y doce grises. El color se gana proyecto a proyecto.
La escala base es la misma en los dos modos; lo que cambia es qué tono cumple cada rol. Tocá un tono para copiar el hex.
roles por modo
token
claro
oscuro
uso
--bg
#F4F4F4
#000000
Fondo de página.
--surface-1
#FFFFFF
#111111
Cards.
--surface-2
#F0F0F0
#1F1F1F
Filas, inputs, elementos dentro de cards.
--sheet-bg
#FFFFFF
#1F1F1F
Sheets opacos.
--fg
#0A0A0A
#FFFFFF
Texto principal y botón primario.
--fg-2
#6B6B6B
#8F8F8F
Segunda línea del titular, descripciones.
--fg-3
#A1A1A1
#5C5C5C
Hints, labels apagados, punto de partida de los reveals.
--btn-2
#E6E6E6
#1F1F1F
Botón secundario y chips.
--glass
white 68%
white 12%
Superficies de vidrio con blur.
atmósferas · una por proyecto
Gradiente radial desde arriba, glow al centro y grano. Cada una tiene versión clara y oscura: cambiá el tema y mirá cómo se adaptan.
forest
Deporte, outdoor, foco
ember
0:30
Tiempo, energía, descanso
tide
● Enviado
Plata, confianza, chat
rouge
Social, ubicación, alertas
tipografía
Inter Display para todo, con peso 600 en títulos y 400 a 500 en texto. Geist Mono solo en labels chicos, en mayúscula y en gris.
display · 56 · 600 tracking −3%
Design that ships
h2 · 28 · 600 tracking −1.5%
Onboarding → first payment
body · 16 · 400 color fg-2
I design mobile products end to end, from the first flow to the last micro-interaction, and hand off files engineers can build from.
label · mono 11 caps · +6%
sitemap · social · contact
números · 600 tabulares
$1,240
forma y espacio
Cuanto más flota algo, más redondo es. Cuando una superficie va adentro de otra, el radio interno es el externo menos el margen.
r-xs · 8 stage
r-md · 16 thumbs, inputs
r-lg · 24 cards
r-xl · 32 sheets
r-pill botones, chips
concéntrico 36 − 12 = 24
s-1 · 4px
s-2 · 8px
s-3 · 12px
s-4 · 16px
s-5 · 24px
s-6 · 32px
s-7 · 48px
s-8 · 64px
s-9 · 96px
s-10 · 160px
micro
Lo que nadie ve, pero todos sienten. Micro-blurs y micro-animaciones.
Esta es la capa que más me importa. Ninguno de estos detalles se nota por separado; juntos son la diferencia entre una pantalla correcta y una que se siente cara. Regla general: el blur nunca pasa de 10 px fuera del vidrio, y ninguna micro-animación dura más de 420 ms.
Main account$25,482
Savings$3,120
Travel fund$880
Rent$214
Groceries$1,906
Emergency fund$742
Joint account$5,310
Taxes$96
Blur progresivo
Bordes de listas, barras de navegación y tab bars. Scrolleá la lista.
El contenido se va de a poco en vez de cortarse en seco, como en iOS.
capas
4 · blur 1, 2, 4, 8 px
máscaras
100%, 75%, 50%, 25% del alto
alto
72 px + fade del color de fondo
Blur de borde
Mapas, fotos y fondos de cámara detrás de la UI.
El centro queda nítido y los bordes se van, como profundidad de campo: el ojo va directo a lo importante.
blur
10 px · saturate 110%
máscara
radial · nítido hasta 40%, blur pleno al 100%
✕
Item detectedAir Max 1 · added to your closet
Vidrio flotante
Sheets y tarjetas sobre cámara, foto o color.
Separado del borde se lee como capa; con radio concéntrico parece parte del hardware.
superficie
blur 32 px · saturate 160% · tinte 55%
borde
luz interna de 1 px arriba + hairline
posición
inset 10–12 px · radio = exterior − inset
$12,480
Studio account−$1,240
Mara Diaz+$560
Confirm transfer
$1,240 to Studio account
Fondo que retrocede
Cuando se abre un sheet, lo de atrás se desenfoca y se aleja un poco.
Da profundidad sin tapar todo de negro, y el foco queda en la tarea.
fondo
blur 0 → 10 px · scale 1 → 0.96 · opacity 1 → 0.6
tiempo
420 ms ease-out al abrir · 280 ms al cerrar
Cambio con blur
Botones y labels que cambian de estado: enviar, enviando, enviado.
El estado viejo se desenfoca mientras el nuevo enfoca. El ojo lee continuidad en vez de un salto.
sale
opacity → 0 · blur → 6 px · scale → 0.96
entra
lo inverso · 240 ms ease-out, en simultáneo
I turned your three sketches into one flow you can actually test.
Texto que llega
Respuestas de IA, confirmaciones y mensajes nuevos.
Cada palabra enfoca al llegar. Se siente escrito en vivo, sin el parpadeo de un cursor.
palabra
opacity 0.15 → 1 · blur 4 → 0 · y 4 → 0
tiempo
420 ms ease-out · 30 ms entre palabras
Thinking about your portfolio~4 s
Texto pensando
Estados de carga con texto: "pensando", "buscando", "procesando".
Un brillo que recorre el texto dice "estoy trabajando" sin spinner ni barra.
gradiente
fg-3 → fg → fg-3 · 300% de ancho
tiempo
2.2 s linear · loop (único loop permitido en UI)
detected
NEW
Profundidad por capas
Pantallas de producto, objetos detectados y heroes de marca.
Texto grande y borroso atrás, objeto nítido adelante, sombra de contacto abajo: tres planos que se leen como espacio real.
texto atrás
700 · opacity 14% · blur 2.5 px
sombra
elipse 70% · blur 4 px · 35% negro
sticker
uno solo por pantalla · rotado −4°
Pill que crece
Actividades en vivo, llamadas, timers, reproductores. Tocá la pill.
El contenido crece desde donde ya estaba, sin abrir otra pantalla.
forma
ancho, alto y radio juntos · 420 ms ease-in-out
contenido
cambio con blur · 240 ms · delay 120 ms
Ícono que muta
Agregar ↔ cerrar, copiar → copiado. Tocá los dos.
El ícono cambia en el mismo lugar y confirma la acción sin un toast.
+ → ×
rotate 45° · 240 ms spring
copiar
cambio con blur · vuelve a los 1.4 s
Interruptor elástico
Toggles. Mantenelo apretado antes de soltar.
El círculo se estira bajo el dedo como algo blando. Es un detalle que se siente antes de verse.
apretado
ancho 28 → 36 px
viaje
240 ms spring · color 240 ms
Live · 1,204 watchingPending approvalRecording
Punto vivo
Estados que están pasando ahora: en vivo, pendiente, grabando.
Un pulso suave dice "esto se está moviendo" sin pedir atención.
anillo
scale 1 → 2.6 · opacity 0.55 → 0
tiempo
1.6 s ease-out · loop solo mientras el estado dura
motion
Entra rápido, frena suave. Tres curvas, seis duraciones, ocho patrones.
Las reglas de movimiento a escala de pantalla. Todo sale de los tokens de tokens.css.
Responder al instante
Todo toque tiene respuesta visual en menos de 100 ms. Si la acción tarda, el botón cambia de estado antes de que llegue el resultado.
Entrar rápido, frenar suave
Casi todo usa ease-out. Lo que se abre tarda 420 ms; lo que se cierra, 280 ms.
Nada aparece de la nada
Los elementos entran desde donde se originan: el sheet desde abajo, el toast desde el borde, el check desde el botón.
Una cosa a la vez
Lo que entra junto se escalona: 120 ms entre líneas, 50 ms entre ítems (máximo 6), 30 ms entre palabras.
El texto no baila
El texto se revela y queda quieto. Nunca arranca invisible, nunca rebota y nunca se mueve mientras alguien lo lee.
curvas
ease-out · por defectocubic-bezier(.22, 1, .36, 1)
Chips, toggles, segmented, color, cambios con blur, salida de toast.
--dur-exit
280
Cerrar sheets, modales y pantallas.
--dur-3
420
Abrir sheets, entrar cards y toasts, morphs.
--dur-count
600
Números que ruedan.
--dur-4
800
Reveal de titulares y entrada del hero.
catálogo · tocá cada demo
Tocar
Todo lo tocable. En mobile va con haptic liviano.
al tocar
scale 1 → 0.97 · 120 ms ease-out
al soltar
0.97 → 1 · 240 ms spring
haptic
impact light
$1,240
Rodar número
Saldos, montos, puntajes y timers cuando cambian.
dígito
rueda vertical + blur 1.5 px mientras se mueve
tiempo
600 ms ease-out · 40 ms entre dígitos
fuente
siempre tabular-nums
Cambiar selección
Segmented controls, tabs y filtros. El indicador viaja, no salta.
indicador
translateX · 240 ms ease-in-out
texto
color · 240 ms ease-out
haptic
selection
Confirmar
Pagos, envíos y cualquier acción con resultado. El botón se convierte en la respuesta.
1 · label
opacity → 0 + blur 4 · 120 ms
2 · forma
→ círculo 52 px · 420 ms ease-in-out
3 · check
scale 0.6 → 1 + trazo · 240 ms spring · delay 420
haptic
notification success
Main account$25,482
Savings$3,120
Travel fund$880
Rent$214
Entrar lista
Contenido nuevo que llega después de una acción.
ítem
opacity 0 → 1 · y 12 → 0 · blur 2 → 0
tiempo
420 ms ease-out · 50 ms entre ítems, tope 6
Saved to drafts
Avisar
Confirmaciones sin decisión. Si hay que decidir, va un sheet.
entra
y 16 → 0 · blur 4 → 0 · 420 ms ease-out
queda
1600 ms
sale
240 ms ease-in-out
Accounts
$12,480
Studio account · updated now
Pasar de pantalla
Navegación hacia adelante y atrás. Tocá una cuenta.
nueva
x 100% → 0 · 420 ms ease-out
anterior
x 0 → −30% · brightness 0.8
volver
inverso · 280 ms ease-in-out
El nuevo tema se revela en círculo desde el punto que tocaste.
Cambiar tema
Pasar de claro a oscuro y al revés.
revelado
clip-path circle desde el toque · 520 ms ease-out
sin soporte
crossfade de colores · 420 ms
transiciones de pantalla
transición
qué se mueve
ms
curva
push
Nueva x 100% → 0. Anterior x 0 → −30% y se oscurece al 80%.
420
ease-out
back
Lo inverso. Con gesto de borde, sigue al dedo.
280
ease-in-out
modal
Sheet desde abajo. Lo de atrás retrocede: blur 10, scale 0.96.
420
ease-out
tab
Crossfade con blur 4 px, sin desplazamiento.
240
ease-out
elemento compartido
Card → pantalla completa: posición, tamaño y radio interpolan juntos.
420
ease-in-out
qué se anima y qué no
sí
Respuesta a cada toque.
Cambios de estado: cargando, enviado, error.
Contenido nuevo que llega después de una acción.
Transiciones entre pantallas y sheets.
Números que cambian de valor.
no
Texto mientras se lee.
Parallax o scroll que secuestra la página.
Loops infinitos en UI, salvo carga y estados en vivo.
Rebotes en elementos grandes.
Animaciones al cargar que nadie pidió.
movimiento reducido
Con prefers-reduced-motion o "Reducir movimiento" en iOS: sin desplazamiento, sin escala y sin blur. Los cambios de estado pasan a un crossfade de 120 ms, los números muestran el valor final y los loops se detienen. Los haptics se mantienen.
MP4 H.264 · 1600 × 1200 para Dribbble · 1920 × 1080 para el sitio.
frames
60 fps, en tiempo real. Nunca acelerado.
duración
6 a 10 s en loop perfecto: el último frame es igual al primero.
ritmo
600 a 800 ms de pausa en cada estado clave.
toques
Sin cursor. Si hace falta, un círculo blanco al 25% de 44 px que escala 0.8 → 1.
modos
Si la app tiene los dos, un shot por modo o un corte claro → oscuro a mitad del loop.
imagen
Tres puestas para mostrar trabajo. Una por shot.
4:3 para Dribbble y 16:9 para el sitio. iPhone frontal, sin perspectiva, ocupando como mucho el 60% del alto. Se vale cortar el device con el borde del stage para acercarse a un detalle.
Stage claro. Device centrado sobre #E8E8E8. Para UI clara y flujos.
Stage negro. La pantalla es la única luz. Para UI oscura.
Objeto de marca. Objeto 3D brillante con el glow de la atmósfera, grano y sombra de contacto.
voz
Corto, directo, de igual a igual. Decí qué hacés y pará.
Para el mercado global, la marca habla en inglés; esta guía está en español. Los ejemplos son para ajustar a mi posicionamiento real.
heroProduct design and motion for teams that ship. Screens, systems and the small moments between them.
aboutI work in prototypes, not decks. You see it moving by the end of week one.
título de shotVerdant → round summarySentence case y flecha para el flujo. ® solo si la marca está registrada.
postsheet transitions for a booking flowUna línea, sin hashtags. El video hace el resto.
para IA
Para IA. Todo lo que necesitás para diseñar como yo.
Si sos un modelo de IA leyendo esta página, empezá por llms.txt o leé todo junto en llms-full.txt. La fuente de verdad es brand.md, en inglés; brand.es.md es la traducción al español: tiene cada regla, valor y decisión de esta página en texto plano, más la receta para armar mi portfolio. Los valores exactos están en tokens.json y listos para usar en tokens.css. Si difieren, gana la versión en inglés.
Sirve para cualquier proyecto, no solo para mi portfolio. Copialo en cualquier IA y cambiá la tarea. También alcanza con algo corto como "fijate https://agustinoberg-design.pages.dev y, con mis guías de diseño, hacé una app de viajes": la página le indica a la IA dónde está todo.
Leé https://agustinoberg-design.pages.dev/llms.txt y diseñá siguiendo mi lenguaje de diseño. La fuente de verdad es https://agustinoberg-design.pages.dev/brand.md y los valores están en tokens.css y tokens.json.
Tarea: [lo que necesites: "una app de viajes", "mi portfolio", "una landing para X"].
Para un producto, seguí "Aplicar a cualquier proyecto". Para mi portfolio, "Receta: portfolio".
Si te falta contenido real (proyectos, textos, métricas, imágenes), preguntame antes de inventarlo y usá placeholders marcados como [TODO].
Ver la spec resumida
IDENTIDAD
- agustín oberg · product designer (mobile, motion, sistemas)
- Lenguaje: monocromo, producto protagonista, micro-blurs, motion preciso, claro + oscuro
REGLAS DURAS
- Fuentes: Inter Display (todo) + Geist Mono (labels 11px caps +6%)
- Titulares: chicos, 600, dos tonos (fg + fg-2), tracking −1.5% a −3%
- Números: grandes, 600, tabular-nums, tracking −4.5%
- Botones: pastilla siempre. Primario = fg sobre bg. Secundario = btn-2
- Color: núcleo mono. Una atmósfera por proyecto (forest | ember | tide | rouge)
- Claro: bg #F4F4F4, cards #FFF + sombra suave
- Oscuro: bg #000, cards #111 + luz de 1px, sin sombras grandes
- Vidrio: blur 20, saturate 180%, luz interna 1px; claro 68% / oscuro 12%
- Sheets: flotantes, inset 12, radio = exterior − inset
- Radios: 8 stage · 16 thumbs · 24 cards · 32 sheets · pill controles
MICRO
- Blur progresivo en bordes de scroll y barras (4 capas: 1/2/4/8px)
- Blur de borde en mapas/fotos (nítido al centro)
- Fondo que retrocede al abrir sheet: blur 10, scale .96, opacity .6
- Cambio de estado con blur: 6px, 240ms
- Palabras que llegan: blur 4 → 0, 30ms entre palabras
- Shimmer para "pensando"; punto vivo con pulso para estados en curso
- Profundidad: texto grande borroso atrás, objeto nítido, sombra de contacto
MOTION
- ease-out (.22,1,.36,1) por defecto · ease-in-out (.65,0,.35,1) recorridos · spring (.34,1.56,.64,1) solo chico
- 120 press · 240 chips/blur · 280 cerrar · 420 abrir · 600 números · 800 titulares
- Press: scale .97. Cerrar siempre más rápido que abrir
- Reduced motion: sin movimiento, escala ni blur; crossfade 120ms
NUNCA
- Gradientes violeta-azul, mockups en perspectiva, manos, emojis como íconos
- Bordes rectos en botones, dos atmósferas juntas, sombras grandes en oscuro
- Copy de agencia, lorem ipsum, proyectos o métricas inventadas
skills
Mi diseño, instalado en tu agente. Un comando con skills.sh.
Todo lo de esta página también se distribuye como skills para agentes a través de skills.sh. Una vez instaladas, el agente las carga solo cuando la tarea lo pide: sin prompt para pegar ni links para pasar. Funcionan con Claude Code, Cursor, Codex y cualquier agente compatible con el formato abierto Agent Skills.
agustinoberg-designQué es mi diseño, exactamente.Para todo lo que tenga que verse, moverse y leerse como si lo hubiera diseñado yo: pantallas, componentes, sitios, decks y shots de Dribbble. Trae los tokens para web (CSS) y React Native, código para cada patrón característico y un pre-flight visual.
agustinoberg-productCómo construir bien un producto.Para apps, sitios y flujos completos. Si tenés referencias de diseño, mandan en lo visual y mi toque va encima; si no, usa mi diseño. Suma investigación antes de dibujar, gramática de navegación, todos los estados, dónde va el motion y un loop de verificación. Carga agustinoberg-design.
instalación
Correlo en la carpeta de tu proyecto. La CLI te pregunta qué skills y para qué agentes; los flags se saltean las preguntas. Por ahora el repo es privado, así que instalar requiere acceso.
todas las skills, en este proyecto
npx skills add AgustinOberg/agustinoberg
una skill, para Claude Code, sin preguntas
npx skills add AgustinOberg/agustinoberg --skill agustinoberg-design -a claude-code -y