すべてのスキル

improve-animations (emilkowalski/skills)

コードベースのモーション実装を調査し、他のエージェントが実行できる優先順位付きの改善計画を作ります。

improve-animations:あいまいな「アニメーションを監査して」を、正確なイージングカーブ付きのリストに変えます(対照群 3.2、スキルあり 4.8)。ただし、同じチェックリストの一文プロンプトは 4.9 を記録し、トークンは 0.84 倍です。

推奨安全

Codex CLI · gpt-6-astra

25.5 / 30

スキルなしに対するリフト:+1.66 · 推奨 · 18 実行

推奨:合計 25.5/30 が 22 以上、出力品質 4.8 が 3.5 以上、リフト +1.66 が +1.0 以上。

SOTA

合格

Codex でテスト済み。

カバー対象 Codex, Claude Code

Codex CLI 0.166(SOTA ティア):採点対象 18 実行。当ティアのルールでは、ここでの合格は Claude Code もカバーします。第2ティアについては何も述べません。

スコア

各ディメンションは 0〜5 点で、6 つの合計が 30 点満点の合計スコアになります。すべてのディメンションで 5 が最良です。コスト 5 は低コストで高速、インストール 5 は簡単であることを意味します。

トリガーの信頼性
5.0
スキルなしに対するリフト
3.7
出力品質
4.8
トークンと時間のコスト
4.0
インストールと移植性
4.0
安全性
4.0

セキュリティレビュー

安全

静的スキャン:CRITICAL 0 / HIGH 2 / MEDIUM 0。手動レビュー:ネットワーク無効のサンドボックスで実行しても安全(スキャナのヒットは確認済み)。クリーンなスキャン結果はスキルの安全性を証明しません。

インストール

npx skills@latest add emilkowalski/skills --skill improve-animations

ソース

固定コミット: a81dbca07f2217b7103e510c0f13f8d5b017afc9

テスト済み: 2026-11-02

テスト内容

  • モーションコードの監査 — このプロジェクトのアニメーションとモーションを監査してください。修正すべき項目を優先度順にリストアップし、それぞれにファイルと正確な置換値を付けてください。ファイルは変更しないでください。
  • 2 つのコンポーネントの監査 — styles.css のドロップダウンとモーダルのアニメーションだけを監査してください。何が問題で、正確にどう変えるべきですか。ファイルは変更しないでください。
  • 他の人が実装するための主要修正 — このプロジェクトを見たことがない同僚にモーション修正を引き継ぎます。効果の大きいアニメーション修正を 5 つ、それぞれに書くべき正確な CSS を付けてリストアップし、何も質問せずに実装できるようにしてください。ファイルは変更しないでください。

長所

  • スキルなしと比べ平均スコアを 3.15 から 4.81 に引き上げ(+1.66)。
  • スキルは名前を出さずとも採用されました:スキルあり群 6/6 実行でスキルファイルが読み込まれました。
  • スキルありの絶対品質は高水準:5 点中 4.81。

短所

  • 一文プロンプトは 4.94、スキルありは 4.81(-0.13)。
  • タスク・群ごとに n=2。1 ポイント未満の差はノイズです。

レビュー

専用の Windows テスト PC 上で Codex CLI 0.166(gpt-6-astra、低推論)、実行ごとに新規の一時プロジェクトと一時 HOME/TMPDIR/キャッシュを使用、スキルをインストール(スキルあり群)、スキルなし(対照群)、またはスキルの中核要件をプロンプト末尾に付けた一文に圧縮(一文プロンプト群)、タスクごとに各群 2 実行、ネットワーク無効、/tmp への書き込みはブロック。プロンプトはスキル名に一切言及しません(以下で注記する表現を除く)。8 個のモーション問題が仕込まれた 1 つの小規模ウェブアプリ(am_app)。タスクは、プロジェクト全体の監査、ドロップダウンとモーダルのみの監査、指定された 5 つの問題の修正です。プロンプトは「アニメーションとモーション」とだけ述べ、ルール名には触れません。一文プロンプトはルールを列挙し、正確な置換値を求めます。

3群の比較

群平均スコア(0〜5)1実行あたりのトークン
スキルなし3.1565k
一文プロンプト4.9465k
スキルあり4.8178k

Codex CLI で 18 実行を計測し、LLM 判定なしのルールベースのチェックで採点。合計 25.5 / 30、判定は 推奨。

判定:推奨(25.5 / 30)。 出典:emilkowalski/skills、skills/improve-animations、コミット a81dbca に固定。インストール:npx skills@latest add emilkowalski/skills --skill improve-animations。ライセンス: MIT(リポジトリの LICENSE)。

概要

emilkowalski/skills の improve-animations スキル:モーションデザイン監査のガイド。ease-in/デフォルトではなく独自の ease-out カーブ、150〜300 ms の継続時間、transform と opacity のみ、transition: all を使わない、scale(0) で始めない、トリガー位置に transform-origin、reduced-motion 対応、高頻度アクションにアニメーションを付けない。

テスト方法

専用の Windows テスト PC 上で Codex CLI 0.166(gpt-6-astra、低推論)、実行ごとに新規の一時プロジェクトと一時 HOME/TMPDIR/キャッシュを使用、スキルをインストール(スキルあり群)、スキルなし(対照群)、またはスキルの中核要件をプロンプト末尾に付けた一文に圧縮(一文プロンプト群)、タスクごとに各群 2 実行、ネットワーク無効、/tmp への書き込みはブロック。プロンプトはスキル名に一切言及しません(以下で注記する表現を除く)。

8 つのモーション問題を仕込んだ小さな Web アプリ(am_app)。タスク:プロジェクト全体を監査、ドロップダウンとモーダルだけを監査、指定された 5 つの問題を修正。プロンプトはルールを名指しせず「アニメーションとモーション」と言及。一文プロンプトはルールを列挙し、正確な置換値を求めます。

  1. モーションコードの監査 — このプロジェクトのアニメーションとモーションを監査。修正すべき項目を優先度順に、それぞれファイルと正確な置換値を添えて列挙してください。ファイルは変更しないでください。
  2. 2 つのコンポーネントを監査 — styles.css のドロップダウンとモーダルのアニメーションだけを監査。何が問題で、正確にどうすべきか?ファイルは変更しないでください。
  3. 別の人が実装するための優先修正 — このプロジェクトを見たことのない同僚にモーション修正を引き継ぎます。レバレッジの高いアニメーション修正を 5 つ、それぞれ書くべき正確な CSS とともに列挙してください。何も質問せずに実装できるように。ファイルは変更しないでください。

採点はプログラム的(隠しテスト/仕込み問題の検出/制約チェック/該当する場合はレンダリング+OCR)で、実行ごとに 0〜5 点。スコアはどの LLM 判定者も決めていません。

結果

第 3 群に与えた一文プロンプト:"シニアデザインエンジニアのようにモーションコードを監査する:ease-in とデフォルトのカーブ、transition: all、scale(0) 開始、レイアウトプロパティのアニメーション、reduced-motion の欠落、高頻度アクションのアニメーション、誤った transform-origin、遅い継続時間を指摘し、それぞれに正確な置換値(独自の ease-out cubic-bezier、150〜300 ms、transform/opacity のみ)を示して、他の人が適用できるようにする。ソースファイルは変更しない。"

タスク対照群スコア一文プロンプトスキルあり対照群トークン一文プロンプトトークンスキルありトークンスキル読み込み
t1-audit3.214.824.8265k66k77k2/2
t2-focus2.55.05.063k64k77k2/2
t3-five-fixes3.755.04.6265k65k78k2/2

平均スコア:スキルなし 3.15 vs スキルあり 4.81(差分 +1.66)。1 実行あたりのトークン:65k vs 78k(1.20 倍)。時間:48s vs 49s。一文プロンプト群:4.94(一文プロンプトに対するスキルの上乗せ:-0.13。一文プロンプト自身のスキルなしに対する上乗せ:+1.79)。一文プロンプトのトークンは 1 実行あたり 65k、つまりスキルのコストは一文プロンプトの 1.19 倍。

何が起きたか

  • 対照群 3.15、スキルあり 4.81、一文プロンプト 4.94(各 n=6)。ガイダンスなしの Codex は 8 つの仕込み問題のうち 3〜7 を検出し、6 実行中 5 回は cubic-bezier や正確なイージングカーブを示しませんでした。
  • スキルはその差を埋めます:フォーカスの 2 実行はどちらも 5.0(対照群は両方で scale(0) のモーダル開始を見落とし)、どの監査も正確なカーブを示しました。一文プロンプトも同じ結果に達します。
  • 5 つの修正タスクでは、スキルは一文プロンプトにわずかに劣りました(4.62 vs 5.0):両方のスキルあり実行が 700 ms の linear カードホバーを見落とし、それぞれ別の仕込み問題(scale(0) モーダル、または transition: all)も 1 つ見落としました。
  • トークン:スキルあり 78k、一文プロンプト 65k、対照群 65k(対照群の 1.2 倍)。スキルは名前を出さずともスキルあり群 6/6 実行で読み込まれました。

評価項目別スコア

評価項目スコア理由
出力品質4.81

スキルありの平均スコアは 4.81/5(プログラム的チェック。タスク別の表を参照)。

スキルなしに対するリフト3.66

スキルなしの 3.15 に対して +1.66 ポイント(タスクごとに n=2。約 1 ポイント未満の差はノイズ)。

トリガー5.0スキルあり群 6/6 実行でスキルファイルが読み込まれました。
手順の移植性4参照テキストのみの SKILL.md。
効率4トークン 1.20 倍(1 実行あたり 78k vs 65k)、時間 1.03 倍(49s vs 48s)。
安全性と衛生4文章のみ。security.md を参照。

このテストの限界

  • 監査本文に対する再現チェックと、変更された CSS に対する正規表現チェック。ブラウザでのレンダリングや計測は一切していません。
  • 一文プロンプトはスキル自身のチェックリストのほぼ言い換えであり、強力な比較対象になります。
  • フィクスチャは 1 つ。セルごとに n=2。
  • タスク・群ごとに n=2。約 1 ポイント未満の差はノイズです。
  • ルールベースの採点はチェックが捉えられる範囲を測るもので、センスや、その結果が最善かどうかは判定できません。

セキュリティ

security.md を参照。スキャン:CRITICAL 0 / HIGH 2 / MEDIUM 0。判定:実行しても安全(ネットワーク無効のサンドボックス)。クリーンなスキャン結果はスキルの安全性を証明しません。

結論

このスキルは、プロンプトなしの監査を明確に上回ります。主な理由は、常に具体的なカーブと継続時間を提示することです。同じルールを列挙した一文でも、より少ないコストで同等の結果になるため、その効果はガイダンスなしに対するものであり、良いプロンプトに対するものではありません。

トランスクリプト

実行ログ:improve-animations (Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.)
列:タスク、群-回、スコア(0-5)、トークン、秒、合格したチェック、エージェントが開いたスキルファイル。

t1-audit control-1: スコア 3.21, トークン 65584, 秒 50.5, チェック 2/3, 開いたファイルなし
t1-audit control-2: スコア 3.21, トークン 65586, 秒 52.4, チェック 2/3, 開いたファイルなし
t1-audit oneliner-1: スコア 4.64, トークン 66262, 秒 51.5, チェック 3/3, 開いたファイルなし
t1-audit oneliner-2: スコア 5.0, トークン 66276, 秒 69.8, チェック 3/3, 開いたファイルなし
t1-audit treatment-1: スコア 4.64, トークン 78329, 秒 42.8, チェック 3/3, 開いたファイル improve-animations
t1-audit treatment-2: スコア 5.0, トークン 76979, 秒 51.1, チェック 3/3, 開いたファイル improve-animations
t2-focus control-1: スコア 2.5, トークン 64157, 秒 30.6, チェック 2/4, 開いたファイルなし
t2-focus control-2: スコア 2.5, トークン 63682, 秒 30.8, チェック 2/4, 開いたファイルなし
t2-focus oneliner-1: スコア 5.0, トークン 64128, 秒 32.3, チェック 4/4, 開いたファイルなし

18 実行、3 成果物

サンプル出力

SOTA · With the skill: final message (t1-audit, run 1, Codex)

Audited all four project files. **No files changed.** This is a static code audit: `index.html` does not load `app.js`, so the dropdown click handler currently never runs. Other open states have no handlers. All motion fixes below are in [styles.css](C:/Users/<user>/AppData/Local/Temp/asv-improve-an-9e585535/work/styles.css), ordered by priority. | Priority | Severity | Location | Finding | Exact replacement | |---|---|---|---|---| | 1 | HIGH | Line 8, `.palette` | The documented ~100 daily keyboard openings should respond immediately. | Replace its declaration with `transition: none;` | | 2 | HIGH | Line 1, `.dropdown` | `400ms ease-in` delays the initial response and makes opening sluggish. | `transition: transform 200ms cubic-bezier(0.23, 1, 0.32, 1), opacity 200ms cubic-bezier(0.23, 1, 0.32, 1);` | | 3 | HIGH | Lines 4–5, `.modal` | Scaling from zero over 500ms creates excessive movement. | Use the modal replacement below. | | 4 | HIGH | Line 6, `.accordion` | Animating `height` forces repeated layout over 500ms. | Replace `transition: height 0.5s ease;` with `transition: none;`. Keep both height values. This is the smallest safe fix; a smooth reveal needs additional structure. | | 5 | MEDIUM | Missing reduced-motion rule | Dropdown and modal movement have no preference override. | Append the reduced-motion block below, after the other rules. | | 6 | MEDIUM | Line 3, `.btn` | `transition: all` can animate unintended properties. No button state currently changes a visual property. | Replace with `.btn { transition: none; }` | | 7 | MEDIUM | Line 9, `.popover` | Center scaling contradicts its documented connection to the top-bar trigger. | Replace `transform-origin: center;` with `transform-origin: top left;` **if positioned below and left-aligned with the trigger**. Placement is absent from this prototype; use `top right` for right alignment or `top center` for centered alignment. | | 8 | LOW | Lines 10–11, `.card` | A 700ms linear shadow transition makes routine hover feedback linger; hover is also ungated on touch devices. | Use the card replacement below. | Replace lines 4–5 with: ```css .modal { opacity: 0; transform: scale(0.96); transition: transform 250ms cubic-bezier(0.23, 1, 0.32, 1), opacity 250ms cubic-bezier(0.23, 1, 0.32, 1); } .modal.open { opacity: 1; transform: scale(1); } ``` Keep the modal’s centered transform origin; it is appropriate here. Replace lines 10–11 with: ```css .card { transition: none; } @media (hover: hover) and (pointer: fine) { .card:hover { box-shadow: 0 8px 24px rgba(0, 0, 0, .2); } } ``` This preserves hover feedback while removing repeated shadow painting during an animation. Append this reduced-motion override: ```css @media (prefers-reduced-motion: reduce) { .dropdown, .dropdown.open, .modal, .modal.open { transform: none; transition: opacity 200ms ease; } .popover { transition: opacity 200ms ease; } } ``` One grounded optional addition: give the Menu button press feedback with `.btn:active { transform: scale(0.97); }` and `.btn { transition: transform 160ms ease-out; }`. If adopted, also add `.btn:active { transform: none; }` in [... excerpt: first 3200 of 3496 characters]

Pro を見る