JSpecify 널 안전성 설정 스킬
Java 프로젝트에 JSpecify를 도입해 빌드 단계에서 NullPointerException을 잡아내도록 설정해 주는 스킬.
개발·코딩중급★ 171⑂ 40AI 점수 9/10마지막 업데이트: 2026. 8. 7.
무엇을 해주나
- Maven(
pom.xml)에는jspecify의존성과nullability-maven-plugin을, Gradle에는 ErrorProne + NullAway 플러그인 구성을 추가합니다. src/main/java의 각 패키지에package-info.java를 만들거나 갱신해@NullMarked를 붙입니다(기존 코드는 삭제하지 않음).scripts/verify_nullmarked.py로 빠진 패키지가 없는지 검증합니다.- JSR-305(javax)·Jakarta·JetBrains·Spring 등 기존 널 어노테이션을 OpenRewrite
MigrateToJSpecify레시피로 이전하는 절차를 안내합니다. - 대형 레거시 코드베이스를 위한
@NullUnmarked기반 점진 도입 전략, Kotlin(K2) 상호운용 팁을 제공합니다.
이런 분께 추천
- NPE를 컴파일 타임에 미리 잡고 싶은 Java 백엔드 개발자
- 여러 종류의 널 어노테이션이 섞여 있어 정리하고 싶은 팀
- Java API를 Kotlin에서 안전하게 쓰고 싶은 멀티 언어 프로젝트 담당자
활용 예시
- "이 Gradle 프로젝트에 JSpecify 지원을 추가해줘" → 플러그인·의존성 추가 후 모든 패키지에
@NullMarked적용. - "javax.annotation.Nullable을 JSpecify로 마이그레이션해줘" → OpenRewrite 레시피 실행 및 수동 매핑 안내.
- "레거시 모듈부터 단계적으로 널 검사를 켜고 싶어" →
OnlyNullMarked모드로 패키지 단위 점진 도입 계획 수립.
· · · 설치 가이드 · · ·
설치 없이 지금 한 번 써보기
아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.
이 파일의 지시를 읽고 그대로 따라서 나를 도와줘: https://raw.githubusercontent.com/sivaprasadreddy/sivalabs-agent-skills/HEAD/skills/jspecify/SKILL.md 내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)
Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.
↓ 쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
클로드스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 sivaprasadreddy/sivalabs-agent-skills 의 skills/jspecify 폴더를 내 ~/.claude/skills/jspecify-skill/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/sivaprasadreddy/sivalabs-agent-skills.git /tmp/sivalabs-agent-skills && mkdir -p ~/.claude/skills && cp -r /tmp/sivalabs-agent-skills/skills/jspecify ~/.claude/skills/⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- 터미널을 엽니다.
- 저장소를 내려받습니다:
git clone https://github.com/sivaprasadreddy/sivalabs-agent-skills.git - 스킬 폴더를 만듭니다:
mkdir -p ~/.claude/skills - 스킬을 복사합니다:
cp -r sivalabs-agent-skills/skills/jspecify ~/.claude/skills/ ~/.claude/skills/jspecify/SKILL.md와references/,scripts/폴더가 함께 복사되었는지 확인합니다.- Claude Code를 재시작한 뒤 Java 프로젝트 디렉터리에서 "JSpecify 지원을 추가해줘"라고 요청합니다.
- 검증 스크립트를 쓰려면 Python 3가 설치되어 있어야 합니다.
GitHub에서 원본 보기 ↗라이선스: MIT