ワンクリックで
stack-java
Java coding standards for Spring Boot and Quarkus services — naming, immutability, Optional, streams, DI
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Java coding standards for Spring Boot and Quarkus services — naming, immutability, Optional, streams, DI
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Generate repository wiki pages mapping architecture, specs, and status. Trigger: orchestrator launches sdd-document.
Shared SDD references for installed skills. Not invokable.
Read-only generalist screening contract for selective 4R review.
Read-only targeted correction validator for a bounded review lineage.
Write SDD delta specs with requirements and scenarios. Trigger: orchestrator launches spec work for a change.
Create pull requests with branch, validation, and publication checks. Trigger: creating, opening, or preparing PRs for review.
| name | stack-java |
| description | Java coding standards for Spring Boot and Quarkus services — naming, immutability, Optional, streams, DI |
| license | Apache-2.0 |
| metadata | {"author":"manuel-retamozo-garcia","version":"1.0"} |
| capabilities | ["java"] |
pom.xml or Gradle build.gradle):
quarkus -> apply [QUARKUS] conventions.spring-boot -> apply [SPRING] conventions.PascalCase (e.g., MarketService, Money).camelCase (e.g., marketRepository, findBySlug).UPPER_SNAKE_CASE (e.g., MAX_PAGE_SIZE = 100).*Resource (e.g., MarketResource), not *Controller.*Controller (e.g., MarketController).public record MarketDto(Long id, String name, MarketStatus status) {}
@Entity
public class Market extends PanacheEntity {
public String name;
public MarketStatus status;
}
Optional from find* query methods instead of returning null or throwing immediate exceptions..get() directly:
return market
.map(MarketResponse::from)
.orElseThrow(() -> new EntityNotFoundException("Market not found"));
@Autowired injection:
@Service
public class MarketService {
private final MarketRepository marketRepository;
public MarketService(MarketRepository marketRepository) {
this.marketRepository = marketRepository;
}
}
@Inject:
@ApplicationScoped
public class MarketService {
private final MarketRepository marketRepository;
@Inject
public MarketService(MarketRepository marketRepository) {
this.marketRepository = marketRepository;
}
}