New to Claude Skills? Learn how to install them →

jakubkrehel on GitHub

Interface Review

Free

Streamline your interface change reviews with precision.

by jakubkrehel3.3k stars on jakubkrehel/skills
3 views
Updated Aug 6, 2026
Get this skill

Free · Opens the source repo

What Interface Review does

The Interface Review skill is designed for developers and designers who need to conduct thorough reviews of interface changes in their codebase. Instead of merely analyzing the lines of code that have been added or removed, this skill emphasizes understanding the broader impact of those changes on the user interface. It resolves the scope of the changes, identifies all affected surfaces, and classifies findings as introduced, regression, or pre-existing. This ensures that every aspect of the interface is considered before finalizing changes.

When using the Interface Review skill, users can choose between quick and full review modes, allowing for flexibility based on the urgency and depth of the review needed. The skill reads both sides of the diff to capture not only what has been added but also what has been removed, ensuring that regressions are identified and addressed. By classifying each finding, it provides a clear overview of the impact of the changes, which can then be handed off to the better-interface skill for further analysis and verdicts.

This skill is particularly useful when working on pull requests or uncommitted changes, as it allows teams to maintain high interface quality without getting bogged down in correctness or security issues, which are outside its scope. By focusing solely on the interface, it helps teams streamline their review processes and ensure that user-facing changes meet the intended design and functionality requirements.

The Interface Review skill is ideal for teams that prioritize interface quality and need a structured approach to reviewing changes before they are merged. It is not a substitute for general code reviews, which cover correctness and performance, but rather a complementary tool that enhances the review process by focusing on the user experience aspects of the code changes.

When to use it

Use this skill when reviewing pull requests or uncommitted changes that affect user interfaces.

When not to use it

Do not use this skill for general code correctness reviews, security assessments, or performance evaluations.

What you can build with it

Reviewing a Pull Request

When a developer submits a pull request, use the Interface Review skill to assess how the changes impact the user interface.

Assessing Uncommitted Changes

Before pushing uncommitted changes, run the Interface Review skill to ensure that all interface aspects are covered.

Conducting a Design Regression Check

Use the skill to check for regressions in interface quality when implementing new design changes.

How to install Interface Review

View source

1. Install with the skills CLI

npx skills add jakubkrehel/skills/interface-review --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by jakubkrehel

Review the change, not just the code it left behind

A diff is not a surface. The lines a change deletes matter as much as the lines it adds, and the file it touches is rarely the whole of what it affects.

This skill owns change scope only: resolving the target, expanding changed files to affected surfaces, reading both sides of the diff, and classifying each finding. Domain rules belong to the six better-* skills. Mode, severity, consolidation, coverage, the cap, the output format, and the verdict belong to better-interface, which this skill hands the review to. Never duplicate or override their rules here.

Correctness, tests, security, and performance belong to the project's general code review. Name the concern once and move on.

Quick Reference

CategoryWhen to Use
Scope ResolutionTargets and commands, default branch, merge-base, PR and fork refs, repository states, renames, exclusions, consumer expansion
Removed SignalsWhat to look for on the - side of a hunk and which skill owns each removal

Core Principles

1. Resolve the Change Scope First

better-interface owns mode parsing; everything after the mode is the target, so /interface-review quick pr 482 is a quick review of pull request 482. Scope Resolution holds the accepted targets and the command for each.

With no target supplied, resolve in this order and stop at the first match:

  1. HEAD is ahead of git merge-base origin/<default-branch> HEAD: that range plus any uncommitted changes, with the commit count and uncommitted file count stated separately.
  2. The working tree is dirty: the uncommitted changes.
  3. Otherwise, HEAD~1..HEAD, stated as a fallback.

Order matters: checking the working tree first lets one stray formatting edit shadow a twelve-commit branch while the report still claims full coverage.

Exclude lockfiles, snapshots, generated output, vendored code, and binaries, and name what you excluded. If the scope is empty after exclusions, say so and stop.

2. A Diff Is Not a Surface

A changed file is evidence, not the review subject. Expand each one to the surfaces it renders in and review those.

Expand one hop by default: the direct importers and callers. Expand a second hop only for design tokens, theme values, and shared primitives, where one line reaches the whole product.

Review at most five consumers, ordered by the rule in Scope Resolution, and state how many you did not expand. An unbounded sweep produces coverage claims you cannot support; an unstated cutoff produces a report that looks complete and is not.

3. Read the Removed Lines

Regressions are invisible in the post-change state. Read the - side of every hunk against Removed Signals.

A signal is a lead, not a finding. A removal is only a regression when nothing in the change replaces it, and the domain skill owns that judgement. Route each unmatched removal to its owner and report only what that skill confirms. Then status it Regression, which tells the author they broke something that worked rather than made a new mistake.

4. Classify Every Finding

Give every finding one status:

  • Introduced: the change created it.
  • Regression: the change weakened something previously correct.
  • Pre-existing: present in the touched code but not caused by this change.

Status by what the diff touched, not by which file it sits in: a line the change never touched is Pre-existing even three lines from a hunk. Confirm against the base ref when it matters:

git blame -L <line>,<line> "$BASE" -- path/to/file

Hand every finding up with its status attached and let better-interface apply its cap and verdict rules.

5. Hold the Change to Its Stated Intent

Read the pull request title and body, the linked issue, and the commit messages, then review whether the interface delivers what they claim.

This is what surfaces the incomplete change, which a surface review cannot see because it inspects states when present and here the point is that they are absent:

  • A new variant, size, or theme applied to some states but not all: hover, focus, active, disabled, loading, selected.
  • A new user-facing string with no entry in the translation catalogue the project maintains.
  • A new component with no empty, loading, error, disabled, or narrow-width state.
  • A control added to one surface but not to the siblings that already carry its peers.

Do not report scope creep. Whether a change does too much is a process question, not an interface one.

6. Hand the Review to better-interface

With the scope, the affected surfaces, and both sides of the diff in hand, hand the review to better-interface with the scope block and a status on every finding. It routes to the six domain skills, applies severity, consolidates, enforces the cap, and issues the verdict, including the change-scoped rules under its Change-Scoped Reviews section.

If better-interface is unavailable, report the resolved scope and the file inventory, name it as the missing skill, and stop. Do not invent a severity scale, a cap, or a verdict.

7. Never Mutate the Working Tree

A change review is read-only, including the checkout. Fetch pull request refs; never check them out. git fetch writes only to .git and is permitted. gh pr checkout, git checkout, git switch, and git stash rewrite the files the author has open, failing against local edits or discarding them, and are never permitted in any mode.

Rendered verification is opt-in: mark visual and runtime claims Not verified unless the project exposes a cheap preview or the user asks for a rendered review. When they do, use an isolated worktree (git worktree add /tmp/review-<n> refs/remotes/pr/<n>) and remove it when done. That leaves the author's tree untouched, which a checkout does not, so a checkout is not an alternative here.

Common Mistakes

MistakeFix
One stray edit reviewed instead of the branchCheck merge-base before the working tree, and report both counts
Hunks reviewed without their consumersExpand one hop, two for tokens and primitives, and name what you skipped
Only the + side of the diff readSearch the - side for removed accessibility, focus, motion, and text signals
An equivalent replacement reported as a regressionRoute the removal to the owning skill and report only what it confirms
A removal reported as a new mistakeStatus it Regression so the author knows it used to work
A line near a hunk statused IntroducedStatus by what the diff touched, confirmed with git blame against the base ref
A pull request checked out to review itFetch the ref and review it in place
Line numbers cited that do not exist on the reviewed refCite against the head ref named in the scope block
Mode, severity, caps, the output format, or the verdict restated hereDefer to better-interface
Correctness, test, or security findings in the reportName the concern once, point at the project's code review, and drop it

Review Output Format

better-interface owns the format, including the four change-scoped additions under its Change-Scoped Reviews section. Follow it as written and add nothing here.

This skill supplies the scope block:

FieldValue
Targetbranch, working, staged, pr 482, or the range as entered
Base reforigin/main at a1b2c3d
Head refrefs/remotes/pr/482 at e4f5g6h
Commits7 committed, 2 files uncommitted
Files in scope12 after exclusions
Excludedpnpm-lock.yaml, src/__snapshots__/: lockfile and snapshots
Surfaces expandedCheckoutPage, SettingsPanel; 3 further Button consumers not expanded

Plus a status on every finding, per principle 4.

Under better-interface's Verification, list the exact git and gh commands and their results, including every write to .git (a fetch, a deepen, a set-head, a worktree), so the read-only claim in principle 7 is auditable.

Frequently asked questions about Interface Review

Similar skills