Claude Skills를 활용한 Rails 애플리케이션 감사: thoughtbot 모범 사례 적용

Code Audits in the Days of AI

작성자
발행일
2026년 01월 22일

핵심 요약

  • 1 Claude Skills를 활용하여 thoughtbot 모범 사례에 기반한 Rails 애플리케이션 코드 감사 자동화 도구를 구축했습니다.
  • 2 이 스킬은 코드 스멜, 테스트 누락, 보안 취약점 식별 및 PORO(Plain Old Ruby Object) 리팩토링 제안 등 다양한 코드 리뷰를 지원합니다.
  • 3 사용자 정의 가능한 마크다운 기반 스킬을 통해 개발 생산성을 향상시키고, 수일이 걸리던 코드 감사를 수분 내로 단축할 수 있습니다.

도입

소프트웨어 개발자들은 반복적인 작업을 자동화하고 기계에 맡기는 것을 선호합니다. 이러한 철학에 따라, 필자는 Rails 코드베이스를 검토하면서 Claude가 thoughtbot의 모범 사례와 패턴에 따라 코드 리뷰를 돕는다면 어떨까 하는 아이디어를 얻었습니다. 이 실험은 결국 Rails 애플리케이션을 감사하는 Claude Skill을 구축하는 것으로 이어졌으며, 이는 개발 프로세스에서 자동화된 코드 검토의 잠재력을 탐구하는 계기가 되었습니다.

Claude Skill은 SKILL.md라는 주요 지시 파일과 실행 중 Claude가 참조할 수 있는 상세 문서를 담은 references/ 디렉토리로 구성됩니다. Claude에게 작업을 요청하면, 관련 스킬을 로드하여 문제를 해결하는 방법을 지시받습니다. 필자가 구축한 스킬은 thoughtbot의 서적 및 블로그 게시물에 기반한 5개의 참조 파일을 포함합니다.

스킬 참조 파일 구성

  • code_smells.md: Ruby Science를 기반으로 다양한 코드 스멜을 다룹니다.

  • testing_guidelines.md: Testing Rails를 기반으로 테스트 가이드라인을 제공합니다.

  • poro_patterns.md: 서비스 객체가 도메인 모델이어야 하는 이유와 ActiveModel::Model을 올바르게 사용하는 방법을 문서화합니다. 예를 들어, UserRegistrationService 대신 ActiveModel::Model을 포함한 Registration 클래스를 사용하여 유효성 검사 및 비즈니스 로직을 처리하는 패턴을 제안합니다. ruby class Registration include ActiveModel::Model attr_accessor :email, :password, :company_name validates :email, presence: true validates :password, presence: true, length: { minimum: 8 } def complete return false unless valid? create_user send_welcome_email true end end

  • security_checklist.md: 탐지 패턴과 함께 12가지 범주의 보안 문제를 다룹니다.

  • report_template.md: 감사 결과에 대한 구조화된 템플릿을 제공합니다.

스킬 활용 및 효과

이 스킬을 프로젝트의 .claude/skills/ 디렉토리에 추가한 후 Claude에게 코드 감사를 요청할 수 있습니다. Claude는 감사 단어를 스킬 이름과 일치시켜 스킬 실행 여부를 묻습니다. 결과물은 다음과 같은 측면에서 상당히 유용합니다.

  • 코드 스멜(긴 메서드, 큰 클래스) 식별

  • 누락된 테스트 플래그 지정

  • 일반적인 보안 문제 포착

  • 서비스 객체에 대한 PORO 리팩토링 제안

하지만 제안의 타당성 판단, 수정 우선순위 결정, 특정 상황에서 ‘스멜’이 허용되는지 이해하는 등 여전히 인간의 개입이 필요합니다. 이 스킬은 GitHub에서 확인할 수 있으며, 마크다운 파일이므로 자신의 패턴에 맞게 쉽게 조정할 수 있습니다.

결론

Claude Skills를 활용하여 Rails 애플리케이션을 감사하는 이번 실험은 매우 흥미로웠습니다. 특정 패턴을 따르는 코드 리뷰에 Claude가 도움을 줄 수 있는지 확인하고자 했으며, 스킬 구축은 이를 실현하는 효과적인 방법임이 입증되었습니다. 이 스킬은 완벽하지는 않지만, 코드 감사 자동화를 위한 훌륭한 출발점입니다. 스킬의 가장 큰 장점은 마크다운 파일로 구성되어 있어 사용자가 직접 수정하고 자신의 필요에 맞춰 최적화할 수 있다는 점입니다. 한때 며칠이 걸리던 코드 감사가 이제는 몇 분 만에 완료되어, 개발자들이 가치를 창출하는 변화를 구현하는 데 집중할 수 있도록 시간을 확보해 줍니다.

댓글 0

로그인이 필요합니다

댓글을 작성하거나 대화에 참여하려면 로그인이 필요합니다.

로그인 하러 가기

아직 댓글이 없습니다

첫 번째 댓글을 작성해보세요!