Skill

spring-boot-scanner

Install
1
Install the plugin
$
npx claudepluginhub joaquimscosta/arkhe-claude-plugins --plugin spring-boot

Want just this skill?

Add to a custom plugin, then install with one command.

Description

Smart code scanner that detects Spring Boot patterns and routes to appropriate skills. Use when editing Java or Kotlin files in Spring Boot projects, working with pom.xml/build.gradle containing spring-boot-starter, or when context suggests Spring Boot development. Detects annotations (@RestController, @Entity, @EnableWebSecurity, @SpringBootTest) to determine relevant skills and provides contextual guidance. Uses progressive automation - auto-invokes for low-risk patterns (web-api, data, DDD), confirms before loading high-risk skills (security, testing, verify).

Tool Access

This skill uses the workspace's default tool permissions.

Supporting Assets
View in Repository
EXAMPLES.md
TROUBLESHOOTING.md
WORKFLOW.md
scripts/detect_patterns.py
Skill Content

Spring Boot Scanner

Smart pattern detection and skill routing for Spring Boot projects.

Core Behavior

Trigger Conditions:

  • Editing *.java or *.kt files in a project with spring-boot-starter dependencies
  • Working with pom.xml or build.gradle* containing Spring Boot
  • User mentions "Spring Boot", "Spring Security", "Spring Data", etc.

Action: Scan code → Detect patterns → Route to appropriate skill

Detection Algorithm

Phase 1: Project Detection

1. Check for Spring Boot indicators:
   - Glob: **/pom.xml → grep spring-boot-starter
   - Glob: **/build.gradle* → grep org.springframework.boot

2. If Spring Boot detected → Continue to Phase 2
   If not → Exit (not a Spring Boot project)

Phase 2: Annotation Scanning

Scan current file or changed files for these annotation patterns:

Annotation PatternDetected SkillRisk Level
@RestController, @GetMapping, @PostMapping, @RequestMappingspring-boot-web-apiLOW
@Entity, @Repository, @Aggregate, @MappedSuperclassspring-boot-data-dddLOW
@Service in **/domain/** or **/service/**domain-driven-designLOW
@ApplicationModule, @ApplicationModuleListenerspring-boot-modulithLOW
@Timed, @Counted, HealthIndicator, MeterRegistryspring-boot-observabilityLOW
@EnableWebSecurity, @PreAuthorize, @Secured, SecurityFilterChainspring-boot-securityHIGH
@SpringBootTest, @WebMvcTest, @DataJpaTest, @MockitoBeanspring-boot-testingHIGH
@MockBean (deprecated)spring-boot-testingHIGH + WARNING
Build file with version < 4.0spring-boot-verifyHIGH

Phase 3: Risk-Based Routing

LOW RISK (Auto-Invoke):

  • Provide skill guidance immediately
  • No confirmation required
  • Skills: web-api, data-ddd, domain-driven-design, modulith, observability

HIGH RISK (Suggest + Confirm):

  • Present recommendation to user
  • Wait for confirmation before loading full skill
  • Skills: security, testing, verify

Routing Workflow

ON detecting patterns:

1. LOW RISK patterns detected:
   → "I notice you're working with [pattern]. Here's guidance from spring-boot-[skill]:"
   → Load skill's Quick Reference section
   → Provide contextual tips

2. HIGH RISK patterns detected:
   → Use AskUserQuestion:
     "I detected [security/testing/migration] patterns. Would you like me to:
     - Load spring-boot-[skill] for detailed guidance
     - Run a verification scan
     - Continue without skill guidance"
   → Wait for user choice
   → Route accordingly

3. Multiple patterns detected:
   → Prioritize HIGH RISK (always ask)
   → Batch LOW RISK (summarize all)
   → Example: "Detected REST controller and security config. Loading web-api guidance. For security patterns, would you like detailed review?"

Quick Reference: Annotation → Skill Map

Use this script to detect patterns:

# Run from project root
python3 scripts/detect_patterns.py /path/to/file.java

Or use Grep directly:

# Web API detection
grep -l "@RestController\|@GetMapping\|@PostMapping" **/*.java

# Security detection
grep -l "@EnableWebSecurity\|@PreAuthorize\|SecurityFilterChain" **/*.java

# Testing detection
grep -l "@SpringBootTest\|@WebMvcTest\|@MockitoBean\|@MockBean" **/*.java

Escalation Triggers

Always confirm before proceeding when detecting:

PatternReasonAction
@EnableGlobalMethodSecurityDeprecated in Security 6+Confirm + Migration guidance
@MockBeanDeprecated in Boot 3.4+Confirm + Show @MockitoBean
spring-boot-starter-parent < 3.0Major migration neededConfirm + Suggest verify-upgrade
.and() in security configRemoved in Security 7Confirm + Lambda DSL guidance
com.fasterxml.jacksonJackson 3 migrationConfirm + Namespace change

Integration with Existing Components

Delegates to Skills:

  • spring-boot-web-api → REST patterns
  • spring-boot-data-ddd → Repository/Entity patterns
  • spring-boot-security → Security configuration
  • spring-boot-testing → Test patterns
  • spring-boot-modulith → Module structure
  • spring-boot-observability → Metrics/Health
  • spring-boot-verify → Dependencies/Config
  • domain-driven-design → DDD architecture

Delegates to Agents (for comprehensive review):

  • spring-boot-reviewer → Full codebase review
  • spring-boot-upgrade-verifier → Migration analysis

When to delegate to agents:

  • User asks for "review" or "scan" of entire project
  • Multiple HIGH RISK patterns across many files
  • Explicit /spring-review or /verify-upgrade command

Known Limitations

  • Annotation-based only: Detects standard Spring annotations, not custom/meta-annotations or XML configuration
  • Java and Kotlin only: Scans *.java and *.kt files; no Groovy/Scala support
  • Spring Boot 3.x+ optimized: Escalation patterns focus on Boot 3.x → 4.x migration; older versions may have gaps
  • No AST parsing: Uses regex matching, so patterns in comments/strings may cause false positives

Model Tier Performance

The scanner is designed for reliability across all model tiers:

AspectBehavior
Haiku/Sonnet/OpusAll fully supported
DeterminismPython script ensures consistent results regardless of model
Single file scan<100ms typical
Project scan1-2s for typical projects (recursive)

The Python detection script handles heavy lifting, making results model-independent.

Escape Hatch

If scanner guidance isn't helpful for the current context:

ScenarioAction
Skip LOW RISK guidanceIgnore suggestions and continue working
Skip HIGH RISK confirmationSelect "Continue without guidance" option
Need comprehensive reviewUse /spring-review command instead
Disable temporarilyRemove spring-boot-scanner from active skills

The scanner is advisory—it suggests skills but never blocks the workflow.

Detailed References

Critical Reminders

  1. Always check project type first — Only activate for Spring Boot projects
  2. Respect risk levels — Never auto-invoke security/testing/verify without confirmation
  3. Batch notifications — Don't spam user with multiple skill suggestions
  4. Delegate to agents for scale — Use reviewer agent for multi-file analysis
  5. Preserve user flow — Guidance should assist, not interrupt
Stats
Stars9
Forks1
Last CommitMar 7, 2026
Actions

Similar Skills