Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate Java project scaffolding with Maven/Gradle, JUnit 5, Mockito, Checkstyle/SpotBugs, and packaging (JAR/WAR/native-image).
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-21 | ✗→✓ | ▲ Improved | 77% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 102% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 39% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 82% | 0% |
Trigger conditions:
Not for:
tooling-kotlin-generator instead)Time normalization:
NOW_ET using NIST/time.gov semantics (America/New_York, ISO-8601)NOW_ET for all citation access datesInput validation:
project_type must be one of: library, application, spring-boot, microservicebuild_tool must be one of: maven, gradlejava_version must be one of: 11, 17, 21 (LTS versions)project_name must be valid Java package name (lowercase, dots/hyphens allowed)Source freshness:
Fast path for common cases:
project-name/ src/ main/ java/com/example/project/ resources/ test/ java/com/example/project/ resources/ pom.xml (Maven) or build.gradle (Gradle) README.md .gitignore
Decision: If only basic scaffolding needed → STOP at T1; otherwise proceed to T2.
Extended configuration with testing and quality tools:
JUnit 5 + Mockito accessed 2025-10-26
Maven dependencies: xml <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>5.10.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>5.8.0</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-junit-jupiter</artifactId> <version>5.8.0</version> <scope>test</scope> </dependency>
Gradle (build.gradle): gradle dependencies { testImplementation 'org.junit.jupiter:junit-jupiter:5.10.1' testImplementation 'org.mockito:mockito-core:5.8.0' testImplementation 'org.mockito:mockito-junit-jupiter:5.8.0' }
test { useJUnitPlatform() }
Checkstyle accessed 2025-10-26
SpotBugs accessed 2025-10-26
PMD (optional)
project_type == spring-boot)xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.2.0</version> </parent>
Deep configuration for production deployment:
dockerfile FROM maven:3.9-eclipse-temurin-21 AS build WORKDIR /app COPY pom.xml . RUN mvn dependency:go-offline COPY src src RUN mvn package -DskipTests
FROM eclipse-temurin:21-jre-alpine COPY --from=build /app/target/.jar app.jar ENTRYPOINT "java", "-jar", "/app.jar"]
java @Testcontainers class IntegrationTest { @Container static PostgreSQLContainer<?> postgres = new PostgreSQLContainer<>("postgres:16-alpine"); }
Build Tool Selection:
Project Type Structure:
Abort Conditions:
project_name (contains spaces, uppercase, invalid chars) → errorjava_version (<11) → error "Minimum Java 11 required"Tool Version Selection:
Schema (JSON):
json{ "project_name": "string", "project_type": "library | application | spring-boot | microservice", "java_version": "string", "build_tool": "maven | gradle", "structure": { "directories": ["string"], "files": { "path/to/file": "file content (string)" } }, "commands": { "build": "string", "test": "string", "package": "string", "run": "string (optional)" }, "next_steps": ["string"], "timestamp": "ISO-8601 string (NOW_ET)" }
Required Fields:
project_name, project_type, java_version, build_tool, structure, commands, next_steps, timestampFile Contents:
Quick Start: Java Library (30 lines)
java// examples/LibraryExample.java package com.example.utils; import java.time.Instant; import java.util.*; public final class StringMetrics { public record Metrics(int length, int wordCount, Instant analyzed) {} private final List<String> history = new ArrayList<>(); public Metrics analyze(String text) { if (text == null || text.isBlank()) { throw new IllegalArgumentException("Text cannot be null or blank"); } history.add(text); int wordCount = text.split("\\s+").length; return new Metrics(text.length(), wordCount, Instant.now()); } public List<String> getHistory() { return Collections.unmodifiableList(history); } }
Additional Examples:
examples/CliExample.java (30 lines) - picocli, file I/O, exit codesexamples/ApiExample.java (36 lines) - REST endpoints, records, concurrent storageTemplate Resources (see resources/)
pom-library.xml / pom-cli.xml / pom-springboot.xmlbuild-library.gradle / build-cli.gradle / build-springboot.gradleExampleTest.java - JUnit 5 with modern assertionsToken Budgets:
Safety:
Auditability:
Determinism:
Performance:
Official Documentation (accessed 2025-10-26):
Build Tools:
Best Practices:
Other measured skills in the registry, with their headline benchmark lift.