smithery/kosaki08

uimatch-text-diff

Compare two pieces of text using the uiMatch CLI text-diff command and classify how similar they are (exact match, whitespace/case-only, normalized match, or mismatch). Use this skill when the user cares about copy or label differences between design and implementation, or wants a cheap text-only check without running browser-based visual comparison.

Installation

$ npx skills add smithery/kosaki08 --skill uimatch-text-diff

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/kosaki08.

npx skills add smithery/kosaki08

Browse all from smithery/kosaki08

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,568 B
  • docs SUMMARY.md 377 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

uiMatch Text Diff Skill

Purpose

Compare two pieces of text (e.g. Figma label vs implementation text) and classify how different they are.

Use this skill to:

  • detect copy mismatches (labels, button text, headings)
  • distinguish between “only casing/whitespace changed” vs “actual wording changed”
  • perform cheap checks without running browser comparisons

Environment / assumptions

  • Run commands from the repository root.
  • @uimatch/cli is installed as a devDependency.
  • Node.js 20+ is available.

This skill does not require Figma API or Playwright. FIGMAACCESSTOKEN and browser installation are not needed here.


Command usage

npx @uimatch/cli text-diff "<EXPECTED_TEXT>" "<ACTUAL_TEXT>" [--case-sensitive] [--threshold=<0-1>]

Notes:

  • Options must use = syntax, for example: --threshold=0.8.
  • Output is JSON with fields:

- kind: "exact-match" | "whitespace-or-case-only" | "normalized-match" | "mismatch" - similarity: 0.0 - 1.0 similarity score - expected, actual - normalizedExpected, normalizedActual

Examples

# Only case/whitespace differences
npx @uimatch/cli text-diff "Sign in" "SIGN  IN"

# Typo but still similar
npx @uimatch/cli text-diff "Submit" "Submt" --threshold=0.6

# Full-width vs half-width
npx @uimatch/cli text-diff "Button123" "Button123"

The CLI applies:

  • Unicode NFKC normalization
  • Whitespace collapsing
  • Lowercasing (unless --case-sensitive is given)

How Claude Code should use this skill

Typical flow:

  1. Extract two text strings:

- e.g., from Figma JSON / spec vs DOM textContent

  1. Run uimatch text-diff with those strings.
  2. Parse JSON output and:

- report kind and similarity - explain whether differences are only formatting (whitespace-or-case-only) or real content changes (mismatch)

Use this skill:

  • when a user suspects copy differences
  • when visual diff is too noisy but text differences matter
  • as a complement to compare results (to explain text-related discrepancies)

For pixel-level comparison, use uimatch-compare or uimatch-suite instead.