# My Session Wrap

> 세션 종료 시 작업 정리, 문서 업데이트, 학습 기록을 하는 스킬. "/wrap", "세션 정리", "마무리", "wrap해줘" 요청에 사용.

- Skill: `eoash/my-session-wrap` (Agent Skill)
- Install (CLI): `npx skillmds@latest add eoash/my-session-wrap`
- Raw SKILL.md: https://api.skillmd.com/api/skills/eoash/my-session-wrap/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: eoash (https://skillmd.com/u/eoash)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/eoash/my-session-wrap

---


# my-session-wrap

## Step 1: 변경 내용 확인

이 세션에서 변경된 파일을 자동으로 파악한다.

- `git status`와 `git diff --stat`으로 변경 파일 목록 확인
- 변경 파일이 없으면 "오늘 변경된 파일이 없습니다"를 출력하고 종료
- 변경 파일이 있으면 파일명과 변경 요약을 정리해서 Phase 1에 전달

---

## Step 2: Phase 1 — 병렬 분석 (4개 에이전트 동시 실행)

Step 1에서 확인한 변경 내용을 바탕으로, 아래 4개 에이전트를 **동시에** 실행한다.
각 에이전트는 서로 독립적이므로 병렬로 실행해서 시간을 절약한다.

### Agent 1: doc-updater
- 역할: 변경된 파일을 보고 업데이트가 필요한 문서를 찾는다
- 확인 대상: CLAUDE.md, README.md, agent/ 폴더의 컨텍스트 파일
- **당면 과제 체크박스 업데이트 (필수)**:
  1. `CLAUDE.md`의 `## 3. 현재 진행 상태` > `당면 과제` 섹션을 읽는다
  2. 이 세션에서 완료된 작업과 체크박스 항목을 비교한다
  3. 완료된 항목은 `[ ]` → `[x]`로 변경한다
  4. 이 세션에서 새로 식별된 과제가 있으면 `[ ]`로 추가한다
  5. `마지막 업데이트` 날짜를 오늘 날짜로 갱신한다
- 출력: "업데이트가 필요한 문서 목록 + 업데이트 내용 제안 + 체크박스 변경 내역"

### Agent 2: automation-scout
- 역할: 오늘 작업에서 반복되는 패턴을 찾아 자동화를 제안한다
- 확인 대상: 반복 실행된 명령어, 수동으로 한 작업, 비슷한 코드 패턴
- 출력: "자동화 가능한 작업 목록 + 스킬/스크립트 제안"

### Agent 3: learning-extractor
- 역할: 이 세션에서 배운 것, 해결한 문제, 새로 알게 된 것을 정리한다
- 확인 대상: 에러 해결 과정, 새로 만든 기능, 적용한 패턴
- 출력: "오늘의 학습 요약 (3~5개 bullet)"

### Agent 4: followup-suggester
- 역할: 다음 세션에서 이어서 할 일을 제안한다
- 확인 대상: 미완성 작업, 개선 가능한 부분, TODO 주석
- 출력: "다음에 할 일 우선순위 목록"

---

## Step 3: Phase 2 — 검증 (순차 실행)

Phase 1의 4개 에이전트 결과를 받아서 duplicate-checker가 검증한다.

### Agent 5: duplicate-checker
- 역할: Phase 1 결과에서 중복이나 모순을 찾아 정리한다
- 완전 중복: 같은 내용이 두 번 이상 나오면 하나만 남긴다
- 부분 중복: 비슷한 내용은 하나로 병합한다
- 출력: "중복 제거된 최종 분석 결과"

---

## Step 4: 결과 통합 + 사용자 선택

Phase 1 + Phase 2 결과를 하나의 요약으로 정리해서 보여준다.

### 출력 형식
```
📋 세션 정리 결과 (2026-XX-XX)

📁 변경된 파일: X개
[파일 목록]

📝 문서 업데이트 제안 (doc-updater)
- [제안 목록]

⚡ 자동화 기회 (automation-scout)
- [제안 목록]

💡 오늘의 학습 (learning-extractor)
- [학습 요약]

➡️ 다음 할 일 (followup-suggester)
- [우선순위 목록]
```

그 다음 AskUserQuestion으로 사용자에게 실행할 작업을 선택받는다:

```json
AskUserQuestion({
  "questions": [{
    "question": "어떤 작업을 실행할까요?",
    "header": "실행 선택",
    "options": [
      {"label": "커밋만", "description": "git add + commit만 실행"},
      {"label": "문서 업데이트 + 커밋", "description": "doc-updater 제안 적용 후 커밋"},
      {"label": "전체 실행", "description": "문서 업데이트 + 커밋 + 자동화 생성"},
      {"label": "건너뛰기", "description": "오늘은 정리 없이 종료"}
    ],
    "multiSelect": false
  }]
})
```

### Step 5: 선택된 작업 실행

사용자가 선택한 옵션에 따라 해당 작업만 실행한다.
- **커밋만**: `git add -A && git commit -m "세션 정리: [날짜]"`
- **문서 업데이트 + 커밋**: doc-updater 제안 적용 (CLAUDE.md 당면 과제 체크박스 포함) → 커밋
- **전체 실행**: 문서 업데이트 → 커밋 → 자동화 스크립트/스킬 초안 생성
- **건너뛰기**: 요약만 출력하고 종료

**"문서 업데이트 + 커밋" 또는 "전체 실행" 선택 시 반드시 실행:**
1. `CLAUDE.md` 당면 과제 체크박스를 doc-updater 분석 결과대로 업데이트
2. `마지막 업데이트` 날짜를 오늘 날짜로 갱신
3. 변경된 CLAUDE.md를 커밋에 포함

### Step 6: Rocky 동기화 (자동)

**모든 옵션(건너뛰기 제외) 실행 후 자동으로 Rocky에게 세션 학습 내용을 동기화한다.**

1. learning-extractor와 followup-suggester 결과에서 실제 내용을 추출한다:
   - `SYNC_DECISION` — 이 세션의 핵심 판단 사항 (1~2문장)
   - `SYNC_WHY` — 그 방법/순서를 택한 이유
   - `SYNC_LEARNING` — Rocky가 배울 점 (learning-extractor 결과 활용)
   - `SYNC_NEXT` — 후속 작업 (followup-suggester 결과 활용)

   **추출 불가 시 (짧은 세션, 학습 포인트 없음 등): Step 6 전체 skip — 아래 명령 실행하지 않음**

2. 추출 성공 시 `sync_to_rocky.sh` 호출 (webhook → bot token 순으로 Slack 알림):
   ```bash
   export SYNC_DECISION="<핵심 판단>"
   export SYNC_WHY="<이유>"
   export SYNC_LEARNING="<Rocky가 배울 점>"
   export SYNC_NEXT="<다음 할 일>"
   bash scripts/sync_to_rocky.sh "세션 요약 한 줄"
   ```

   - exit 2 반환 시: 내용 미완성 → 에러 메시지 출력 후 skip (세션 wrap 계속)
   - SSH 오류 등 기타 실패: 에러 메시지만 출력, wrap 정상 완료

**Rocky sync 실패/skip은 세션 마무리를 막지 않는다.**

---

## Quick Reference

### 언제 쓰면 좋은가
- 긴 작업 세션(1시간+) 후 마무리할 때
- 프로젝트 전환 직전 (현재 상태 정리)
- 주간/월간 회고 전 정리

### 언제 건너뛰어도 되는가
- 짧은 질문이나 조회만 한 경우
- 코드를 읽기만 하고 변경하지 않은 경우
- 이미 커밋을 깔끔하게 완료한 경우

---

## Execution Flow

```
┌─────────────────────────────────────────────┐
│  Step 1. Git 상태 확인 (오늘 뭘 했나?)         │
└──────────────────────┬──────────────────────┘
                       │
┌──────────────────────▼──────────────────────┐
│  Step 2. Phase 1: 병렬 분석 (동시 실행)        │
│  ┌────────────┬────────────┐                 │
│  │doc-updater │automation- │                 │
│  │            │scout       │                 │
│  ├────────────┼────────────┤                 │
│  │learning-  │followup-   │                 │
│  │extractor  │suggester   │                 │
│  └────────────┴────────────┘                 │
└──────────────────────┬──────────────────────┘
                       │
┌──────────────────────▼──────────────────────┐
│  Step 3. Phase 2: 검증 (순차 실행)             │
│  duplicate-checker → 중복 제거                │
└──────────────────────┬──────────────────────┘
                       │
┌──────────────────────▼──────────────────────┐
│  Step 4. 결과 통합 + 사용자 선택               │
└──────────────────────┬──────────────────────┘
                       │
┌──────────────────────▼──────────────────────┐
│  Step 5. 선택된 작업 실행                      │
└──────────────────────┬──────────────────────┘
                       │
┌──────────────────────▼──────────────────────┐
│  Step 6. Rocky 동기화 (SSH → macbook_sync.md) │
│  + Slack #project-hailmary 알림              │
└─────────────────────────────────────────────┘
```


