application-expert
UseCase 설계, Transaction 경계 관리, CQRS 적용. @Transactional 내 외부 API 호출 금지. /kb-application 명령 시 자동 활성화.
Best use case
application-expert is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
UseCase 설계, Transaction 경계 관리, CQRS 적용. @Transactional 내 외부 API 호출 금지. /kb-application 명령 시 자동 활성화.
Teams using application-expert should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/application-expert/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How application-expert Compares
| Feature / Agent | application-expert | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
UseCase 설계, Transaction 경계 관리, CQRS 적용. @Transactional 내 외부 API 호출 금지. /kb-application 명령 시 자동 활성화.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Application Layer 전문가
## 핵심 원칙 (Zero-Tolerance)
### ✅ Mandatory
1. **@Transactional 필수** - Command UseCase에 필수
2. **Port 인터페이스 의존** - SaveOrderPort, LoadOrderPort
3. **Command/Query 분리** - CQRS 패턴
4. **Inner Record DTO** - UseCase 내부에 Command, Response
5. **Domain 로직 위임** - 비즈니스 로직은 Domain에
6. **@Component 필수** - UseCase 구현체는 Spring Bean
7. **Port In/Out 분리** - Input Port (UseCase), Output Port (Adapter)
### ❌ Prohibited
1. **Domain 로직 금지** - UseCase에 비즈니스 로직 진입 금지
2. **@Transactional 내 외부 API 금지** - RestTemplate, WebClient 호출 금지
3. **Entity 직접 반환 금지** - DTO 변환 필수
4. **Service 명명 금지** - XxxService → XxxUseCase
5. **Orchestration 로직 금지** - 복잡한 다중 UseCase 조합 금지
6. **Transaction 중첩 금지** - REQUIRES_NEW 사용 금지
7. **Public DTO 금지** - Command/Response는 UseCase 내부 Record
## 예시
### ✅ CORRECT: UseCase 패턴
```java
@Component
@Transactional
public class PlaceOrderService implements PlaceOrderUseCase {
private final SaveOrderPort saveOrderPort;
@Override
public Response execute(Command command) {
Order order = Order.create(command.customerId(), ...);
order.place(); // Domain 비즈니스 메서드
Order saved = saveOrderPort.save(order);
return new Response(saved.getOrderIdValue(), ...);
}
public record Command(Long customerId, ...) {}
public record Response(String orderId, ...) {}
}
```
### ❌ WRONG: @Transactional 내 외부 API
```java
@Transactional
public Response execute(Command command) {
saveOrderPort.save(order);
// ❌ 금지
restTemplate.postForEntity("http://external-api/payment", ...);
}
```
## 참조
- **전체 가이드**: [Application Guide](../../../docs/coding_convention/03-application-layer/application-guide.md)
- **상세 규칙 + 템플릿**: [REFERENCE.md](./REFERENCE.md)
- **Transaction 관리**: docs/coding_convention/03-application-layer/transaction-management/
## 자동 활성화
`/kb-application /go|red|green|refactor|tidy` 실행 시 자동 활성화.Related Skills
AI Integration Expert
Work with Leavn AI features - UnifiedAIService, on-device models, devotional generation, novelization, kids mode, image generation with Stable Diffusion
ai-engineer-expert
Expert-level AI implementation, deployment, LLM integration, and production AI systems
ai-architect-expert
Expert-level AI system design, MLOps, architecture patterns, and AI infrastructure
applications
Manage and query job applications. Use when the user wants to add, view, update, or analyze their job applications.
application-metrics
Guide for instrumenting applications with metrics. Use when adding observability, monitoring, metrics, counters, gauges, or instrumentation to code. Covers API endpoints, databases, queues, caching, and locks.
html-tailwind-css-and-javascript-expert-rule
Sets the AI to act as an expert in HTML, Tailwind CSS, and vanilla JavaScript, focusing on clarity and readability for all HTML, JS, and CSS files.
aria-expert
Expert knowledge of WAI-ARIA (Accessible Rich Internet Applications). Use when users ask about ARIA roles, states, properties, accessible name computation, ARIA attributes (aria-label, aria-labelledby, aria-describedby, etc.), widget roles, landmark roles, live regions, ARIA best practices, or how to implement accessible interactive components. Also use for questions about ARIA specifications, API mappings (core-aam, html-aam), digital publishing ARIA (dpub-aria), graphics ARIA, or any ARIA implementation questions.
angular-expert
Angular framework expert including components, services, RxJS, templates, and testing
service-mesh-expert
Expert service mesh architect specializing in Istio, Linkerd, and cloud-native networking patterns. Masters traffic management, security policies, observability integration, and multi-cluster mesh con
playwright-expert
Use when writing E2E tests with Playwright, setting up test infrastructure, or debugging flaky browser tests. Invoke for browser automation, E2E tests, Page Object Model, test flakiness, visual testing, CI/CD pipeline optimization.
keycloak-expert
This skill should be used when the user asks to 'configure Keycloak', 'set up ABAC', 'create Keycloak realm', 'integrate Azure AD with Keycloak', 'implement authorization services', 'configure OIDC client', 'create Keycloak policies', 'set up UMA/RPT tokens', 'deploy Keycloak on OpenShift', 'integrate Spring Security with Keycloak', 'configure NextAuth.js with Keycloak', 'create protocol mappers', 'map Azure groups to roles', or needs guidance on Keycloak realm/client configuration, ABAC policies and permissions, identity provider federation, or Configuration as Code patterns.
go-expert
Expert guidance for Go (Golang) development following industry best practices. Use when writing Go code, reviewing PRs, bootstrapping new services, configuring linters, implementing observability, or troubleshooting Go applications. Covers SOLID principles, Gang of Four design patterns, domain-driven structure, error handling, context patterns, concurrency, testing, structured logging, health endpoints, and CI gates.