ddd-workshop/skills/domain-classroom/SKILL.md
도메인 일반 패턴을 강의 모드로 가르치는 인지과학 기반 학습 스킬. 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".
npx skillsauth add dev-goraebap/skills domain-classroomInstall 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 파이프라인의 도메인 학습 단계. 사용자가 낯선 도메인을 만났을 때, AI가 가상 도메인 전문가(선생님)로서 보편 산업 패턴·관련 법령·외부 시스템·핵심 흐름을 1:1 강의 모드로 가르친다.
bigpicture과의 관계: 이 스킬은 bigpicture의 이전 단계다. 도메인을 모르는 상태에서 시작해서 일반 패턴을 머리에 박아 둔 뒤, bigpicture으로 클라이언트 특수성을 발견하러 간다. 두 스킬은 짝이지만 이 스킬만 단독 사용도 가능하다 (학습이 목적이라 산출물 없이 끝나도 OK).
가르치되 떠먹이지 않는다. Dunlosky et al. (2013) 메타분석이 명확히 보여준 것: 가장 강력한 학습은 능동 회상(d=0.74)과 분산 학습(d=0.85)이지, 일방 강의가 아니다. 이 스킬은 강의처럼 보이지만 실제로는 AI가 사용자에게 끊임없이 질문을 던지고 사용자 답에 즉시 피드백을 주는 능동 학습 환경을 만든다.
| # | 원칙 | 출처 | 어떻게 적용 | |---|------|------|-----------| | 1 | Cognitive Load 관리 | Sweller | 한 응답에 7±2개 이하 항목. 페이즈 메뉴는 4+3+2 묶음 | | 2 | Practice Testing (능동 회상) | d=0.74 | 페이즈마다 기본 Q&A 3개. 사용자 답 → 즉시 피드백 | | 3 | 분산 학습 | d=0.85 | 페이즈 단위로 자연 분기. "잠깐 쉬는 것도 추천" 명시 | | 4 | 정교화 질문 | d=0.56 | 모든 흐름에 "왜 이게 필요한가" 명시 | | 5 | Self-Explanation (Feynman) | d=0.54 | 페이즈 끝에 "신입 동료에게 설명한다면?" | | 6 | Schema 연결 | Schema Theory | 사용자가 이미 아는 것과 연결 ("X와 비슷합니다") | | 7 | Dual Coding | Paivio | 시각(Mermaid·ASCII) + 언어 함께 | | 8 | Desirable Difficulty | Bjork | 답 공개 전 사용자가 추론할 여지 — "잠시 생각해보세요" |
/ddd-workshop:domain-classroom이 스킬 후 다음 단계로 갈지는 사용자 판단. bigpicture으로 자연스럽게 이어가도 되고, 이 스킬만 쓰고 멈춰도 된다.
사용자가 자료를 첨부하지 않아도 작동한다. 자료 요청 여부는 AI가 도메인을 보고 판단한다.
| 신호 | 자료 요청 X (혼자 진행) | 자료 요청 권유 | |------|----------------------|--------------| | 글로벌 SaaS 사례 | 많음 (HR, CRM, 이커머스) | 적음 (산업 특수) | | 공식 문서·법령 | 표준화됨 | 회사·현장마다 다름 | | 인터넷 자료량 | 풍부 | 흩어져 있음 | | 산업 다양성 | 균일 | 극단적으로 다름 |
이 4개 중 2개 이상이 "자료 요청 권유" 쪽이면 사용자에게 한 번 묻는다.
자료 불필요한 경우:
"이 도메인은 잘 정리된 영역이라 바로 시작할게요. 출처는 SHRM, 근로기준법 등에서 가져옵니다."
자료 권유하는 경우:
"이 도메인은 회사·산업별 차이가 커서, 혹시 RFP나 도메인 자료가 있으시면 도움이 됩니다. 없어도 진행은 가능해요."
자료를 받아도 학습 모드에서는 도메인 식별·범위 좁히기·페이즈 우선순위만 활용한다. 자료 안의 클라이언트 특수성·핫스팟은 의도적으로 무시 — 그건 bigpicture이 다룰 영역.
사용자 입력을 받은 직후 권위 있는 출처로 짧은 리서치를 수행한다 (자료 풍부 도메인은 내부 지식, 좁은 도메인은 WebSearch).
산출:
페이즈 목록을 우선순위 묶음으로 제시. Cognitive Load 관리.
이 도메인은 N개 페이즈를 다룹니다. 우선순위로 묶었어요:
⭐ 핵심 4 (대부분 다룸)
1. {페이즈} — 한 줄
2. ...
보조 3 (회사·시스템 범위에 따라)
5. ...
기타 2
8. ...
❓ 어디부터 보고 싶으세요?
- 번호로 답하기 (예: "1", "1, 3")
- "추천" → ⭐ 핵심부터
- "이건 됐어요" 식으로 빼셔도 됩니다
- 한 번에 1페이즈씩, 사이에 쉬는 게 가장 강력합니다 (분산 학습)
선택된 페이즈를 다음 일관 구조로 풀어낸다:
## 🚪 {페이즈명}
> {한 줄 도입}
### 등장 액터 (3~4명, 보편 표현)
| 액터 | 무엇을 하나 |
### 🤔 Q1. (능동 회상 — 추론 유도)
> {질문} 잠시 생각해보고 답해주세요.
(사용자 답 받기 — 답 안 해도 자연스럽게 정답 공개로 진행)
**정답·해설**: ...
**왜 이게 필요한가?**: ...
**Schema 연결** (있으면): ...
### 🤔 Q2. (보통 시간순 흐름의 다음 단계 추론)
...
### 📜 관련 법령·산업 표준 (학습 본문)
{법령·표준·인증을 출처가 아니라 학습 대상으로 본문에 통합}
### 🤔 Q3. (자기 설명 — Feynman)
> 이 흐름을 신입 동료에게 설명한다면 어떻게? 한 줄로 요약해보세요.
**참고 답안**: ...
### 시각화
{Mermaid 또는 ASCII 다이어그램}
---
다음으로:
🟢 이해됐어요 → 다음 페이즈
🟡 더 풀어보고 싶어요 → 추가 Q&A
🔴 다른 페이즈로 → 메뉴 다시
학습자에게 질문할 때 친근하고 압박 없는 톤:
| 안 좋음 (X) | 좋음 (○) | |------------|---------| | "1초만 추측해보세요" | "잠시 생각해보고 답해주세요" | | "빠르게 답해보세요" | "편하게 떠오르는 대로" | | "정답을 맞춰보세요" | "어떻게 보세요?" | | "맞췄어요!" | "정답입니다 / 참고로" |
핵심:
이해됐다면:
- 다른 페이즈로 (메뉴 다시 보여드릴게요)
- 잠시 쉬고 다음에 (분산 학습 효과 ↑)
- 충분합니다 (학습 종료)
사용자 컨트롤 표현은 자유 발화 OK ("이건 됐어요", "다음", "더 깊게", "쉬고 올게요" 등). AI가 의도를 읽어 처리.
세션 진행 중 또는 종료 시 사용자에게 묻는다:
"정리한 내용을 학습 노트로 저장할까요? 기본 경로:
docs/learning-notes/{도메인}-classroom.md저장 안 해도 OK입니다."
학습 노트 구조 (단일 파일):
# {도메인} — 학습 노트
> 보편 산업 패턴 (특정 회사 사정 X). 출처: ...
## 진도
- ✅ {완료 페이즈 1}
- 🟡 {진행 중 페이즈}
- ⬜ {미진행 페이즈들}
---
## 1. {페이즈명}
### 한 줄 요약
{재학습 시 1초만에 떠올릴 한 줄}
### 등장 액터
- 액터 A — ...
- 액터 B — ...
### 시간순 흐름
1. ...
2. ...
### 왜 이게 필요한가
{설명}
### 📜 관련 법령·산업 표준
{본문에 통합된 법령·표준·인증}
### 시각화
{Mermaid 또는 ASCII}
### Schema 연결
{사용자 기존 지식과 연결}
### 출처
- [...]
---
## 2. {다음 페이즈}
...
| 시점 | 형태 |
|------|------|
| 시작 | 단일 파일 docs/learning-notes/{도메인}-classroom.md |
| 페이즈 4~5개 누적, 1000줄 근접 | 폴더 분리 권유 — 사용자 결정 |
| 폴더 형태 | docs/learning-notes/{도메인}-classroom/01-{페이즈}.md, index.md |
처음에는 가벼운 단일 파일로 시작. 자연스럽게 길어지면 분리 권유. 강제 X.
사용자: "HR 플랫폼 가르쳐주세요"
→ Step 1: 사전 리서치 (자료 풍부 → 자료 요청 X)
출처: SHRM, Workday HCM, 근로기준법 §60-§62
→ Step 2: 메뉴 (1차 응답, 4+3+2)
⭐ 핵심 4: 온보딩 / 인사기록 / 근태·휴가 / 퇴직
보조 3: 채용 / 평가 / 급여
기타 2: 교육 / 조직 변화
→ 사용자: "1번 (온보딩)"
→ Step 3: 페이즈 잠수
- 등장 액터: 인사담당자 A, 신입 사원 A, 시스템
- 🤔 Q1: 첫 로그인 전에 HR이 무엇을 미리 해둘까요?
(사용자 답) → 정답 + 왜 + Schema 연결
- 🤔 Q2: 다음 단계는?
- 📜 관련 법령: 근기법 §17 근로계약 명시 의무 등
- 🤔 Q3 (Feynman): 신입 동료에게 한 줄로 설명한다면?
- 시각화 (ASCII 흐름도)
→ Step 6: "이해됐어요" → 다음 페이즈
→ Step 7: 학습 노트 저장? → 사용자 결정
→ Step 2 (다시): 메뉴에서 다음 페이즈 선택
...
AI가 가르치는 강의 모드처럼 보이지만, 실제로는 사용자가 끊임없이 답하고 추론하며 자기 머리로 도메인을 짓는 능동 학습 환경. 인지과학 8원칙 위에 설계됨.
development
빅픽처 이벤트스토밍의 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".
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" 등의 요청에 트리거한다. 다른 스킬이나 외부 환경에 의존하지 않고 독립 실행된다.