marketplace/bundles/pm-dev-java/skills/java-core/SKILL.md
Core Java development standards for patterns, modern features, and performance optimization
npx skillsauth add cuioss/plan-marshall java-coreInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
REFERENCE MODE: This skill provides reference material. Load specific standards on-demand based on current task.
Core Java development standards for general Java projects. This skill covers fundamental patterns, modern Java features, and performance optimization.
This skill applies to Java 21+ projects. For projects using CuiLogger, LogRecord, or other libraries from the pm-dev-java-cui bundle, load that bundle's skills additionally.
Load this standard for any Java implementation work.
Read: standards/java-core-patterns.md
This provides foundational rules for:
Java 17 Features (load for new code):
Read: standards/java-17-features.md
Use when: Writing new code or modernizing existing code. Covers records, switch expressions, pattern matching for instanceof, sealed classes, text blocks, streams, and Optional usage.
Java 21 Features (load for Java 21+ code):
Read: standards/java-21-features.md
Use when: Using Java 21 features — pattern matching in switch, record patterns, sequenced collections, and virtual threads.
Java 25 Features (load for Java 25+ code):
Read: standards/java-25-features.md
Use when: Using Java 25 features — scoped values, flexible constructor bodies, module imports, compact source files, KDF API, and JVM performance flags (AOT cache, compact headers).
Concurrency Patterns (load for multi-threaded code):
Read: standards/java-concurrency.md
Use when: Writing concurrent or multi-threaded code. Covers why to avoid volatile/double-checked locking, lock selection (ReentrantLock, StampedLock, atomics), virtual thread rules, ScopedValue vs ThreadLocal, concurrent collections, and common pitfalls.
Performance Patterns (load for optimization work):
Read: standards/java-performance-patterns.md
Use when: Optimizing code or designing high-performance components. Covers string handling, autoboxing, collection sizing, thread safety, exception handling, and logging performance.
DSL-Style Nested Constants (load for constant organization):
Read: standards/dsl-constants.md
Use when: Organizing related constants hierarchically using nested static classes with @UtilityClass. Covers configuration keys, error codes, resource bundles, logging messages, and best practices.
Security Patterns (load for security-sensitive code):
Read: standards/java-security-patterns.md
Use when: Working with authentication, encryption, secrets, or sensitive data. Covers secure logging rules, startup config validation, anti-patterns (hardcoded secrets, insecure error messages), and security principles.
plan-marshall:dev-general-code-quality - Language-agnostic code quality principlespm-dev-java:java-null-safety - JSpecify null annotationspm-dev-java:java-lombok - Lombok patternspm-dev-java:junit-core - JUnit 5 testing patternspm-dev-java:javadoc - JavaDoc documentation standardstesting
A test skill for README generation
testing
A test skill with existing references
tools
Skill without references directory
development
Test skill with table-format references