/skills

A collection of agent skills that help with various parts of building a great interface. From animation and UI polish to accessibility and product writing.

/teardown

Creates a technical illustration of an any object. Each drawing comes with a toolbar where you can switch between expanded and assembled views, change dimensions, recolor or fill parts and download it as an SVG or PNG.

/state-machine

Renders every state of a component you choose on a throwaway page, with mock data and a switcher, so you can work on each state simultaneously.

Connection
Data
Access
InterfereShip software that never breaks.
Status
Connected
Project
jakub.kr
Environment
Production
Session Replays
On

/break

Renders a component you choose in every state and scenario on a temporary page and stress tests it. It’s a great way to find issues in your design system that you might not be aware of.

Default
PRB-128AL

Checkout fails

Customers can't pay after applying a discount code.

High128Reasoning

/explain-interface

Helps you figure out how something was built on the web. You can try something like /explain-interface how is the copy page animation on interfaces.dev built?

> /explain-interface how is the copy page animation on interfaces.dev built?

>

The "Copy Page" button swaps its icon for a checkmark when pressed. After 2 seconds the checkmark swaps back.

Both swaps run the same animation. The outgoing icon shrinks, fades and blurs out while the incoming one does the reverse:

It uses Motion and keys an m.span on the copied state inside AnimatePresence. Every change unmounts one icon and mounts the other:

The AnimatePresence mode is set to popLayout, which takes the exiting icon out of the layout and lets both icons animate at the same time in the same place.

The transition is a spring with bounce: 0 and a duration of 300ms. initial={false} prevents the icon from animating on the first render.

/variant

Builds multiple variants of a component you’re working on and helps you iterate and pick one.

PRB-128AL

Checkout fails after adding a discount

Customers can't complete their purchase when a discount code is applied at checkout.

High128Detected

/interface-review

Reviews your work across multiple categories like UI, typography, layout, color, writing and accessibility and gives you a detailed analysis of the findings.

PRB-128

Checkout fails after applying a discount code

Customers can't pay once a discount is applied at checkout.

High128Reasoning
  1. 1

    Hit area

    The hit area of this action is too small. Users might struggle to click it.

  2. 2

    Text wrapping

    Use text-wrap: pretty to prevent orphaned words.

  3. 3

    Contrast

    The contrast of the text doesn't meet WCAG AA standards.

  4. 4

    Concentric border radius

    Make the border radius of this element concentric to create visual balance.

/better-interface

Combines all of the /better-* skills into a single review across accessibility, layout, writing, typography, color and UI polish.

## Findings

| Severity | Fix                   |
| -------- | --------------------- |
| HIGH     | Label the icon button |
| HIGH     | Let the button shrink |
| MEDIUM   | Wrap long names       |
## Findings

| Severity | Domain        | Location        | Fix                   |
| -------- | ------------- | --------------- | --------------------- |
| HIGH     | Accessibility | dialog.tsx:42   | Label the icon button |
| HIGH     | Layout        | checkout.tsx:86 | Let the button shrink |
| MEDIUM   | Typography    | summary.tsx:24  | Wrap long names       |

/better-ui

Polishes and improves the UI in your project. Covers concentric border radius, optical alignment, surface depth, contextual icons, hit areas and more. Based on the Details That Make Interfaces Feel Better article.

Jakub Krehel
1,204
before
Jakub Krehel
1,204
after

/better-typography

Focuses on type scale, spacing, sizing, variable fonts, OpenType features, wrapping, truncation and other details that make typography feel great across your product.

Interfere for Engineers

12,408

More time building, less time fixing.

Stop correlating bug reports across scattered tools. Interfere finds the root cause and owns the fix.

/better-colors

Helps convert your project to use OKLCH colors and answer anything about it. You can also convert colors, generate palettes, check contrast, clamp colors to a target gamut, set up fallbacks and more.

oklch
oklch
oklch
oklch
hsl
hsl
hsl
hsl
oklch(0.50 0.16 30)oklch(0.50 0.16 150)oklch(0.50 0.16 250)oklch(0.50 0.16 320)
hsl(30 100% 50%)hsl(150 100% 50%)hsl(250 100% 50%)hsl(320 100% 50%)
Lightness50%

/better-accessibility

Helps your project comply with accessibility standards and best practices.

Covers focus states, keyboard navigation, ARIA, screen readers, hit areas and more.

before
after

/better-layout

Helps with grouping, alignment, reading order, progressive disclosure and other details that make layouts feel great in your project.

feat: add skill examples

Ready in 49s

JKjakubd32da51skills

/better-writing

Focuses on improving product copy in your project.

Are you sure?

This action cannot be undone. Please confirm to continue.

before

Delete Marketing site?

Deleting removes 24 pages. This can’t be undone.

after

Covers button labels, error messages, settings, onboarding and empty states while keeping voice and terminology consistent.

No results.

before

No projects yet

Projects keep your files, notes and tasks in one place.

after

/make-interfaces-feel-better

A lightweight skill that I made before the /better collection. It helps with the small details that make interfaces feel better and is based on an article I wrote some time ago. It’s installed separately from the collection above.

npx skills add jakubkrehel/make-interfaces-feel-better

/faq