springboot-verification — ai-agents springboot-verification, everything-claude-code, official, ai-agents, ide skills, anthropic, claude-code, developer-tools, Claude Code, Cursor, Windsurf

Verified
v1.0.0
GitHub

About this Skill

Perfect for DevOps Agents needing comprehensive Spring Boot project verification and validation. Verification loop for Spring Boot projects: build, static analysis, tests with coverage, security scans, and diff review before release or PR.

# Core Topics

affaan-m affaan-m
[60.6k]
[7501]
Updated: 3/5/2026

Agent Capability Analysis

The springboot-verification skill by affaan-m is an open-source official AI agent skill for Claude Code and other IDE workflows, helping agents execute tasks with better context, repeatability, and domain-specific guidance. Optimized for ai-agents, anthropic, claude-code.

Ideal Agent Persona

Perfect for DevOps Agents needing comprehensive Spring Boot project verification and validation.

Core Value

Empowers agents to automate a verification loop for Spring Boot projects, including build, static analysis, tests with coverage, security scans, and diff review using Maven or Gradle, ensuring high-quality code before release or PR.

Capabilities Granted for springboot-verification

Automating pre-deployment verification for staging or production
Validating test coverage meets thresholds after major refactoring
Running full build and security scan pipeline before opening a pull request

! Prerequisites & Limits

  • Requires Maven or Gradle build tools
  • Spring Boot projects only
  • May require additional configuration for custom security scans or test coverage thresholds
Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

springboot-verification

Install springboot-verification, an AI agent skill for AI agent workflows and automation. Works with Claude Code, Cursor, and Windsurf with one-command setup.

SKILL.md
Readonly

Spring Boot Verification Loop

Run before PRs, after major changes, and pre-deploy.

When to Activate

  • Before opening a pull request for a Spring Boot service
  • After major refactoring or dependency upgrades
  • Pre-deployment verification for staging or production
  • Running full build → lint → test → security scan pipeline
  • Validating test coverage meets thresholds

Phase 1: Build

bash
1mvn -T 4 clean verify -DskipTests 2# or 3./gradlew clean assemble -x test

If build fails, stop and fix.

Phase 2: Static Analysis

Maven (common plugins):

bash
1mvn -T 4 spotbugs:check pmd:check checkstyle:check

Gradle (if configured):

bash
1./gradlew checkstyleMain pmdMain spotbugsMain

Phase 3: Tests + Coverage

bash
1mvn -T 4 test 2mvn jacoco:report # verify 80%+ coverage 3# or 4./gradlew test jacocoTestReport

Report:

  • Total tests, passed/failed
  • Coverage % (lines/branches)

Unit Tests

Test service logic in isolation with mocked dependencies:

java
1@ExtendWith(MockitoExtension.class) 2class UserServiceTest { 3 4 @Mock private UserRepository userRepository; 5 @InjectMocks private UserService userService; 6 7 @Test 8 void createUser_validInput_returnsUser() { 9 var dto = new CreateUserDto("Alice", "alice@example.com"); 10 var expected = new User(1L, "Alice", "alice@example.com"); 11 when(userRepository.save(any(User.class))).thenReturn(expected); 12 13 var result = userService.create(dto); 14 15 assertThat(result.name()).isEqualTo("Alice"); 16 verify(userRepository).save(any(User.class)); 17 } 18 19 @Test 20 void createUser_duplicateEmail_throwsException() { 21 var dto = new CreateUserDto("Alice", "existing@example.com"); 22 when(userRepository.existsByEmail(dto.email())).thenReturn(true); 23 24 assertThatThrownBy(() -> userService.create(dto)) 25 .isInstanceOf(DuplicateEmailException.class); 26 } 27}

Integration Tests with Testcontainers

Test against a real database instead of H2:

java
1@SpringBootTest 2@Testcontainers 3class UserRepositoryIntegrationTest { 4 5 @Container 6 static PostgreSQLContainer<?> postgres = new PostgreSQLContainer<>("postgres:16-alpine") 7 .withDatabaseName("testdb"); 8 9 @DynamicPropertySource 10 static void configureProperties(DynamicPropertyRegistry registry) { 11 registry.add("spring.datasource.url", postgres::getJdbcUrl); 12 registry.add("spring.datasource.username", postgres::getUsername); 13 registry.add("spring.datasource.password", postgres::getPassword); 14 } 15 16 @Autowired private UserRepository userRepository; 17 18 @Test 19 void findByEmail_existingUser_returnsUser() { 20 userRepository.save(new User("Alice", "alice@example.com")); 21 22 var found = userRepository.findByEmail("alice@example.com"); 23 24 assertThat(found).isPresent(); 25 assertThat(found.get().getName()).isEqualTo("Alice"); 26 } 27}

API Tests with MockMvc

Test controller layer with full Spring context:

java
1@WebMvcTest(UserController.class) 2class UserControllerTest { 3 4 @Autowired private MockMvc mockMvc; 5 @MockBean private UserService userService; 6 7 @Test 8 void createUser_validInput_returns201() throws Exception { 9 var user = new UserDto(1L, "Alice", "alice@example.com"); 10 when(userService.create(any())).thenReturn(user); 11 12 mockMvc.perform(post("/api/users") 13 .contentType(MediaType.APPLICATION_JSON) 14 .content(""" 15 {"name": "Alice", "email": "alice@example.com"} 16 """)) 17 .andExpect(status().isCreated()) 18 .andExpect(jsonPath("$.name").value("Alice")); 19 } 20 21 @Test 22 void createUser_invalidEmail_returns400() throws Exception { 23 mockMvc.perform(post("/api/users") 24 .contentType(MediaType.APPLICATION_JSON) 25 .content(""" 26 {"name": "Alice", "email": "not-an-email"} 27 """)) 28 .andExpect(status().isBadRequest()); 29 } 30}

Phase 4: Security Scan

bash
1# Dependency CVEs 2mvn org.owasp:dependency-check-maven:check 3# or 4./gradlew dependencyCheckAnalyze 5 6# Secrets in source 7grep -rn "password\s*=\s*\"" src/ --include="*.java" --include="*.yml" --include="*.properties" 8grep -rn "sk-\|api_key\|secret" src/ --include="*.java" --include="*.yml" 9 10# Secrets (git history) 11git secrets --scan # if configured

Common Security Findings

# Check for System.out.println (use logger instead)
grep -rn "System\.out\.print" src/main/ --include="*.java"

# Check for raw exception messages in responses
grep -rn "e\.getMessage()" src/main/ --include="*.java"

# Check for wildcard CORS
grep -rn "allowedOrigins.*\*" src/main/ --include="*.java"

Phase 5: Lint/Format (optional gate)

bash
1mvn spotless:apply # if using Spotless plugin 2./gradlew spotlessApply

Phase 6: Diff Review

bash
1git diff --stat 2git diff

Checklist:

  • No debugging logs left (System.out, log.debug without guards)
  • Meaningful errors and HTTP statuses
  • Transactions and validation present where needed
  • Config changes documented

Output Template

VERIFICATION REPORT
===================
Build:     [PASS/FAIL]
Static:    [PASS/FAIL] (spotbugs/pmd/checkstyle)
Tests:     [PASS/FAIL] (X/Y passed, Z% coverage)
Security:  [PASS/FAIL] (CVE findings: N)
Diff:      [X files changed]

Overall:   [READY / NOT READY]

Issues to Fix:
1. ...
2. ...

Continuous Mode

  • Re-run phases on significant changes or every 30–60 minutes in long sessions
  • Keep a short loop: mvn -T 4 test + spotbugs for quick feedback

Remember: Fast feedback beats late surprises. Keep the gate strict—treat warnings as defects in production systems.

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is springboot-verification?

Perfect for DevOps Agents needing comprehensive Spring Boot project verification and validation. Verification loop for Spring Boot projects: build, static analysis, tests with coverage, security scans, and diff review before release or PR.

How do I install springboot-verification?

Run the command: npx killer-skills add affaan-m/everything-claude-code/springboot-verification. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for springboot-verification?

Key use cases include: Automating pre-deployment verification for staging or production, Validating test coverage meets thresholds after major refactoring, Running full build and security scan pipeline before opening a pull request.

Which IDEs are compatible with springboot-verification?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for springboot-verification?

Requires Maven or Gradle build tools. Spring Boot projects only. May require additional configuration for custom security scans or test coverage thresholds.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add affaan-m/everything-claude-code/springboot-verification. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use springboot-verification immediately in the current project.

Related Skills

Looking for an alternative to springboot-verification or another official skill for your workflow? Explore these related open-source skills.

View All

flags

Logo of facebook
facebook

Use when you need to check feature flag states, compare channels, or debug why a feature behaves differently across release channels.

243.6k
0
Developer

extract-errors

Logo of facebook
facebook

Use when adding new error messages to React, or seeing unknown error code warnings.

243.6k
0
Developer

fix

Logo of facebook
facebook

Use when you have lint errors, formatting issues, or before committing code to ensure it passes CI.

243.6k
0
Developer

flow

Logo of facebook
facebook

Use when you need to run Flow type checking, or when seeing Flow type errors in React code.

243.6k
0
Developer