Install
Terminal · npx$
npx skills add https://github.com/affaan-m/everything-claude-code --skill java-coding-standardsWorks with Paperclip
How Java Coding Standards fits into a Paperclip company.
Java Coding Standards drops into any Paperclip agent that handles this kind of work. Assign it to a specialist inside a pre-configured PaperclipOrg company and the skill becomes available on every heartbeat — no prompt engineering, no tool wiring.
S
SaaS FactoryPaired
Pre-configured AI company — 18 agents, 18 skills, one-time purchase.
$27$59
Explore packSource file
SKILL.md147 linesExpandCollapse
---name: java-coding-standardsdescription: "Java coding standards for Spring Boot services: naming, immutability, Optional usage, streams, exceptions, generics, and project layout."origin: ECC--- # Java Coding Standards Standards for readable, maintainable Java (17+) code in Spring Boot services. ## When to Activate - Writing or reviewing Java code in Spring Boot projects- Enforcing naming, immutability, or exception handling conventions- Working with records, sealed classes, or pattern matching (Java 17+)- Reviewing use of Optional, streams, or generics- Structuring packages and project layout ## Core Principles - Prefer clarity over cleverness- Immutable by default; minimize shared mutable state- Fail fast with meaningful exceptions- Consistent naming and package structure ## Naming ```java// PASS: Classes/Records: PascalCasepublic class MarketService {}public record Money(BigDecimal amount, Currency currency) {} // PASS: Methods/fields: camelCaseprivate final MarketRepository marketRepository;public Market findBySlug(String slug) {} // PASS: Constants: UPPER_SNAKE_CASEprivate static final int MAX_PAGE_SIZE = 100;``` ## Immutability ```java// PASS: Favor records and final fieldspublic record MarketDto(Long id, String name, MarketStatus status) {} public class Market { private final Long id; private final String name; // getters only, no setters}``` ## Optional Usage ```java// PASS: Return Optional from find* methodsOptional<Market> market = marketRepository.findBySlug(slug); // PASS: Map/flatMap instead of get()return market .map(MarketResponse::from) .orElseThrow(() -> new EntityNotFoundException("Market not found"));``` ## Streams Best Practices ```java// PASS: Use streams for transformations, keep pipelines shortList<String> names = markets.stream() .map(Market::name) .filter(Objects::nonNull) .toList(); // FAIL: Avoid complex nested streams; prefer loops for clarity``` ## Exceptions - Use unchecked exceptions for domain errors; wrap technical exceptions with context- Create domain-specific exceptions (e.g., `MarketNotFoundException`)- Avoid broad `catch (Exception ex)` unless rethrowing/logging centrally ```javathrow new MarketNotFoundException(slug);``` ## Generics and Type Safety - Avoid raw types; declare generic parameters- Prefer bounded generics for reusable utilities ```javapublic <T extends Identifiable> Map<Long, T> indexById(Collection<T> items) { ... }``` ## Project Structure (Maven/Gradle) ```src/main/java/com/example/app/ config/ controller/ service/ repository/ domain/ dto/ util/src/main/resources/ application.ymlsrc/test/java/... (mirrors main)``` ## Formatting and Style - Use 2 or 4 spaces consistently (project standard)- One public top-level type per file- Keep methods short and focused; extract helpers- Order members: constants, fields, constructors, public methods, protected, private ## Code Smells to Avoid - Long parameter lists → use DTO/builders- Deep nesting → early returns- Magic numbers → named constants- Static mutable state → prefer dependency injection- Silent catch blocks → log and act or rethrow ## Logging ```javaprivate static final Logger log = LoggerFactory.getLogger(MarketService.class);log.info("fetch_market slug={}", slug);log.error("failed_fetch_market slug={}", slug, ex);``` ## Null Handling - Accept `@Nullable` only when unavoidable; otherwise use `@NonNull`- Use Bean Validation (`@NotNull`, `@NotBlank`) on inputs ## Testing Expectations - JUnit 5 + AssertJ for fluent assertions- Mockito for mocking; avoid partial mocks where possible- Favor deterministic tests; no hidden sleeps **Remember**: Keep code intentional, typed, and observable. Optimize for maintainability over micro-optimizations unless proven necessary.Related skills
Agent Eval
Install Agent Eval skill for Claude Code from affaan-m/everything-claude-code.
Agent Harness Construction
Install Agent Harness Construction skill for Claude Code from affaan-m/everything-claude-code.
Agent Payment X402
Install Agent Payment X402 skill for Claude Code from affaan-m/everything-claude-code.