Install any skill in seconds. Free to start, no credit card required.
Get Started Free →실제 제품 route의 UI·UX copy를 검사해 제품 맥락 없이 반복된 생성형 기본 패턴, 브랜드 근거 없는 장식, 카드·그라데이션·아이콘 타일 남용, 번역투와 추상 카피를 rule ID와 line ref로 진단한다. 'AI slop 잡아줘', '템플릿 같아', '왜 AI가 만든 화면 같지?', 'anti-slop audit' 요청에 사용한다. 접근성 오류와 취향 차이를 별도 등급으로 구분한다.
.claude/skills/kwakseongjae-omd-slop-audit-d14aab/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-14 | ✗→✓ | ▲ Improved | 184% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 67% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 45% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 72% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 86% | 0% |
<!-- omd:installed-skill — managed by omd install-skills. Do not edit; rerun the command to refresh. -->
OmD에서 AI slop은 “AI가 만든 화면”이라는 출처 판정이 아니다. 제품의 목적·콘텐츠·브랜드 근거 대신, 생성 도구가 자주 꺼내는 구조와 문구가 반복되어 서로 다른 제품이 같은 화면처럼 수렴한 상태를 뜻한다.
보라색, 카드, 둥근 모서리, 그라데이션은 죄가 없다. DESIGN.md와 콘텐츠가 요구하면 그대로 둔다. 문제는 이유 없이 여러 기본 패턴이 한 화면에 겹치고, 그 결과 위계·신뢰·사용성이 약해질 때다.
AUDIT — 코드와 실제 route를 읽고 근거가 있는 finding만 작성APPLY — 사용자가 수정까지 요청한 경우 omd:apply 계약으로 BLOCK/WARN을 고친 뒤 같은 route에서 재검증COMPARE — 같은 콘텐츠의 before/after specimen과 rule 설명을 만든다. 제품 기능을 새로 꾸미지 않는다.DESIGN.md 전체와 .omd/preferences.mdreferences/pattern-catalog.mdreferences/sources.md판정 우선순위는 사용자 의도 > DESIGN.md > 실제 제품 정보 구조 > 접근성·플랫폼 요구 > slop taxonomy다.
제품 맥락 없는 기본 패턴이 같은 화면에서 둘 이상 겹치고, 정보 위계나 브랜드 구별성을 약하게 만든다. SLOP 배지를 쓴다.
대비, overflow, focus, heading 순서, target size, 성능처럼 출처와 무관한 결함이다. QUALITY로 분리한다. 접근성 오류를 “AI 느낌”이라고 부르지 않는다.
브랜드 또는 사용자가 합리적으로 선택할 수 있는 미감 차이다. FYI만 허용한다. 취향을 결함으로 승격하지 않는다.
감사 범위가 일부 유행 요소에만 갇히지 않도록 다음 순서로 훑는다.
이 목록은 미니멀리즘을 강요하지 않는다. expressive editorial, dense product tool, focused service flow 모두 brief와 실행 근거가 있으면 유효하다.
markdown### [WARN · SLOP] UI-LAYOUT-03 · 모든 내용을 같은 카드로 분절 - 위치: `components/Overview.tsx:84` - 화면 근거: `/docs/ko` desktop에서 11개 섹션 중 9개가 같은 radius·padding·border 카드 - 문맥: 문서의 읽기 순서보다 컨테이너 반복이 먼저 보임 - 예외 확인: DESIGN.md는 card-heavy dashboard를 요구하지 않음 - 수정: 절차는 열린 목록, 결과 예시는 비교 surface로 바꾸고 실제 독립 개체만 카드 유지 - 검증: heading 순서, 모바일 overflow, 기존 링크 동작을 같은 route에서 재확인
severity는 다음처럼 쓴다.
합산 “taste score”, AI 확률, 근거 없는 100점 만점은 만들지 않는다. finding 수와 해결 여부가 정본이다.
/builder → 선택 → preview에서 검증한다./reference/[id]만 보고 builder 작업을 완료하지 않는다.omd:designer-review, omd:feel, 접근성 검사와 역할이 겹치는 finding을 중복 보고하지 않는다.omd:designer-review: 브랜드 토큰과 시각 일관성omd:feel: motion·target·contrast·CLS 같은 측정 가능한 interface detailomd:humanize: locale별 문장과 UX copy 후편집omd:slop-audit: 제품 맥락 없는 패턴 수렴과 cluster| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-14 | fail→pass | 8,874 | 11,778 | +33% | 1 | 1 | 0% | 1,202 | 3,417 | +184% | 0 | 0 | — |
case-01 | fail→fail | 3,287 | 4,633 | +41% | 1 | 1 | 0% | 380 | 1,934 | +409% | 0 | 0 | — |
case-02 | fail→fail | 4,925 | 5,206 | +6% | 1 | 1 | 0% | 234 | 1,981 | +747% | 0 | 0 | — |
case-03 | pass→pass | 18,338 | 11,125 | -39% | 1 | 1 | 0% | 2,751 | 3,289 | +20% | 0 | 0 | — |
case-04 | fail→pass | 11,568 | 7,556 | -35% | 1 | 1 | 0% | 1,766 | 2,947 | +67% | 0 | 0 | — |
case-05 | pass→pass | 8,036 | 7,130 | -11% | 1 | 1 | 0% | 1,328 | 2,843 | +114% | 0 | 0 | — |
case-06 | pass→pass | 6,035 | 3,383 | -44% | 1 | 1 | 0% | 847 | 2,184 | +158% | 0 | 0 | — |
case-07 | pass→pass | 10,525 | 9,835 | -7% | 1 | 1 | 0% | 1,670 | 3,169 | +90% | 0 | 0 | — |
case-08 | pass→pass | 11,663 | 7,812 | -33% | 1 | 1 | 0% | 1,618 | 2,987 | +85% | 0 | 0 | — |
case-09 | fail→pass | 9,965 | 3,557 | -64% | 1 | 1 | 0% | 1,560 | 2,256 | +45% | 0 | 0 | — |
case-10 | fail→fail | 9,824 | 2,888 | -71% | 1 | 1 | 0% | 1,322 | 2,114 | +60% | 0 | 0 | — |
case-11 | fail→pass | 8,556 | 2,404 | -72% | 1 | 1 | 0% | 1,181 | 2,029 | +72% | 0 | 0 | — |
case-12 | pass→pass | 9,199 | 7,057 | -23% | 1 | 1 | 0% | 1,321 | 2,721 | +106% | 0 | 0 | — |
case-13 | pass→pass | 7,494 | 3,228 | -57% | 1 | 1 | 0% | 1,123 | 2,187 | +95% | 0 | 0 | — |
case-15 | pass→pass | 9,194 | 2,497 | -73% | 1 | 1 | 0% | 1,344 | 2,060 | +53% | 0 | 0 | — |
case-16 | pass→pass | 10,382 | 7,595 | -27% | 1 | 1 | 0% | 1,523 | 2,789 | +83% | 0 | 0 | — |
case-17 | fail→pass | 9,527 | 7,018 | -26% | 1 | 1 | 0% | 1,510 | 2,802 | +86% | 0 | 0 | — |
case-18 | pass→pass | 9,878 | 6,063 | -39% | 1 | 1 | 0% | 1,495 | 2,618 | +75% | 0 | 0 | — |
case-19 | pass→pass | 11,782 | 8,927 | -24% | 1 | 1 | 0% | 1,992 | 3,062 | +54% | 0 | 0 | — |
case-20 | pass→pass | 9,439 | 2,825 | -70% | 1 | 1 | 0% | 1,565 | 2,031 | +30% | 0 | 0 | — |
case-21 | pass→pass | 17,354 | 17,449 | +1% | 1 | 1 | 0% | 3,534 | 4,767 | +35% | 0 | 0 | — |
case-22 | pass→pass | 20,241 | 19,289 | -5% | 1 | 1 | 0% | 3,263 | 4,435 | +36% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 20 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +23 percentage points is the difference between those two pass rates over the 20 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.