ai-observability
Use when adding Spring AI-specific model observations, token usage, latency, externally configured cost attribution, advisor…
Use when annotating nullability in Spring Boot 3 / Spring Framework 6 code, integrating Kotlin, or adding static nullability checks without assuming Spring Framework 7 JSpecify defaults.
Claude Code
$ npx -y skills add rrezartprebreza/spring-boot-skills --skill null-safety --agent claude-code
Codex
$ npx skills add rrezartprebreza/spring-boot-skills --skill null-safety -a codex -y
Cursor
$ npx skills add rrezartprebreza/spring-boot-skills --skill null-safety -a cursor -y
Gemini CLI
$ npx skills add rrezartprebreza/spring-boot-skills --skill null-safety -a gemini-cli -y
GitHub Copilot
$ npx skills add rrezartprebreza/spring-boot-skills --skill null-safety -a github-copilot -y
OpenCode
$ npx skills add rrezartprebreza/spring-boot-skills --skill null-safety -a opencode -y
Windsurf
$ npx skills add rrezartprebreza/spring-boot-skills --skill null-safety -a windsurf -y
name: null-safety description: > Use when annotating nullability in Spring Boot 3 / Spring Framework 6 code, integrating Kotlin, or adding static nullability checks without assuming Spring Framework 7 JSpecify defaults.
Use the nullability model supported by the project. Spring Framework 6 commonly uses `org.springframework.lang.Nullable`, `@NonNull`, and package-level `@NonNullApi`. JSpecify can be introduced deliberately, but do not assume Framework 7 migration semantics in a Boot 3 module.
@NonNullApi package com.example.orders; import org.springframework.lang.NonNullApi;
Annotate genuine nullable results and parameters with `@Nullable`. Keep repository return types explicit, validate external input at boundaries, and use Kotlin compiler settings that match the annotations when Java and Kotlin are mixed. If the project standardizes JSpecify independently, apply it consistently at module boundaries and document the chosen checker.
Production-grade Claude Code and Codex skills for Spring Boot developers
Use when adding Spring AI-specific model observations, token usage, latency, externally configured cost attribution, advisor…
Use when versioning Spring MVC or WebFlux APIs in Spring Boot 3 / Spring Framework 6. Covers explicit URL, header, and media-type…
Use when introducing or correcting grouped Spring Boot configuration, typed property binding, validation, profiles or secret…
Use when packaging a Spring Boot 3 application as an OCI image or GraalVM native executable. Covers buildpacks, layered images,…
Use when evolving aggregate invariants, value objects or domain events in an existing DDD-style Spring Boot 3 application, or…
Use when implementing Kafka, RabbitMQ, Pulsar, or JMS producers and consumers in Spring Boot 3. Covers event contracts,…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.