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에서 확인할 수 있으며, 마크다운 파일이므로 자신의 패턴에 맞게 쉽게 조정할 수 있습니다.