---
name: dz-session-manager
description: >
  This skill should be used when the user asks to "세션 저장해줘", "지금까지 진행한 거 저장해",
  "다음 세션에서 이어서 하자", "어디까지 했는지 기록해줘", "세션 이어받을게", "저번에 뭐 하다 멈췄어?",
  "resume", "진행 상황 불러와줘", 또는 에이전트 작업 진행 상황을 저장하거나 복원하려 할 때.
  tasks/는 실제 업무 관리이고, sessions/는 에이전트 작업 진행 상황 관리임을 명확히 구분한다.
version: 0.2.0
---

# 세션 관리자 (Session Manager)

## 개념 — tasks vs sessions 구분

| 구분 | 위치 | 목적 | 관리 주체 |
|-----|------|------|---------|
| `tasks/` | `[모듈]/tasks/` | 실제 업무 관리 (고도화 건, 일정, 담당자) | PM / 기획자 |
| `sessions/` | `_개인/sessions/{모듈}/` | 에이전트 작업 진행 상황 (어디까지 분석했는지, 다음 할 일) | Claude 에이전트 |

**핵심 원칙:** `sessions/`는 에이전트가 세션 간 컨텍스트를 이어받기 위한 파일이다.
사람이 직접 관리하지 않으며, Claude가 작업 시작·종료 시 자동으로 읽고 쓴다.

---

## 파일 구조

```
[모듈명]/sessions/
├── _index.md            ← 전체 세션 목록 (모든 세션의 입구)
├── _current.md          ← 현재 진행 중인 에이전트 작업 상태 (항상 최신)
└── archive/
    └── YYYYMMDD-HHMM-주제.md ← 완료된 세션 기록 (자동 보관, 타임스탐프 포함)
```

## _index.md 형식 (Session Index Format)

모든 세션 파일을 추적하기 위해 `_index.md`를 유지한다:

```markdown
# 세션 인덱스

| 날짜 | 주제 | 상태 | 링크 |
|-----|------|------|------|
| 2026-03-20 | 상담관리 LNB 분석 | 진행중 | [_current.md](_current.md) |
| 2026-03-19 | 상담 기본 정보 기획 | 완료 | [archive/20260319-1430-상담기본정보기획.md](archive/20260319-1430-상담기본정보기획.md) |
| 2026-03-18 | 상담 등록 화면 분석 | 완료 | [archive/20260318-1500-상담등록화면분석.md](archive/20260318-1500-상담등록화면분석.md) |
```

새 세션 생성이나 완료 시 이 인덱스도 함께 업데이트한다.

---

## _current.md 형식

```markdown
# 에이전트 세션 진행 상황

## 세션 정보
- 마지막 업데이트: YYYY-MM-DD
- 작업 주제: {한 줄 요약}
- 상태: 진행중 | 완료 | 중단

## 완료된 작업
- [x] {완료 항목 1}
- [x] {완료 항목 2}

## 남은 작업
- [ ] {다음 할 일 1} ← 가장 먼저 해야 할 것
- [ ] {다음 할 일 2}

## 로드된 컨텍스트
- `module-overview.md` 로드됨
- `context/{GNB명}/_overview.md` 로드됨
- 분석 완료 문서: {파일명}

## 미결 사항 / 확인 필요
- {확인 필요한 내용} _(확인 필요)_

## 메모
{에이전트가 다음 세션에 전달할 중요 맥락}
```

---

## 세션 저장 절차 (/save-session)

작업을 마치거나 중단할 때:

1. `_개인/sessions/{모듈}/_current.md` 읽기 (없으면 템플릿으로 생성)
2. 오늘 완료한 작업을 `완료된 작업`에 추가 (체크 표시)
3. 미완성 작업을 `남은 작업`에 정리 (가장 중요한 것 위로)
4. 로드했던 컨텍스트 파일 목록 기록
5. 미결 사항과 다음 세션에 전달할 메모 작성
6. 날짜 업데이트 후 저장

---

## 세션 재개 절차 (/resume-session)

새 세션 시작 시:

1. `_개인/sessions/{모듈}/_current.md` 읽기
2. **상태 확인**: 진행중 → 이어서 / 완료 → 다음 작업 확인 / 중단 → 재개 여부 확인
3. `남은 작업` 목록에서 첫 번째 항목 확인
4. `로드된 컨텍스트` 목록에 따라 관련 파일 다시 로드
5. 사용자에게 진행 상황 요약 후 다음 단계 제안

---

## 아카이브 자동화 (Archive Automation)

세션 완료 시 자동으로 아카이브 처리한다:

1. `_current.md`를 `archive/YYYYMMDD-HHMM-주제.md`로 복사 (타임스탐프 포함)
   - 예: `20260320-1430-상담관리LNB분석.md`
2. `_index.md` 업데이트: 새 세션을 "완료" 상태로 기록
3. `_current.md`를 새 작업 주제로 초기화하거나 빈 상태로 리셋

## 세션 인덱스 자동 관리 (Session Index Automation)

**원칙**: 새 세션 생성/완료 시 `_index.md`도 함께 업데이트한다.

프로세스:
1. 새 세션 생성 시: `_index.md`에 "진행중" 항목 추가
2. 세션 완료 시: `_index.md`의 상태를 "완료"로 변경, 아카이브 파일 링크 업데이트
3. 세션 재개 시: `_index.md`에서 대상 세션을 찾고 해당 파일 로드

---

## 세션 시작 시 자동 체크 (모든 작업 시작 전)

에이전트는 작업 시작 전 아래를 자동으로 확인한다:

```
1. [모듈]/sessions/_current.md 존재 여부 확인
2. 존재하면 → 내용 읽고 사용자에게 이전 진행 상황 요약
3. 남은 작업이 있으면 → "저번에 여기까지 했습니다. 이어서 진행할까요?" 제안
```


## 마크다운 링크 규칙 (필수)

마크다운 파일 작성·업데이트 시 **모든 경로·파일 참조는 클릭 가능한 상대 링크**로 작성한다.

```markdown
# 나쁜 예 (클릭 불가)
법무관리/tasks/_current.md에서 확인

# 좋은 예 (클릭 가능)
[법무관리/tasks/_current.md](../법무관리/tasks/_current.md)에서 확인
```

- 상대 경로는 현재 파일 위치 기준
- 코드블록 안의 폴더 구조 다이어그램은 예외 (링크 불필요)
- 상세 규칙은 douzone-forge CLAUDE.md의 "마크다운 링크 표기 규칙" 섹션 참조
