Superpowers
한 줄: Claude Code(또는 Codex/Gemini/Cursor)가 코드부터 짜지 않게 강제하는 스킬 묶음. "이거 만들어줘" → 즉시 코드가 아니라 의도 → 스펙 → 계획 → TDD → 검증 순서를 자동으로 발동시킨다.
- Repo: obra/superpowers
- 저자: Jesse Vincent (obra)
- 설치: Claude Code 공식 마켓플레이스 —
/plugin install superpowers@claude-plugins-official
왜 이걸 쓰나
기본 상태의 코딩 에이전트는 "빨리 답하고 싶어" 편향이 있다. 어설픈 한 줄 요청에도 바로 코드를 쓰기 시작하고, 뒤늦게 사용자가 "아 이거 말고…" 하면서 다시 짠다. 토큰만 태우고 결과는 어긋난다.
Superpowers는 이 편향을 스킬 트리거로 끊는다. 새 기능을 만들겠다고 말한 순간 brainstorming 스킬이 자동으로 깨어나서 무엇을 왜 만드는지부터 캐묻는다. 사용자가 의도를 정리하고 나면 그다음에 writing-plans가 따라붙고, 실행 단계에서는 subagent-driven-development가 서브에이전트를 분배한다.
핵심 슬로건은 "If a skill applies, you do not have a choice. You must use it." — 일종의 자기-규율 코드.
우리 워크스페이스에서 자주 쓰는 것
brainstorming— 새 기능·스킬·에이전트·제안서 만들기 시작 시 자동 진입. 의도·요구사항·디자인을 분리해서 묻는다.writing-plans— 멀티스텝 작업 전 체크리스트형 계획 작성. 후배 엔지니어도 따라할 수 있을 정도까지 명확하게.test-driven-development— 빨강(실패하는 테스트) → 초록(통과) → 리팩터 사이클 강제.systematic-debugging— 버그·테스트 실패·예외 만나면 임시방편 금지, 근본 원인까지 추적.verification-before-completion— "다 됐다"고 선언하기 전에 작동 증명을 요구.
시작하는 법 (가장 작은 예시)
# 사용자
이 함수에 캐시 좀 붙여줘
# Superpowers 없는 에이전트
[즉시 LRU 캐시 코드 작성, 잘못된 invalidation 정책으로 ship]
# Superpowers 있는 에이전트
[brainstorming 발동]
"잠깐. 이 함수가 어떤 입력에 자주 호출되나요?
stale data가 얼마나 위험한가요?
캐시 invalidation 트리거가 뭐가 있나요?"
[답변 받은 후 → writing-plans → 그제서야 코드]
함정
- 작은 수정에도 스킬이 발동하면 답답할 수 있다. 5초 안에 끝낼 수정에는 명시적으로 "skill skip"이라고 알려줘도 OK (단, *"그냥 빨리 해"*가 습관이 되면 의미 없음).
- TDD 스킬은 자동화가 어려운 도메인(시각 디자인, 디자인 토큰)에서는 적용하기 까다로움 — 이 경우
frontend-design같은 다른 스킬에 위임.
우리 랩의 거의 모든 코딩 세션이 이 스킬 위에서 돈다. Claude Code 처음 쓰는 학생이라면
brainstorming과verification-before-completion두 개만 알아도 토큰·시간 절약 효과 큼.