블로그5분 읽기

bento grid가 금지 목록에 이름째 박혔습니다

anti-slop은 필수 규칙 38개를 3단 게이트로 갈라 이유 없는 AI 디자인 선택만 막는 필터입니다. bento grid·네온 팔레트 등이 이름째 금지됐습니다.

bento grid가 금지 목록에 이름째 박혔습니다 대표 이미지

AI 코딩 에이전트한테 화면을 맡기면 어디서 본 결과가 나옵니다. bento grid 레이아웃, 보라·검정 네온 팔레트, 가짜 터미널 창, 3열 가격표. 이 뻔함을 영어권에서는 AI slop이라고 부르죠.

miqdadbadjuber/anti-slop은 이 slop을 막겠다고 나온 규칙 필터입니다. 필수 규칙 38개(R-01~R-38)를 에이전트에 물려서, 뻔한 선택이 나오는 길목을 막아요. README에서 스스로 이렇게 선을 긋습니다. "필터지 스타일 가이드가 아니다(a filter, not a style guide)."

색을 정해주지 않습니다. 폰트도, 레이아웃도 처방하지 않아요. 나쁜 것만 걸러내고, 좋은 것은 비워둡니다.

"이렇게 하라"는 지시로 가득한 스타일 가이드는 흔합니다. "이러면 왜 하는지 답하라"고 요구하는 문서는 흔치 않죠. 이 글은 그 비워둔 설계를 해부합니다.

금지 목록만으로는 왜 못 잡는가?

slop을 막는 가장 쉬운 방법은 금지 목록입니다. "이거 쓰지 마"를 줄줄이 적는 거죠. anti-slop은 그 길로 안 갑니다. 규칙 38개를 세 단으로 갈라요.

Hard Gate는 절대 금지입니다. 어떤 이유를 대도 통과 못 해요. Purpose-Gate는 조건부 허용입니다. 그 선택을 해야 하는 이유를 대면 통과합니다. Quality Locks는 일관성 잠금입니다. 결과물 전체가 한 결을 유지하게 묶어요.

전부 막는 게 아니라 이유 없는 선택만 막는 구조입니다. 같은 요소라도 목적이 있으면 살고, 습관이면 죽어요. 단순 금지 목록과 게이트 구조가 갈라지는 지점이 여기입니다.

저는 이 3단이 slop이라는 문제를 정확히 읽은 결과라고 봅니다. slop은 나쁜 요소가 아니라 생각 없는 선택이거든요. 요소를 막으면 다른 요소로 옮겨가지만, "왜"를 물으면 습관 자체가 걸립니다.

무엇이 이름째 금지됐는가?

그렇다고 절대 금지 단이 추상적인 건 아닙니다. v3.2.1에서 명시적 slop 패턴 금지 목록이 추가됐어요.

bento grid. Lucide류 아이콘. 가짜 터미널 창. purple-and-black 네온 팔레트. Geist Mono류 폰트. 3열 가격표.

다들 어렴풋이 느끼던 "AI가 만든 티"를 요소 이름으로 못박은 명문화입니다. 개별 요소를 이름째 박아 금지한 문서는 이게 처음이에요. 느낌으로 돌던 판정이 규칙 번호가 달린 판정으로 바뀐 겁니다.

이름을 박는 건 사소해 보여도 효과가 큽니다. "어딘가 AI 냄새가 난다"는 말로는 고칠 곳을 못 짚어요. "3열 가격표를 썼다"는 말은 바로 고칠 수 있습니다. 논쟁이 취향 싸움에서 규칙 대조로 바뀌는 거죠.

필터는 어떻게 밋밋함을 피하는가?

규칙만 쌓으면 부작용이 옵니다. 다 걸러낸 결과물이 무미건조해지는 거죠. anti-slop은 그 부작용까지 설계에 넣었습니다.

Liveliness Toolkit이 그 장치예요. ENERGY·RHYTHM·MOTION 세 다이얼로 결과물이 생기를 잃지 않게 잡습니다. 필터를 통과한 화면이 죽은 화면이 되는 걸 막는 안전판입니다.

출시 직전엔 Delivery Gate가 섭니다. 4블록 PASS/FAIL 보고서를 의무로 요구해요. 통과 여부를 감각이 아니라 보고서로 남기는 겁니다.

규칙을 만드는 쪽은 보통 여기까지 안 갑니다. 막는 규칙을 잔뜩 쌓고, 그 규칙이 결과물을 죽이는 건 사용자 몫으로 넘기죠. 부작용 방지 장치와 검수 보고서까지 한 몸으로 넣은 게 이 필터가 도구답게 완결된 부분입니다.

좋은 디자인은 어디서 오는가?

R-37이 이 레포에서 가장 무거운 규칙입니다. 결과가 밋밋하면 필터가 실패한 게 아니라 방향이 없는 거다. 방향, 그러니까 아름다움은 사용자가 쓴 DESIGN.md가 공급한다.

필터는 나쁜 걸 막을 뿐입니다. 좋은 건 도구가 아니라 취향 문서에서 나와요. "필터지 스타일 가이드가 아니다"라는 자기 정의가 이 규칙에서 완성됩니다.

도구가 심미안까지 대신해준다고 말하지 않는 겁니다. 막는 일과 이끄는 일을 갈라서, 막는 일만 맡겠다는 선언이에요.

어디까지 퍼져 있는가?

배포 형태도 이 설계와 닮았습니다. antislop.md 파일 하나로도 완전 동작해요. npx antislop-ai 피커, 클로드 코드 플러그인, skills.sh 등재까지 들어가는 길이 여럿입니다.

오픈 Agent Skills 표준(SKILL.md)을 따라서 클로드 코드·Codex·Cursor·Gemini CLI 등 에이전트 7개를 지원합니다. 특정 에이전트에 묶인 물건이 아니라는 뜻이에요. 마크다운 규칙 문서라는 형태를 골랐기에 가능한 이식성입니다.

스킬은 6종이에요. 코어 antislop에 ui·copywriting·human·layoutmobile·code가 붙고, human 스킬엔 대비 검사용 파이썬 코드까지 들었습니다. UI만이 아니라 카피, 코드, 모바일 레이아웃까지 같은 게이트 사고를 적용하는 확장이죠.

남는 생각

저는 이 레포의 핵심이 38이라는 숫자가 아니라 3단이라는 구조라고 봅니다.

금지 목록은 늘어날수록 낡습니다. AI가 다음 유행을 배우면 목록 바깥에서 새 slop이 나오거든요. 게이트 구조는 다릅니다. "이유를 대라"는 관문은 유행이 바뀌어도 그대로 작동해요. 이름 박힌 금지 목록은 오늘 판정을 위한 예시고, 게이트가 내일까지 가는 뼈대입니다.

이 사고는 디자인 밖으로도 번집니다. 글이든 코드든, AI 산출물을 검수하려는 사람이라면 금지 목록보다 게이트부터 짜는 게 오래가요.

그리고 R-37이 이 도구가 정직한 이유예요. 필터를 아무리 잘 만들어도 좋은 디자인은 자동으로 안 나온다고, 만든 사람이 먼저 적어뒀습니다. 뻔함을 지우는 건 규칙이 하고, 아름다움을 넣는 건 결국 사람 취향이 합니다.


원문·소스

FAQ

자주 묻는 질문

금지 목록만으로는 왜 못 잡는가?
slop은 나쁜 요소가 아니라 생각 없는 선택이기 때문입니다. anti-slop은 규칙 38개를 Hard Gate·Purpose-Gate·Quality Locks 세 단으로 갈라, 전부 막지 않고 이유 없는 선택만 막아요. 요소를 막으면 다른 요소로 옮겨가지만, "왜"를 물으면 습관 자체가 걸립니다.
무엇이 이름째 금지됐는가?
bento grid, Lucide류 아이콘, 가짜 터미널 창, purple-and-black 네온 팔레트, Geist Mono류 폰트, 3열 가격표가 명시적으로 금지됐습니다. v3.2.1에서 추가된 이 목록은 "AI가 만든 티"를 요소 이름으로 못박은 최초의 명문화예요. 느낌으로 돌던 판정이 규칙 번호가 달린 판정으로 바뀌었습니다.
필터는 어떻게 밋밋함을 피하는가?
ENERGY·RHYTHM·MOTION 세 다이얼로 이루어진 Liveliness Toolkit으로 결과물의 생기를 지킵니다. 출시 직전에는 Delivery Gate를 거치며 4블록 PASS/FAIL 보고서를 의무로 남겨요. 부작용 방지 장치와 검수 보고서까지 한 몸으로 들어 있어 도구답게 완결됩니다.
좋은 디자인은 어디서 오는가?
사용자가 쓴 DESIGN.md, 즉 취향 문서에서 나옵니다. R-37은 결과가 밋밋하면 방향이 없는 거라고 선을 그어요. 필터는 나쁜 걸 막을 뿐이고, 아름다움을 넣는 건 사람 취향입니다.