Session Wrap logo

Session Wrap

Community
sangrokjung
session-wrap

Use when wrapping up a session before ending. 4 parallel subagents detect doc updates, repeated patterns, learning points, and follow-ups, then a verifier deduplicates and presents choices. Triggers on /session-wrap, session wrap, session cleanup, end of session.

Overview

Publishersangrokjung
Repositoryclaude-forge
Skill namesession-wrap
Stars
853
Forks
183
Bundled files
6
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 6 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by sangrokjung on GitHub. Read the source before you install it.

Installation

Install the Session Wrap AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/sangrokjung/claude-forge/tree/main/skills/session-wrap
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/sangrokjung/claude-forge.git /tmp/claude-forge
mkdir -p .claude/skills
cp -r /tmp/claude-forge/skills/session-wrap .claude/skills/session-wrap
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Session Wrap in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Session Wrap on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Session Wrap is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

/session-wrap 스킬

파이프라인 개요

입력: /session-wrap [--dry-run] [--skip-docs] [--skip-learning] [--skip-scout] [--skip-followup]

[Phase 0] 컨텍스트 수집
  ├─ git diff --stat (이번 세션 변경사항)
  ├─ ~/.claude/homunculus/observations.jsonl (최근 관찰)
  └─ /tmp/session-wrap/context.md 생성

[Phase 1] 병렬 4개 subagent (Explore, sonnet)
  ├─ doc-updater        → 문서 업데이트 필요 곳 탐지
  ├─ automation-scout   → 반복 패턴 발견 + 스킬 후보 제안
  ├─ learning-extractor → 배운 점 추출 (instinct 후보)
  └─ followup-suggester → 다음 작업 제안

[Phase 2] 순차 1개 subagent (Explore, sonnet)
  └─ duplicate-checker  → Phase 1 결과 중복 제거 + 카테고리 분류

[Phase 3] AskUserQuestion으로 사용자 선택

[Phase 4] 선택된 항목만 실행

[Phase 5] 리포트 출력 + session-wrap-followups.md 기록

파라미터 파싱

사용자 입력에서 다음을 추출:

파라미터기본값설명
--dry-runfalse탐지만 수행, 실행하지 않음 (Phase 3에서 중단)
--skip-docsfalsedoc-updater subagent 생략
--skip-learningfalselearning-extractor subagent 생략
--skip-scoutfalseautomation-scout subagent 생략
--skip-followupfalsefollowup-suggester subagent 생략

Phase 0: 컨텍스트 수집

세션 중 변경사항과 관찰 데이터를 수집하여 subagent에 전달할 컨텍스트를 구성한다.

bash
# 1. Git 변경사항 수집 (git repo인 경우만)
WORK_DIR=$(pwd)
if git -C "$WORK_DIR" rev-parse --is-inside-work-tree 2>/dev/null; then
  git -C "$WORK_DIR" diff --stat HEAD~5..HEAD > /tmp/session-wrap/git-changes.txt 2>/dev/null || true
  git -C "$WORK_DIR" diff --name-only HEAD~5..HEAD > /tmp/session-wrap/changed-files.txt 2>/dev/null || true
  git -C "$WORK_DIR" log --oneline -10 > /tmp/session-wrap/recent-commits.txt 2>/dev/null || true
fi

# 2. 관찰 데이터 수집 (최근 50개)
OBS_FILE="$HOME/.claude/homunculus/observations.jsonl"
if [ -f "$OBS_FILE" ]; then
  tail -50 "$OBS_FILE" > /tmp/session-wrap/recent-observations.jsonl
fi

# 3. 버퍼 데이터 수집 (있으면)
BUFFER_FILE="$HOME/.claude/homunculus/buffer.jsonl"
if [ -f "$BUFFER_FILE" ]; then
  tail -30 "$BUFFER_FILE" > /tmp/session-wrap/recent-buffer.jsonl
fi

/tmp/session-wrap/ 디렉토리를 생성하고 위 수집을 실행한다.

Phase 1: 병렬 Subagent 실행

4개 subagent를 동시에 실행한다. --skip-* 플래그로 특정 subagent를 건너뛸 수 있다.

각 subagent 프롬프트는 references/ 디렉토리에 위치:

Subagent프롬프트 파일출력 파일
doc-updaterreferences/prompt-doc-updater.md/tmp/session-wrap/results/doc-updates.json
automation-scoutreferences/prompt-automation-scout.md/tmp/session-wrap/results/automation-patterns.json
learning-extractorreferences/prompt-learning-extractor.md/tmp/session-wrap/results/learning-points.json
followup-suggesterreferences/prompt-followup-suggester.md/tmp/session-wrap/results/followup-tasks.json

Subagent 실행 패턴

# 활성화된 subagent만 필터링
active_agents = [
  ("doc-updater", skip_docs 아니면),
  ("automation-scout", skip_scout 아니면),
  ("learning-extractor", skip_learning 아니면),
  ("followup-suggester", skip_followup 아니면),
]

# 병렬 Task 호출 (Explore, sonnet)
for agent in active_agents:
  Task(
    subagent_type="Explore",
    prompt=Read("references/prompt-{agent}.md") + context_data
  )

각 subagent는 결과를 JSON 파일로 /tmp/session-wrap/results/에 기록한다.

출력 JSON 스키마

모든 subagent의 출력은 동일한 아이템 스키마를 따른다:

json
{
  "items": [
    {
      "id": "unique-id",
      "source": "doc-updater|automation-scout|learning-extractor|followup-suggester",
      "title": "항목 제목",
      "description": "상세 설명",
      "category": "auto|user|info",
      "priority": "high|medium|low",
      "action": "실행할 구체적 작업 (있으면)",
      "files": ["관련 파일 경로들"]
    }
  ]
}

카테고리 분류 기준:

  • auto: 사용자 확인 없이 자동 실행 가능 (문서 타임스탬프 갱신 등)
  • user: 사용자 선택이 필요 (스킬 생성, 코드 수정 등)
  • info: 정보 제공만 (학습 포인트, 통계 등)

Phase 2: 중복 검증

Phase 1의 모든 결과를 수집하여 duplicate-checker subagent에 전달한다.

프롬프트: references/prompt-duplicate-checker.md

역할:

  1. 4개 subagent 결과를 병합
  2. 의미적으로 중복되는 항목 제거 (더 구체적인 항목 유지)
  3. 최종 카테고리 재분류 (auto/user/info)
  4. 우선순위 정렬 (high → medium → low)

출력: /tmp/session-wrap/results/merged-actions.json

Phase 3: 사용자 선택

--dry-run이면 여기서 중단하고 탐지 결과만 출력한다.

표시 형식

## 세션 정리 항목

### 자동 실행 (auto) - N건
1. [docs] README.md 타임스탬프 갱신
2. [docs] CODEMAPS/backend.md 모듈 추가

### 사용자 선택 필요 (user) - M건
3. [ ] [scout] "API 에러 처리" 패턴 → 스킬 후보
4. [ ] [followup] auth 모듈 리팩토링 제안
5. [ ] [learning] "Supabase RLS 패턴" instinct 생성

### 참고 정보 (info) - K건
6. [learning] 이번 세션에서 3개 새 라이브러리 사용
7. [stats] 변경 파일 12개, 커밋 5개

실행할 항목 번호를 선택하세요 (예: 1,3,4 또는 all 또는 auto-only):

AskUserQuestion으로 사용자 입력을 받는다.

  • all: auto + 모든 user 항목 실행
  • auto-only: auto 항목만 실행
  • 1,3,4: 특정 번호만 실행
  • none: 아무것도 실행하지 않음

Phase 4: 선택 항목 실행

사용자가 선택한 항목을 실행한다:

카테고리실행 방식
docs 업데이트Edit/Write로 직접 수정
scout 스킬 후보/tmp/session-wrap/skill-candidates.md에 기록
learning instinct~/.claude/homunculus/instincts/personal/에 MD 파일 생성
followup 작업/tmp/session-wrap/session-wrap-followups.md에 기록

Phase 5: 리포트 출력

최종 리포트 형식

## Session Wrap 완료

### 실행 결과
- 문서 업데이트: N건 완료
- 스킬 후보 기록: M건
- Instinct 생성: K건
- 후속 작업 기록: L건

### 후속 작업 파일
/tmp/session-wrap/session-wrap-followups.md

### 스킬 후보 파일 (있으면)
/tmp/session-wrap/skill-candidates.md

후속 작업 파일(session-wrap-followups.md)은 다음 세션 시작 시 /context-sync로 로드할 수 있다.

에러 처리

상황대응
git repo 아님git 관련 컨텍스트 생략, 나머지 진행
observations.jsonl 없음관찰 데이터 없이 진행, 경고 표시
subagent 실패 (일부)실패 subagent 결과 생략, 나머지로 진행
결과가 0건"정리할 항목이 없습니다" 출력
/tmp 쓰기 불가에러 메시지 출력 후 중단

관련 파일

파일용도
references/prompt-doc-updater.mddoc-updater subagent 프롬프트
references/prompt-automation-scout.mdautomation-scout subagent 프롬프트
references/prompt-learning-extractor.mdlearning-extractor subagent 프롬프트
references/prompt-followup-suggester.mdfollowup-suggester subagent 프롬프트
references/prompt-duplicate-checker.mdduplicate-checker subagent 프롬프트
references/output-schema.md출력 JSON 스키마 상세

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Session Wrap AI skill do?

Use when wrapping up a session before ending. 4 parallel subagents detect doc updates, repeated patterns, learning points, and follow-ups, then a verifier deduplicates and presents choices. Triggers on /session-wrap, session wrap, session cleanup, end of session.

Why use Session Wrap on TypingMind?

Because you install it once and use it with any model. Session Wrap is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Session Wrap in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/sangrokjung/claude-forge/tree/main/skills/session-wrap. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Session Wrap?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Session Wrap?

As many as you like. As long as a model supports skills, you can use Session Wrap with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Session Wrap AI skill free?

Yes. It is published on GitHub by sangrokjung under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇