anaksor-ocr
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…

Jakub Krehel’s collection of agent skills for interface work: they review and fix accessibility, layout, typography, color, UI polish and interface copy, and add commands that review a pull request or stress test a component.
Interfaces: agent skills for building UI is an open-source project on GitHub in the Developer category, listed by Mindket. It is free. This is version 2, last updated on . Install it from GitHub as its README says. Get Mindket’s setup notes on your Mindket account, as a zip.
/plugin marketplace add jakubkrehel/skills /plugin install interfaces@interfaces
Interfaces is Jakub Krehel’s set of 14 agent skills for building and reviewing user interfaces. Six better-* skills each own one field: typography, color, accessibility, layout, interface copy and UI polish. A seventh, better-interface, runs them over a screen and merges what they find into one ranked report. The topics are the ones he writes about on his own site and in his design engineering magazine, also called Interfaces.
Front-end developers and design engineers who care how an interface reads and behaves, from type and spacing to copy and keyboard focus. It also suits teams with a design system they want an agent to respect, since build-design works from the project’s own tokens and components.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Software and SaaS products | Design engineers | Review a new flow for copy, contrast and focus before it reaches QA | A design engineer reviews a new onboarding flow and fixes the HIGH rows before handing it on. |
| Open source and shared codebases | Maintainers | Run interface-review on each pull request that touches the UI | A maintainer sees which problems a pull request brought in, kept apart from the ones that were already there. |
| Agencies and studios that hand off in Figma | Front-end developers | Turn a Figma frame into code with build-design and the project’s own components | A developer with a Figma MCP server connected builds a settings panel from a frame, using the design system’s tokens. |
| Teams with a component library | UI engineers | Render a component in every scenario or state on a throwaway page | A team renders a form component under every scenario that can reach it with break, then deletes the temporary page. |
| Design education and research | Developers studying other sites | Ask explain-interface how a live page or effect was built | A developer asks how a page they admire builds its animation. |
Back-end work gives it nothing to review.
The README covers two routes, and two skills reach outside your editor.
| Target | What comes back |
|---|---|
| A screen, a flow or a whole interface | One ranked report from better-interface |
| A branch, a pull request or an uncommitted change | interface-review’s findings, each marked by where it came from |
| A Figma file or a design image | UI built with the project’s own tokens and components |
| A live URL or a screenshot | How the site or the visual effect was built |
| One component | Its scenarios or states on a throwaway page, or several versions to pick from |
Get it saves a zip of Mindket’s setup notes in your downloads folder. The skills themselves install from Jakub Krehel’s repository, as a plugin in Claude Code or through the skills CLI anywhere else.
| Need | Detail |
|---|---|
| A coding agent | Claude Code for the plugin, or an agent the skills CLI supports, such as OpenCode, Codex or Cursor |
| Node 22.20 or newer | Only for the skills CLI, Vercel Labs’ npm package skills, not Jakub Krehel’s |
| A Figma MCP server | Only for build-design with Figma links. Without one, it asks you to connect it |
| A scriptable browser | Optional, for explain-interface on a live page |
/plugin marketplace add jakubkrehel/skills /plugin install interfaces@interfaces
npx skills add jakubkrehel/skills
Plugin updates reach Claude Code only when the maker raises the plugin’s version, which he does with every skill change.
Most skills load by themselves when a request matches, such as a request to fix contrast or tighten a heading.
| Skill | What it does |
|---|---|
| better-interface | Runs the other better-* skills over a screen, a flow or a whole interface and returns one ranked report |
| better-ui | Surfaces, icons and motion, with exact values for radius, shadows and animation |
| better-typography | Type scale, spacing, font features, wrapping, truncation and punctuation |
| better-colors | Palettes, semantic token names, color format conversion and contrast checks |
| better-accessibility | Keyboard and focus, ARIA, forms and motion, checked against WCAG 2.2 |
| better-layout | Grouping, alignment, reading order and responsive structure |
| better-writing | Labels, errors, empty states, confirmations and the rest of the interface copy |
| build-design | Builds UI from a Figma file or a design image with the project’s own tokens and components |
| teardown | Makes a technical illustration you can configure and export as SVG, PNG or PDF |
Five run only when you call them.
| Skill | What it does |
|---|---|
| interface-review | Reviews a branch, a pull request or an uncommitted change |
| explain-interface | Explains how a site or a visual effect was built, from a live URL or a screenshot |
| break | Renders one component under every scenario that can reach it |
| state-machine | Renders every state of a component on a throwaway page with mock data |
| variant | Builds several versions of a component so you can pick one |
In Claude Code that is a slash command, and everything after it is the target. This one reviews pull request 482:
/interface-review pr 482
You finish a new checkout screen and ask your agent for a review.
Review the checkout screen for accessibility, layout and copy problems.
One table of at most 15 findings comes back, ranked HIGH, MEDIUM or LOW by what each does to the person using the screen. A row gives the file and line, the problem, the fix and the evidence. One root cause is one row, with every place it shows up. The verdict is Block while a HIGH finding remains, else Approve, and your code stays as it was until you ask for fixes.
If you are new. Small details decide whether an interface feels finished. Text you can read and buttons that say what they do are most of it. These skills give your agent rules for each field and one review that ranks what to fix first. Ask for a review of one screen you built, then fix only the HIGH rows.
For experts. better-interface ranks findings by severity, then by how far one fix reaches, so a token or shared-component fix outranks the same symptom in one leaf. Some findings are HIGH on sight, such as a control with no accessible name. The cap of 15 keeps reviews short and can hide lower-ranked issues on a big screen. Blockers are never the ones it cuts.
| Mark | Meaning | Counts toward the verdict |
|---|---|---|
| Introduced | The change under review brought it in | Yes |
| Regression | The change broke something that worked | Yes |
| Pre-existing | It was there before the change | No |
Some skills write to your project while they work, and each cleans up on your word.
# Interfaces: agent skills for building UI This kit holds setup notes written by Mindket, nothing more. The skills and the Claude Code plugin themselves install from Jakub Krehel's repository https://github.com/jakubkrehel/skills. No skill file from that repository is copied here. License: MIT, per the repository's LICENSE file (https://github.com/jakubkrehel/skills/blob/HEAD/LICENSE). ## Files in this kit - setup/claude-code.md: the plugin install for Claude Code. - setup/other-agents.md: the skills CLI line, which the maker also points OpenCode users to. ## What installs One plugin named interfaces, served from a marketplace also named interfaces (source: .claude-plugin/plugin.json and .claude-plugin/marketplace.json in the repository). The README lists these skills: - better-interface: runs the other better-* skills on a screen, flow or whole interface and returns one ranked report. - better-ui: surfaces, icons and motion, with exact values for radius, shadows and animation. - better-typography: type scale, spacing, font features, wrapping, truncation and punctuation. - better-colors: palettes, semantic token names, color format conversion and contrast checks. - better-accessibility: keyboard and focus, ARIA, forms and motion, checked against WCAG 2.2. - better-layout: grouping, alignment, reading order and responsive structure. - better-writing: interface copy such as labels, errors, empty states and confirmations. - build-design: builds UI from a Figma file or design image with the project's own tokens and components. - teardown: a technical illustration you can configure and export as SVG, PNG or PDF. - interface-review: reviews a branch, pull request or uncommitted change. You call it yourself. - explain-interface: explains how a site or visual effect was built, from a live URL or screenshot. You call it yourself. - break: renders one component under every scenario that can reach it. You call it yourself. - state-machine: renders every state of a component on a throwaway page with mock data. You call it yourself. - variant: builds several versions of a component so you can pick one. You call it yourself. Source: README at https://github.com/jakubkrehel/skills ## Updating and removing - Claude Code: the maker's AGENTS.md says plugin updates look only at the version field in plugin.json, and the maker raises it with every skill change. Details in setup/claude-code.md. - skills CLI: its own update and remove commands are in setup/other-agents.md. - The maker's README gives no removal steps. ## What runs on your machine - teardown copies its assets and scripts folders into tools/teardown/ in your project and runs its scripts with Node; its preview page build needs packages installed with your package manager (skills/teardown/SKILL.md, verification.md and viewer-assets.md). - break and state-machine add a scratch route with mock data to your app and delete it only when you say you are done (each skill's SKILL.md). - variant puts its versions and a picker on the page that will hold the component. Once you pick one, it deletes the others, the picker and that page's import of them (skills/variant/SKILL.md). - interface-review runs read-only git commands, plus git fetch for pull request refs, and does not edit your checkout. To render a target that is not checked out, it uses a temporary git worktree (skills/interface-review/SKILL.md). - build-design needs a Figma MCP server for Figma links; explain-interface can read live pages directly or through a scriptable browser.
README.md 3 KB setup/claude-code.md 2 KB setup/other-agents.md 2 KB
Updated by Mindket to the current version of this kit.
Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search and on Trendshift. Mindket doesn’t write or check them. Open one to read it where it was posted.
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
Qwen · Kit
Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…
ACE-Step · Kit
Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
block · Kit
Self-hostable workspace where people and AI agents share the same rooms, built on a Nostr relay that logs every action as a signed event. For teams that want t…
backnotprop · Kit
Opens your AI coding agent's plans, specs and code changes in a browser so you can annotate or comment on them and send the feedback straight back to the agent.