ddd-workshop/skills/bigpicture/SKILL.md
빅픽처 이벤트스토밍의 1:1 분석 도구. 학습 단계(domain-classroom)에서 머리에 박힌 도메인 일반 패턴을 클라이언트 시스템에 매핑해 빅픽처 산출물(시간순 도메인 이벤트·페이즈·액터·외부시스템·핫스팟·피벗)을 누적한다. domain-classroom의 학습 노트(docs/learning-notes/{도메인}- classroom.md)와 클라이언트 자료(RFP·요구사항정의서·기존 시스템 스키마)를 입력으로 받아 페이즈 단위로 진행. 페르소나·서사 없는 분석 톤. 도메인 이벤트 판별 4기준(도메인 전문가 관심·비즈니스 상태 변화·법적 의미·다른 흐름 트리거)을 명시 적용해 UI/Telemetry 이벤트 혼입 방지. 이벤트는 한국어 자연어 + Code Identifier 이중 표기. 핫스팟에 ID·답할 위치·확신도 태그 부여. 산출물은 docs/eventstorming.md 단일 파일로 시작, 후속 단계 스킬(process-modeling·software-design)이 추가될 때 폴더로 자연 분기. Initial/Update/Cycle 모드 지원 — 코드 작성 후에도 다시 사이클 가능. Triggers — "빅픽처", "빅픽처 만들어줘", "이벤트스토밍", "도메인 이벤트 정리", "Big Picture EventStorming", "페이즈 매핑", "도메인 산출물 정리", "/bigpicture".
npx skillsauth add dev-goraebap/skills bigpictureInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
ddd-workshop 파이프라인의 빅픽처 이벤트스토밍 단계. 클라이언트 시스템의 도메인 빅픽처 산출물을 1:1로 누적한다.
빅픽처 이벤트스토밍의 1:1 분석 도구. 그룹 워크샵을 못 하는 환경(SI·소규모·1인)에서 빅픽처 정통 산출물을 한 사람이 만들고 진화시킬 수 있게 한다.
핵심 차별점:
| | 그룹 빅픽처 워크샵 | bigpicture (이 스킬) | |------|------------------|---------------------| | 매체 | 큰 벽 + 포스트잇 | 마크다운 파일 | | 참여자 | 도메인 전문가 + 개발자 + 운영 | 사용자 1명 + AI | | 도메인 지식 | 전문가가 가져옴 | 사전 학습(domain-classroom)에서 빌드업됨 | | 클라이언트 특수성 | 전문가 발화 | 클라이언트 자료 + 사용자 검증 | | 산출물 | 벽 사진·디지털 보드 | docs/eventstorming.md (구조화된 마크다운) |
학습은 이전 단계 domain-classroom에서 끝났다. 이 스킬은 이미 학습된 도메인을 클라이언트 시스템에 매핑하는 분석 도구.
권위 출처(Brandolini, Vaughn Vernon)의 빅픽처 정식 산출물만 다룬다:
| 산출물 | 빅픽처에 포함 | |--------|------------| | 시간순 도메인 이벤트 | ✅ | | 페이즈 (Phase) | ✅ | | Pivotal Events | ✅ | | 액터 | ✅ | | 외부 시스템 | ✅ | | 핫스팟 | ✅ | | 서브도메인 후보 (그림자) | 🟡 부록 임시 — 다음 스킬로 이전 | | BC 정식 설계 | ❌ Strategic Design 단계 | | Aggregate | ❌ Software Design 단계 | | Ubiquitous Language 정식 | ❌ Context Design 단계 (이벤트·액터에 자연 박힘) | | Command·Policy·Read Model | ❌ Process Modeling 단계 |
권위 출처가 일관 강조: 이벤트는 과거형 + 도메인 전문가 자연어.
🟧 사원 사전 등록됨 `EmployeePreRegistered`
🟧 회원 등록됨 `MemberRegistered`
한국어 자연어가 1차, Code Identifier는 보조. 코드 식별자만 박는 건 Software Design 단계 표기.
이벤트 표에 넣기 전 4기준을 통과해야 한다. UI/Telemetry/기술 이벤트 혼입 방지.
| # | 질문 | 통과 | |---|------|------| | 1 | 도메인 전문가가 관심 있어 하나? | 인사담당자가 신경 쓸 일인가? | | 2 | 비즈니스 상태가 영구 변했나? | DB 영구 변화? 외부 약속 발생? | | 3 | 법적·규제적 의미가 있나? | 개인정보·계약·결제 등 | | 4 | 다른 흐름의 트리거가 되나? | 후속 액터·시스템 행동 유발? |
2개 이상 ✅ = 도메인 이벤트. 1개 이하면 혼입 위험.
배제 예시:
/ddd-workshop:bigpicturedomain-classroom 산출물 없이 단독 사용도 가능 (자동 fallback). 다만 학습이 안 된 도메인은 핫스팟이 폭발할 수 있음.
| # | 입력 | 활용 |
|---|------|------|
| 1 | domain-classroom 산출물 (docs/learning-notes/{도메인}-classroom.md) | 페이즈·일반 액터·법령 자동 추출 |
| 2 | 클라이언트 자료 (RFP·요구사항정의서·기존 스키마) | 클라이언트 특수성·시스템 범위 |
| 3 | 사용자 발화 | 위 둘에서 누락된 정보 |
docs/learning-notes/ 아래 있으면 자동 읽기| 자료 | 추출 | |------|------| | domain-classroom | 보편 페이즈 목록 + 일반 액터 + 관련 법령·표준 | | 클라이언트 RFP | 시스템 범위 (예: "채용은 안 다룸") + 도입 동기 + 기존 시스템 마이그레이션 여부 | | 기존 스키마·코드 | 실제 사원/주문 같은 엔티티명, 기존 사용 용어 (UL 씨앗) |
| 모드 | 트리거 | 동작 |
|------|--------|------|
| Initial | docs/eventstorming.md 없음 | 새로 만들기 |
| Update | 파일 있음 + 동일 세션에서 추가 입력 | 변경분 누적 |
| Cycle | 파일 있음 + 시간 지난 후 다시 호출 (코드 작성 후 등) | 기존 파일 + 새 발견 사항 → 갱신 |
자동 감지. 사용자가 명시적으로 "새로 시작"을 요청하면 Initial로 강제 가능.
domain-classroom 산출물 + 클라이언트 자료를 읽어 다음을 정리:
사용자 확인 후 다음 단계.
페이즈 하나씩 다음을 채운다:
### 페이즈 N: {페이즈명}
**한 줄 핵심**: {이 페이즈에서 일어나는 일 한 줄}
**시간순 이벤트** (도메인 이벤트 4기준 통과한 것만):
| # | 이벤트 (한국어, 과거형) | Code Identifier | 액터 | 비고 |
|---|----------------------|----------------|------|------|
| 1 | ⭐ 사원 사전 등록됨 | `EmployeePreRegistered` | 인사담당자 | 페이즈 시작점 |
| 2 | 🟧 ... | `...` | ... | |
**페이즈 핫스팟** (이 페이즈에 국한된 것만):
- H1 [확실: 노무] {핫스팟}
- H2 [추측] {핫스팟}
(절 분리 옵션 — 영속 흐름 vs 1회성 백필 같은 별도 흐름이면)
**절 A. {흐름 이름}**: ...
**절 B. {흐름 이름}**: ...
한 응답에 한 페이즈까지만. 검증 후 다음 페이즈.
페이즈 끝에 사용자에게:
답 안 해도 다음으로 진행 가능.
페이즈 단위 정보가 누적되면 횡단 매트릭스를 갱신:
각 페이즈 끝에 사용자에게 한 줄 확인:
"이번 페이즈를
docs/eventstorming.md에 갱신할까요? (y / 다른 경로 / 저장 안 함)"
자동 누적 — 파일 있으면 변경분 추가, 없으면 새로 생성.
코드 작성 후 다시 호출되면:
docs/eventstorming.md 읽기docs/eventstorming.md ← 단일 파일 (빅픽처만 있을 때)
후속 스킬(process-modeling·software-design) 도입 시 자동 분리:
docs/eventstorming/
├── index.md ← 메타·진도·전체 요약
├── bigpicture.md ← 이 스킬 산출물
├── process-modeling.md ← 미래 (Process Modeling 스킬 추가 시)
└── software-design/ ← 미래
└── ...
분리 트리거: process-modeling 스킬이 처음 실행될 때.
# {도메인명} — Big Picture
> {도메인 1줄 요약}
> **소스 정책**: 이 문서가 도메인 진실. 코드는 판단 보조 용도.
> 두 곳이 충돌하면 빅픽처 합의를 우선하고 코드는 후속 작업으로 정렬.
## 1. 도메인 윤곽
- 페이즈 (시간축)
- 주요 액터 (보편 + 클라이언트)
- 외부 시스템
- 관련 법령·표준
- 도메인 특수성
## 2. 페이즈 맵 (시간선 한 줄)
[페이즈1] → [페이즈2] → [페이즈3] → ...
## 3. 페이즈별 상세
### 페이즈 1: {이름}
- 한 줄 핵심
- 시간순 이벤트 표 (이중 표기)
- 페이즈 핫스팟
### 페이즈 2: ...
## 4. 🟨 액터 매트릭스 (페이즈 횡단)
| 액터 | 시스템 정체 | 등장 페이즈 |
## 5. 🟥 외부 시스템 (페이즈 횡단)
| 시스템 | 용도 | 의존 강도 | 등장 페이즈 |
## 6. 🟪 누적 핫스팟 (검증·결정 필요)
| ID | 핫스팟 | 페이즈 | 답할 위치 | 확신도 |
---
## (부록) 다음 단계 이전 예정
> 빅픽처에 포함되지 않는 항목. 다음 스킬에서 정식 자리로 이전.
### A. UL 메모 (이벤트·액터에서 도출된 용어)
| 한국어 | Code Identifier | 의미 |
→ 향후 context-design 또는 Software Design 단계로 이전
### B. 서브도메인 후보 (페이즈 클러스터링)
- ...
→ 향후 subdomain-classifier 또는 Strategic Design 단계로 이전
빅픽처는 한 번 만들고 끝이 아니다. 코드 작성 중·후에도 사이클을 돈다:
각 사이클은 Update 모드로 진입. 사용자가 원하면 변경 이력을 산출물 끝에 자동 기록.
사용자: "/bigpicture"
→ Step 1: Initial 모드 감지 (eventstorming.md 없음)
→ Step 2: 도메인 윤곽 매핑
- docs/learning-notes/hr-classroom.md 자동 읽기 (학습 완료 상태)
- 사용자 클라이언트 자료 입력 받음 (RFP 또는 요구사항)
- 페이즈 후보: 온보딩, 인사기록, 근태·휴가, 퇴직
- 시스템 범위: 채용 X (외부), 급여 X (별도 시스템)
- 사용자 확인 → 진행
→ Step 3: 페이즈 1 (온보딩)
- 시간순 이벤트 (4기준 통과):
⭐ 사원 사전 등록됨 `EmployeePreRegistered`
⭐ 사원 활성화됨 `EmployeeActivated`
🟧 사원 첫 로그인 완료됨 `EmployeeFirstLoggedIn`
...
- 페이즈 핫스팟:
H1 [추측: 운영] 초대 만료 정책
→ Step 4: 검증 — "빠진 이벤트 있나요?"
→ Step 6: 갱신 확인 → docs/eventstorming.md 생성
→ Step 3 (반복): 페이즈 2 (근태·휴가)
...
→ Step 5: 횡단 매트릭스 갱신 (페이즈 2개 누적된 시점)
→ ... 사이클 시작
빅픽처 이벤트스토밍을 1:1 환경에서 분석 도구로 운영. 학습은 domain-classroom에서 끝났고, 여기는 클라이언트에 매핑하는 곳. 페르소나·챕터·서사 없이, 페이즈와 이벤트 그리고 4기준만으로 정통과 정렬.
testing
도메인 일반 패턴을 강의 모드로 가르치는 인지과학 기반 학습 스킬. AI가 가상 도메인 전문가(선생님) 역할을 하고 사용자가 학생으로 낯선 도메인을 차근차근 배운다. 메뉴로 시작해서 페이즈를 골라 잠수 → 능동 회상 Q&A → 자기 설명(Feynman) 순서로 진행. Dunlosky 메타분석 기반 인지과학 8원칙(Cognitive Load, Practice Testing, 정교화 질문, Self-Explanation, Schema 연결, Dual Coding, Desirable Difficulty, 분산 학습)을 본문에 명시 적용. 도메인의 법령·산업 표준·인증을 학습 본문에 정식 통합 (출처 인용이 아니라 학습 대상). AI가 판단해 보편적이고 자료 풍부한 도메인은 자료 요청 없이 진행, 좁고 깊은 도메인일 때만 사용자에게 자료 있는지 묻기. 산출물은 학습 노트 스타일 (진도 체크박스 + 페이즈별 일관 구조 + 출처 링크). 페르소나 강요 없이 보편 액터 표현("사원 A", "관리자 A"). bigpicture의 이전 단계로 작동하거나 단독 사용 가능. Triggers — "도메인 학습", "낯선 도메인 가르쳐줘", "이 산업 어떻게 굴러가요", "선생님 모드", "1:1 강의", "도메인 입문", "도메인 일반 패턴", "HR 플랫폼이 뭔지", "이커머스 흐름", "domain classroom", "/domain-classroom".
data-ai
빅픽처 이벤트스토밍의 1:1 학습 친화 변형. 그룹 워크샵에서 도메인 전문가가 던지는 이벤트를 받아 적는 대신, AI가 가상 도메인 전문가 역할을 하고 사용자가 학습자로 1:1 인터뷰하며 빅픽처를 누적한다. 산출물(시간순 도메인 이벤트·액터· 외부시스템·핫스팟·피벗)은 빅픽처 이벤트스토밍과 거의 동일하지만, 한 보드에 한 번에 펼치는 방식이 아니라 **한 액터·한 챕터씩 시간순 서사로 누적**한다. 각 장면마다 "왜 이게 필요한가?" 설명을 곁들여 학습자가 따라올 수 있게 한다. RFP·요구사항정의서·기존 도메인 자료를 입력으로 받거나, 자료가 없으면 AI 사전 리서치(보편 사례·법령·산업 표준)로 보충해 진행. 페르소나 시점의 챕터 단위 (5~7개 장면) + 확신도 태그 [확실/일반론/추측]로 검증 지점 명시 + 사용자 인터랙션 + 액터 전환으로 빅픽처를 점진적으로 채운다. 산출물 저장은 옵셔널 — 이해 자체가 목적이다. Triggers — "낯선 도메인 이해", "도메인 차근차근 알려줘", "1:1 빅픽처", "솔로 이벤트스토밍", "RFP 분석", "비즈니스 흐름 이해", "액터 시나리오", "신규 프로젝트 도메인 파악", "빅픽처 스토리타임", "bigpicture storytime", "/bigpicture-storytime".
databases
PostgreSQL DB에 직접 접근하는 스킬. DB 조회, 테이블 구조 확인, 데이터 검증이 필요할 때 사용한다. Node.js 스크립트로 직접 연결하며 접속 정보는 환경변수 또는 credentials 파일에서 읽는다. "postgres 조회", "DB 확인", "테이블 구조", "pg-query", "쿼리 실행", "데이터 검증", "PostgreSQL 접속" 같은 요청에 트리거한다.
development
ERD(Entity-Relationship Diagram)를 Mermaid .mmd 파일로 생성·갱신하는 스킬. 요구사항 문서(PRD, DDD 산출물, 러프한 설명)로 초안을 작성하거나, 기존 소스코드(TypeORM, Prisma, Drizzle, JPA, SQL DDL, Django 등)를 읽어 실제 테이블 구조와 ERD를 동기화한다. 개념·논리·물리 3종 ERD를 지원하며 다크 테마 + handDrawn 스타일로 출력한다. "ERD 만들어줘", "테이블 관계도", "DB 설계 시각화", "엔티티 관계 다이어그램", "코드에서 ERD 뽑아줘", "ERD 동기화", "스키마 시각화", "데이터 모델링", "개념 ERD", "논리 ERD", "물리 ERD", "mermaid ERD", "DB 스키마 그려줘", "테이블 설계", "ORM 엔티티 ERD" 등의 요청에 트리거한다. 다른 스킬이나 외부 환경에 의존하지 않고 독립 실행된다.