polish
Final quality pass before shipping. Fixes alignment, spacing, consistency, and detail issues that separate good from great.
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o polish.zip https://jpskill.com/download/19791.zip && unzip -o polish.zip && rm polish.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/19791.zip -OutFile "$d\polish.zip"; Expand-Archive "$d\polish.zip" -DestinationPath $d -Force; ri "$d\polish.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
polish.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
polishフォルダができる - 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 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
[Skill 名] polish まず: デザイン原則とアンチパターンについては、frontend-design スキルを使用してください。
良い仕事と素晴らしい仕事を分ける小さな詳細をすべて見つけるために、細心の注意を払って最終確認を行ってください。出荷されたものと磨き上げられたものの違いです。
磨き上げ前の評価
現在の状態と目標を理解してください。
-
完全性の確認:
- 機能的に完全ですか?
- 保持すべき既知の問題はありますか(TODOでマークする)?
- 品質基準はどの程度ですか?(MVPか、それとも主要機能か?)
- いつ出荷されますか?(磨き上げにどれくらいの時間がありますか?)
-
磨き上げの領域を特定する:
- 視覚的な不整合
- 間隔と配置の問題
- インタラクション状態のギャップ
- コピーの不整合
- エッジケースとエラー状態
- ロードとトランジションの滑らかさ
重要: 磨き上げは最後のステップであり、最初のステップではありません。機能的に完全でない作業を磨き上げないでください。
体系的に磨き上げる
以下の側面を体系的に作業してください。
視覚的な配置と間隔
- ピクセルパーフェクトな配置: すべてがグリッドに揃っている
- 一貫した間隔: すべてのギャップは間隔スケールを使用している(ランダムな13pxのギャップはない)
- 視覚的な配置: 視覚的な重みに合わせて調整する(アイコンは視覚的な中央揃えのためにオフセットが必要な場合がある)
- レスポンシブな一貫性: すべてのブレークポイントで間隔と配置が機能する
- グリッドへの準拠: 要素がベースライングリッドにスナップする
確認:
- グリッドオーバーレイを有効にして配置を確認する
- ブラウザのインスペクターで間隔を確認する
- 複数のビューポートサイズでテストする
- 「おかしい」と感じる要素を探す
タイポグラフィの洗練
- 階層の一貫性: 同じ要素は全体で同じサイズ/ウェイトを使用する
- 行の長さ: 本文は45-75文字
- 行の高さ: フォントサイズとコンテキストに適している
- ウィドウとオーファン: 最終行に単語が1つだけ残らない
- ハイフネーション: 言語と列幅に適している
- カーニング: 必要に応じて文字間隔を調整する(特に見出し)
- フォントの読み込み: FOUT/FOITのちらつきがない
色とコントラスト
- コントラスト比: すべてのテキストがWCAG基準を満たしている
- 一貫したトークンの使用: ハードコードされた色がなく、すべてデザインシステムトークンを使用している
- テーマの一貫性: すべてのテーマバリアントで機能する
- 色の意味: 同じ色が全体で同じ意味を持つ
- アクセシブルなフォーカス: フォーカスインジケーターが十分なコントラストで表示される
- 色付きのニュートラル: 純粋なグレーや純粋な黒ではなく、微妙な色合いを加える(0.01クロマ)
- 色上のグレー: 色付きの背景にグレーのテキストを置かない—その色のシェードまたは透明度を使用する
インタラクションの状態
すべてのインタラクティブ要素にはすべての状態が必要です。
- デフォルト: 静止状態
- ホバー: 微妙なフィードバック(色、スケール、影)
- フォーカス: キーボードフォーカスインジケーター(代替なしで削除しない)
- アクティブ: クリック/タップフィードバック
- 無効: 明らかに非インタラクティブ
- 読み込み中: 非同期アクションのフィードバック
- エラー: バリデーションまたはエラー状態
- 成功: 成功した完了
状態の欠落は混乱と壊れたエクスペリエンスを生み出します。
マイクロインタラクションとトランジション
- スムーズなトランジション: すべての状態変化が適切にアニメーション化されている(150-300ms)
- 一貫したイージング: 自然な減速のために ease-out-quart/quint/expo を使用する。バウンスやエラスティックは古く感じるため使用しない。
- ジャンクなし: 60fpsのアニメーション、transform と opacity のみアニメーション化する
- 適切なモーション: モーションは装飾ではなく目的を果たす
- モーションの削減:
prefers-reduced-motionを尊重する
コンテンツとコピー
- 一貫した用語: 同じものが全体で同じ名前で呼ばれる
- 一貫した大文字小文字: タイトルケースとセンテンスケースが常に適用される
- 文法とスペル: タイプミスがない
- 適切な長さ: 長すぎず、短すぎない
- 句読点の一貫性: 文には句点、ラベルには句点なし(すべてのラベルに句点がある場合を除く)
アイコンと画像
- 一貫したスタイル: すべてのアイコンが同じファミリーまたは一致するスタイルである
- 適切なサイズ: アイコンはコンテキストに合わせて一貫したサイズである
- 適切な配置: アイコンは隣接するテキストと視覚的に揃っている
- 代替テキスト: すべての画像に説明的な代替テキストがある
- 読み込み状態: 画像がレイアウトシフトを引き起こさない、適切なアスペクト比
- Retina対応: 高DPIスクリーン用に2倍のアセット
フォームと入力
- ラベルの一貫性: すべての入力が適切にラベル付けされている
- 必須インジケーター: 明確で一貫している
- エラーメッセージ: 役立つ一貫したエラーメッセージ
- タブ順序: 論理的なキーボードナビゲーション
- 自動フォーカス: 適切である(使いすぎない)
- バリデーションのタイミング: 一貫している(ブラー時か送信時か)
エッジケースとエラー状態
- 読み込み状態: すべての非同期アクションに読み込みフィードバックがある
- 空の状態: 空白ではなく、役立つ空の状態
- エラー状態: 回復パスを含む明確なエラーメッセージ
- 成功状態: 成功したアクションの確認
- 長いコンテンツ: 非常に長い名前、説明などを処理する
- コンテンツなし: データがない場合を適切に処理する
- オフライン: 適切なオフライン処理(該当する場合)
レスポンシブネス
- すべてのブレークポイント: モバイル、タブレット、デスクトップでテストする
- タッチターゲット: タッチデバイスでは最低44x44px
- 読みやすいテキスト: モバイルでは14pxより小さいテキストがない
- 水平スクロールなし: コンテンツがビューポートに収まる
- 適切なリフロー: コンテンツが論理的に適応する
パフォーマンス
- 高速な初期読み込み: クリティカルパスを最適化する
- レイアウトシフトなし: 読み込み後に要素がジャンプしない(CLS)
- スムーズなインタラクション: ラグやジャンクがない
- 最適化された画像: 適切な形式とサイズ
- 遅延読み込み: オフスクリーンコンテンツは遅延読み込みされる
コード品質
- コンソールログの削除: 本番環境にデバッグログがない
- コメントアウトされたコードの削除: 不要なコードをクリーンアップする
- 未使用のインポートの削除: 未使用の依存関係をクリーンアップする
- 一貫した命名: 変数と関数が命名規則に従っている
- 型安全性: TypeScriptの
anyや無視されたエラーがない - アクセシビリティ: 適切なARIAラベルとセマンティックHTML
磨き上げチェックリスト
体系的に確認してください。
- [ ] すべてのブレークポイントで視覚的な配置が完璧である
- [ ] 間隔がデザインシステムトークンを一貫して使用している
- [ ] タイポグラフィの階層が一貫している
- [ ] すべてのインタラクション
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
First: Use the frontend-design skill for design principles and anti-patterns.
Perform a meticulous final pass to catch all the small details that separate good work from great work. The difference between shipped and polished.
Pre-Polish Assessment
Understand the current state and goals:
-
Review completeness:
- Is it functionally complete?
- Are there known issues to preserve (mark with TODOs)?
- What's the quality bar? (MVP vs flagship feature?)
- When does it ship? (How much time for polish?)
-
Identify polish areas:
- Visual inconsistencies
- Spacing and alignment issues
- Interaction state gaps
- Copy inconsistencies
- Edge cases and error states
- Loading and transition smoothness
CRITICAL: Polish is the last step, not the first. Don't polish work that's not functionally complete.
Polish Systematically
Work through these dimensions methodically:
Visual Alignment & Spacing
- Pixel-perfect alignment: Everything lines up to grid
- Consistent spacing: All gaps use spacing scale (no random 13px gaps)
- Optical alignment: Adjust for visual weight (icons may need offset for optical centering)
- Responsive consistency: Spacing and alignment work at all breakpoints
- Grid adherence: Elements snap to baseline grid
Check:
- Enable grid overlay and verify alignment
- Check spacing with browser inspector
- Test at multiple viewport sizes
- Look for elements that "feel" off
Typography Refinement
- Hierarchy consistency: Same elements use same sizes/weights throughout
- Line length: 45-75 characters for body text
- Line height: Appropriate for font size and context
- Widows & orphans: No single words on last line
- Hyphenation: Appropriate for language and column width
- Kerning: Adjust letter spacing where needed (especially headlines)
- Font loading: No FOUT/FOIT flashes
Color & Contrast
- Contrast ratios: All text meets WCAG standards
- Consistent token usage: No hard-coded colors, all use design tokens
- Theme consistency: Works in all theme variants
- Color meaning: Same colors mean same things throughout
- Accessible focus: Focus indicators visible with sufficient contrast
- Tinted neutrals: No pure gray or pure black—add subtle color tint (0.01 chroma)
- Gray on color: Never put gray text on colored backgrounds—use a shade of that color or transparency
Interaction States
Every interactive element needs all states:
- Default: Resting state
- Hover: Subtle feedback (color, scale, shadow)
- Focus: Keyboard focus indicator (never remove without replacement)
- Active: Click/tap feedback
- Disabled: Clearly non-interactive
- Loading: Async action feedback
- Error: Validation or error state
- Success: Successful completion
Missing states create confusion and broken experiences.
Micro-interactions & Transitions
- Smooth transitions: All state changes animated appropriately (150-300ms)
- Consistent easing: Use ease-out-quart/quint/expo for natural deceleration. Never bounce or elastic—they feel dated.
- No jank: 60fps animations, only animate transform and opacity
- Appropriate motion: Motion serves purpose, not decoration
- Reduced motion: Respects
prefers-reduced-motion
Content & Copy
- Consistent terminology: Same things called same names throughout
- Consistent capitalization: Title Case vs Sentence case applied consistently
- Grammar & spelling: No typos
- Appropriate length: Not too wordy, not too terse
- Punctuation consistency: Periods on sentences, not on labels (unless all labels have them)
Icons & Images
- Consistent style: All icons from same family or matching style
- Appropriate sizing: Icons sized consistently for context
- Proper alignment: Icons align with adjacent text optically
- Alt text: All images have descriptive alt text
- Loading states: Images don't cause layout shift, proper aspect ratios
- Retina support: 2x assets for high-DPI screens
Forms & Inputs
- Label consistency: All inputs properly labeled
- Required indicators: Clear and consistent
- Error messages: Helpful and consistent
- Tab order: Logical keyboard navigation
- Auto-focus: Appropriate (don't overuse)
- Validation timing: Consistent (on blur vs on submit)
Edge Cases & Error States
- Loading states: All async actions have loading feedback
- Empty states: Helpful empty states, not just blank space
- Error states: Clear error messages with recovery paths
- Success states: Confirmation of successful actions
- Long content: Handles very long names, descriptions, etc.
- No content: Handles missing data gracefully
- Offline: Appropriate offline handling (if applicable)
Responsiveness
- All breakpoints: Test mobile, tablet, desktop
- Touch targets: 44x44px minimum on touch devices
- Readable text: No text smaller than 14px on mobile
- No horizontal scroll: Content fits viewport
- Appropriate reflow: Content adapts logically
Performance
- Fast initial load: Optimize critical path
- No layout shift: Elements don't jump after load (CLS)
- Smooth interactions: No lag or jank
- Optimized images: Appropriate formats and sizes
- Lazy loading: Off-screen content loads lazily
Code Quality
- Remove console logs: No debug logging in production
- Remove commented code: Clean up dead code
- Remove unused imports: Clean up unused dependencies
- Consistent naming: Variables and functions follow conventions
- Type safety: No TypeScript
anyor ignored errors - Accessibility: Proper ARIA labels and semantic HTML
Polish Checklist
Go through systematically:
- [ ] Visual alignment perfect at all breakpoints
- [ ] Spacing uses design tokens consistently
- [ ] Typography hierarchy consistent
- [ ] All interactive states implemented
- [ ] All transitions smooth (60fps)
- [ ] Copy is consistent and polished
- [ ] Icons are consistent and properly sized
- [ ] All forms properly labeled and validated
- [ ] Error states are helpful
- [ ] Loading states are clear
- [ ] Empty states are welcoming
- [ ] Touch targets are 44x44px minimum
- [ ] Contrast ratios meet WCAG AA
- [ ] Keyboard navigation works
- [ ] Focus indicators visible
- [ ] No console errors or warnings
- [ ] No layout shift on load
- [ ] Works in all supported browsers
- [ ] Respects reduced motion preference
- [ ] Code is clean (no TODOs, console.logs, commented code)
IMPORTANT: Polish is about details. Zoom in. Squint at it. Use it yourself. The little things add up.
NEVER:
- Polish before it's functionally complete
- Spend hours on polish if it ships in 30 minutes (triage)
- Introduce bugs while polishing (test thoroughly)
- Ignore systematic issues (if spacing is off everywhere, fix the system)
- Perfect one thing while leaving others rough (consistent quality level)
Final Verification
Before marking as done:
- Use it yourself: Actually interact with the feature
- Test on real devices: Not just browser DevTools
- Ask someone else to review: Fresh eyes catch things
- Compare to design: Match intended design
- Check all states: Don't just test happy path
Remember: You have impeccable attention to detail and exquisite taste. Polish until it feels effortless, looks intentional, and works flawlessly. Sweat the details - they matter.