Ponytail Skill · 01 / 05
최적화 요청했더니 엉뚱한 곳을 바꿨나요?
우선순위도 없고, 이유도 없고, 동작이 바뀐 것 같기도 하다면 Ponytail이 필요한 순간이다.
"빠르게 만들어줘" → 변수명을 바꾸고 주석을 지웠다
왜 이 함수를 바꿨냐고 물으면 "더 깔끔해 보여서"라고 한다
동작이 달라진 건 없냐고 물으면 "같을 거예요"라고 한다
실제로 느린 곳이 아닌 루프처럼 보이는 곳을 최적화한다
이런 상황이 반복된다면: Q: 왜 이 부분을 바꿨나요? "전반적으로 더 깔끔해 보여서요." Q: 실제로 여기가 느렸나요? "아마도요, 루프가 있으니까요." Q: 동작이 달라진 건 없나요? "같을 거예요." → 이 대답들이 불안하다면 Ponytail이 필요하다
Ponytail Skill · 02 / 05
가장 큰 병목부터. 동작은 절대 안 바꿈.
우선순위가 정해진 목록을 순서대로 처리한다. 매 변경마다 이유를 명시하고, 동작·API·에러 처리는 손대지 않는다.
우선순위 순서 (항상 이 순서로)O(n²) 루프 → N+1 쿼리 → 불필요한 할당 → 중복 연산 → 사용 안 하는 코드
절대 안 바꾸는 것동작, 공개 API 시그니처, 에러 처리
매 변경마다 알려주는 것위치 → 문제 → 수정 → 이유 ("n번 왕복 → 1번 JOIN")
Before — N번 쿼리 (팀 수만큼)
for (const team of teams) {
users.push(await db.query(
'SELECT * FROM users WHERE team_id = ?',
team.id
));
}
After — 1번 쿼리 const users = await db.query( 'SELECT * FROM users WHERE team_id IN (?)', teams.map(t => t.id) ); // N+1 → JOIN. n번 왕복 → 1번.
Ponytail Skill · 03 / 05
말 한 마디면 된다
최적화가 필요한 코드를 붙여넣고 트리거 표현을 말하면 즉시 시작. 현재 작업 단위로만 적용된다.
켜기"optimize" / "make it faster" / "ponytail" / "최적화" / "성능 개선" / /ponytail
특정 블록 건너뛰기"skip this one" — 의도적으로 읽기 쉽게 둔 코드는 제외
끄기"done" / "stop ponytail" / "완료"
이럴 때 효과적이다
느린 API 응답
DB 왕복이 많거나 루프 안에 쿼리가 있을 때.
PR 올리기 전
성능 이슈를 먼저 잡고 싶을 때. 동작 변경 없이 안전하게.
프로파일러 결과 후
병목 위치를 찾았고 어떻게 고칠지 모를 때.
레거시 코드
큰 임팩트부터 걷어내고 싶을 때. 범위를 벗어나지 않는다.
Ponytail Skill · 04 / 05
데이터 없이 최적화하지 않는다
프로파일링 데이터 없는 최적화는 가장 흔한 실수다. Ponytail은 이걸 자동으로 막고 이유를 알려준다.
프로파일링 없음 — 실제로 느린지 확인 안 된 코드는 건너뜀
동작이 바뀌는 수정 — 빠르게 만들 수 있어도 결과가 달라지면 적용 안 함
라이브러리 업그레이드 필요 — 적용하지 않고 "이 라이브러리로 바꾸면 빠르다"고만 알림
의도적으로 읽기 쉬운 코드 — 테스트·데모·예제는 건드리지 않음
조기 최적화 예시: > Skip: No profiling data confirms > this loop is a bottleneck. > Current avg. response time: < 2ms. > > Optimizing here risks readability loss > with no measurable gain. > Run a profiler first, > then re-invoke /ponytail. Ponytail resume. Next target: getUsersByTeam N+1.
Ponytail Skill · 05 / 05
느린 코드에 "ponytail"이라고 말해보세요
Ponytail은 "빠르게 해줘"와 다르다. 임팩트 순서가 정해져 있고, 이유가 설명되고, 동작은 절대 바뀌지 않는 구조적 최적화다.
지금 바로 써보기느린 코드를 붙여넣고 "ponytail" 또는 "최적화"라고 입력하면 즉시 시작된다.
스킬 파일 설치SKILL.md를 Claude 설정에 추가하면 /ponytail 슬래시 커맨드로도 켤 수 있다.
한 문장 요약
최적화 스킬은 "빠르게 해줘"가 아니라, 무엇을 먼저·어디까지·언제 멈출지를 규정한 규격이다. 우선순위와 안전망이 있어야 진짜 최적화다.