使い方ガイドへスキップ
emil-design-eng作者 Emil Kowalski

Emil Design Eng スキル。

UX リサーチ向けの Claude Code および Codex スキル:UI の洗練、コンポーネントデザイン、アニメーション判断に関する Emil Kowalski の哲学を提供します。

  • UX & Research
emilkowalski/skills · skills/emil-design-eng/SKILL.mdSKILL.md
--- name: emil-design-eng description: This skill encodes Emil Kowalski's philosophy on UI polish, component design, animation decisions, and the invisible details that make software feel great. --- ## Initial Response ## Core Philosophy ## Review Format (Required) ## The Animation Decision Framework ## Spring Animations ## Component Building Principles
2026年9月14日にアップストリームファイルから読み込まれた前付けとセクション見出し · 全27,130文字

01 できること

Claude Code と Codex における emil-design-eng スキルの機能

概要、ワークフロー、出力。いずれもスキルの SKILL.md から読み取った内容です。

SKILL.md より2026年9月14日読取 · 実行記録ではありません

スキル自身の言葉で

このスキルは、コーディングエージェントに、Emil Kowalski のデザインエンジニアリングの判断力をインターフェース作業のために与えます。何かをアニメーションさせるべきかどうか、どのイージングとデュレーションを使うべきか、そして応答性を感じさせるコンポーネントをどう構築するかを判断できるようになります。厳格なデフォルトを設定します — UI アニメーションは300ms未満、組み込みの CSS イージングではなくカスタムの cubic-bezier カーブを使用、ease-in は絶対に使わない、scale(0) のエントランスは絶対に使わない、ポップオーバーはトリガーからスケールする、といった内容です。

また、スプリング、clip-path テクニック、ドラッグとジェスチャーの処理、GPU パフォーマンスのルール、reduced motion、そしてコードレビュー用の必須の Before/After markdown 表もカバーしています。汎用的なアニメーションのアドバイスではなく、センスに基づいたインターフェースの判断を求めるデザイナーや開発者向けです。

生成されるもの

  • Before、After、Why の列を持つ markdown レビュー表で、見つかった問題ごとに1行が対応します。
  • 推奨されるカスタムイージングカーブを保持する、そのまま貼り付け可能な CSS 変数。
  • Apple スタイルまたは従来の物理パラメータのいずれかによるスプリング設定オブジェクト。
  • レビューチェックリストのカテゴリから導き出された、優先順位付けされた修正リスト。
プロンプト例を見る ↗

仕組み

  1. 01
    頻度に応じてアニメーションをゲートする

    アニメーションのコードを書く前に、ユーザーがそのインタラクションにどのくらいの頻度で遭遇するかを判断します。

  2. 02
    目的を明確にする

    すべてのアニメーションは、なぜアニメーションするのかについて、有効なリストの中から答えを出す必要があります: 空間的な一貫性、状態の表示、説明、フィードバック、または急激な変化を防ぐこと。

  3. 03
    カスタムカーブを選ぶ

    要素が出現するか、退場するか、移動するか、あるいは色だけが変化するかによってイージングを選び、組み込みのカーブをより強いカスタム cubic-bezier に置き換えます。

  4. 04
    デュレーションを設定する

    表内の要素タイプにデュレーションを合わせます — ボタン押下は100-160ms、ドロップダウンは150-250ms、モーダルは200-500ms — そしてUIは300msの上限を超えないようにします。

  5. 05
    コンポーネントのデフォルトを適用する

    ボタンは:activeで0.97にスケールし、エントランスはscale(0)ではなくopacityを併用して0.95から始まり、ポップオーバーはトリガーからスケールし、モーダルは中央に固定されたままにします。

  6. 06
    スプリングが効果を発揮する場面で使用する

    スプリングは、モメンタムのあるドラッグ、中断可能なジェスチャー、意図的に装飾的なインタラクションに適しています。

02 適合性を確認

emil-design-eng Skill を使用するタイミング

この種の UX リサーチが仕事である場合、Claude Code または Codex で emil-design-eng skill を使用してください。適合性と制限は、skill 自体のファイルから取得されています。

適している場合

  • 既存のUIコードをレビューし、曖昧なフィードバックではなく具体的な修正表を得たい場合
  • 細部の積み重ねがインターフェースの正しい印象につながるコンポーネントを構築する場合
  • ドラッグとスワイプの操作で、ドラッグ距離だけでなくフリックの速度に応じて閉じる挙動が求められる場合
  • メインスレッドが忙しいときにJSアニメーションがフレームを落とす、パフォーマンスに敏感なインターフェース

境界を知る

  • どこにでもバウンシーなスプリングを使うこと:バウンスはほとんどのUIコンテキストでは避けられ、ドラッグでの閉じる操作や遊び心のあるインタラクションに限定されます
  • 機能的なデータビジュアルへの装飾的なモーションで、アニメーションを付けない方が良い場合
  • opacityとheightの組み合わせの公式を求める人向け。ファイルには試行錯誤であると書かれています
  • reduced motionをアニメーションゼロと同義に扱うこと。ファイルはこれを明確に否定しています

提供すべきもの

  • これから書くアニメーションこのフレームワークでは、アニメーションのコードを書き始める前に、4つの質問を順番に答えることを求めています:アニメーションさせるべきか、なぜか、どのイージングか、どのくらいの速さか。
  • ユーザーがそれを目にする頻度頻度は最初の質問であり、アニメーションを一切使わないという選択から、遊びを加える許可まで、決定全体を左右します。
  • 対応するブラウザのターゲットエントランスアニメーションは、サポートされる場合は@starting-styleを使用し、そうでない場合はdata-mounted属性パターンにフォールバックします。

03 スキルの内部

emil-design-eng スキルがClaude CodeとCodexに与えるルール

SKILL.md がエージェントに設定する6つの具体的な指示、デフォルト、制限 — ファイルの中でも結果を変える部分です。

  1. ease-inは絶対に使用しない

    ease-inは最初の動きを遅らせます。これはユーザーが最も注意深く見ている瞬間であるため、300msのease-inドロップダウンは、同じデュレーションのease-outよりも遅く感じられます。

  2. scale(0)からのエントランスは絶対に使用しない

    現実世界で何かが完全に消えたり現れたりすることはありません。エントランスはscale(0.9)以上とopacityを組み合わせて開始し、press-scaleは0.95-0.98の範囲でわずかに留めます。

  3. モーダルは中央originを維持する

    ポップオーバーはBase UIのvar(--transform-origin)を使ってtransform-originをトリガーに設定するべきですが、モーダルはトリガーに固定されていないため、明確な例外として扱われます。

  4. レビューでは実際の表を使用します

    UIレビューでは、Before、After、Whyの列を持つ実際のMarkdownの表を出力する必要があり、問題ごとに1行を割り当てます。Before:とAfter:を別々の行に記載するリスト形式は正しくありません。

  5. ホバーの挙動をメディアクエリの内側に限定します

    ホバーアニメーションは@media (hover: hover) and (pointer: fine)の内側に記述します。タッチデバイスではタップ時にホバーが発生し、誤検知につながるためです。

  6. スタガーは短く、ブロックしないようにします

    スタガー遅延は要素間で30〜80msにします。それより長い遅延はインターフェースを遅く感じさせます。また、スタガーは装飾的なものなので、再生中に操作をブロックしてはいけません。

04 実際に使う

Claude Code または Codex に emil-design-eng をインストール

npx skills add コマンドを実行し、エージェントで最初のタスクを実行して、結果をチェックリストで確認します。

Claude Code、Codex またはあなたの Agent に emil-design-eng を追加

プロジェクトで実行してください。インストーラーが、どのエージェントに追加するかを尋ねます。

Terminal
npx skills add https://github.com/emilkowalski/skills --skill emil-design-eng

skills/emil-design-eng/SKILL.md用の汎用skills CLIフォーム。リポジトリ側で独自のパスを定めている場合もあります。

スキルに最初の UX リサーチタスクを与える

スキル自身の用語で記述されています。角括弧の部分はご自身の内容に置き換えてください。

Starter prompt
Review the code for [the dropdown and the popover] in [component file]. The dropdown opens with ease-in over 300ms, the popover scales from center, and the entering panel animates from scale(0). Use the Before/After format and tell me what to change and why.

出典:SKILL.md をスキル自身の用語に沿って記述。

最初の結果を確認

SKILL.md 自体が正しい結果として示しているもの:

  • 翌日、新鮮な目で作業を見直してください。一晩経つと不完全な部分に気づきやすくなります
  • 一時的に速度を通常の2〜5倍に落とすか、ブラウザのアニメーションインスペクターを使ってタイミングの問題を確認してください
  • Chrome DevToolsでアニメーションをフレーム単位で確認し、通常速度では見えない連携の問題を洗い出してください
  • ドロワーやスワイプジェスチャーは、USB接続したスマートフォンをローカルの開発サーバーにつなぎ、実機で確認してください
  • スローモーションで、アニメーション対象のプロパティが同期しており、原点とイージングが正しく見えるかを確認してください

OpenDesignではemil-design-engが同梱されています。Plugins → Skillsで上部バーから選択してください。

05 オープンソースで追跡可能

ソース、ライセンス、検証

このページの情報の出所と、最終確認日時です。

Repository
github.com/emilkowalski/skills ブランチ main
スキルファイル
skills/emil-design-eng/SKILL.md 検証時に記録されたコンテンツチェックサム;コミット d23d7f8
License
MIT LICENSE より。
リポジトリスター数
37,516 このカタログの 9 つの skill を含む emilkowalski/skills リポジトリ全体について 2026-09-14 に取得された GitHub スナップショット。emil-design-eng の評価や使用数ではありません。
OpenDesign により検証済み
2026-09-14 ソースファイル、パス、ライセンステキスト、スター数を確認済み。OpenDesign メイン版に同梱(2026-08-28 確認)。このページでは実際の実行記録はまだありません。

SKILL.md の中身

  1. コアとなる考え方センスは訓練できるものであり、目に見えない細部が積み重なり、美しさは実際の差別化要因になります。
  2. レビュー形式(必須)Before/After/WhyのMarkdown表を必須とし、禁止されているリスト形式を示します。
  3. アニメーション判断フレームワーク頻度、目的、イージング、時間という4つの順序立てた質問に加え、知覚的パフォーマンスを扱います。
  4. スプリングアニメーションスプリングが適する場面、useSpringによるマウス追従、そして2つの設定スタイルについて説明します。
  5. コンポーネント構築の原則押下時のフィードバック、scale(0)の回避、ポップオーバーの原点、ツールチップの遅延、キーフレームよりトランジションを使うこと、ブラーについて。
  6. CSS Transformの極意パーセンテージによる移動、子要素のスケーリング、3Dの深度、transform-originによる基点指定について。
  7. アニメーションのためのclip-pathオーバーレイのインセット表示、タブ、長押し削除、スクロール表示、比較スライダーについて。
  8. ジェスチャーとドラッグの操作速度に応じた消去、境界での減衰、ポインターキャプチャ、マルチタッチ保護、摩擦について。
  9. パフォーマンスのルールアニメーションさせるのはtransformとopacityのみとし、CSS変数の再計算を避け、負荷が高い場合はCSSを優先します。
  10. アクセシビリティReduced Motionではopacityと色は保持し、動きは排除します。ホバーはメディアクエリで制限します。
  11. Sonnerの原則(愛されるコンポーネントを作る)DX、デフォルト値、命名、エッジケース、トランジション、ドキュメントに関するSonnerからの6つの原則。
  12. レビューチェックリストtransition-allの多用からスタガーの欠落まで、よくある問題とその修正方法を示す表です。
スキル自身による説明
「このスキルは、UI の洗練、コンポーネント設計、アニメーション判断、そしてソフトウェアを素晴らしく感じさせる見えないディテールに関する Emil Kowalski の哲学をエンコードしています。」

SKILL.md からの前付け説明。完全なファイルは約 27,130 文字です。GitHub で完全なファイルを読む。

Emil Design Eng

実際の UX リサーチタスクで emil-design-eng を実行します。

emil-design-eng skill は OpenDesign 内に同梱されています。アプリをダウンロードし、Plugins → Skills で skill を選択し、上記のプロンプトを貼り付けて、結果の前にプランを読んでください。

ターミナル
npx skills add https://github.com/emilkowalski/skills --skill emil-design-eng