AI 티 안 나게 글 고치는 Claude 스킬 unslop, 41번 직접 돌려 봤습니다

@JavaPark · 2026년 11월 9일 · 28 min read

unslop 스킬 실측 커버. 이름을 부르지 않고 요청했을 때 자동 로드 횟수
unslop 스킬 실측 커버. 이름을 부르지 않고 요청했을 때 자동 로드 횟수

안녕하세요, 자바파커입니다.

AI로 쓴 초안은 읽는 사람이 먼저 알아챕니다. "오늘날 빠르게 변화하는 환경에서"로 시작하고, 형용사는 자주 세 개씩 붙고, 마지막 줄은 격언처럼 끝납니다. 이런 글을 AI 슬롭(AI slop) 이라고 부릅니다.

unslop은 이 AI 티를 쓰는 단계에서 막고, 이미 쓴 글에서는 찾아 고치는 Claude용 Agent Skill입니다. README 첫 줄도 "AI 슬롭을 막고 없애는 글쓰기 가드레일"입니다. Jean-Luc Winkler가 MIT 라이선스로 공개했고, 이 글은 2026년 10월 14일에 나온 v1.8.5 기준입니다. AI 탐지기를 속이는 용도는 저장소가 명시적으로 배제합니다.

설명만으로는 실제 동작을 알 수 없어서 Claude Code에 설치해 41번 돌려 봤습니다. 결과부터 말씀드리면 이렇습니다.

  • 스킬 이름을 부르면 한국어 글과 슬라이드도 규칙대로 점검하고 고칩니다.
  • 뻔한 AI 티는 스킬 없이도 비슷하게 걷어 냅니다. 차이는 고치는 과정에서 났습니다. 스킬 없이 고친 글은 원문의 "절반"이라는 수치를 빠뜨리거나 원문에 없는 내용을 채웠습니다.
  • 한국어로 요청하면 자동 로드가 들쭉날쭉합니다. 한국어 슬랙 메시지 요청은 4번 모두 스킬이 켜지지 않았습니다.

unslop은 AI 티를 어디서 찾나

흔한 "humanizer" 프롬프트는 delve, seamless 같은 금지어 목록입니다. unslop README는 이 방식이 두 번 실패한다고 봅니다. 금지어 목록은 모델 세대가 바뀔 때마다 낡고, 오래 남는 흔적은 단어보다 글의 짜임에 있다는 것입니다. 근거로 StoryScope 연구(Russell et al. 2026, 텍스트 61,608건)를 인용합니다. 담화 구조만으로 AI 글을 93.2% 정확도로 가려냈고, 전문가가 문장 단위로 고쳐 써도 탐지율은 1.6%p밖에 움직이지 않았다는 결과입니다.

unslop이 글을 보는 세 층위
단어보다 문장과 구조에 무게를 둡니다. 검사는 3 → 2 → 1 순서입니다.
3
구조 가장 오래 남는 신호섹션마다 반복되는 결론, 길이가 똑같은 문단, 템플릿 소제목, 이름 없는 출처, 마지막 줄 격언
2
문장 · 리듬"X가 아니라 Y", 형용사 세 개 묶음, 짧은 단문 나열, 겹친 완곡어
1
단어 영어·독일어 목록만delve, seamless, game changer, em dash 남발
관통 규칙 모호한 주장은 숫자·이름·날짜·가격·원리로 바꾼다. 원문에 없으면 지어내지 않고 빈칸으로 보고한다.

300단어가 넘는 글이면 먼저 개요를 뽑아 핵심 주장이 몇 번 반복되는지, 모든 섹션이 같은 틀인지 봅니다. 흐르는 문장 속에서는 안 보이던 구조 문제가 개요에서는 바로 드러나기 때문입니다. 구조를 볼 때 쓰는 테스트 두 개가 실용적입니다.

  • 교환 테스트: 두 문단의 자리를 바꿔도 아무도 모르면 산문 옷을 입은 목록입니다.
  • 이식 테스트: 문장을 다른 회사나 제품 글에 그대로 옮겨도 어색하지 않으면 군더더기입니다.

세 층위를 관통하는 규칙은 모호한 주장을 확인 가능한 사실로 바꾸되, 원문에 그 사실이 없으면 지어내지 않는다는 것입니다. README의 예시입니다.

Before: "This launch stands as a powerful testament to our team's relentless pursuit of excellence: the export feature ships today, and the beta group has run it since April without a single support ticket."

After: "The export feature ships today. The beta group has run it since April without a single support ticket."

After의 사실은 모두 Before에 있던 것입니다. 지운 것은 수식뿐이고 새로 넣은 것은 없습니다.

네 가지 모드와 P0·P1·P2

네 가지 모드와 심각도
무엇을 넘기고 어떻게 부르느냐에 따라 결과물이 다릅니다.
Write · 기본값새 글을 쓸 때. 고친 글만 돌려주고, 긴 글이면 자동 로드
Check"점검해 줘". 구간 인용과 등급만, 원문은 그대로
Rewrite"AI 티 걷어 줘". 점검 → 고친 글 → 변경 요약 → 2차 점검
Edit file"파일 직접 고쳐 줘". 표시한 구간만 최소 수정
P0신뢰를 깸: 채팅 잔여물, 채우지 않은 [이름], 화면에 남은 발표자 메모, 지어낸 사실
P1명백한 AI 티: 상투적 도입부, 부정 병렬, 세 개 묶음, 굵은 글씨 남발, 마지막 줄 격언
P2다듬기: 문단 길이 균일, 글이 자기 자신을 설명, 템플릿 소제목

v1.8.5부터는 이메일, 슬랙 메시지, 이슈, PR 설명, 문서, 슬라이드처럼 몇 문장 이상의 글을 쓸 때 스스로 로드되도록 설명이 바뀌었습니다. 이렇게 켜지면 조용한 Write 모드로 돌아서 점검 보고 없이 고친 글만 내놓습니다. 코드, 명령어, 데이터 표, 한 줄 답변에는 끼어들지 않습니다.

Rewrite 모드는 손대는 양을 슬롭의 양에 맞춥니다. 표시되지 않은 문장은 한 글자도 바꾸지 않고 옮깁니다. 대시 하나, 완곡어 하나, 수동태 하나 같은 약한 신호는 다른 신호와 겹칠 때만 표시합니다. 평가 사례 25건 중 8건이 "아무것도 걸리면 안 되는" 깨끗한 글일 만큼 과잉 표시를 경계합니다.

글 종류마다 기준이 다르다

같은 규칙이 어떤 글에서는 맞고 어떤 글에서는 틀립니다. unslop은 글 종류(소셜, 블로그, 이메일·DM, 문서·기술, 학술, 슬라이드)를 먼저 정하고 엄격도를 바꿉니다. 대표적인 차이는 이렇습니다.

  • 짧은 단문 나열: 소셜에서는 원래 문체, 블로그에서는 AI 티입니다.
  • 완곡어("~할 수 있다"): 마케팅 글에서는 군더더기, 학술 글에서는 필수입니다.
  • 개인 목소리: 소셜과 블로그에서는 환영하지만, 기술 문서와 학술 글에는 넣지 않습니다.
  • em dash: 소셜은 2개까지, 슬라이드는 0개입니다.
  • 이모지와 해시태그: 소셜만 1~2개 허용합니다.

슬라이드와 문서 서식 규칙

unslop은 글자만 다룹니다. 색, 레이아웃, 폰트 같은 시각 디자인 규칙은 없습니다. 대신 슬라이드와 문서 서식 규칙이 자세합니다. SKILL.md에 슬라이드 문체만 다루는 절이 따로 있고, 덱을 만드는 다른 스킬 뒤에 마지막 검수로 붙도록 되어 있습니다.

슬라이드에서는 산문 규칙 하나가 뒤집힙니다. 블로그에서는 구어가 살아 있게 들리지만 슬라이드에서는 "기초부터 시작" 같은 명사형이 전문가의 문체입니다.

  • 제목은 내용 이름을 단 명사형으로 씁니다. "우리 숫자 한번 보기"는 "숫자"로 줄이고, 어떤 지표의 어느 기간인지 빠졌다고 보고합니다.
  • 제목만 이어 읽어도 이야기가 이어져야 합니다. 질문형 제목은 덱에 한 번까지입니다.
  • 명령조는 권고조로 바꿉니다. "꼭 확인!" → "권장: 발송 전 지표 확인"
  • em dash 0개, 불릿은 슬라이드당 6개까지입니다.
  • 화면에 남은 발표자 메모는 P0입니다. "초안", "대외비" 도장은 요청할 때만 붙입니다.

문서에서는 굵은 글씨를 섹션당 하나까지만 씁니다. "성능: … 보안: …"처럼 굵은 이름표를 줄줄이 붙인 문단은 문장으로 풉니다. 소제목 이모지, 섹션마다 넣은 가로줄, "개요 / 주요 특징" 같은 템플릿 소제목도 표시 대상입니다.

가드레일: 고치다가 새 티를 만들지 않기

AI 티를 지우는 도구가 흔히 하는 실수는 지문 하나를 다른 지문으로 바꾸는 것입니다. unslop은 다음을 모두 실패한 수정으로 봅니다.

  • 원문에 없던 1인칭, 일화, 숫자, 이름, 날짜 추가
  • 문장을 잘게 쪼개 리듬 흉내 내기
  • "솔직히 말하면" 같은 연출된 솔직함
  • 조용한 손실: "세 배 빠르다"가 "빠르다"로, "응답자의 73%"가 "응답자들"로 바뀌는 것

법률·의료·보안 문서의 "해서는 안 된다"는 그 자체가 내용이라 강도를 바꾸지 않습니다. 사람이 쓴 글의 오타나 거친 말투도 그대로 둡니다. 다듬으면 오히려 AI 글처럼 읽히기 때문입니다.

unslop 설치 방법

스킬의 기본 개념은 Claude Code Skill 사용법에, 다른 AI 코딩 도구와의 비교는 AI 코딩 도구 Skill 비교에 정리해 두었습니다.

Claude Code에서는 플러그인 설치가 가장 간단합니다. 버전이 올라가면 업데이트도 따라옵니다.

/plugin marketplace add jlwin/unslop_ai
/plugin install unslop@unslop-ai

스킬 폴더만 복사해도 됩니다.

git clone https://github.com/jlwin/unslop_ai.git /tmp/unslop_ai
cp -r /tmp/unslop_ai/skills/unslop ~/.claude/skills/unslop

Claude 앱(Desktop, claude.ai)에서는 skills/unslop 안의 내용을 SKILL.md가 최상위에 오도록 zip으로 묶어 설정의 스킬 항목에 올립니다.

직접 돌려 본 결과

실험 환경

  • 2026년 11월 9일, Claude Code 2.1.319 헤드리스 모드(claude -p), 모델 claude-opus-5-5
  • unslop v1.8.5(커밋 d65241e)를 빈 폴더의 .claude/skills/unslop에 설치
  • 다른 플러그인·MCP 서버는 빼고(--setting-sources project --strict-mcp-config), 파일 쓰기·셸·웹 도구는 막음
  • 비교군은 같은 설정에 스킬만 없는 빈 폴더
  • 스킬이 켜졌는지는 실행 로그의 Skill 도구 호출로 판단

모두 41번 돌렸습니다. 자동 로드는 요청마다 3~4번 반복했고 나머지는 대부분 한 번씩이라, 경향으로 봐 주세요.

원본 평가 사례 재현

저장소의 evals/cases.md에서 세 건을 Check 모드로 돌렸습니다.

사례 기대 실제
Case 2 영어 슬롭 문단 P0 1건, P1 여러 건 모두 같은 등급으로 표시
Case 12 약한 신호만 있는 독일어 글 표시 없음 P0·P1 없음, P2로 두 건 언급 후 "괜찮다"
Case 20 영어 기술 공지 표시 없음 표시 없음

Case 12는 고치라고 하지 않았으니 실질적으로는 통과입니다. 다만 기대 결과가 "아무것도 걸리면 안 된다"였으니 엄밀히는 기대보다 많이 표시했습니다.

한국어 AI 슬롭 예문

일부러 AI 티를 넣은 다섯 문장입니다.

오늘날 빠르게 변화하는 디지털 환경에서 데이터 품질은 그 어느 때보다 중요합니다. 새 검증 기능은 단순한 도구가 아니라 팀의 생산성을 혁신하는 게임 체인저입니다. 빠르고, 정확하고, 직관적입니다. 베타 기간 동안 오류 신고는 3건에서 0건으로 줄었습니다. 결국 중요한 것은 도구가 아니라 데이터를 대하는 태도입니다.

"unslop 스킬로 Check 모드로 점검해 줘"라고 하니, 단어 목록은 한국어에 쓸 수 없다고 먼저 밝히고 문장·구조 규칙만으로 P1 다섯 건을 표시했습니다. 상투적 도입부, 부정 병렬, 게임 체인저 같은 의미 부풀리기, 세 개 묶음, 격언형 마무리입니다. 제가 놓친 지적도 있었습니다. 앞에서 도구를 게임 체인저라 해 놓고 마지막에 도구는 중요하지 않다고 해서 글이 스스로 모순된다는 점입니다.

Rewrite 결과는 스킬이 있든 없든 거의 같았습니다. 둘 다 원문의 유일한 사실인 "오류 신고 3건에서 0건" 한 문장만 남겼습니다. 이 정도로 뻔한 슬롭은 이번 실험의 모델이 스킬 없이도 알아봤습니다.

근거가 빈 글에서 갈린 차이

근거가 빈 글을 고칠 때
원문: 이번 도입은 고객 경험에 대한 우리의 의지를 보여 줍니다. 연구에 따르면 이 솔루션은 처리 시간을 절반으로 줄입니다.
unslop 있음이번 도입의 목적은 고객 경험 개선입니다. 연구에 따르면 이 솔루션은 처리 시간을 절반으로 줄입니다.
"연구에 따르면"은 P0로 표시하고 출처가 비었다고 따로 보고. 수치 강도 그대로.
unslop 없음이번에 [솔루션명]을 도입했습니다. [출처]가 측정한 결과, 문의 하나를 처리하는 시간이 [기존] → [도입 후]로 줄었습니다.
원문의 절반이 사라지고, 원문에 없던 문의 처리 맥락이 들어옴.

원본 평가 사례 Case 17을 한국어로 옮긴 문장입니다. 기대 결과는 "연구를 지어내지 말고 '절반'의 강도를 지킬 것"입니다. unslop은 "연구에 따르면"을 P0로 표시만 하고 지우지 않았습니다. 지우면 연구 결과가 회사의 단정으로 바뀌어 주장이 더 세진다는 이유였습니다. 다만 "의지를 보여 준다"를 "목적은 개선"으로 바꾼 부분은 원문의 뜻을 살짝 해석해 넣은 것이라 아슬아슬합니다.

README의 영어 예시에서도 같은 차이가 보였습니다. 스킬이 켜진 실행은 문제없는 구간을 한 글자도 바꾸지 않았습니다. 켜지지 않은 세 번은 모두 "run"을 "used"로 바꿨고, 그중 두 번은 "Mina's team", "four rounds of beta fixes"처럼 원문에 없는 이름과 횟수를 예시로 붙였습니다.

슬라이드와 문서 서식

일부러 AI 티를 넣은 한국어 발표 초안 다섯 장을 Check로 돌리니, 넣어 둔 함정을 하나도 빠짐없이 잡았습니다. 화면에 남은 발표자 메모는 P0, 예고형 제목 네 개, "21세기의 석유" 같은 표어, em dash, 연출된 미덕, "(초안)" 도장은 P1이었습니다.

슬라이드 제목, 고치기 전과 후
왼쪽은 unslop이 표시한 원본, 오른쪽은 Rewrite 결과입니다.
오늘 우리가 함께 나눌 이야기
화면에 남은 발표자 메모(P0)
→새 데이터 검증 기능 소개
메모는 발표자 노트로
왜 지금 데이터 품질일까?
"21세기의 석유", "선택이 아닌 필수"
→도입 배경
근거가 없어 본문은 빈칸으로 보고
새 검증 기능, 이렇게 달라졌다
"빠르고, 정확하고, 직관적"
→주요 변경 사항
자동화, 오류 신고 3건 → 0건
이것만은 꼭 기억하세요!
"열린 마음, 투명한 소통"
→권장 사항
배포 전 검증 실행
감사합니다 (초안)
요청하지 않은 도장
→감사합니다
unslop 없이 다듬었을 때 격언은 지웠지만 원문에 없던 항목을 빈칸 틀로 채웠습니다: 장애 [N]건, 복구 [N시간], 체크리스트 → 명령어 한 줄, 문의 [채널]. 제목 "한 가지만 기억하세요"도 남았습니다.

반대로 깨끗하게 만든 덱은 P0·P1이 0건이었습니다. 수치가 든 문장형 제목은 허용되는 형태로, 실제로 세 가지인 목록은 장식용 묶음이 아니라고 판단했습니다.

문서 서식은 소제목마다 이모지와 가로줄을 넣고 "성능: … 보안: … 편의성: …"을 굵게 붙인 사내 안내문으로 시험했습니다. 두 쪽 모두 이모지와 가로줄은 지웠습니다. 차이는 내용에서 났습니다.

unslop 있음 unslop 없음
템플릿 소제목 지움 남김
굵은 이름표 문단 한 문장으로 풂 불릿으로만 바꿈
"크게", "훨씬" 원문 강도 유지 빠짐

버튼 이름 검증 켜기의 굵은 글씨는 양쪽 다 남겼습니다.

자동 로드: 한국어 요청은 들쭉날쭉

이름을 안 부르고 요청했을 때 스킬이 켜진 횟수
unslop v1.8.5 · Claude Code 2.1.319 · 요청마다 3~4회
영어 · LinkedIn 글3/3
영어 · GitHub 이슈3/4
독일어 · 슬랙 메시지2/3
한국어 · 슬라이드 다듬기2/3
영어 · "De-slop this text"1/4
한국어 · 슬랙 메시지0/4
한국어 · 파이썬 함수 (안 켜져야 정상)0/4

영어 글쓰기 요청은 대체로 켜졌고 코드 요청에는 끼어들지 않았습니다. 한국어 슬랙 메시지는 한 번도 켜지지 않았고, 그중 한 번은 제목에 📢 이모지를 달았습니다. "De-slop this text"는 트리거 문구가 직접 들어 있는데도 네 번 중 한 번만 켜졌습니다.

하나 더 관찰했습니다. SKILL.md는 점검 때마다 단어 목록 파일을 읽으라고 하지만, 41번 중 참고 파일을 연 실행은 없었습니다.

한국어 글에 쓸 때

단어 목록은 영어·독일어 전용이라 한국어 글에는 적용되지 않습니다. 그래도 문장·구조 규칙만으로 한국어 AI 글의 흔한 패턴은 다 잡혔습니다.

  • 한국어로 요청할 때는 "unslop 스킬로 Check 모드로 점검해 줘"처럼 이름과 모드를 부릅니다.
  • 발표 자료나 사내 문서를 만든 뒤 마지막에 한 번 돌리는 용도로 잘 맞습니다. 슬라이드와 서식 규칙은 언어를 거의 타지 않습니다.
  • 사람이 쓴 한국어 측정 기록 네 문장은 P0·P1 없이 통과했습니다.

한국어 단어 목록을 직접 추가하려면, 새 패턴마다 "잡아야 할 예"와 "건드리면 안 되는 비슷한 예"를 하나씩 넣고 evals/cases.md로 회귀 점검을 하라는 스킬의 유지보수 규칙을 따르면 됩니다. "~에 대해 알아보겠습니다", "~하는 것이 중요합니다", "혁신적인", "결론적으로" 같은 표현이 후보입니다. 이 목록은 제 관찰이고 스킬에 들어 있는 내용은 아닙니다.

자주 묻는 질문 (FAQ)

unslop은 AI 탐지기를 피하려는 도구인가요?

아닙니다. README와 SKILL.md 모두 좋은 글쓰기를 위한 것이고 탐지 회피나 고지 의무 회피용이 아니라고 명시합니다. AI 사용을 밝혀야 하는 곳에서는 그대로 밝혀야 합니다.

사람이 쓴 글도 AI 티로 걸리나요?

걸릴 수 있습니다. 스킬이 보는 패턴은 통계적 신호이지 작성자를 증명하지 않습니다. 그래서 Check 모드는 패턴만 판단하고 "AI가 썼다"는 판정은 하지 않으며, 약한 신호는 다른 신호와 겹칠 때만 표시합니다.

스킬 없이 "AI 티 빼 줘"라고만 해도 되지 않나요?

뻔한 슬롭이라면 거의 됩니다. 이번 실험에서도 다섯 문장짜리 한국어 예문은 스킬이 있든 없든 거의 같은 한 문장으로 줄었습니다. 차이는 고치는 과정에서 생겼습니다. 스킬이 없을 때는 "절반" 같은 수치가 빠지거나 원문에 없는 맥락과 숫자가 따라 나왔습니다. 수치가 중요한 글이라면 스킬을 쓰는 편이 안전합니다.

unslop은 한국어를 지원하나요?

공식 대상은 영어와 독일어입니다. 한국어 단어 목록은 없지만, 문장·구조·슬라이드 규칙은 한국어 글에도 그대로 적용됐습니다. 다만 한국어 요청에서는 자동으로 잘 켜지지 않으니 이름을 불러야 합니다.

처음 써 볼 때

  1. 플러그인으로 설치합니다.
  2. 이미 게시한 글 하나를 골라 "unslop 스킬로 Check 모드로 점검해 줘"라고 요청합니다. 원문은 바뀌지 않습니다.
  3. P1 항목 중 동의하는 것만 직접 고쳐 봅니다.
  4. 발표 자료가 있다면 슬라이드 제목만 이어 읽는 점검부터 받아 봅니다.

저장소: github.com/jlwin/unslop_ai

퀴즈

unslop으로 글을 고칠 때, 원문에 근거가 없는 "처리 속도가 빠르다"는 주장은 어떻게 처리할까요?

@JavaPark
AI 시대의 개발자 도구, 실전 경험을 공유합니다