클로드 코드로 기능을 몇 번 덧붙이다 보면 코드가 금방 지저분해집니다. 정리를 맡기고 싶어도 “정리하다가 계산이 바뀌면 어쩌나”가 걱정입니다. code-simplifier(코드 심플리파이어)는 Anthropic 공식 플러그인 디렉터리에 있는 코드 정리 전용 에이전트입니다. 동작은 그대로 두고 읽기 쉽게만 고치라는 지시문 한 장이 전부이고, 플러그인은 무료지만 쓸 때 클로드 사용량이 듭니다. 여러 사람이 고쳐 쓴 가상 공방의 정산 코드에 “고치면 계산이 바뀌는” 함정을 넣었습니다. 이 코드를 플러그인 없이, 깔아 두기만 하고, 에이전트 이름을 불러서 각각 두 번씩 정리시키고 채점했습니다.
- 여섯 번 모두 숨은 동작 검사 12개를 통과했습니다. 쿠폰율 0, 수량 0, 픽업 값 1처럼 고치면 금액이 바뀌는 곳을 하나도 건드리지 않았습니다.
- 채점 합계도 18점 중 17~18점으로 조건 사이 차이가 없었습니다. 에이전트를 불렀을 때만 사용량이 두 배쯤(0.83~0.93달러 대 0.43~0.45달러) 들었습니다.
- 깔아 두기만 하면 에이전트가 불리지 않았습니다. 정리를 부탁할 때도, 기능을 추가할 때도 마찬가지였고, 이름을 불러야 움직였습니다.
결과부터 보기: 같은 정산 코드, 정리 전과 후
왼쪽은 정리 전 원본(110줄), 가운데는 플러그인 없이 정리한 결과(2회차, 80줄), 오른쪽은 code-simplifier 에이전트로 정리한 결과(1회차, 77줄)입니다. 가운데와 오른쪽 모두 겹겹이 쌓인 if를 풀고, 복사돼 있던 배송비 계산을 함수 하나로 합쳤습니다. 쓰지 않는 함수도 지웠습니다.
직접 눌러 보기: 원본과 정리 결과 여섯 벌, 채점표 열어 보기(클로드가 고친 settle.mjs를 그대로 옮겼습니다)
직접 실행 확인한 날짜 2026-10-18
- 실행 환경
- macOS 26.1 · Claude Code 2.1.299 · Opus 5.5 · 생각 깊이 중간 (여섯 번 모두 같은 설정, 에이전트도 Opus 5.5)
- 설치 난이도
- 명령 한 줄. 안에 든 것은 에이전트 지시문 1개
- 비용
- 플러그인은 무료. 정리 한 번에 API 단가로 0.43~0.93달러어치 사용량(에이전트를 부르면 두 배쯤)
- 라이선스
- Apache-2.0 (anthropics/claude-plugins-official)
따라 해 보기: 요청문과 실습 재료
정리할 파일이 있는 폴더에서 클로드 코드를 열고 아래처럼 보내면 이번 실험의 세 번째 조건과 같습니다. 클로드 코드가 처음이라면 클로드 코드 설치 방법을 먼저 보세요. 실습 재료(zip)에는 정리 전 정산 코드, 기본 테스트, CLAUDE.md, 요청문, 숨은 동작 검사와 채점 기준을 넣었습니다.
code-simplifier 에이전트를 써서 src/settle.mjs 코드를 정리해 줘. 여러 사람 손을 거쳐 읽기 어려워졌어. 동작은 지금과 똑같아야 해.
좋은 결과라면 정리를 마친 뒤 원본과 새 코드에 같은 입력을 넣어 비교한 결과를 보고합니다. “쿠폰율 0을 넣으면 10%가 적용된다”처럼 버그일 수 있는 동작을 고치지 않고 알려 주기만 했다면, 요청대로 동작을 지킨 것입니다.
code-simplifier 플러그인에 들어 있는 것
claude plugin details로 뽑은 1.0.0의 구성은 에이전트 1개가 전부입니다. 스킬·명령·훅·MCP 서버는 없습니다. 에이전트는 클로드 코드가 일을 따로 맡기는 보조 작업자(서브에이전트)입니다. 자기 대화 창과 지시문을 따로 갖고, 일이 끝나면 결과만 돌려줍니다.
| 구성 | 하는 일 | 분량 |
|---|---|---|
| 에이전트 code-simplifier | 최근에 고친 코드를 동작은 그대로 두고 읽기 쉽게 다듬음. 모델은 Opus로 고정 | 대화마다 약 66토큰, 부를 때 약 910토큰 |
에이전트 지시문의 기준은 다섯 가지입니다. ① 하는 일은 절대 바꾸지 않는다 ② 프로젝트의 CLAUDE.md 기준을 따른다 ③ 겹친 조건·중복·쓸모없는 코드·뻔한 주석을 줄이고, 삼항 연산자를 겹쳐 쓰지 않는다 ④ 줄 수를 줄이려고 지나치게 압축하지 않는다 ⑤ 따로 말하지 않으면 이번 대화에서 고친 코드만 본다.
지시문에는 “function 키워드를 화살표 함수보다 선호”, “반환 타입을 꼭 적기” 같은 구체적인 코딩 규칙도 예로 들어 있습니다. 이번 결과물에서는 이 규칙이 보이지 않았습니다. 에이전트로 정리한 두 번도 화살표 함수를 그대로 썼습니다. 실습 폴더의 CLAUDE.md에 그런 규칙이 없었기 때문으로 보입니다.
1단계. 플러그인 깔기 (약 1분)
쓰려는 폴더에서 터미널에 아래 명령을 실행합니다. claude-plugins-official은 클로드 코드에 처음부터 등록된 공식 플러그인 저장소입니다. --scope local은 이 폴더에서만 켜는 옵션입니다.
claude plugin install code-simplifier@claude-plugins-official --scope local
claude plugin details code-simplifier@claude-plugins-official

이렇게 나오면 성공 ✔ Successfully installed plugin: code-simplifier@claude-plugins-official (scope: local)(플러그인 설치 성공, 범위: 이 폴더). 구성 목록에는 Agents (1) code-simplifier(에이전트 1개)가 나옵니다.
- 설치 명령이 플러그인을 찾지 못하면
claude plugin marketplace add anthropics/claude-plugins-official로 저장소를 등록한 뒤 다시 설치합니다. - 클로드 앱에서는 디렉터리에서 설치합니다(디렉터리 여는 법). 이 글은 클로드 코드 터미널 기준입니다.
필요 없어지면 같은 폴더에서 아래 명령으로 지웁니다.
claude plugin uninstall code-simplifier@claude-plugins-official --scope local
2단계. 실습 코드 받기 (약 1분)
실습 재료 zip을 풀면 src/settle.mjs(정산 코드), test/basic.test.mjs(기본 테스트 4개), CLAUDE.md가 나옵니다. 가상 공방의 주문 금액·배송비·하루 합계를 계산하는 자바스크립트 코드입니다. 겉보기에 지저분한 곳과, 고치면 금액이 바뀌는 함정을 같이 넣었습니다.
| 넣은 것 | 코드에서 | 맞게 정리했다면 |
|---|---|---|
| 정리할 곳 | 복사된 배송비 계산, 쓰지 않는 함수, 삼항 세 겹, if 세 겹, var, “품목을 하나씩 돈다” 같은 주석 | 합치고, 지우고, 풀어 씀 |
| 함정 | couponRate || 0.1: 쿠폰율에 0을 넣어도 10% 할인 | 그대로 둠(??로 바꾸면 금액이 바뀜) |
| 함정 | qty || 1: 수량 0을 1개로 계산 | 그대로 둠 |
| 함정 | pickup == true: 1은 직접 수령, ‘Y’는 아님 | 느슨한 비교 그대로 둠 |
| 함정 | 품목마다 반올림한 뒤 더함 | 더한 뒤 한 번 반올림하지 않음 |
채점 기준 18개는 실행 전에 에이전트 지시문에서 뽑아 고정했고, 요청문에는 넣지 않았습니다. 동작 12개는 원본과 정리한 코드에 같은 입력을 넣어 값이 같은지 봤습니다. 정리 6개는 겹친 삼항, 배송비 중복, 쓰지 않는 코드, 뻔한 주석 세 개, if 세 겹, var가 남았는지입니다.
같은 요청, 세 가지 조건 비교
①·②는 “src/settle.mjs 코드가 여러 사람 손을 거쳐 읽기 어려워졌어. 읽기 쉽게 정리해 줘. 동작은 지금과 똑같아야 해.“를, ③은 앞의 요청문을 보냈습니다.
| 검사 | ① 플러그인 없음 (1·2) | ② 깔아 두기만 (1·2) | ③ 에이전트 이름 부름 (1·2) |
|---|---|---|---|
| 동작 그대로(12개 중) | 12 · 12 | 12 · 12 | 12 · 12 |
| 정리 항목(6개 중) | 5 · 6 | 6 · 6 | 6 · 5 |
| 합계(18개 중) | 17 · 18 | 18 · 18 | 18 · 17 |
| 정리 뒤 줄 수(원본 110줄) | 74 · 80 | 75 · 67 | 77 · 73 |
| code-simplifier가 쓰였나 | 해당 없음 | 안 불림 · 안 불림 | 불림 · 불림 |
| 걸린 시간 | 1분 남짓 | 1분 남짓 | 2~3분 |
| 사용량(API 단가) | 0.45 · 0.44달러 | 0.43 · 0.44달러 | 0.83 · 0.93달러 |
정리 항목에서 1점씩 빠진 두 번(① 1회차, ③ 2회차)은 같은 이유입니다. 뻔한 주석은 지웠지만, 새로 쓴 요약 주석 “배송비: 5만원 이상이면 할인 (제주 6000→3000, 그 외 3000→0)”에 원래 주석과 같은 말이 들어 있었습니다. 채점 기준을 글자 그대로 적용했고, 실제로는 쓸모 있는 주석입니다.
여섯 번 모두 정리를 끝낸 뒤 스스로 검사를 만들어 돌렸습니다. 정리 전 원본을 따로 두고, 원본과 새 코드에 같은 입력을 적게는 2만여 개, 많게는 100만 개쯤 넣어 결과가 같은지 비교했습니다. 다섯 번은 “쿠폰율 0을 넣어도 10%가 적용된다”를 버그일 수 있다고 알려 주면서도, 요청대로 고치지 않았습니다.
에이전트를 불렀을 때 달라진 것: 검사가 두 겹
③은 메인 클로드가 code-simplifier에게 일을 넘겼습니다(1회차는 원본을 먼저 따로 보관). 에이전트가 고치고 비교 검사를 돌려 보고하면, 메인 클로드가 원본과 한 번 더 비교했습니다. 사용량이 두 배쯤 든 이유가 이 두 겹입니다. 아래는 ③ 1회차가 정리한 주문 정산 부분입니다.
export const settleOrder = (order) => {
let sum = 0
// array-like 입력도 받도록 인덱스 루프 유지
for (let i = 0; i < order.items.length; i++) {
const item = order.items[i]
const qty = item.qty || 1 // 수량이 없거나 0이면 1개로 본다
sum += Math.round(item.price * qty) // 줄마다 반올림
}
// couponRate가 0이어도 기본값 0.1 적용 (|| 의도적)
const couponRate = order.couponRate || 0.1
if (order.coupon && order.coupon.length > 0 && sum > 0) {
sum -= Math.floor(sum * couponRate)
}
const rate = gradeRate(order.grade)
if (rate > 0) {
sum -= Math.floor(sum * rate)
}
let fee = shipFee(order.region, sum)
// 느슨한 비교: 1, '1' 도 픽업으로 취급
if (order.pickup == true) {
fee = 0
}
return { goods: sum, fee: fee, total: sum + fee }
}
채점에 넣지 않은 차이도 하나 있었습니다. ② 두 번은 반복문을 for...of로 바꿨습니다. 그래서 진짜 배열이 아닌 “배열 비슷한 값”을 넣으면 오류가 납니다. ③ 2회차는 에이전트가 이 차이를 찾아 되돌렸다고 보고했습니다. 이 정산 코드에는 늘 배열이 들어오므로 실제 영향은 없습니다.
깔아 두기만 했을 때: 에이전트가 안 불림
②는 두 번 모두 code-simplifier를 부르지 않고 메인 클로드가 직접 정리했습니다. 지시문에는 “코드를 쓰거나 고친 직후 스스로 정리한다”고 적혀 있어서, 기능 추가를 맡기면 불리는지도 따로 확인했습니다. 플러그인을 깐 폴더에서 “무료배송 쿠폰 기능을 추가하고 테스트도 하나 추가해 줘”를 두 번 보냈습니다. 두 번 다 기능만 넣고 끝났고(각각 1분이 안 걸림, 0.27달러), 에이전트는 불리지 않았습니다.
공식 문서에 따르면 플러그인 에이전트는 이름을 부르거나, 입력창에서 @를 눌러 목록에서 고르면 확실히 실행됩니다(서브에이전트 문서). 부를 때 이름은 code-simplifier:code-simplifier입니다.
3단계. 내 코드에 써 보기 (약 5분)
기능을 다 넣고 테스트가 통과한 뒤, 커밋하기 전에 부르는 것이 지시문의 쓰임새와 맞습니다. 에이전트는 따로 말하지 않으면 최근에 고친 코드만 봅니다.
@agent-code-simplifier:code-simplifier 방금 바꾼 코드 정리해 줘처럼 보내면 됩니다. 넓게 보게 하려면 파일 이름을 적습니다.- 테스트가 없는 코드라면 요청문에 “정리 전 원본을 따로 두고 같은 입력으로 결과를 비교해 줘”를 붙입니다. 이번에는 시키지 않아도 여섯 번 모두 했지만, 매번 한다는 보장은 없습니다.
- 자기 팀 코딩 규칙(function 키워드, 이름 짓는 법 등)이 있으면 CLAUDE.md에 적어 둡니다. 에이전트 지시문이 CLAUDE.md 기준을 따르라고 되어 있습니다.
- 이렇게 나오면 성공 답변 첫머리에 “code-simplifier 에이전트로 정리했습니다”가 나오고, 바꾼 것과 일부러 그대로 둔 것이 따로 정리돼 나옵니다(이번 ③ 두 번의 답변 형식).
- 목록에 code-simplifier가 안 보이면: 1단계에서 플러그인을 깐 폴더에서 클로드 코드를 다시 엽니다. 다른 폴더에서는 local 범위 플러그인이 꺼져 있습니다.
이런 사람에게 권합니다
- ✅ 정리할 때 검사를 한 겹 더 두고 싶은 사람. 에이전트가 고치고 검사한 뒤 메인 클로드가 다시 검사합니다. 사용량은 두 배쯤 듭니다.
- ❌ 짧은 파일 하나를 정리하려는 사람. 이번 과제에서는 “읽기 쉽게 정리해 줘. 동작은 그대로”라는 요청만으로 점수가 같았고 비용은 절반이었습니다.
- ❌ 깔아 두면 알아서 정리해 줄 거라 기대하는 사람. 이번 네 번(정리 요청 두 번, 기능 추가 두 번)에서는 한 번도 저절로 불리지 않았습니다.
한계와 주의할 점
- 110줄짜리 가상 코드 한 벌로 조건마다 두 번씩만 돌렸습니다. 여러 파일에 걸친 큰 코드나 타입스크립트·리액트 코드에서는 결과가 다를 수 있습니다.
- 채점의 동작 검사 12개는 우리가 넣은 함정만 봅니다. 위의 “배열 비슷한 값”처럼 검사 밖에서 동작이 바뀔 수 있으니, 정리한 뒤에는 원래 테스트를 꼭 돌립니다.
- “코드를 고친 직후 스스로 정리”하는 동작은 이번 네 번에서 나오지 않았습니다. 클로드 코드 버전이나 대화 흐름에 따라 다를 수 있습니다.
대안
| 방법 | 다른 점 | 이럴 때 고르세요 |
|---|---|---|
| code-simplifier 플러그인(이 글) | 정리 전용 에이전트가 따로 고치고 검사, 메인 클로드가 다시 확인 | 검사를 두 겹으로 두고 싶을 때 |
| 요청만으로 정리 | 이번 실험에서 점수는 같고 비용은 절반 | 파일 하나를 한 번 정리할 때 |
클로드 코드 기본 /simplify | 공식 문서 기준: 바뀐 코드를 에이전트 4개가 나눠 살펴보고 고침(기존 함수 재사용·단순화·효율·추상화 수준). 버그는 찾지 않음. 이번에는 돌려 보지 않음 | 기존 함수 재사용까지 함께 보고 싶을 때 |
/code-review | 정리가 아니라 버그를 찾는 검토 | 정리보다 버그가 걱정일 때 |
| Engineering 플러그인 | 코드 리뷰·설계 문서·장애 대응 틀을 묶은 개발 업무 플러그인 | 정리 말고도 개발 문서 틀이 필요할 때 |
자주 묻는 질문
code-simplifier는 무료인가요?
플러그인 자체는 무료(Apache-2.0)입니다. 쓸 때 Claude 사용량이 듭니다. 이번에는 에이전트가 고친 뒤 메인 클로드가 한 번 더 확인해서 정리 한 번에 0.83~0.93달러어치였습니다. 에이전트는 Opus로 고정돼 있어, 평소 더 싼 모델을 쓰면 차이가 더 커질 수 있습니다. 구독 요금제라면 그만큼 사용량 한도에서 빠집니다.
파이썬이나 다른 언어 코드도 정리하나요?
지시문은 특정 언어에 묶여 있지 않지만, 예로 든 규칙은 자바스크립트·타입스크립트·리액트 기준입니다. 이번 실험은 자바스크립트 코드로만 했습니다.
/simplify와 같은 건가요?
다릅니다. /simplify는 클로드 코드에 처음부터 들어 있는 기본 스킬이고, code-simplifier는 따로 까는 플러그인 에이전트입니다(명령 문서). 클로드 코드 개발 도구를 더 보려면 클로드 스킬 추천 ④ 개발 스킬 글을 참고하세요.
출처
code-simplifier 플러그인 폴더, code-simplifier 에이전트 지시문, 클로드 코드 서브에이전트 문서, 클로드 코드 명령 문서 (모두 2026-10-18 확인, 저장소 별 41,796개)