Microservice DesignerSAFE
Overview
An agent skill published by revfactory.
459e1bb8f76eOBSERVED · 2026-10-12What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: microservice-designer
description: "마이크로서비스 아키텍처를 설계·분해·통신·모니터링하는 풀 파이프라인. 도메인 분석, 서비스 설계, 통신 패턴, 관측성을 에이전트 팀이 협업하여 수행한다. '마이크로서비스 아키텍처 설계해줘', '서비스 분해해줘', 'MSA 설계', '도메인 분석해줘', '이벤트 기반 아키텍처', '서비스 간 통신 설계', '분산 시스템 설계', 'API 게이트웨이 설계' 등 마이크로서비스 설계 전반에 이 스킬을 사용한다. 기존 모놀리스에서 MSA로 전환하는 경우에도 지원한다. 단, 실제 인프라 구축, Kubernetes 배포, 코드 구현은 이 스킬의 범위가 아니다."
---
# Microservice Designer — 마이크로서비스 아키텍처 설계 파이프라인
도메인 분석→서비스 설계→통신 설계→관측성 설계를 에이전트 팀이 협업하여 수행한다.
## 실행 모드
**에이전트 팀** — 5명이 SendMessage로 직접 통신하며 교차 검증한다.
## 에이전트 구성
| 에이전트 | 파일 | 역할 | 타입 |
|---------|------|------|------|
| domain-analyst | `.claude/agents/domain-analyst.md` | 바운디드 컨텍스트, 이벤트 스토밍 | general-purpose |
| service-architect | `.claude/agents/service-architect.md` | API 계약, 데이터 소유권, 배포 단위 | general-purpose |
| communication-designer | `.claude/agents/communication-designer.md` | 동기/비동기, 이벤트 버스, Saga | general-purpose |
| observability-engineer | `.claude/agents/observability-engineer.md` | 메트릭, 로깅, 트레이싱, 알림 | general-purpose |
| architecture-reviewer | `.claude/agents/architecture-reviewer.md` | 교차 검증, 안티패턴 검출 | general-purpose |
## 워크플로우
### Phase 1: 준비 (오케스트레이터 직접 수행)
1. 사용자 입력에서 추출한다:
- **비즈니스 도메인**: 어떤 시스템/서비스를 설계하는가
- **현재 상태** (선택): 모놀리스 전환인지, 신규 설계인지
- **규모/제약** (선택): 예상 트래픽, 팀 규모, 기술 스택 제한
- **기존 문서** (선택): ERD, 아키텍처 문서, API 문서 등
2. `_workspace/` 디렉토리를 프로젝트 루트에 생성한다
3. 입력을 정리하여 `_workspace/00_input.md`에 저장한다
4. 기존 파일이 있으면 해당 Phase를 건너뛴다
### Phase 2: 팀 구성 및 실행
| 순서 | 작업 | 담당 | 의존 | 산출물 |
|------|------|------|------|--------|
| 1 | 도메인 분석 | analyst | 없음 | `_workspace/01_domain_analysis.md` |
| 2 | 서비스 설계 | architect | 작업 1 | `_workspace/02_service_design.md` |
| 3a | 통신 설계 | comm-designer | 작업 1, 2 | `_workspace/03_communication_design.md` |
| 3b | 관측성 설계 | obs-engineer | 작업 2 | `_workspace/04_observability_design.md` |
| 4 | 아키텍처 리뷰 | reviewer | 작업 1~3b | `_workspace/05_review_report.md` |
작업 3a(통신)와 3b(관측성)는 **병렬 실행** 가능하다.
**팀원 간 소통 흐름:**
- analyst 완료 → architect에게 바운디드 컨텍스트·애그리거트 전달, comm-designer에게 도메인 이벤트 전달
- architect 완료 → comm-designer에게 서비스 카탈로그·API 계약 전달, obs-engineer에게 서비스 목록·의존성 전달
- comm-designer 완료 → obs-engineer에게 통신 매트릭스·Saga 흐름 전달
- reviewer는 모든 산출물을 교차 검증. 🔴 필수 수정 발견 시 해당 에이전트에게 수정 요청 → 재작업 → 재검증 (최대 2회)
### Phase 3: 통합 및 최종 산출물
1. `_workspace/` 내 모든 파일을 확인한다
2. 리뷰 보고서의 🔴 필수 수정이 모두 반영되었는지 확인한다
3. 최종 요약을 사용자에게 보고한다
## 작업 규모별 모드
| 사용자 요청 패턴 | 실행 모드 | 투입 에이전트 |
|----------------|----------|-------------|
| "마이크로서비스 아키텍처 설계해줘" | **풀 파이프라인** | 5명 전원 |
| "도메인 분석해줘", "이벤트 스토밍" | **도메인 모드** | analyst + reviewer |
| "서비스 분해해줘" (도메인 분석 있음) | **서비스 모드** | architect + reviewer |
| "서비스 간 통신 설계해줘" | **통신 모드** | comm-designer + reviewer |
| "모니터링/관측성 설계해줘" | **관측성 모드** | obs-engineer + reviewer |
## 데이터 전달 프로토콜
| 전략 | 방식 | 용도 |
|------|------|------|
| 파일 기반 | `_workspace/` 디렉토리 | 주요 산출물 저장 및 공유 |
| 메시지 기반 | SendMessage | 실시간 핵심 정보 전달, 수정 요청 |
| 태스크 기반 | TaskCreate/TaskUpdate | 진행 상황 추적, 의존 관계 관리 |
## 에러 핸들링
| 에러 유형 | 전략 |
|----------|------|
| 도메인 정보 부족 | 유사 도메인 참조 패턴으로 초안 작성, 사용자 검증 요청 |
| 서비스 수 과다 | 모듈형 모놀리스 → 점진적 분리 로드맵 제안 |
| 에이전트 실패 | 1회 재시도 → 실패 시 해당 산출물 없이 진행, 리뷰에 누락 명시 |
| 리뷰에서 🔴 발견 | 해당 에이전트에 수정 요청 → 재작업 → 재검증 (최대 2회) |
| 분산 모놀리스 징후 | architect에게 서비스 경계 재조정 요청 |
## 테스트 시나리오
### 정상 흐름
**프롬프트**: "이커머스 플랫폼을 마이크로서비스 아키텍처로 설계해줘. 주문, 결제, 배송, 재고, 사용자 관리가 핵심 기능이야"
**기대 결과**:
- 도메인: 5개 바운디드 컨텍스트, 컨텍스트 맵, 이벤트 스토밍 결과
- 서비스: 5~7개 서비스 카탈로그, API 계약, 데이터 소유권 매핑
- 통신: 주문-결제-배송 Saga, 이벤트 버스 토픽 설계, 서킷 브레이커 설정
- 관측성: SLI/SLO 정의, 분산 트레이싱 설계, 알림 체계
- 리뷰: 전 항목 정합성 검증, 분산 시스템 안티패턴 검사
### 기존 파일 활용 흐름
**프롬프트**: "현재 Django 모놀리스를 MSA로 전환하고 싶어. ERD와 API 문서가 있어" + 파일 첨부
**기대 결과**:
- 기존 ERD에서 바운디드 컨텍스트를 역추출
- Strangler Fig 패턴 기반 점진적 전환 로드맵 포함
- 기존 API 하위 호환성 유지 전략 포함
### 에러 흐름
**프롬프트**: "마이크로서비스로 채팅 앱 만들어줘"
**기대 결과**:
- "설계"와 "구현"을 구분하여 설계만 수행
- 실시간 통신(WebSocket/SSE) 특화 통신 설계 포함
- 구현은 이 스킬 범위 밖임을 안내
## 에이전트별 확장 스킬
| 스킬 | 경로 | 강화 대상 에이전트 | 역할 |
|------|------|-----------------|------|
| ddd-context-mapping | `.claude/skills/ddd-context-mapping/skill.md` | domain-analyst, service-architect | 바운디드 컨텍스트 식별, 이벤트 스토밍, 컨텍스트 맵 관계 유형, 애그리거트 설계 |
| distributed-patterns | `.claude/skills/distributed-patterns/skill.md` | communication-designer, service-architect | 분산 트랜잭션(Saga), CQRS, Circuit Breaker, Event Sourcing 구현 패턴 |Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | NA |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (0)
No findings outside the package's declared scope.
Gates applied: no_behavioural_pass.
459e1bb8f76efull audit observations/trust-audit/skill/revfactory__microservice-designer.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-12 | 459e1bb8f76e | SAFE | B | 89 | first audit |
Questions
Is Microservice Designer safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can Microservice Designer access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
How current is this page?
The grade is for one exact copy of the source (459e1bb8f76e), read on 2026-10-12. The repository is watched, and a new audit runs when it changes — this is the first audit.