모든 스킬

review-animations (emilkowalski/skills)

엄격한 완성도 기준으로 애니메이션과 모션 코드를 리뷰하고 약한 부분을 기본적으로 지적합니다.

review-animations: 풀 리퀘스트 모션 리뷰에서 심어 둔 문제를 찾아 정확한 수정안을 내놓지만(대조군 2.9, 스킬 4.4, 한 문장 프롬프트 4.9) 토큰은 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
토큰 및 시간 비용
4.0
설치 및 이식성
4.0
안전성
4.0

보안 리뷰

안전

정적 스캔: CRITICAL 0 / HIGH 0 / MEDIUM 0. 수동 검토: 네트워크가 차단된 샌드박스에서 실행 안전(발견 사항 없음). 스캔이 깨끗하다고 해서 스킬이 안전하다는 증거는 아닙니다.

설치

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

출처

고정 커밋: a81dbca07f2217b7103e510c0f13f8d5b017afc9

테스트일: 2026-11-02

테스트한 과제

  • 모션 diff 리뷰 — 병합 전에 change.diff의 애니메이션 변경 사항을 리뷰하세요. 파일은 수정하지 마세요.
  • 토스트 규칙만 리뷰 — change.diff에서 .toast 애니메이션 규칙만 리뷰하세요. 파일은 수정하지 마세요.
  • 병합 판정 — change.diff의 애니메이션 변경 사항을 그대로 병합해도 될까요? 먼저 답하고, 그다음 이유를 설명하세요. 파일은 수정하지 마세요.

장점

  • 스킬 없이보다 평균 점수를 2.86에서 4.38로 끌어올렸습니다(+1.52).
  • 스킬 이름을 언급하지 않았는데도 적용되었습니다. 스킬 사용군 실행 6/6회에서 스킬 파일을 읽었습니다.

단점

  • 한 문장 프롬프트는 4.93점, 스킬 사용은 4.38점(-0.55).
  • 과제·그룹당 n=2이며, 약 1점 미만의 차이는 노이즈입니다.

리뷰

Codex CLI 0.166 (gpt-6-astra, low reasoning)을 전용 Windows 테스트 PC에서 실행했고, 실행마다 새 임시 프로젝트와 임시 HOME/TMPDIR/캐시를 사용했습니다. 스킬 설치(스킬 사용군), 미설치(대조군), 미설치 상태에서 스킬의 핵심 요구사항만 한 문장으로 압축해 프롬프트에 덧붙인 경우(한 문장 프롬프트군)로 나눴으며, 과제·그룹당 2회씩 실행했습니다. 네트워크는 끄고 /tmp 쓰기는 차단했습니다. 프롬프트에는 스킬 이름을 언급하지 않았습니다(아래에 적은 경우 제외). 애니메이션을 추가하면서 문제 7개를 심어 둔 change.diff를 준비했습니다. 과제는 병합 전에 diff 전체를 리뷰하기, 토스트 규칙만 리뷰하기, '그대로 병합해도 될까?'에 답하기(먼저 답하고 그다음 이유)입니다. 프롬프트에는 어떤 규칙도 언급하지 않았습니다. 한 문장 프롬프트는 체크리스트를 한 문장으로 정리하고 정확한 대체 코드를 요구합니다.

3개 그룹 비교

그룹평균 점수 (0-5)실행당 토큰
스킬 없음2.8653k
한 문장 프롬프트4.9348k
스킬 사용4.3863k

Codex CLI에서 18회 실행해 측정했고, LLM 심사 없이 규칙 기반 검사로 채점했습니다. 총점 24.9 / 30, 판정 추천.

판정: 추천 (24.9 / 30). 출처: emilkowalski/skills, skills/review-animations, 커밋 a81dbca에 고정. 설치: npx skills@latest add emilkowalski/skills --skill review-animations. 라이선스: MIT(저장소 LICENSE).

무엇인가

emilkowalski/skills의 review-animations 스킬입니다. diff의 애니메이션 변경을 검토하는 체크리스트입니다. 기본적으로 ease-in/ease-in-out UI 곡선, transition: all, scale(0) 시작, 레이아웃 속성 애니메이션, 빈도 높은 동작의 애니메이션, 효과 없는 스태거, 누락된 reduced-motion, 300 ms 초과 지속 시간을 지적하고 정확한 대체 값을 함께 제시합니다.

테스트 방법

Codex CLI 0.166(gpt-6-astra, 낮은 추론)을 전용 Windows 테스트 PC에서 실행했고, 실행마다 새 임시 프로젝트와 임시 HOME/TMPDIR/캐시를 사용했습니다. 스킬을 설치한 스킬 사용군, 스킬이 없는 대조군, 스킬 없이 핵심 요구사항을 한 문장으로 압축해 프롬프트 끝에 붙인 한 문장 프롬프트군으로 나눴으며, 작업·군당 2회 실행, 네트워크 차단, /tmp 쓰기 차단 조건이었습니다. 프롬프트에는 스킬 이름을 전혀 언급하지 않았습니다(아래에 적은 표현 제외).

애니메이션을 추가하면서 문제 7개를 심어 둔 change.diff입니다. 작업은 병합 전 diff 전체 리뷰, 토스트 규칙만 리뷰, '이대로 병합해도 될까요?'에 답하기(먼저 답하고 그다음 이유)입니다. 프롬프트에는 어떤 규칙도 언급하지 않습니다. 한 문장 프롬프트는 체크리스트를 한 문장으로 정리하고 정확한 대체 값을 요구합니다.

  1. 모션 diff 리뷰 — 병합하기 전에 change.diff의 애니메이션 변경을 리뷰하세요. 파일은 변경하지 마세요.
  2. 토스트 규칙만 리뷰 — change.diff의 .toast 애니메이션 규칙만 리뷰하세요. 파일은 변경하지 마세요.
  3. 병합 판정 — change.diff의 애니메이션 변경을 지금 그대로 병합해도 될까요? 먼저 답하고, 그다음 이유를 설명하세요. 파일은 변경하지 마세요.

채점은 프로그램 방식(숨은 테스트/심어 둔 문제 탐지/제약 조건 검사/해당되는 경우 렌더링+OCR)으로 진행하며 실행당 0~5점입니다. 어떤 점수도 LLM 심사자가 결정하지 않았습니다.

결과

세 번째 군에 제공한 한 문장 프롬프트: "높은 완성도 기준으로 모션 코드를 리뷰하고 기본적으로 다음을 지적하세요. ease-in 또는 ease-in-out UI 곡선, transition: all, scale(0) 시작, 레이아웃 속성 애니메이션, 빈도 높은 동작의 애니메이션, 효과 없는 스태거, 누락된 reduced-motion, 300 ms 초과 지속 시간. 각 발견에 정확한 대체 값을 제시하세요."

작업대조군 점수한 문장 프롬프트스킬 사용대조군 토큰한 문장 토큰스킬 사용 토큰스킬 읽음
t1-review-diff1.534.793.6756k56k77k2/2
t2-toast-only2.225.05.047k39k55k2/2
t3-verdict4.825.04.4655k48k55k2/2

평균 점수: 스킬 없음 2.86 vs 스킬 사용 4.38(델타 +1.52). 실행당 토큰: 53k vs 63k(1.18배), 시간 30초 vs 32초. 한 문장 프롬프트군: 4.93(한 문장 프롬프트 대비 스킬의 이득: -0.55, 스킬 없음 대비 한 문장 프롬프트의 이득: +2.08). 한 문장 프롬프트는 실행당 48k 토큰이므로 스킬 비용은 한 문장 프롬프트의 1.30배입니다.

무슨 일이 있었나

  • 대조군 2.86, 스킬 4.38, 한 문장 4.93(각 6회). 안내가 없을 때 diff 전체 리뷰는 한 실행에서 심어 둔 문제 7개 중 3개, 다른 실행에서 1개를 찾았고, 두 실행 모두 대체 값을 제시하지 않았습니다.
  • 토스트만 리뷰: 대조군은 두 실행 모두 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이었습니다.
  • 토큰: 실행당 스킬 63k, 한 문장 48k, 대조군 53k(대조군의 1.19배, 한 문장의 1.3배). 스킬은 스킬 사용군 6/6 실행에서 읽혔습니다.

항목별 점수

항목점수이유
1_출력_품질4.38

스킬 사용 시 평균 4.38/5(프로그램 검사, 작업별 표 참고).

2_스킬_없음_대비_향상3.52

스킬 없음 2.86 대비 +1.52점(작업당 n=2, 약 1점 미만은 노이즈).

3_트리거5.0스킬 사용군 6/6 실행에서 스킬 파일을 읽었습니다.
4_지침_이식성4SKILL.md 체크리스트만 있습니다.
5_효율성4토큰 1.18배(실행당 63k vs 53k), 시간 1.06배(32초 vs 30초).
6_안전성_및_위생4서술형 문서만 사용, 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), 토큰, 초, 통과한 검사, 에이전트가 연 스킬 파일.

t1-review-diff control-1: 점수 1.94, 토큰 48194, 초 27.2, 검사 1/3, 연 파일 없음
t1-review-diff control-2: 점수 1.12, 토큰 64124, 초 37.9, 검사 1/3, 연 파일 없음
t1-review-diff oneliner-1: 점수 4.59, 토큰 65072, 초 52.4, 검사 3/3, 연 파일 없음
t1-review-diff oneliner-2: 점수 5.0, 토큰 48423, 초 41.8, 검사 3/3, 연 파일 없음
t1-review-diff treatment-1: 점수 3.16, 토큰 77459, 초 41.1, 검사 2/3, 연 파일 review-animations
t1-review-diff treatment-2: 점수 4.18, 토큰 77187, 초 40.0, 검사 3/3, 연 파일 review-animations
t2-toast-only control-1: 점수 2.22, 토큰 47474, 초 21.1, 검사 0/2, 연 파일 없음
t2-toast-only control-2: 점수 2.22, 토큰 47748, 초 25.5, 검사 0/2, 연 파일 없음
t2-toast-only oneliner-1: 점수 5.0, 토큰 31576, 초 16.0, 검사 2/2, 연 파일 없음

18회 실행, 아티팩트 3개

샘플 출력

SOTA · With the skill: final message (t1-review-diff, run 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 보기