/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.
npx skills add jakubkrehel/skills/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.
- 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.
Checkout fails
Customers can't pay after applying a discount code.
Checkout fails when a returning customer applies a discount to an existing subscription
Customers can't complete their purchase after updating their plan. Applying a discount clears the billing address and leaves the checkout stuck on the payment step.
Checkout fails
Payment rejected for checkout_session_01J8QZ7K3M9X2P6V4N0R5T8W1Y.
Checkout fails
Customers can't pay after applying a discount code.
Checkout fails
Customers can't pay after applying a discount code.
Checkout fails when a returning customer applies a discount to an existing subscription
Customers can't complete their purchase after updating their plan. Applying a discount clears the billing address and leaves the checkout stuck on the payment step.
Checkout fails
Payment rejected for checkout_session_01J8QZ7K3M9X2P6V4N0R5T8W1Y.
Checkout fails
Customers can't pay after applying a discount code.
Untitled problem
No description provided.
/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.
Checkout fails after adding a discount
Customers can't complete their purchase when a discount code is applied at checkout.
Checkout fails after adding a discount
Customers can't complete their purchase when a discount code is applied at checkout.
Checkout fails after adding a discount
Customers can't complete their purchase when a discount code is applied at checkout.
/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.
Checkout fails after applying a discount code
Customers can't pay once a discount is applied at checkout.
- 1
Hit area
The hit area of this action is too small. Users might struggle to click it.
- 2
Text wrapping
Use text-wrap: pretty to prevent orphaned words.
- 3
Contrast
The contrast of the text doesn't meet WCAG AA standards.
- 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.
/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.
/better-accessibility
Helps your project comply with accessibility standards and best practices.
Covers focus states, keyboard navigation, ARIA, screen readers, hit areas and more.
/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
/better-writing
Focuses on improving product copy in your project.
Covers button labels, error messages, settings, onboarding and empty states while keeping voice and terminology consistent.
/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