Agent skill

Spring Boot

by piomin in piomin/claude-ai-spring-boot

Spring Boot 3.x development - REST APIs, JPA, Security, Testing, and Cloud-native patterns.

Apache-2.0Auto-check passedBackend & APIs

Install Spring Boot

skills CLI
$ npx skills add piomin/claude-ai-spring-boot --skill spring-boot -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install piomin/claude-ai-spring-boot spring-boot --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/piomin/claude-ai-spring-boot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/spring-boot .claude/skills/spring-boot && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
spring-boot
GitHub stars
1.3k
Token cost
~2k tokens
SKILL.md length
320 words
Files
6 (incl. references)
Skills in repo
2
Repo updated
First seen
Licence
Apache-2.0

At a glance

Spring Boot 3.x development - REST APIs, JPA, Security, Testing, and Cloud-native patterns.

  • Works in 6 steps: Analyze - Understand requirements,… → Design - Plan architecture, confirm… → Implement - Build with constructor… → …
  • Building enterprise Java applications with Spring Boot
  • SKILL.md covers Core Workflow, Quick Start Templates, Reference Guide and Constraints, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Spring Boot is an agent skill from piomin/claude-ai-spring-boot. Spring Boot 3.x development - REST APIs, JPA, Security, Testing, and Cloud-native patterns. Use for building enterprise Java applications with Spring Boot.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `references/cloud.md`, `references/data.md` and `references/security.md`).

It sits in Backend & APIs, covering Backend development. It works with Spring Boot, Java, PostgreSQL and Docker. The repository describes itself as: Claude Code template for Spring Boot and other staff (included in the tags). The licence is Apache-2.0.

When your agent uses it

  • Building enterprise Java applications with Spring Boot
  • Tasks that involve Backend development

Example prompts

  • “/spring-boot”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Analyze - Understand requirements, identify service boundaries, APIs, data models
  2. Design - Plan architecture, confirm design before coding
  3. Implement - Build with constructor injection and layered architecture
  4. Secure - Add Spring Security, OAuth2, method security; verify tests pass
  5. Test - Write unit, integration tests; run ./mvnw test and confirm all pass
  6. Deploy - Configure health checks via Actuator; validate /actuator/health returns UP

What it can do on your machine

Read from SKILL.md and the folder at commit d87e7a3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are java).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Spring Boot loads about 2k tokens when it runs, and up to ~19k if it reads all its reference files. Until then it costs about 42 tokens; SKILL.md has 320 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~42
When it runs · the whole SKILL.md, loaded when a task matches
~2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~19k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from piomin/claude-ai-spring-boot at commit d87e7a3, republished under its Apache-2.0 licence (© piomin). 320 words, ~2,038 tokens.

Download SKILL.mdSave it as .claude/skills/spring-boot/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
spring-boot
description
Spring Boot 3.x development - REST APIs, JPA, Security, Testing, and Cloud-native patterns. Use for building enterprise Java applications with Spring Boot.
metadata.version
2.0.0
metadata.domain
backend
metadata.triggers
Spring Boot, Spring Framework, Spring Security, Spring Data JPA, Spring WebFlux, Java REST API, Microservices Java
metadata.role
specialist
metadata.scope
implementation
metadata.output-format
code

Spring Boot Skill

Enterprise Spring Boot 3.x development with focus on clean architecture and production-ready code.

Core Workflow

  1. Analyze - Understand requirements, identify service boundaries, APIs, data models
  2. Design - Plan architecture, confirm design before coding
  3. Implement - Build with constructor injection and layered architecture
  4. Secure - Add Spring Security, OAuth2, method security; verify tests pass
  5. Test - Write unit, integration tests; run ./mvnw test and confirm all pass
  6. Deploy - Configure health checks via Actuator; validate /actuator/health returns UP

Quick Start Templates

Entity
java
@Entity
@Table(name = "products")
public class Product {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @NotBlank
    private String name;

    @DecimalMin("0.0")
    private BigDecimal price;

    // Getters/Setters (no Lombok)
}
Repository
java
public interface ProductRepository extends JpaRepository<Product, Long> {
    List<Product> findByNameContainingIgnoreCase(String name);
}
Service
java
@Service
@Transactional(readOnly = true)
public class ProductService {
    private final ProductRepository repo;

    public ProductService(ProductRepository repo) {
        this.repo = repo;
    }

    public List<Product> search(String name) {
        return repo.findByNameContainingIgnoreCase(name);
    }

    @Transactional
    public Product create(ProductRequest request) {
        var product = new Product();
        product.setName(request.name());
        product.setPrice(request.price());
        return repo.save(product);
    }
}
REST Controller
java
@RestController
@RequestMapping("/api/v1/products")
@Validated
public class ProductController {
    private final ProductService service;

    public ProductController(ProductService service) {
        this.service = service;
    }

    @GetMapping
    public List<Product> search(@RequestParam(defaultValue = "") String name) {
        return service.search(name);
    }

    @PostMapping
    @ResponseStatus(HttpStatus.CREATED)
    public Product create(@Valid @RequestBody ProductRequest request) {
        return service.create(request);
    }
}
DTO (Record)
java
public record ProductRequest(
    @NotBlank String name,
    @DecimalMin("0.0") BigDecimal price
) {}
Global Exception Handler
java
@RestControllerAdvice
public class GlobalExceptionHandler {
    @ExceptionHandler(MethodArgumentNotValidException.class)
    @ResponseStatus(HttpStatus.BAD_REQUEST)
    public Map<String, String> handleValidation(MethodArgumentNotValidException ex) {
        return ex.getBindingResult().getFieldErrors().stream()
            .collect(Collectors.toMap(FieldError::getField,
                    error -> error.getDefaultMessage() != null ? error.getDefaultMessage() : "Invalid"));
    }

    @ExceptionHandler(EntityNotFoundException.class)
    @ResponseStatus(HttpStatus.NOT_FOUND)
    public Map<String, String> handleNotFound(EntityNotFoundException ex) {
        return Map.of("error", ex.getMessage());
    }
}
Test Slice
java
@WebMvcTest(ProductController.class)
class ProductControllerTest {
    @Autowired MockMvc mockMvc;
    @MockBean ProductService service;

    @Test
    void createProduct_validRequest_returns201() throws Exception {
        var product = new Product();
        product.setName("Widget");
        when(service.create(any())).thenReturn(product);

        mockMvc.perform(post("/api/v1/products")
                .contentType(MediaType.APPLICATION_JSON)
                .content("""{"name":"Widget","price":10.0}"""))
            .andExpect(status().isCreated())
            .andExpect(jsonPath("$.name").value("Widget"));
    }
}

Reference Guide

Load detailed patterns based on context:

TopicReferenceWhen to Load
Web/RESTreferences/web.mdControllers, validation, exception handling
Data Accessreferences/data.mdJPA, repositories, transactions, queries
Securityreferences/security.mdSpring Security 6, OAuth2, JWT, auth
Cloud/Configreferences/cloud.mdConfig server, discovery, resilience
Testingreferences/testing.mdUnit, integration, slice tests

Constraints

MUST DO
  • Constructor injection (no field injection)
  • @Valid on all request bodies
  • @Transactional for multi-step writes
  • @Transactional(readOnly = true) for reads
  • Type-safe config with @ConfigurationProperties
  • Global exception handling with @RestControllerAdvice
  • Externalize secrets (use env vars, not properties files)
MUST NOT DO
  • Field injection (@Autowired on fields)
  • Skip input validation on endpoints
  • Mix blocking and reactive code
  • Store secrets in application.properties
  • Use deprecated Spring Boot 2.x patterns
  • Hardcode URLs, credentials, environment values

Architecture Patterns

Project Structure:

src/main/java/pl/piomin/services/
├── controller/     # REST endpoints
├── service/        # Business logic
├── repository/     # Data access
├── model/          # Entities
├── dto/            # Request/Response DTOs
├── config/         # Configuration
└── exception/      # Custom exceptions + handler

Layering:

  • Controller → Service → Repository
  • Controller handles HTTP, validation
  • Service handles business logic, transactions
  • Repository handles data persistence

Clean Architecture Principles:

  • Domain models independent of frameworks
  • Use case driven design
  • Dependency inversion (interfaces)
  • Clear boundaries between layers

Common Annotations

AnnotationPurpose
@RestControllerREST controller (combines @Controller + @ResponseBody)
@ServiceBusiness logic component
@RepositoryData access component
@TransactionalTransaction management
@ValidTrigger validation
@ConfigurationPropertiesBind properties to class
@EnableMethodSecurityEnable method security

Reactive WebFlux Endpoint

java
@RestController
@RequestMapping("/api/v1/orders")
public class OrderController {
    private final OrderService orderService;

    public OrderController(OrderService orderService) {
        this.orderService = orderService;
    }

    @GetMapping("/{id}")
    public Mono<ResponseEntity<OrderDto>> getOrder(@PathVariable UUID id) {
        return orderService.findById(id)
                .map(ResponseEntity::ok)
                .defaultIfEmpty(ResponseEntity.notFound().build());
    }

    @PostMapping
    @ResponseStatus(HttpStatus.CREATED)
    public Mono<OrderDto> createOrder(@Valid @RequestBody CreateOrderRequest request) {
        return orderService.create(request);
    }
}

Spring Security JWT

java
@Configuration
@EnableMethodSecurity
public class SecurityConfig {
    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        return http
                .csrf(AbstractHttpConfigurer::disable)
                .sessionManagement(s -> s.sessionCreationPolicy(STATELESS))
                .authorizeHttpRequests(auth -> auth
                        .requestMatchers("/actuator/health").permitAll()
                        .anyRequest().authenticated())
                .oauth2ResourceServer(oauth2 -> oauth2.jwt(Customizer.withDefaults()))
                .build();
    }
}

Knowledge Base

Spring Boot 3.x, Java 21, Spring WebFlux, Project Reactor, Spring Data JPA, Spring Security 6, OAuth2/JWT, Hibernate, R2DBC, Spring Cloud, Resilience4j, Micrometer, JUnit 5, TestContainers, Mockito, Maven/Gradle

© piomin, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (references) in .claude/skills/spring-boot of piomin/claude-ai-spring-boot.

  • SKILL.md
  • references/cloud.md
  • references/data.md
  • references/security.md
  • references/testing.md
  • references/web.md

Open the folder on GitHubat commit d87e7a3

Compare with similar skills

Spring Boot next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Spring Boot compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Spring Boot this skillpiomin/claude-ai-spring-boot1.3k—~2kAutomated safety check: PassApache-2.0
Dr Jskilljdubois/dr-jskill342—~4.6kAutomated safety check: NotesApache-2.0
Create Spring Boot Java Projectgithub/awesome-copilot40k1 repos~1.1kAutomated safety check: PassMIT
Create Spring Boot Kotlin Projectgithub/awesome-copilot40k1 repos~1kAutomated safety check: PassMIT
Spring Boot Project Creatorgiuseppe-trisciuoglio/developer-kit355—~3.4kAutomated safety check: NotesMIT
Pi K8s Deployrodrigorodrigues/microservices-design-patterns188—~1.6kAutomated safety check: PassNone

Similar skills

  • Dr Jskill

    jdubois/dr-jskill

    Creates Java + Spring Boot projects: Web applications, full-stack apps with Vue.js or Angular or React or vanilla JS, PostgreSQL, REST APIs, and Docker.

    342 GitHub stars~4.6k tokensUpdated 7 days ago
    Backend & APIsAuto-check: notes
  • Create Spring Boot Java Project

    github/awesome-copilot

    Official

    Create Spring Boot Java Project Skeleton. An agent skill from github/awesome-copilot.

    40k GitHub starsUsed in 1 repo~1.1k tokens
    Backend & APIsAuto-check passed
  • Create Spring Boot Kotlin Project

    github/awesome-copilot

    Official

    Create Spring Boot Kotlin Project Skeleton. An agent skill from github/awesome-copilot.

    40k GitHub starsUsed in 1 repo~1k tokens
    Backend & APIsAuto-check passed
  • Spring Boot Project Creator

    giuseppe-trisciuoglio/developer-kit

    Creates and scaffolds a new Spring Boot project (3.x or 4.x) by downloading from Spring Initializr, generating package structure (DDD or Layered architecture), configuring JPA, SpringDoc OpenAPI…

    355 GitHub stars~3.4k tokensUpdated 27 days ago
    Backend & APIsAuto-check: notes
  • Pi K8s Deploy

    rodrigorodrigues/microservices-design-patterns

    Check Docker Hub for a new :latest image on a managed service and roll it out to the home Pi k8s cluster, the same way authentication-service was deployed on 2026-08-29 (SSH + kubectl rollout…

    188 GitHub stars~1.6k tokensUpdated 19 days ago
    DevOps & CloudAuto-check passed
  • Java Architect

    Jeffallan/claude-skills

    Builds Spring Boot 3.x services on Java 21 with domain-driven design, WebFlux, JPA tuning and Spring Security using OAuth2 and JWT, verified by Maven or Gradle builds.

    12k GitHub stars~1.5k tokensUpdated 4 days ago
    Backend & APIsAuto-check passed

More from piomin/claude-ai-spring-boot

  • Code Quality

    piomin/claude-ai-spring-boot

    Comprehensive code review for Java - clean code principles, API contracts, null safety, exception handling, and performance.

    1.3k GitHub stars~2.2k tokensUpdated 5 mo ago
    Auto-check passed

Categories

Questions about Spring Boot

What does Spring Boot do?

Spring Boot 3.x development - REST APIs, JPA, Security, Testing, and Cloud-native patterns. Spring Boot is an agent skill from piomin/claude-ai-spring-boot.x development - REST APIs, JPA, Security, Testing, and Cloud-native patterns.

When should I use Spring Boot?

Spring Boot fits situations like: building enterprise Java applications with Spring Boot; tasks that involve Backend development.

How do I install Spring Boot in Claude Code?

Run `npx skills add piomin/claude-ai-spring-boot --skill spring-boot -a claude-code`. Or copy the skill folder (.claude/skills/spring-boot in piomin/claude-ai-spring-boot) into .claude/skills/spring-boot in your project. Claude Code loads it when a task matches its description.

How do I install Spring Boot in Codex?

Run `npx skills add piomin/claude-ai-spring-boot --skill spring-boot -a codex`. Or copy the skill folder (.claude/skills/spring-boot in piomin/claude-ai-spring-boot) into .agents/skills/spring-boot in your project. Codex loads it when a task matches its description.

Can I use Spring Boot in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add piomin/claude-ai-spring-boot --skill spring-boot -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/spring-boot, .gemini/skills/spring-boot, .github/skills/spring-boot and .opencode/skills/spring-boot in your project.

What does Spring Boot need to run?

SKILL.md names no scripts, command-line tools or credentials: Spring Boot is instructions for the agent only.

Does Spring Boot access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Spring Boot safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Spring Boot use?

Spring Boot is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Spring Boot use?

About 2k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 17k tokens, read only when the agent opens those files.

What are the alternatives to Spring Boot?

Skills that share tags, products or a category with Spring Boot: Dr Jskill (jdubois/dr-jskill, 342 stars), Create Spring Boot Java Project (github/awesome-copilot, 40k stars), Create Spring Boot Kotlin Project (github/awesome-copilot, 40k stars) and Spring Boot Project Creator (giuseppe-trisciuoglio/developer-kit, 355 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Spring Boot?

piomin (a GitHub user) maintains it in piomin/claude-ai-spring-boot, which has 1,302 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on April 29, 2026.

Source: piomin/claude-ai-spring-boot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.