ui-polish-pass
デザインレビューやUXチェック後、成果物を発表する前の最終段階として、間隔、階層、配置などを調整し、見た目を美しく整えることで、成果物の品質を向上させるSkill。
📜 元の英語説明(参考)
Core pack — always active as final step. Visual polish pass for spacing, hierarchy, alignment, and cleanup. Runs after design-review and ux-baseline-check as the last quality step before presenting work.
🇯🇵 日本人クリエイター向け解説
デザインレビューやUXチェック後、成果物を発表する前の最終段階として、間隔、階層、配置などを調整し、見た目を美しく整えることで、成果物の品質を向上させるSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o ui-polish-pass.zip https://jpskill.com/download/8086.zip && unzip -o ui-polish-pass.zip && rm ui-polish-pass.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/8086.zip -OutFile "$d\ui-polish-pass.zip"; Expand-Archive "$d\ui-polish-pass.zip" -DestinationPath $d -Force; ri "$d\ui-polish-pass.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
ui-polish-pass.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
ui-polish-passフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
UI Polish Pass
コアパック — 常に有効
これはコアスキルです。すべてのビジュアル作業において、デザインレビューと ux-baseline-check の後の最終ステップとして使用します。
画面は機能します。それを心地よくしましょう。これが機能性とプロフェッショナルの違いです。
コアレンズ
- 装飾する前に、本質を抽出します。
- 画面をその本質的な構造にまで削ぎ落とし、その場所に見合うものだけを追加し直します。
- polish pass でより多くの色、より多くのカード、より多くの装飾が必要な場合、それはおそらく polish pass ではありません。
/bolderと/quieterを方向性のある動きとして使用します。/bolder= ごちゃごちゃさせずに、コントラスト、階層、または自信を高めます/quieter= ノイズを取り除き、強調を減らし、適切なものを主役にします
The Pass (順番に実行)
Pass 1: スペーシングと余白
- [ ] セクションのスペーシング — 主要なセクションは明確な視覚的分離があること (グループ間で最低 32-48px)
- [ ] 要素のスペーシング — グループ内で一貫したギャップがあること (プロジェクトのスペーシングスケールを使用、通常は 4/8/12/16/24)
- [ ] エッジのパディング — コンテンツがコンテナのエッジに触れないこと。最低 16px のパディング、24-32px が望ましい
- [ ] スクイントテスト — 明確なグループが現れるか、それとも区別のない塊か?
- [ ] 追加ではなく削除 — 2つの要素が窮屈に感じる場合は、UIを追加する前に、まず1つ削除してみてください
Pass 2: タイポグラフィの階層
- [ ] 明確なヘッドラインが1つ — ページには、プライマリの見出しとして読めるものが正確に1つあること
- [ ] 最大3つのレベル — 見出し、小見出し、本文。それ以上必要な場合は、IA がおそらく間違っています
- [ ] サイズよりもウェイト — 大きくする前に太字を試してください。小さくする前に、より柔らかい不透明度を試してください
- [ ] 孤立したラベルがないこと — コンテンツのないラベル、セクションのないヘッダー
- [ ] 一貫したテキストスタイル — 同じコンテンツタイプは、どこでも同じスタイルを使用すること
Pass 3: アラインメントとグリッド
- [ ] デフォルトでは左揃え — 中央揃えは特別な瞬間のためのものであり、ルーチンコンテンツのためではありません
- [ ] 一貫したガター — 列全体で同じギャップがあること
- [ ] ベースラインアラインメント — 隣接する列のテキストがきちんと揃っていること
- [ ] 不正なピクセルがないこと — 中途半端なアラインメントはすぐに安っぽく見えます
- [ ] 最大コンテンツ幅 — 本文は1行あたり 65-75 文字を超えないこと
Pass 4: 色とコントラスト
- [ ] 抑制されたパレット — プロジェクトの色のみを使用し、新しい色を即興で作らないこと
- [ ] 色付きのニュートラル — 純粋なグレーよりも、わずかに暖色/寒色のニュートラルを優先します
- [ ] 不透明度による階層 — 必要に応じて、セカンダリテキストは 60-70%、ターシャリは 40-50%
- [ ] 装飾色がないこと — 色はアクション、ステータス、選択、またはまれな強調を意味します
- [ ] ダーク/ライトモード — プロジェクトが両方をサポートしている場合は、両方を確認します
Pass 5: インタラクティブな感触
- [ ] ホバー状態が存在すること — すべてのクリック可能な要素が意図を認識すること
- [ ] トランジションがスムーズであること — マイクロインタラクションには 150-200ms、レイアウトの変更には ~300ms
- [ ] イージングが洗練されていること — バウンス、エラスティック、斬新なカーブは使用しないこと
- [ ] カーソルの変更 — クリック可能な要素にはポインタ、無効な要素には not-allowed、ドラッグ可能な要素には grab
- [ ] フォーカス表示 — ページをタブで移動し、常に自分がどこにいるかを知ること
- [ ] デッドゾーンがないこと — クリックターゲットは寛大であり、テキストの小さな島ではないこと
Pass 6: ミクロディテール
- [ ] 等幅数字 — 動的に更新される数値は、レイアウトのずれを防ぐために
font-variant-numeric: tabular-numsを使用します (カウンター、価格、統計、タイマー) - [ ] テキストの折り返し — 見出しは孤立を防ぐために
text-wrap: balanceを使用し、本文はtext-wrap: prettyを使用します - [ ] フォントスムージング — ルートレイアウトには、macOS でより鮮明なテキストを実現するために
-webkit-font-smoothing: antialiasedがあります - [ ] 同心円状のボーダー半径 — ネストされた丸い要素は、外側の半径 = 内側の半径 + パディングになります (alignment.md を参照)
- [ ] 画像の輪郭 — 明るい背景の画像には、一貫した奥行きのために微妙な
outline: 1px solid rgba(0,0,0,0.06)が設定されます - [ ] アイコンアニメーション — 状態が変化するアイコン (開閉、再生/一時停止) は、ハードスワップではなく、不透明度 + スケールでクロスフェードします
- [ ] プレス時のスケール — ボタンは、触覚フィードバックのためにアクティブ状態で
scale(0.97)を使用し、100ms のトランジションを使用します - [ ]
transition: allを使用しない — 常に正確なプロパティを指定します (transition-property: transform, opacity)
Pass 7: 最終確認
- [ ] 1x でスクリーンショット — 実際のピクセルでもプロフェッショナルに見えますか?
- [ ] 参照と比較 — 並べて、正直に
- [ ] 3秒テスト — 誰かが画面の目的をすぐに伝えることができますか?
- [ ] Linear または Vercel はこれをリリースしますか?
- [ ] 最終的な抽出パス — 何を削除して同時に改善できますか?
Polish をしない場合
- Aaron がまだ調整していないプロトタイプ
- 使い捨ての実験またはスパイク
- 美しさよりもスピードが重要な内部ツール
Polish は、構造が承認された後に行われます。悪い基盤を磨かないでください。
スピードのヒント
- まずスペーシングを修正 — 問題の半分が解決します
- ブラウザのインスペクターグリッドオーバーレイを使用して、アラインメントを確認します
- 狭い devtools パネルではなく、実際のビューポート幅で比較します
- polish に 15 分以上費やしている場合は、構造的な問題がある可能性があります
- UI が弱いと感じる場合は、
/bolderまたは/quieterの方向を選択し、コミットします
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
UI Polish Pass
Core Pack — Always Active
This is a core skill. Use as the final step after design-review and ux-baseline-check on all visual work.
The screen works. Now make it feel right. This is the difference between functional and professional.
Core Lens
- Distill before decorating.
- Strip the screen to its essential structure, then add back only what earns its place.
- If a polish pass needs more color, more cards, and more chrome, it is probably not a polish pass.
- Use
/bolderand/quieteras directional moves:/bolder= increase contrast, hierarchy, or confidence without adding clutter/quieter= remove noise, reduce emphasis, let the right thing lead
The Pass (run sequentially)
Pass 1: Spacing & Breathing Room
- [ ] Section spacing — major sections have clear visual separation (32-48px minimum between groups)
- [ ] Element spacing — consistent gaps within groups (use the project's spacing scale, usually 4/8/12/16/24)
- [ ] Edge padding — content doesn't touch container edges. Minimum 16px padding, 24-32px preferred
- [ ] The squint test — do clear groups emerge, or is it one undifferentiated blob?
- [ ] Remove, don't add — if two elements feel crowded, try removing one before adding more UI
Pass 2: Typography Hierarchy
- [ ] One clear headline — the page has exactly one thing that reads as the primary heading
- [ ] Three levels max — heading, subheading, body. If you need more, the IA is probably wrong
- [ ] Weight before size — try bold before bigger. Try softer opacity before smaller
- [ ] No orphan labels — labels without content, headers without their section
- [ ] Consistent text styles — same content type uses the same style everywhere
Pass 3: Alignment & Grid
- [ ] Left-align by default — center alignment is for special moments, not routine content
- [ ] Consistent gutters — columns have the same gap throughout
- [ ] Baseline alignment — text in adjacent columns sits cleanly together
- [ ] No rogue pixels — near-miss alignment reads cheap fast
- [ ] Max content width — prose doesn't exceed 65-75 characters per line
Pass 4: Color & Contrast
- [ ] Restrained palette — use project colors only, don't improvise new ones
- [ ] Tinted neutrals — prefer slightly warm/cool neutrals over pure gray
- [ ] Hierarchy through opacity — secondary text at 60-70%, tertiary at 40-50% when appropriate
- [ ] No decoration color — color means action, status, selection, or rare emphasis
- [ ] Dark/light mode — if the project supports both, check both
Pass 5: Interactive Feel
- [ ] Hover states exist — every clickable element acknowledges intent
- [ ] Transitions are smooth — 150-200ms for micro-interactions, ~300ms for layout changes
- [ ] Easing is refined — no bounce, no elastic, no novelty curves
- [ ] Cursor changes — pointer on clickable, not-allowed on disabled, grab on draggable
- [ ] Focus visible — tab through the page, always know where you are
- [ ] No dead zones — click targets are generous, not tiny islands of text
Pass 6: Micro-Details
- [ ] Tabular numbers — any dynamically updating number uses
font-variant-numeric: tabular-numsto prevent layout shift (counters, prices, stats, timers) - [ ] Text wrapping — headings use
text-wrap: balance, body text usestext-wrap: prettyto avoid orphans - [ ] Font smoothing — root layout has
-webkit-font-smoothing: antialiasedfor crisper text on macOS - [ ] Concentric border radius — nested rounded elements have outer radius = inner radius + padding (see alignment.md)
- [ ] Image outlines — images on light backgrounds get a subtle
outline: 1px solid rgba(0,0,0,0.06)for consistent depth - [ ] Icon animations — icons that change state (open/close, play/pause) cross-fade with opacity + scale, not hard swap
- [ ] Scale on press — buttons use
scale(0.97)on active state for tactile feedback, 100ms transition - [ ] No
transition: all— always specify exact properties (transition-property: transform, opacity)
Pass 7: Final Proof
- [ ] Screenshot at 1x — does it still look professional at actual pixels?
- [ ] Compare to reference — side by side, honestly
- [ ] The 3-second test — can someone tell what the screen is for quickly?
- [ ] Would Linear or Vercel ship this?
- [ ] Final distill pass — what can you remove and make better at the same time?
When NOT to Polish
- Prototypes Aaron hasn't aligned on yet
- Throwaway experiments or spikes
- Internal tools where speed matters more than beauty
Polish comes after structure is approved. Never polish a bad foundation.
Speed Tips
- Fix spacing first — it solves half the problem
- Use the browser inspector grid overlay to check alignment
- Compare at actual viewport width, not narrow devtools panels
- If you're spending more than 15 minutes on polish, something structural is probably wrong
- If the UI feels weak, choose a direction:
/bolderor/quieter, then commit