Install
$ agentstack add skill-ngxtm-devkit-java-core-language ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Java Core Language Standards
Modern Java Features (17+)
// Records - immutable data carriers
public record User(String id, String name, String email) {
// Compact constructor for validation
public User {
Objects.requireNonNull(id);
Objects.requireNonNull(name);
}
}
// Sealed classes - restricted inheritance
public sealed interface Shape permits Circle, Rectangle, Triangle {}
public record Circle(double radius) implements Shape {}
public record Rectangle(double width, double height) implements Shape {}
public final class Triangle implements Shape { /* ... */ }
// Pattern matching for switch (21+)
String describe(Shape shape) {
return switch (shape) {
case Circle(var r) -> "Circle with radius " + r;
case Rectangle(var w, var h) -> "Rectangle " + w + "x" + h;
case Triangle t -> "Triangle";
};
}
// Pattern matching for instanceof
if (obj instanceof String s && !s.isBlank()) {
return s.toUpperCase();
}
Exception Handling
// Custom exception hierarchy
public class DomainException extends RuntimeException {
private final ErrorCode code;
public DomainException(ErrorCode code, String message) {
super(message);
this.code = code;
}
public DomainException(ErrorCode code, String message, Throwable cause) {
super(message, cause);
this.code = code;
}
}
// Try-with-resources
try (var reader = new BufferedReader(new FileReader(path));
var writer = new BufferedWriter(new FileWriter(output))) {
reader.lines().map(String::toUpperCase).forEach(writer::write);
} catch (IOException e) {
throw new DomainException(ErrorCode.IO_ERROR, "File processing failed", e);
}
Generics
// Bounded type parameters
public > T max(T a, T b) {
return a.compareTo(b) > 0 ? a : b;
}
// Wildcards
void processItems(List items) { /* read-only */ }
void addItems(List items) { /* write-only */ }
// Generic method with multiple bounds
public > void process(T item) {}
Null Safety
// Use Optional for return types
public Optional findById(String id) {
return Optional.ofNullable(repository.get(id));
}
// Never use Optional as parameter or field
// Use @Nullable annotation for nullable parameters
public void process(@Nullable String input) {
if (input == null) return;
// ...
}
// Objects utility methods
Objects.requireNonNull(param, "param must not be null");
Objects.requireNonNullElse(value, defaultValue);
Best Practices
- Prefer records for data transfer objects and value objects
- Use sealed classes when you have a fixed set of subtypes
- Pattern matching over instanceof chains and visitor pattern
- Immutability by default - use final fields, unmodifiable collections
- Fail fast - validate at boundaries, throw early
- Meaningful exceptions - include context, use exception chaining
References
- [Modern Java Features](references/modern-java-features.md) - Records, Sealed Classes, Pattern Matching
- [JVM Memory Model](references/jvm-memory-model.md) - Memory, GC, Performance
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: ngxtm
- Source: ngxtm/devkit
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.