Claude Skill MartBrowse skillsQuick linesLearn by videoTerminal guideWhat is a Skill?
Back to list

JSpecify Nullability Setup Skill

Wires JSpecify, NullAway/ErrorProne and @NullMarked into a Java project so null bugs fail the build.

Dev & CodingIntermediate17140AI score 9/10Last updated: Aug 7, 2026

What it does

  • Adds the jspecify dependency plus nullability-maven-plugin for Maven, or ErrorProne + NullAway plugins for Gradle.
  • Creates or updates package-info.java in every src/main/java package with @NullMarked, preserving existing content.
  • Runs scripts/verify_nullmarked.py to confirm no non-empty package was missed.
  • Guides migration from JSR-305/javax, Jakarta, JetBrains, Spring, Android, Checker Framework annotations via the OpenRewrite MigrateToJSpecify recipe.
  • Provides an incremental @NullUnmarked adoption strategy for large/legacy codebases and Kotlin (K2) interop notes.

Who it's for

  • Java developers who want NPEs caught at compile time instead of production.
  • Teams cleaning up a mix of competing nullability annotation libraries.
  • Mixed Java/Kotlin codebases that need accurate nullability across the boundary.

Example uses

  1. "Add JSpecify support to this Gradle project" → plugins, dependencies, and @NullMarked across packages.
  2. "Migrate our javax.annotation.Nullable usages to JSpecify" → OpenRewrite recipe plus manual mappings.
  3. "Turn on null checking gradually, starting with the core module" → OnlyNullMarked mode, package-by-package rollout.

· · · Install guide · · ·

Try it now, no install

Paste this into Claude to use the skill without installing anything.

Read the instructions in this file and follow them to help me:
https://raw.githubusercontent.com/sivaprasadreddy/sivalabs-agent-skills/HEAD/skills/jspecify/SKILL.md

What I want: (describe your task here)

If Claude can't open the link, open it yourself and paste the contents instead.

If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.

Install in the Claude app (no terminal)
  1. Download the ZIP with the button below.
  2. In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
  3. Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Download ZIP
Install in Claude Code

Let Claude do it — paste this into Claude Code

Install the skill I found on Claude Skill Mart.
Copy the skills/jspecify folder from the GitHub repo sivaprasadreddy/sivalabs-agent-skills into my ~/.claude/skills/jspecify-skill/.
When it's done, tell me in one line what this skill can do.

Install with a command instead

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/

This is a third-party skill. Check the source repository before installing.

  1. Open a terminal.
  2. Clone the repo: git clone https://github.com/sivaprasadreddy/sivalabs-agent-skills.git
  3. Create the skills folder: mkdir -p ~/.claude/skills
  4. Copy the skill: cp -r sivalabs-agent-skills/skills/jspecify ~/.claude/skills/
  5. Verify SKILL.md plus the references/ and scripts/ folders were copied.
  6. Restart Claude Code, open your Java project, and ask it to "add JSpecify support".
  7. Install Python 3 if you want the verify_nullmarked.py check to run.