모든 스킬

improve-animations (emilkowalski/skills)

코드베이스의 모션 코드를 점검하고 다른 에이전트가 실행할 우선순위별 개선 계획을 만듭니다.

improve-animations: 막연한 '애니메이션을 감사하라'는 요청을 정확한 이징 곡선이 담긴 목록으로 바꿔 주지만(대조군 3.2, 스킬 4.8), 같은 체크리스트를 한 문장으로 담은 프롬프트는 토큰 0.84배만 쓰고 4.9점을 받았습니다

추천안전

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도 커버되지만, 두 번째 티어에 대해서는 아무것도 말해주지 않습니다.

점수

각 차원은 0~5점이며 여섯 차원을 더하면 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

테스트한 과제

  • 모션 코드 감사 — 이 프로젝트의 애니메이션과 모션을 감사하세요. 고칠 항목을 우선순위 목록으로 주고, 각 항목에 파일과 정확한 대체 값을 함께 적으세요. 파일은 변경하지 마세요.
  • 컴포넌트 두 개 감사 — styles.css에서 드롭다운과 모달 애니메이션만 감사하세요. 무엇이 문제이고 정확히 어떻게 바뀌어야 합니까? 파일은 변경하지 마세요.
  • 다른 사람이 구현할 우선 수정 사항 — 이 프로젝트를 본 적 없는 동료에게 모션 수정을 넘기려 합니다. 가장 효과가 큰 애니메이션 수정 5개를 각각 작성할 정확한 CSS와 함께 나열해, 저에게 묻지 않고도 구현할 수 있게 하세요. 파일은 변경하지 마세요.

장점

  • 스킬 없이보다 평균 점수를 3.15에서 4.81로 끌어올렸습니다(+1.66).
  • 스킬 이름을 언급하지 않았는데도 적용되었습니다. 스킬 사용군 실행 6/6회에서 스킬 파일을 읽었습니다.
  • 스킬 사용 시 높은 절대 품질: 4.81/5.

단점

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

리뷰

Codex CLI 0.166 (gpt-6-astra, low reasoning)을 전용 Windows 테스트 PC에서 실행했고, 실행마다 새 임시 프로젝트와 임시 HOME/TMPDIR/캐시를 사용했습니다. 스킬 설치(스킬 사용군), 미설치(대조군), 미설치 상태에서 스킬의 핵심 요구사항만 한 문장으로 압축해 프롬프트에 덧붙인 경우(한 문장 프롬프트군)로 나눴으며, 과제·그룹당 2회씩 실행했습니다. 네트워크는 끄고 /tmp 쓰기는 차단했습니다. 프롬프트에는 스킬 이름을 언급하지 않았습니다(아래에 적은 경우 제외). 모션 문제 8개를 심어 둔 작은 웹 앱(am_app) 하나를 사용했습니다. 과제는 프로젝트 전체 감사, 드롭다운과 모달만 감사, 지정된 문제 다섯 개 수정입니다. 프롬프트에는 어떤 규칙도 언급하지 않고 '애니메이션과 모션'이라고만 적었습니다. 한 문장 프롬프트군은 규칙을 나열하고 정확한 대체 값을 요구합니다.

3개 그룹 비교

그룹평균 점수 (0-5)실행당 토큰
스킬 없음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을 지원하며, 빈도가 높은 동작에는 애니메이션을 넣지 않습니다.

테스트 방법

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

작은 웹 앱(am_app) 하나에 모션 문제 8개를 심어 두었습니다. 작업은 프로젝트 전체 감사, 드롭다운과 모달만 감사, 이름이 지정된 다섯 문제 수정입니다. 프롬프트에는 '애니메이션과 모션'이라고만 하고 어떤 규칙도 언급하지 않습니다. 한 문장 프롬프트는 규칙을 나열하고 정확한 대체 값을 요구합니다.

  1. 모션 코드 감사 — 이 프로젝트의 애니메이션과 모션을 감사하세요. 수정할 항목을 우선순위 순서로 알려주고, 각 항목에 파일과 정확한 대체 값을 붙이세요. 파일은 변경하지 마세요.
  2. 두 컴포넌트 감사 — styles.css의 드롭다운과 모달 애니메이션만 감사하세요. 무엇이 잘못되었고 정확히 어떻게 바뀌어야 하나요? 파일은 변경하지 마세요.
  3. 다른 사람이 구현할 핵심 수정 — 이 프로젝트를 본 적 없는 동료에게 모션 수정 작업을 넘기려 합니다. 영향력이 가장 큰 애니메이션 수정 5개를 각각 작성할 정확한 CSS와 함께 나열해, 저에게 묻지 않고도 구현할 수 있게 하세요. 파일은 변경하지 마세요.

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

결과

세 번째 군에 제공한 한 문장 프롬프트: "선임 디자인 엔지니어처럼 모션 코드를 감사하세요. 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). 실행당 토큰: 65k vs 78k(1.20배), 시간 48초 vs 49초. 한 문장 프롬프트군: 4.94(한 문장 프롬프트 대비 스킬의 이득: -0.13, 스킬 없음 대비 한 문장 프롬프트의 이득: +1.79). 한 문장 프롬프트는 실행당 65k 토큰이므로 스킬 비용은 한 문장 프롬프트의 1.19배입니다.

무슨 일이 있었나

  • 대조군 3.15, 스킬 4.81, 한 문장 4.94(각 6회). 안내가 없을 때 Codex는 심어 둔 문제 8개 중 3~7개를 찾았고, 6회 중 5회에서 cubic-bezier나 정확한 이징 곡선을 제시하지 않았습니다.
  • 스킬이 이 격차를 메웁니다. 집중 감사 두 실행 모두 5.0이었고(대조군은 두 실행 모두 scale(0) 모달 시작을 놓침), 모든 감사에서 정확한 곡선을 제시했습니다. 한 문장 프롬프트도 같은 결과에 도달합니다.
  • 다섯 가지 수정 작업에서 스킬은 한 문장 프롬프트에 살짝 뒤졌습니다(4.62 vs 5.0). 스킬 사용군 두 실행 모두 700 ms 선형 카드 호버를 놓쳤고, 각각 다른 심어 둔 문제 하나(scale(0) 모달 또는 transition: all)를 놓쳤습니다.
  • 토큰: 스킬 78k, 한 문장 65k, 대조군 65k(대조군의 1.2배). 스킬은 이름을 대지 않은 채 스킬 사용군 6/6 실행에서 읽혔습니다.

항목별 점수

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

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

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

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

3_트리거5.0스킬 사용군 6/6 실행에서 스킬 파일을 읽었습니다.
4_지침_이식성4SKILL.md와 참고 텍스트만 있습니다.
5_효율성4토큰 1.20배(실행당 78k vs 65k), 시간 1.03배(49초 vs 48초).
6_안전성_및_위생4서술형 문서만 사용, security.md 참고.

이 테스트의 한계

  • 감사 텍스트에 대한 탐지 검사와 변경된 CSS에 대한 정규식 검사를 했으며, 브라우저에서 렌더링하거나 측정한 것은 없습니다.
  • 한 문장 프롬프트는 스킬 자체 체크리스트를 거의 그대로 옮긴 것이라 강력한 비교 대상입니다.
  • 픽스처 하나, 셀당 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 보기