java-architect — скилл для Claude Code: Java и установка
Скилл помогает проектировать Java-приложения на Spring Boot, писать реактивные API, разбирать запросы JPA и настраивать безопасность через OAuth2 и JWT.
npx skills add Jeffallan/claude-skills --skill java-architect -a claude-codeЧто делает java-architect
java-architect сопровождает разработку от анализа структуры проекта до проверки тестов. Он помогает разделять доменную логику и инфраструктуру, создавать сервисы и REST-контроллеры, настраивать Spring Boot 3.x и применять возможности Java 21 LTS. Для работы с разными задачами предусмотрены отдельные справочники по настройке Spring Boot, реактивным API, доступу к данным, безопасности и тестированию.
При работе с базой данных скилл предлагает проверять запросы и отображения Hibernate через ./mvnw verify -pl <module>. Для защиты API он настраивает Spring Security, проверку JWT и правила доступа. После изменений в безопасности нужно запускать ./mvnw verify и при ошибках проверять порядок бинов SecurityFilterChain и конфигурацию проверки токенов.
В проекте также должны быть миграции Flyway или Liquibase, документация API через OpenAPI или Swagger и обработка исключений. Для реактивных приложений есть жёсткое ограничение: блокирующий код использовать нельзя. Финальная проверка выполняется через ./mvnw verify для Maven либо ./gradlew check для Gradle; целевой порог покрытия тестами составляет 85%.
Какие задачи решает
- Разделить доменную модель и инфраструктурный код Java-приложения
- Создать реактивные REST-эндпоинты на Spring WebFlux
- Найти причины медленных запросов JPA и проблемы N+1
- Настроить проверку JWT и правила доступа Spring Security
- Проверить тесты и покрытие кода перед завершением разработки
Примеры запросов агенту
- Проанализируй архитектуру проекта на Spring Boot 3.x и предложи разделение доменной логики по Clean Architecture.
- Создай реактивный REST-эндпоинт для заказов через Spring WebFlux и добавь тесты.
- Проверь запросы JPA на проблему N+1, исправь их и запусти `./mvnw verify -pl <module>`.
Как установить java-architect
1Через Skills CLI (Vercel)
npx skills add Jeffallan/claude-skills --skill java-architect -a claude-code2Вручную: положить файлы
~/.claude/skills/java-architect/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/java-architect/
1Через Skills CLI (Vercel)
npx skills add Jeffallan/claude-skills --skill java-architect -a codex2Вручную: положить файлы
.agents/skills/java-architect/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Jeffallan/claude-skills --skill java-architect -a cursor2Вручную: положить файлы
.cursor/skills/java-architect/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Jeffallan/claude-skills java-architect2Вручную: положить файлы
.github/skills/java-architect/SKILL.md1Через Skills CLI (Vercel)
npx skills add Jeffallan/claude-skills --skill java-architect -a gemini-cli2Командой платформы
gemini skills install https://github.com/Jeffallan/claude-skills --path skills/java-architectВручную: положить файлы
.devin/skills/java-architect/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Jeffallan/claude-skills --skill java-architect -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора61
Весь набор →Похожие
Вопросы о java-architect
Как установить java-architect в Claude Code?
Выполни npx skills add Jeffallan/claude-skills --skill java-architect -a claude-code. Файл скилла находится по пути ~/.claude/skills/java-architect/SKILL.md.
Что делает java-architect?
Скилл помогает разрабатывать приложения на Spring Boot, создавать WebFlux-эндпоинты, настраивать Spring Security и улучшать запросы JPA. Он также задаёт порядок проверки тестов и архитектурных решений.
Какие требования java-architect предъявляет к тестам?
Для Maven используется ./mvnw verify, для Gradle — ./gradlew check. Целевое покрытие составляет 85%; при недостижении порога скилл предлагает найти непроверенные ветви по отчёту JaCoCo и добавить тесты.
Исходный текст
SKILL.md · MIT
---
name: java-architect
description: Use when building, configuring, or debugging enterprise Java applications with Spring Boot 3.x, microservices, or reactive programming. Invoke to implement WebFlux endpoints, optimize JPA queries and database performance, configure Spring Security with OAuth2/JWT, or resolve authentication issues and async processing challenges in cloud-native Spring applications.
license: MIT
metadata:
author: https://github.com/Jeffallan
company: https://synergetic.solutions
version: "1.1.0"
domain: language
triggers: Spring Boot, Java, microservices, Spring Cloud, JPA, Hibernate, WebFlux, reactive, Java Enterprise
role: architect
scope: implementation
output-format: code
related-skills: fullstack-guardian, api-designer, devops-engineer, database-optimizer
---
# Java Architect
Enterprise Java specialist focused on Spring Boot 3.x, microservices architecture, and cloud-native development using Java 21 LTS.
## Core Workflow
1. **Architecture analysis** - Review project structure, dependencies, Spring config
2. **Domain design** - Create models following DDD and Clean Architecture; verify domain boundaries before proceeding. If boundaries are unclear, resolve ambiguities before moving to implementation.
3. **Implementation** - Build services with Spring Boot best practices
4. **Data layer** - Optimize JPA queries, implement repositories; run `./mvnw verify -pl <module>` to confirm query correctness. If integration tests fail: review Hibernate SQL logs, fix queries or mappings, re-run before proceeding.
5. **Security & config** - Apply Spring Security, externalize configuration, add observability; run `./mvnw verify` after security changes to confirm filter chain and JWT wiring. If tests fail: check `SecurityFilterChain` bean order and token validation config, then re-run.
6. **Quality assurance** - Run `./mvnw verify` (Maven) or `./gradlew check` (Gradle) to confirm all tests pass and coverage reaches 85%+ before closing. If coverage is below threshold: identify untested branches via JaCoCo report (`target/site/jacoco/index.html`), add missing test cases, re-run.
## Reference Guide
Load detailed guidance based on context:
| Topic | Reference | Load When |
|-------|-----------|-----------|
| Spring Boot | `references/spring-boot-setup.md` | Project setup, configuration, starters |
| Reactive | `references/reactive-webflux.md` | WebFlux, Project Reactor, R2DBC |
| Data Access | `references/jpa-optimization.md` | JPA, Hibernate, query tuning |
| Security | `references/spring-security.md` | OAuth2, JWT, method security |
| Testing | `references/testing-patterns.md` | JUnit 5, TestContainers, Mockito |
## Constraints
### MUST DO
- Use Java 21 LTS features (records, sealed classes, pattern matching)
- Apply database migrations (Flyway/Liquibase)
- Document APIs with OpenAPI/Swagger
- Use proper exception handling hierarchy
- Externalize all configuration (never hardcode values)
### MUST NOT DO
- Use deprecated Spring APIs
- Skip input validation
- Store sensitive data unencrypted
- Use blocking code in reactive applications
- Ignore transaction boundaries
## Output Templates
When implementing Java features, provide:
1. Domain models (entities, DTOs, records)
2. Service layer (business logic, transactions)
3. Repository interfaces (Spring Data)
4. Controller/REST endpoints
5. Test classes with comprehensive coverage
6. Brief explanation of architectural decisions
## Code Examples
### Minimal WebFlux REST Endpoint
```java
@RestController
@RequestMapping("/api/v1/orders")
@RequiredArgsConstructor
public class OrderController {
private final OrderService orderService;
@GetMapping("/{id}")
public Mono<ResponseEntity<OrderDto>> getOrder(@PathVariable UUID id) {
return orderService.findById(id)
.map(ResponseEntity::ok)
.defaultIfEmpty(ResponseEntity.notFound().build());
}
@PostMapping
@ResponseStatus(HttpStatus.CREATED)
public Mono<OrderDto> createOrder(@Valid @RequestBody CreateOrderRequest request) {
return orderService.create(request);
}
}
```
### JPA Repository with Optimized Query
```java
public interface OrderRepository extends JpaRepository<Order, UUID> {
// Avoid N+1: fetch association in one query
@Query("SELECT o FROM Order o JOIN FETCH o.items WHERE o.customerId = :customerId")
List<Order> findByCustomerIdWithItems(@Param("customerId") UUID customerId);
// Projection to limit fetched columns
@Query("SELECT new com.example.dto.OrderSummary(o.id, o.status, o.total) FROM Order o WHERE o.status = :status")
Page<OrderSummary> findSummariesByStatus(@Param("status") OrderStatus status, Pageable pageable);
}
```
### Spring Security OAuth2 JWT Configuration
```java
@Configuration
@EnableMethodSecurity
public class SecurityConfig {
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
return http
.csrf(AbstractHttpConfigurer::disable)
.sessionManagement(s -> s.sessionCreationPolicy(STATELESS))
.authorizeHttpRequests(auth -> auth
.requestMatchers("/actuator/health").permitAll()
.anyRequest().authenticated())
.oauth2ResourceServer(oauth2 -> oauth2.jwt(Customizer.withDefaults()))
.build();
}
}
```
## Knowledge Reference
Spring Boot 3.x, Java 21, Spring WebFlux, Project Reactor, Spring Data JPA, Spring Security, OAuth2/JWT, Hibernate, R2DBC, Spring Cloud, Resilience4j, Micrometer, JUnit 5, TestContainers, Mockito, Maven/Gradle
Maintained by [@jeffallan](https://github.com/jeffallan), Principal Consultant at [Synergetic Solutions](https://synergetic.solutions)
[Documentation](https://jeffallan.github.io/claude-skills/skills/language/java-architect/)
© https://github.com/Jeffallan · MIT · Jeffallan/claude-skills