全部技能

review-animations (emilkowalski/skills)

以嚴格的工藝標準審查動畫與動效程式碼,預設先挑問題。

review-animations:讓 pull request 的動畫審查找出植入的問題,並給出精確的修正(對照組 2.9、技能組 4.4、一句話提示組 4.9),Token 用量是未使用技能的 1.2 倍;把檢查清單寫成一句話提示,效果反而更好。

推薦安全

Codex CLI · gpt-6-astra

24.9 / 30

相對未使用技能的提升:+1.52 · 推薦 · 18 次執行

推薦:總分 24.9/30 至少 22,產出品質 4.4 至少 3.5,提升幅度 +1.52 至少 +1.0。

SOTA

透過

使用 Codex 測試。

涵蓋 Codex, Claude Code

Codex CLI 0.166(SOTA 等級):18 次評分執行。依我們的等級規則,在這裡通過也涵蓋 Claude Code;但這不代表第二等級的結果。

分數

每個維度為 0 到 5 分,六個維度相加即為滿分 30 的總分。每個維度都是 5 分最好。成本 5 分代表便宜又快速;安裝 5 分代表容易安裝。

觸發可靠性
5.0
相對未使用技能的提升
3.5
產出品質
4.4
Token 與時間成本
4.0
安裝與可攜性
4.0
安全性
4.0

安全審查

安全

靜態掃描:0 CRITICAL / 0 HIGH / 0 MEDIUM。人工審查:可在無網路沙箱中安全執行(未發現問題)。掃描結果乾淨,不代表技能一定安全。

安裝

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

來源

固定 Commit: a81dbca07f2217b7103e510c0f13f8d5b017afc9

測試日期: 2026-11-02

我們測了什麼

  • 審查動畫 diff — 請在我合併前審查 change.diff 中的動畫變更。不要修改任何檔案。
  • 只審查 toast 規則 — 請只審查 change.diff 中的 .toast 動畫規則。不要修改任何檔案。
  • 合併判斷 — 我應該照原樣合併 change.diff 中的動畫變更嗎?先回答,再說明原因。不要修改任何檔案。

優點

  • 相對未使用技能,平均分數從 2.86 提升到 4.38(+1.52)。
  • 技能即使未被點名也會被採用:6/6 次實驗組執行都讀取了技能檔案。

缺點

  • 一句話提示得分 4.93,使用技能則為 4.38(-0.55)。
  • 每個任務的每個組別 n=2;約 1 分以內的差異屬於雜訊。

評測

在專用的 Windows 測試電腦上執行 Codex CLI 0.166(gpt-6-astra,低推理),每次執行都使用全新的暫存專案,以及臨時的 HOME/TMPDIR/快取;技能分成已安裝(實驗組)、未安裝(對照組),以及未安裝但把技能的核心要求濃縮成一句話附加在提示詞後(一句話提示組)。每個任務的每個組別各執行 2 次,關閉網路,封鎖 /tmp 寫入。提示詞從未提及技能(下方註明者除外)。使用一份 change.diff,其中新增的動畫含有 7 個植入的問題。任務:在合併前審查整份 diff、只審查 toast 規則,以及回答「我應該照原樣合併嗎?」(先回答,再說明原因)。提示詞未指名任何規則。一句話提示組把檢查清單寫成一句話,並要求給出精確的替代寫法。

三組對照

組別平均分數(0-5)每次執行 Token 用量
未使用技能2.8653k
一句話提示4.9348k
使用技能4.3863k

以 Codex CLI 執行 18 次,採規則式檢查評分,不經 LLM 評審。總分 24.9 / 30,評級為 推薦。

評定:推薦(24.9 / 30)。 來源:emilkowalski/skills,skills/review-animations,固定於 commit a81dbca。安裝:npx skills@latest add emilkowalski/skills --skill review-animations。授權: MIT(儲存庫 LICENSE)。

這是什麼

review-animations 技能(emilkowalski/skills):一份審查 diff 中動畫變更的清單:預設會指出 ease-in/ease-in-out 的 UI 曲線、transition: all、從 scale(0) 開始、對版面屬性做動畫、在高頻操作上加動畫、無效果的錯位動畫、缺少 reduced-motion、時長超過 300 ms,並附上確切的替代值。

我們如何測試

在專用的 Windows 測試 PC 上使用 Codex CLI 0.166(gpt-6-astra、低推理),每次執行都使用全新的臨時專案與臨時 HOME/TMPDIR/快取,安裝技能(使用技能組)、不安裝(對照組),或是不安裝但把技能核心要求濃縮成一句話附加在提示詞後(一句話組);每個任務的每組各執行 2 次,關閉網路、封鎖 /tmp 寫入。提示詞完全沒有提到技能名稱(下述措辭除外)。

一份 change.diff,加入的動畫帶有 7 個植入問題。任務:在合併前審查整個 diff、只審查 toast 規則,以及回答「我應該照原樣合併嗎?」(先回答,再說明原因)。提示詞沒有指名任何規則。一句話提示就是將清單濃縮成一句話,並要求確切的替代方案。

  1. 審查動態 diff — 在我合併之前,審查 change.diff 中的動畫變更。請勿變更任何檔案。
  2. 只審查 toast 規則 — 只審查 change.diff 中的 .toast 動畫規則。請勿變更任何檔案。
  3. 合併評定 — 我應該照原樣合併 change.diff 中的動畫變更嗎?先回答,再說明原因。請勿變更任何檔案。

評分採程式化方式(隱藏測試/植入問題召回/限制條件檢查/視情況搭配渲染+OCR),每次執行 0–5 分。所有分數都不是由 LLM 評審決定。

結果

給第三組的一句話提示:"以高工藝標準審查動態程式碼,預設指出:ease-in 或 ease-in-out 的 UI 曲線、transition: all、從 scale(0) 開始、對版面屬性做動畫、在頻繁操作上加動畫、無效果的錯位動畫、缺少 reduced-motion、時長超過 300 ms;針對每項發現給出確切的替代值。"

任務對照組分數一句話提示使用技能對照組 token一句話組 token使用技能 token技能讀取
t1-review-diff1.534.793.6756k56k77k2/2
t2-toast-only2.225.05.047k39k55k2/2
t3-verdict4.825.04.4655k48k55k2/2

平均分數:未使用技能 2.86,使用技能 4.38(差異 +1.52)。每次執行 token:53k 對 63k(1.18x);時間 30 秒對 32 秒。一句話組:4.93(技能相對一句話提示的增益:-0.55;一句話提示相對未使用技能的增益:+2.08);一句話組每次執行 48k token,因此技能成本是一句話提示的 1.30 倍。

實際情況

  • 對照組 2.86、使用技能 4.38、一句話組 4.93(各 n=6)。沒有指引時,整個 diff 的審查一次找到 7 個植入問題中的 3 個,另一次找到 1 個,而且兩次都沒有給出替代值。
  • 只審查 toast:對照組兩次都漏掉 transition: all,也沒給出確切修正(2.2);技能與一句話組四次執行都拿 5.0。
  • 整個 diff 的審查:技能找到 7 個問題中的 5–6 個,但不穩定(4.18 與 3.16);一次漏掉高頻命令面板,另一次漏掉無效果的錯位動畫。一句話組拿 5.0 與 4.59。
  • 評定任務:對照組本來就能給出有根據的答案(5.0 與 4.64),技能 4.64 與 4.29,一句話組兩次都 5.0。
  • Token:每次執行使用技能 63k、一句話組 48k、對照組 53k(對照組的 1.19 倍、一句話組的 1.3 倍)。技能在 6/6 次使用技能組執行中都被讀取。

面向分數

面向分數原因
1_output_quality4.38

使用技能時平均 4.38/5(程式化檢查,見各任務表)。

2_lift_vs_no_skill3.52

相對未使用技能的 2.86 提升 +1.52 分(每個任務 n=2;約 1 分以下屬雜訊)。

3_trigger5.0使用技能組 6/6 次執行都讀取技能檔案。
4_instructions_portability4只有 SKILL.md 檢查清單。
5_efficiency4token 1.18x(每次執行 63k 對 53k)、時間 1.06x(32 秒對 30 秒)。
6_safety_hygiene4只有文字說明;請見 security.md。

這項測試的限制

  • 對審查文字做召回檢查:是否找到植入項目,以及是否出現具體數值;沒有評斷解釋的品質。
  • 一句話提示是技能本身檢查清單的貼近改寫。
  • 只有一份測試 diff;每個組合 n=2。
  • 每組每任務 n = 2:約 1 分以下的差異屬雜訊。
  • 規則式評分只能衡量檢查項目看得到的部分,無法判斷品味,也無法判斷結果是否為最佳。

安全性

請見 security.md。掃描:CRITICAL 0 / HIGH 0 / MEDIUM 0。評定:可安全執行(無網路沙盒)。掃描乾淨並不代表技能安全。

總結

相較於沒有指引,這項技能明顯改善了動態審查,主要是能給出具體替代方案並抓到較不明顯的項目。但在這項測試中,把同一份清單寫成一句話效果更好也更便宜,因此好處來自勝過「沒有指引」,而不是勝過「好的提示」。

完整紀錄

執行日誌:review-animations (Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.)
欄位:任務、組-輪次、得分(0-5)、token、秒、通過的檢查、代理開啟的 skill 檔案。

t1-review-diff control-1: 得分 1.94, token 48194, 秒 27.2, 檢查 1/3, 未開啟
t1-review-diff control-2: 得分 1.12, token 64124, 秒 37.9, 檢查 1/3, 未開啟
t1-review-diff oneliner-1: 得分 4.59, token 65072, 秒 52.4, 檢查 3/3, 未開啟
t1-review-diff oneliner-2: 得分 5.0, token 48423, 秒 41.8, 檢查 3/3, 未開啟
t1-review-diff treatment-1: 得分 3.16, token 77459, 秒 41.1, 檢查 2/3, 開啟 review-animations
t1-review-diff treatment-2: 得分 4.18, token 77187, 秒 40.0, 檢查 3/3, 開啟 review-animations
t2-toast-only control-1: 得分 2.22, token 47474, 秒 21.1, 檢查 0/2, 未開啟
t2-toast-only control-2: 得分 2.22, token 47748, 秒 25.5, 檢查 0/2, 未開啟
t2-toast-only oneliner-1: 得分 5.0, token 31576, 秒 16.0, 檢查 2/2, 未開啟

18 次執行、3 個產出檔案

範例產出

SOTA · 装了 skill:final message(t1-review-diff,第 1 次,Codex)

| Before | After | Why | | --- | --- | --- | | Toast starts at `scale(0)` ([diff:5](change.diff:5)) | Start at `scale(0.95)` with opacity `0`. | Growing from nothing creates an exaggerated entrance and distorts the toast’s content. | | Toast uses `all 600ms ease-in-out` ([diff:5](change.diff:5)) | Limit transitions to `transform, opacity`; shorten below 300ms and use `cubic-bezier(0.23, 1, 0.32, 1)`. | The entrance starts slowly and takes too long. `all` also allows future layout changes to animate accidentally. | | Sidebar animates `width 400ms` ([diff:7](change.diff:7)) | Remove the width transition; apply the collapsed width immediately. | Animating from 240px to 56px repeatedly recalculates layout and can reflow content throughout an already lengthy transition. | | Command items enter with a 500ms, 24px slide ([diff:10](change.diff:10)) | Remove the item animation and its delay rule. | Assuming `.cmdk-item` represents command-palette items, decorative entrances delay visual availability in a frequently used keyboard workflow. Adding stagger would worsen this. | | Movement has no reduced-motion override ([diff:5–12](change.diff:5)) | Under `prefers-reduced-motion: reduce`, remove scaling and translation; retain a short opacity transition where useful. | The supplied styles impose the same movement on users who request reduced motion. | | Hover transition is ungated ([diff:9](change.diff:9)) | Gate it with `@media (hover: hover) and (pointer: fine)`; prefer an immediate background change. | Touch can produce lingering hover states. Removing this frequent color animation also avoids repeated paint work. | **Feel-breaking regressions:** The toast’s zero-scale entrance and slow timing block approval. The command-item animation should be removed if these are command-palette results. **Performance:** The sidebar width transition adds avoidable layout work. Keep the toast’s transitions explicitly scoped. **Accessibility:** Reduced-motion handling and hover capability gating are missing. **Block.** Static review only; the workspace contains no runnable interface to verify motion visually. Locations above reference the supplied diff. No files changed.

檢視 Pro