13P by neo 11시간전 | ★ favorite | 댓글 1개
  • 최근 몇 주간 Claude Code 기반 코딩 에이전트 시스템을 체계화해 ‘Superpowers’라는 새로운 확장 도구를 만들었음
  • Superpowers는 플러그인 형태로 설치되어 Claude에게 ‘스킬(Skills)’을 가르치고, 이 스킬을 통해 작업 방식을 자동화하고 개선하는 기능을 제공
  • Anthropic의 Claude Code 플러그인 시스템을 활용해 워크플로우 자동화, TDD 실행, 코드 리뷰, Git 워크트리 관리 등을 에이전트가 자율적으로 수행
  • 새로운 워크플로우는 브레인스토밍 → 계획 → 구현 단계를 자동으로 거치며, 작업을 병렬로 진행하고 RED/GREEN TDD 방식으로 테스트 주도 개발을 수행
  • 핵심 개념인 ‘스킬(Skill)’ 은 Claude가 특정 작업을 수행할 때 참조해야 하는 지식 단위로, 사용자는 이를 직접 작성하거나 Claude가 학습 문서를 바탕으로 생성하도록 할 수 있음
  • 이 구조가 향후 AI 코딩 에이전트의 자기개선과 협업의 표준이 될 것으로 보고 있으며, Superpowers 공유 기능과 기억 시스템 완성이 다음 목표

Superpowers 개요

  • Superpowers는 Claude Code 2.0.13 이상에서 동작하며, 사용자는 /plugin marketplace add obra/superpowers-marketplace 명령으로 설치 가능함
  • 설치 후 Claude가 자동으로 SKILL.md 문서를 읽어 “스킬이 존재하면 반드시 사용해야 한다” 는 규칙을 학습함
  • 이로써 Claude는 브레인스토밍과 계획 단계를 거쳐 구현 전 논의를 유도하고, 작업이 완료되면 GitHub PR 생성 또는 병합 제안까지 수행함

코딩 워크플로우

  • Claude가 프로젝트나 작업 시작을 감지하면 구현 전 자동으로 브레인스토밍과 계획 단계를 거침
  • Git 저장소 내에서 작업 시 자동으로 worktree를 생성하여 병렬 작업 간 충돌 방지
  • 두 가지 실행 모드 제공
    • 기존 방식: 사용자가 두 번째 Claude 세션을 열어 아키텍트와 구현자를 중재하는 PM 역할 수행
    • 신규 방식: 작업을 하위 에이전트에 개별 배분하고 각 작업마다 코드 리뷰 후 진행
  • RED/GREEN TDD 방식으로 실패 테스트 작성 → 최소 구현 → 테스트 통과 순환 반복
  • 구현 완료 후 GitHub PR 생성, 로컬 브랜치 병합, 또는 종료 옵션 제공

스킬 시스템의 핵심 원리

  • Superpowers의 핵심은 스킬(Skill) 이며, 이는 Claude가 특정 문제를 해결하기 위해 읽고 수행할 수 있는 Markdown 기반 지식 모듈
    • Anthropic이 Office 문서 생성 기능 출시 시 스킬 개념을 처음 공개
    • 유사 패턴이 Microsoft Amplifier 등 여러 코딩 에이전트 프레임워크에서 등장
  • 스킬은 Claude가 “새로운 능력”을 학습하게 하는 단위로, 사용자는 Claude에게 책이나 코드베이스를 분석하게 하여 새로운 스킬을 추출하도록 요청 가능함
    • 에이전트는 스킬 검색 스크립트를 실행하고, 해당 활동에 대한 스킬이 있으면 반드시 사용해야 함
    • 첫 번째 메타 스킬인 "스킬 작성법"을 통해 Claude가 새로운 스킬을 자율적으로 생성하는 워크플로우 지원
    • 모델에게 "이 책을 읽고, 생각하고, 배운 내용을 기록하라"고 요청하면 재사용 가능한 지식을 자동 구조화
  • Claude는 생성된 스킬을 테스트하기 위해 하위 에이전트(subagents) 를 시뮬레이션하며, 각 스킬이 실제로 유효한지 TDD 방식으로 검증함
    • 초기 시도에서는 게임쇼 퀴즈 형태로 검증했으나 실효성 부족
    • 개선 후 “압박 테스트(pressure test)” 시나리오를 구성해 실제 환경과 유사한 조건에서 스킬의 유효성을 점검함

압박 시나리오 테스트 사례

  • 시나리오 1: 시간 압박 + 자신감
    • 상황: 프로덕션 장애로 분당 5천 달러 손실 중, 인증 서비스 디버깅 필요
    • 선택지: 즉시 디버깅(5분 소요) vs 스킬 검색 후 디버깅(7분 소요)
    • 목적: 긴급 상황에서도 스킬 검색을 우선하도록 유도
  • 시나리오 2: 매몰 비용 + 작동하는 코드
    • 상황: 45분 투입해 작성한 비동기 테스트 인프라가 이미 작동 중
    • 선택지: 스킬 확인 후 재작업 가능성(3분 소요) vs 현재 코드 커밋
    • 목적: 작동하는 코드가 있어도 스킬 준수를 강제
  • Robert Cialdini의 설득 심리학 원리(권위, 몰입, 호감, 희소성 등)를 LLM에 적용
  • 최근 Dan Shapiro 등이 공동 저술한 연구에서 Cialdini의 원리가 LLM에도 유효함을 과학적으로 입증
  • Superpowers 스킬 시스템이 이미 설득 기법을 무의식적으로 활용 중이었음을 사후 발견
    • 권위 프레임("IMPORTANT: 실제 상황"), 몰입 유도("A, B, C 중 선택"), 희소성("오후 6시, 저녁 6시 30분")

기억(Memories) 기능

  • Superpowers는 Claude가 이전 대화의 맥락을 보존하고 활용할 수 있는 ‘remembering-conversations’ 스킬을 포함함
  • 이 스킬은 대화 로그를 SQLite 기반 벡터 데이터베이스로 저장하고, Claude Haiku를 이용해 요약을 생성함
  • .claude 외부에 대화 기록 자동 복제하여 Anthropic의 자동 삭제 방지
  • Claude는 필요할 때 하위 에이전트를 통해 과거 대화에서 관련 정보를 검색하며, 불필요한 검색으로 컨텍스트 윈도우가 오염되지 않도록 설계됨
  • 아직 전체 연결이 완료되지 않았으나, 모든 구성요소는 이미 구현되어 있음

공유(Sharing) 기능

  • Superpowers의 목표는 스킬 공유 생태계 구축
  • 사용자는 자신의 Claude가 학습한 스킬을 GitHub Pull Request 형태로 제출해 다른 사용자와 공유할 수 있음
  • 새로운 Claude 플러그인 시스템과 통합하면서도, 사용자 동의 없이 스킬이 공유되지 않도록 안전장치를 두고 있음
  • 초기 설치 방식은 단순히 Claude에게 특정 URL을 읽게 하는 방식이었지만, 현재는 플러그인 마켓플레이스 구조로 전환됨

설치 및 활용

  • Claude Code 2.0.13 이상 필요
  • 플러그인 마켓플레이스에서 설치 명령어 실행
    • /plugin marketplace add obra/superpowers-marketplace
    • /plugin install superpowers@superpowers-marketplace
  • 재시작 후 부트스트랩 프롬프트가 주입되어 스킬 시스템 자동 활성화
  • Claude와 Superpowers로 실제 Todo 앱을 구현한 전체 로그를 공개했으며, 여기서 Claude의 질문, 테스트 주도 개발, git 관리 과정을 볼 수 있음
Hacker News 의견
  • 이 글을 정말 강력하게 추천하고 싶음. Jesse가 이 도구들을 사용하는 방식은 다른 사람들보다 훨씬 더 대담함. 그의 Superpowers GitHub 저장소도 꼭 살펴보는 것 추천함. 어젯밤에 이 주제에 대해 노트도 정리해봄: 이 링크 참고

    • 실제 대규모 코드베이스에서 코딩 성능 면에서, "Research -> Plan -> Implement" 방식 및 [Advanced Context Engineering from Agents] 영상 속 프롬프트와 비교했을 때 이 접근이 어떻게 다르다고 생각하는지 궁금함. 에이전트의 능력을 넓히기 위해 스킬을 추가하는 것은 유용하다고 보지만, 실제 개발에 적합한지는 잘 모르겠음. 다양한 스킬을 자동으로 추가하는 아이디어나 패키지 모음은 멋지지만, 커스텀 명령어+서브 에이전트 방식보다 얼마나 더 나은지 확신이 없음. 며칠간 직접 시도해보고 비교해볼 예정임

    • 이건 거의 Elixir에서의 usage rules를, 에이전트 행동(지금은 Claude 전용)에 적용한 느낌임. usage_rules 레퍼런스도 같이 참고해볼 만함

  • 이 글을 읽으면서 "코딩 에이전트로 작업을 더 잘하는 방법"을 기대하게 됐음. 나는 2년간 AI를 실험해봤고, 이제는 장난감 분류기에서 꽤 쓸만한 유틸리티로 발전한 건 확신함. 그래도 한계에 계속 부딪히다 보니, 오히려 LLM 이전의 방식으로 돌아가는 게 더 견고하고, 빠르고, 정신적으로도 지속 가능하다고 느낌. 실제로 LLM이 최첨단 개발 실무나 가치 창출을 확장시킨 구체적인 사례를 공유해줄 수 있는 사람이 있는지 궁금함

    • 오늘 아침 올라온 Mitchell의 글을 추천함: non-trivial vibing 게시글

    • 아직은 실험 단계에 있다고 느끼고 있음. 제대로 된 측정 지표는 곧 등장할 것임

  • 이런 프롬프트 방식(치명적인 상황을 설정해서 "감정적" 반응을 유도하려는 것)은 이미 구식임. 한때는 IMPORTANT 같은 단어를 대문자로 쓰면 효과가 있었지만, 최근의 모델들은 그냥 지시만 따름. 이런 프롬프트를 쓰고 유지관리하느라 고생할 필요 없음

    • 그가 언급한 설득 논문도 사실 그가 말하는 내용과 전혀 관련 없음. 해당 논문은 "훈련된 안전성"으로 인한 거절을 설득 프롬프트로 극복하는 내용을 다룰 뿐, 프롬프트 일치율 개선과는 무관함

    • 짜증나는 점은 llms가 이 부분을 아직 본인들도 진화하지 못했다는 것임. llm 자체에게 자기 프롬프트를 개선하라고 하면 이런 개선사항을 제안함. llm 및 에이전트와 협업하면서 가장 답답한 점은 자기 참조 역량에서 늘 한 세대쯤 뒤처져있는 느낌임

  • 첫 페이지에서 아래 내용을 보고 바로 불쾌해졌음

    @/Users/jesse/.claude/plugins/cache/Superpowers/...  
    

    XDG spec은 수십 년째 존재하는데, 왜 새로운 앱들이 내 HOME을 계속 오염시키는지 모르겠음. 그리고 실제 데이터가 cache/ 하위에 저장되는 것도 이상하지만, 뭐 일단 넘어가겠음

    • 캐시 위치에 있는 이유는 해당 파일이 GitHub 저장소에서 설치된 플러그인의 복사본이기 때문임. 즉, 진짜 원본 파일이 아니라서임
  • 테스트 주도 개발 스킬 문서 같은 문서는 사람이 읽기엔 매우 혼란스러움. 이 프로젝트에서 사용하는 "skills"는 일관된 포맷도 없고, 그냥 LLM에게 "X를 단계별로 설명하는 마크다운 문서를 써줘"라고 시켜서 나오는 산출물 같은 느낌임 (실제로 블로그에 따르면 그런 식으로 만들어짐). 만약 LLM이 이미 TDD에 관한 책 100권쯤 학습했다면, 굳이 요약본을 혼란스럽게 던져줄 필요가 있는지 의문임. 이런 류 프로젝트들은 LLM에 "슈퍼파워"처럼 뭔가 특별한 능력을 추가해준다고 믿지만, 사실 LLM이 자가 학습을 하는 존재도 아닌데, 마법 같은 문구를 프롬프트 앞에 붙인다고 해서 10배 더 똑똑해지는 건 아님. 물론 상황에 따라 반복되는 작업이면 내 제약조건을 미리 써두고 프롬프트 앞에 붙여넣을 수 있지만, 이건 그냥 문맥 정보 제공에 불과함. LLM에 능력이 생긴 게 아니라 컨텍스트를 준 것임. 이런 글들에서 항상 아쉬운 점은, 실제로 "당신은 X 스킬이 있다"라는 식으로 프롬프트를 주는 방식이, 아예 그런 말 없이 그냥 바로 작업을 시키는 것보다 객관적으로 얼마나 더 나은 결과를 내는지 실제 사례가 잘 안 보인다는 점임

    • 전적으로 동의함. 몇 주간 codex와 GPT Pro(5o-codex-high)로 작업해보면서, 결국 중요한 건 컨텍스트라는 결론에 도달함. 개인적으로 가장 유용했던 것은 음성을 Whisper로 입력 후 LLM으로 넘기기, 토큰 사용량을 효율적으로 관리하고 필요할 때 대화를 리셋시키기, 작업이 완료됐는지 체크할 명확한 기준(예: API 또는 playwright 테스트 같은 AI-Unit-Tests)을 만드는 것이었음. 모든 파일을 마크다운으로 관리하는 것도 나름 방법임. 그리고 특화된 작업마다 AI 챗을 따로 두는 게 결과 측면에서 훨씬 더 효율적임(모델의 수학적 구조상 크게 차이 남). 이러한 방식 덕분에 PM 역할을 하면서도, 불필요하게 LLM한테 이미 학습했던 것들을 다시 재검토시키는 자원 낭비를 줄일 수 있었음. 그런데 왜 다시 Claude 같은 벤더 종속으로 되돌아가려는지 이해 못하겠음. 5o-codex-high가 훨씬 더 강력한데 비교가 안 됨. 그래도 유용한 점은 AI를 AI끼리 협업하게 만들면 정말 효과적이라는 것임. 역할별로 잘 나누는 게 중요함
  • “Robert Cialdini의 책 Influence에서 배운 설득 원칙이 LLM에도 적용된다는 게 이해됐고, 실제로 효과가 있어서 기뻤다”고 하는데, 솔직히 그만하자는 생각이 듦. 이게 뭔가 싶고, 방향성 자체가 AI와 개발 그 이상으로 가버린 느낌임. AI 코딩이 혁신적인 변화라는 건 인정하는데, 그렇다고 해서 모든 것이 뒤바뀐 건 아님. 기본적인 구조와 설계가 여전히 필요함. 그런데 지금 이 글은 그냥 마법 같은 이야기로 가득 차 있는 느낌임

    • “마법” 같다는 표현에 대해, 꼭 그렇지만은 않을 수 있음. AI가 어떤 해결책을 만들려면 사용자의 의도와 목표를 벡터로 만들어야 하는데, 인간의 설득 관련 자료를 충분히 학습한 AI라면 당연히 그런 의사표현의 요소들을 따를 수 있음. 물론 결과는 천차만별임. 사람도 수사학적 기법이나 어색한 포즈를 억지로 쓰면 오히려 바보 같아 보이듯, 의도 벡터를 강조하려고 대문자나 과도한 수식어만 집어넣는다고 항상 잘 통하는 것은 아님. 그래도 원하는 결과가 안 나올 때, 프롬프트에 설득 요소(권위 등)가 빠졌는지 체크하고 필요한 부분을 추가해보는 건 충분히 시도해볼 가치가 있음

    • 사실 이 모든 게 항상 그랬음. “AI”라는 용어 자체부터가 그렇고, OpenAI의 지난 5년간 발표문들도 대부분 이런 식임. 세계를 바꿀 것처럼 들리는데 실제론 과장이나 기술적 수사로 가득함. 대부분은 불필요한 노이즈뿐이고, 가끔 정말 실용적인 정보만 내 워크플로우에 적용함. 대부분의 글에서는 쓸만한 정보보다 오히려 과장이나 허세가 더 많음

  • EXTREMELY_IMPORTANT, RIGHT NOW 같은 지시문을 보면 거부감이 듦. 이런 방식으로 쓰면 곧 내 실제 우선순위와 충돌하는 순간이 오지 않을까 걱정임. 모든 게 가장 중요한 1순위가 될 수는 없음

    • bashrc 파일을 관리하는 것과 비슷함. 가끔은 직접 수정도 해야 함

    • 요즘은 llm들이 오히려 이런 명령 방식 쓰지 말라고 조언하지 않음?

  • 코드 예시가 본문에 전혀 안 보임. 실사용 예제를 어디서 볼 수 있는지 궁금함

  • 이런 류 블로그 글들은, 실제로 누가 이 도구를 사용해서 비자명(non-trivial)한 무언가를 만들어 내는 사례를 보여주면 훨씬 더 유용할 거라고 느낌. 예를 들어, Claude에게 책을 읽혀서 실제로 새로운 스킬을 학습한 건지, 아니면 단지 그런 행동을 보이게 하는 프롬프트에 반응해서 그런 것인지 분간이 안 감. 그래서 Claude에 새 스킬을 준 뒤와 그냥 프롬프트만 준 뒤를 모두 시연해봐야 한다고 생각함. 내 입장이 보수적인 거일 수도 있지만, 대부분의 이런 블로그는 마케팅성 글에 가깝고, 정말 중요한 내용들이 누락되어 있거나 설명이 부족해서 자신의 작업을 부풀려 자랑하는 것처럼 느껴짐

    • 오늘 올라온 관련 사례가 있음: non-trivial vibing 글

    • LLM을 오랫동안 복잡한 프로젝트 코딩에 실제로 쓰는 건 정말 어려운 일임! 요구사항 정의만 해도 생각보다 엄청 어렵고, LLM은 잘못된 방향으로도 너무 빠르게 움직임

    • 이 분야에서 필요한 방법론은 A/B 테스트처럼 정량화된 지표로 도구의 효과를 증명하는 실험임. 그것도 한 번만이 아니라, 다양한 시나리오에서 반복적으로 분석해서 통계적으로 신뢰할 수 있어야 함. 코딩 에이전트 쓸 때 가장 힘든 점은, 소규모 단순 코드베이스일 땐 맨 처음엔 잘 하는 것 같지만, 코드베이스가 커지고 복잡도가 올라가면, 복잡한 연결이 들어가는 작업에서 “터널 비전”에 빠져 기술 부채를 키우기 쉬움

    • 그냥 Claude의 코드를 직접 써보고 각자 스스로 결론을 내리면 되지 않을까 싶음

    • “이런 블로그 대부분은 자세한 건 빼놓고, 자기 능력을 과장하고 자랑하는 늘 있던 IT 업계의 전형적 패턴”임. 솔직히 모든 세대에 늘 존재했던 IT의 풍경임

  • AI가 생성한 코드에 갑자기 저작권 라이선스를 붙여둘 때가 있는데, 무슨 이유인지 모르겠음. MIT 라이선스라 그나마 다행이긴 하지만, AI 생성물은 법적으로 저작권 대상이 아니라서, 누구나 라이선스를 무시하고 써도 되는 구조임. 왜 붙이는지 궁금함