Community생산성 & 협업github.com

alex20-create/wrap-up

사용자가 채팅을 보관하거나 세션을 종료할 때 실행됩니다. 저장 상태를 다루는 스킬이 명시적으로 호출되지 않더라도, 대화에서 결정된 사항, 변경된 파일, 다음 세션이 이어받아야 할 내용 등을 보존하기 위해 설치된 관련 스킬들을 올바른 순서로 찾아 실행합니다.

wrap-up란 무엇인가요?

Wrap-up 스킬은 AI 어시스턴트(Claude Code, claude.ai 등)에서 채팅 세션이 종료되기 직전에 실행되어 대화 상태를 안전하게 저장하고 다음 작업으로 이어지도록 돕습니다. 이 스킬은 사용자가 채팅을 보관하거나 세션을 종료할 때 ('voy a archivar', 'cierro el chat', 'wrap up', '/wrap-up') 작동하며, 저장 상태를 다루는 다른 스킬이 명시적으로 호출되지 않은 경우에도 대화에서 결정된 사항, 디스크 변경 사항, 다음 세션이 이어받아야 할 작업 목록 등을 잃지 않도록 합니다. 그러나 단일 작업 완료 후 사용자가 계속 작업하는 경우, 일일 마감 루틴('cierro el día'는 계획 스킬에 속함), 또는 웹사이트 로그아웃('cerrar sesión') 등에는 적용되지 않습니다. 이 스킬은 설치된 스킬들의 목록을 참조하여 'references/close-out-catalogue.md' 파일에 정의된 카테고리와 일치하는 스킬들을 발견하고, 환경(로컬 머신, 클라우드 세션 등)에 따라 실행 방식을 조정합니다. 세션이 오래되어 다른 세션에서 이미 처리된 내용(stale session)이 있는 경우, 최신 파일 및 저장소 상태를 기준으로 덮어쓰지 않고 충돌을 방지합니다. 모든 단계를 계획에 명시하고 사용자의 단일 확인 후 실행하여, 의도치 않은 변경이나 데이터 손실을 방지합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/alex20-create/session-routines/tree/HEAD/wrap-up

Installed? Explore more 생산성 & 협업 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

wrap-up은(는) 무엇을 하나요?

사용자가 이 채팅을 보관하려고 합니다. 대화에만 존재하는 모든 것, 즉 결정된 사항, 디스크에서 변경된 내용, 다음 세션이 이어받아야 할 작업이 곧 사라집니다. 설치된 여러 스킬들은 각각 이러한 정보의 일부를 저장합니다. 이 스킬의 임무는 해당 스킬들을 찾아 올바른 순서로 실행하고, 한 번의 확인 후 중단하는 것입니다.

스킬 집합은 고정되어 있지 않습니다. 플러그인은 추가되거나 제거되고, 사용자는 새 스킬을 작성합니다. 절대 이름을 하드코딩하지 마십시오. 매번 설치된 스킬에서 검색하여 references/close-out-catalogue.md의 카테고리와 일치시킵니다. 카탈로그는 각 카테고리가 무엇인지, 어떤 순서로, 어떤 비용이 드는지 정의합니다. 이 파일은 각 카테고리가 각 환경에서 어떻게 실행되는지 정의합니다. 둘이 충돌하는 것처럼 보이면, 카탈로그를 따라 '무엇'과 '순서'를, 이 파일을 따라 '방법'을 결정하고, 보고서에 충돌 내용을 명시하여 사용자가 카탈로그를 수정할 수 있도록 합니다.

0. 현재 위치와 세션의 수명 파악

아래 내용의 대부분은 환경과 세션의 수명에 따라 달라지므로, 먼저 두 가지를 확정하고 계획의 상단에 한 줄로 명시합니다. 세 가지 환경:

  • 사용자 머신의 Claude Code. 해당 머신의 셸, ~/.claude/skills 디렉토리의 스킬, 실행되는 훅(설정된 경우 각 세션을 기록하는 SessionEnd 훅 포함, 로컬 맵 또는 settings.json에 설정 여부가 명시됨), 디스크의 저장소 및 볼트. 아래 모든 내용이 그대로 적용됩니다.
  • claude.ai 또는 장치 셸이 있는 클라우드 세션. 채팅은 Linux 컨테이너에서 실행되지만 사용자 컴퓨터의 셸 도구가 나열되어 있으므로 명령은 사용자가 연결한 폴더 내에서 실행됩니다. 볼트와 연결된 폴더에 저장된 모든 스크립트에 접근 가능합니다. 이 스킬의 자체 파일(카탈로그, scripts/)은 컨테이너에 있으며 사용자 머신에는 없습니다. 훅은 실행되지 않습니다. 메모리는 메모리 도구를 통해 처리되며, 백그라운드 패스는 각 턴 후에 지속적인 사실을 저장합니다.
  • claude.ai 또는 셸이 없는 클라우드 세션. 사용자 컴퓨터의 파일은 파일을 컨테이너로 스테이징하고 다시 커밋하는 도구를 통해서만, 그리고 데스크톱 앱이 연결된 경우에만 접근 가능합니다. 그 외에는 사용자 디스크의 어떤 것에도 접근할 수 없습니다. 훅과 메모리는 위와 동일합니다.

신호: 플랫폼과 작업 디렉토리, 나열된 도구(장치 셸, 장치 파일 도구, 메모리 도구), 시스템 프롬프트가 메모리 및 프로젝트에 대해 말하는 내용. 알 수 없는 경우 말하고 물어보십시오. 잘못 추측하면 잘못된 위치에 쓰게 됩니다.

다음으로 수명. 보통 작업 종료 시 클로즈를 요청하지만, 채팅이 며칠 동안 열려 있다가 다른 세션이 동일한 파일, 노트 및 스킬에서 작업한 후에 닫힐 수도 있습니다. 세션이 마지막 실제 작업 이후에 닿은 어떤 것이든 변경된 경우 부실(stale) 상태입니다. 해당 작업의 날짜(대화의 타임스탬프 또는 날짜가 있는 노트)와 닿은 파일 및 저장소 항목의 수정 시간, 이후 커밋, 이후 날짜의 저장소 항목, 또는 사용했지만 목록에서 이름이 변경되었거나 더 이상 표시되지 않는 스킬을 비교합니다. 하나의 변경만으로도 충분합니다. 수명만으로는 판단 근거가 아닙니다. 아무도 기반으로 삼지 않은 일주일 된 채팅은 부실 상태가 아닙니다. 상단에 간격과 함께 표시합니다("마지막 활동: 11월 4일; 닿은 파일이 이후 변경됨").

부실 세션에서는 디스크와 저장소가 대화보다 최신이므로 우선합니다:

  • 쓰기 계획을 세우기 전에, 단계가 닿을 각 파일 및 저장소 항목의 현재 버전을 읽고, 대화가 기억하는 내용이 아닌 현재 있는 내용을 기준으로 계획을 세웁니다.
  • 세션이 내린 결정이 이후 세션에서 이미 기록된 경우: 해당 결정을 가리키고 다시 작성하지 마십시오. 이후 세션이 변경하거나 번복한 결정은 이 클로즈가 복원할 사항이 아닙니다: 대체된 것으로 명시하고 삭제합니다. 이후 기록이 결정의 일부만 포함하거나 얼마나 포함하는지 불분명한 경우, 명확히 포함된 부분만 삭제하고 나머지는 잠재적으로 대체된 것으로 명시합니다. 방향은 단일 질문에 달려 있습니다.
  • 세션이 사용한 경로, 이름 및 스킬이 이동되었거나 이름이 변경되었을 수 있습니다. 사용하기 전에 각각 다시 확인합니다. 새로운 형식은 이후 작성된 내용(메모리, 노트, 커밋, 스킬 자체의 설명에 이전 이름이 명시된 경우)에서만 인정됩니다. 해당 형식을 사용하고 그렇게 명시합니다. 명시된 내용이 없으면, 추측하는 대신 이전 이름이 더 이상 확인되지 않는다고 명시하고, 현재 상태인 것처럼 저장소에 기록하지 마십시오.
  • 제안할 남은 내용은 세션이 결정했지만 이후에 기록, 변경 또는 모순되지 않은 내용입니다. 매우 적을 수 있습니다. 한 줄 또는 아무것도 쓰지 않는 부실 클로즈는 올바른 클로즈입니다.

동일한 채팅에 사용자가 계속 작업하기 전에 실행된 이전 클로즈가 이미 있을 수 있습니다. 이 경우 이 클로즈는 처음부터 시작하는 대신 해당 클로즈를 기반으로 합니다: 해당 계획을 가져와 각 단계를 완료(보고서에 명시되고 디스크가 동의), 대체, 또는 보류 중으로 표시하고 이후 발생한 내용만 확인합니다. 이전 클로즈가 제안했지만 사용자가 응답하지 않은 계획은 승인되지 않은 것입니다: 해당 보류 중인 단계를 이 계획으로 가져와 디스크 및 위 규칙에 대해 다시 확인한 후, 실행하거나 자동으로 삭제하지 말고 상단에 이전 클로즈가 존재한다고 명시합니다.

1. 검색

검색 전에, 환경의 상시 지침(Claude Code의 CLAUDE.md 파일 및 자동 메모리, 이는 상시 지침으로 간주; claude.ai의 프로젝트 지침, 사용자 환경 설정 및 메모리, 그리고 이 SKILL.md의 패키지 사본이 포함할 수 있는 이 설치의 로컬 맵 섹션)에서 이 루틴의 로컬 맵을 확인합니다: 각 카테고리를 담당하는 설치된 스킬, 저장소, 폐기된 항목, 측정된 비용을 명명하는 짧은 섹션. 이러한 맵이 존재하면 검색을 대체합니다. 명명된 각 스킬이 여전히 설치되어 있는지 확인하고(명명된 명령 또는 경로를 저렴한 읽기 전용 조회로 확인 가능한 경우), 폐기된 항목을 확정된 것으로 처리합니다. 부분 맵(저장소 또는 폐기 항목은 명명되었지만 카테고리별 스킬은 없는 경우)은 검색을 대체하지 않고 정보를 제공합니다: 명명된 내용을 존중하고 나머지는 검색하며, 섹션 5의 제안은 두 번째 섹션을 추가하는 것이 아니라 해당 섹션을 완성하는 것이 됩니다. 맵이 없으면 아래와 같이 검색하고 마지막에 작성 제안(섹션 5)을 합니다. Claude Code에서는 CLAUDE.md 파일을 컨텍스트뿐만 아니라 디스크에서 읽습니다: 주입된 복사본은 편집보다 오래되었을 수 있으며, 오래된 복사본은 전체 검색과 이미 존재하는 맵 위에 두 번째 맵을 작성하라는 제안으로 이어집니다.

후보 목록은 이미 컨텍스트에 있는 사용 가능한 스킬 목록(이름 + 설명)입니다. 로컬 스킬, 플러그인 스킬 및 gstack을 모두 포함합니다. 더 나은 소스는 없습니다. 목록의 두 가지 특이점: 플러그인 접두사가 있거나 없이 동일한 설명으로 표시된 스킬은 하나의 스킬이므로 계획에서 기본 이름으로 호출하지만 목록에 표시된 정확한 이름으로 호출합니다. 그리고 실행 중에 명령이 자체 스킬을 가진 폴더를 건드리면 목록이 늘어날 수 있으며, 이렇게 늦게 도착한 스킬은 카테고리와 일치하는 경우에만 계획을 변경합니다.

references/close-out-catalogue.md를 읽습니다. 정의된 각 카테고리에 대해, 설명이 해당 목적과 일치하는 설치된 스킬을 선택합니다. 알려진 구성원은 힌트일 뿐 답이 아닙니다: 목록에 없는 설치된 스킬도 설명이 맞으면 자격이 있으며, 목록에 있지만 더 이상 설치되지 않은 스킬은 건너뜁니다. 카탈로그가 플래그하는 근접 일치를 주의하십시오. 목록에 이름만 표시된 스킬(두 환경 모두 일부 스킬에 대해 이렇게 함)은 이름과 카탈로그의 "인식 기준" 단어로 일치시키고 계획에 "(설명 없음)"으로 표시하여 사용자가 일치가 약하다는 것을 알 수 있게 합니다.

설치된 스킬이 없는 카테고리는 계획에 "건너뜀, 설치되지 않음"으로 표시합니다. 대체 수단을 즉석에서 만들지 마십시오. 단, 환경에 해당 작업을 위한 자체 메커니즘이 있는 경우는 예외입니다(섹션 2). 일부 카테고리는 스킬이 아닙니다(Claude Code에서 자동 메모리는 Write 도구로 작성되고 그래프 새로 고침은 명령입니다). 이는 환경에 있는 경우에만 동일한 계획의 단계입니다.

그런 다음 이 세션에서 실제로 수행할 가치가 있는지 확인합니다:

  • 그래프. 머신의 Claude Code에서 python scripts/find_graphs.py <workspace-root>를 실행합니다(경로는 이 스킬 디렉토리 기준, 모든 Python 작동). 작업 공간 루트는 세션의 작업 폴더 또는 프로젝트 지침이 모든 저장소를 보유한다고 설명하는 더 넓은 폴더입니다. 스크립트는 프로젝트 폴더가 그 아래 최대 5단계 이내에 있는 모든 graphify-out/ 디렉토리와 매니페스트 이후 파일 변경 여부를 나열합니다: 그래프당 한 줄, CURRENT(최신), STALE(변경 및 삭제된 파일 수 포함), 또는 UNKNOWN(매니페스트 없음 또는 graphify를 가져올 수 없음), 또는 찾을 수 없음을 나타내는 한 줄. 변경 횟수는 변경 사항이 각각 재추출에 약 85k가 필요한 노트인지, 아니면 LLM이 필요 없는 코드인지 말하지 않습니다. 세션이 닿은 내용을 기준으로 말합니다. CURRENT는 그래프 파일을 편집한 것을 기억하더라도 단계가 아닙니다. 매니페스트는 이후 그래프가 재구축되었는지 여부를 알고 있습니다. 머신에 Python이 없으면 그래프는 확인되지 않습니다. 그렇게 말합니다. 다른 곳에서는 스크립트가 작업 공간을 볼 수 없습니다(컨테이너에서 실행, 그래프는 사용자 디스크에 있음): 모든 그래프를 확인되지 않은 것으로 보고합니다. 이는 "업데이트할 사항 없음"이 아닙니다.
  • 세션. 결정, 수정, 사용자 또는 프로젝트에 대한 새로운 사실, 생성 또는 이동된 파일? 이는 메모리 및 학습 단계에 쓸 내용이 있는지 결정합니다. 순수한 읽기만 있었던 세션은 컨텍스트 저장 외에는 아무것도 필요하지 않을 수 있습니다.
  • Git. 세션이 닿은 각 저장소에서 git status를 실행합니다. 커밋되지 않은 작업은 이 스킬이 커밋할 사항이 아닙니다. 계획의 "사용자에게 남음" 줄에 들어갑니다. 세션의 설명과 git이 일치하지 않는 경우(세션에서 변경된 파일, 깨끗한 트리), 자동으로 조정하지 않고 불일치를 명명합니다.
  • 주장된 쓰기. 세션이 작성, 생성, 설치 또는 변경했다고 말한 내용(파일, 노트, 커밋, 설정, 설치된 패키지)을 나열하고 각각을 읽기 전용으로 확인합니다: 존재하는지, 내용이 세션이 작성한 내용과 일치하는지(존재 여부만이 아니라 고유한 줄 또는 크기, 실패한 덮어쓰기는 이전 파일을 그대로 남기기 때문). 성공을 보고한 도구는 증거가 아닙니다. 내용이 다른 경우 수정 시간이 결정합니다: 세션의 마지막 작업 후에 변경된 경우 이후 세션이 변경한 것(섹션 0, 부실). 마지막 작업 후 변경되지 않은 경우 쓰기가 실행되지 않은 것입니다. 존재해야 하지만 존재하지 않는 파일도 실행되지 않은 것입니다. 단, 이후 커밋이나 노트가 제거를 기록하지 않은 경우. 실행되지 않은 쓰기 또는 세션이 중간에 남긴 작업(일부 위치에 설치되고 다른 위치에 설치되지 않음, 약속하고 실행하지 않은 단계)은 계획의 "중단된 상태로 남음" 줄에 들어갑니다(섹션 3). 쓰기를 주장하지 않은 세션은 이를 건너뜁니다.
  • 진행 중인 작업 다른 스킬이 여러 세션에 걸쳐 확장하는 경우(카탈로그, "진행 중인 작업"). 자체 단계가 아닙니다: 인계 노트와 컨텍스트 저장에 포함됩니다.
  • 상태가 이미 있는 곳. 프로젝트 지침은 사용자가 소스로 취급하는 저장소(볼트, 프로젝트 데이터베이스, 다음 작업을 보유하는 필드)를 명명할 수 있습니다. 쓰기 계획 전에 지침을 읽습니다(저장소 자체는 이를 쓰는 단계에서 읽습니다). 이는 카테고리 3과 5가 실행되는 방식을 결정합니다. 두 개의 명명된 저장소가 동일한 사실(예: 결정 노트와 프로젝트 노트)을 보유할 수 있는 경우, 계획은 쓰기 대상이 되는 저장소를 명명합니다. 지침이 해결하지 못하면 단일 질문에서 해결하며, 절대 자동으로 해결하지 않습니다.

2. 환경에 따라 달라지는 사항

Claude Code에서는 카탈로그가 설명하는 대로 각 카테고리를 실행합니다. 아래 내용 중 해당 규칙만 적용됩니다. 섹션 0의 다른 두 경우에는 다음과 같이 조정합니다.

1 메모리: 확인, 쓰지 않음. 백그라운드 패스는 각 턴 후에 지속적인 사실을 이미 저장합니다. 사용했을 가능성이 있는 메모리 파일을 읽고(목록에 경로가 표시됨) 계획에 이 세션의 결정이 있는지 여부를 명시합니다. 패스는 각 턴 후에 실행되므로, 종료 턴 자체에서 결정된 내용은 아직 거기에 없으며 이후에 저장됩니다. 이는 정상이며 간격이 아닙니다. 플랫폼은 사용자의 명시적 요청이 있을 때만 메모리 쓰기를 허용하므로, 사용자가 말한 내용 중 누락된 것이 있으면 계획에 명시하고 사용자가 "저장"이라고 말하도록 합니다. 해당 문장이 요청입니다. 프로젝트 내에서는 메모리 지침에 필요한 형식으로 프로젝트 자체 하위 트리에 쓰기가 이루어집니다.

1b 인계 노트, 2 학습: 설치되지 않은 경우 건너뜀. 대체 수단이 없습니다. 프로젝트 문서, 새 노트 또는 채팅 요약이 이를 대체하지 않습니다(단일 장소 규칙 참조).

3 볼트 동기화: 접근 가능 여부에 따라 다름. 장치 셸이 있고 볼트 폴더가 연결된 경우, 설치된 경우 동기화 스킬을 실행합니다. 이 환경에 필요한 것이 없으면 스킬이 그렇게 말할 것이고, 그런 다음 수동으로 동기화를 수행합니다. 셸이 없고 컴퓨터가 연결된 경우에만 파일 도구를 사용하여 수동으로 수행합니다. 어느 쪽이든 먼저 볼트 자체의 규칙 노트를 읽고(셸이 없으면 스테이징), 계획에 각 제안된 변경 사항을 유지할 내용, 변경할 내용, 사라질 내용으로 넣어 단일 확인이 쓰기를 포함하도록 합니다. 훅이 작성하는 세션 로그는 여기에 존재하지 않습니다. 그렇게 말합니다.

4 그래프: 확인되지 않음, 섹션 1에 명시된 대로. "할 일 없음"이 아닙니다.

5 컨텍스트 저장: 프로젝트가 지정한 곳에 작성. 이는 Claude Code에서도 적용됩니다: 프로젝트 지침이 명명한 장소가 일반 스냅샷 스킬보다 우선하며, 장소가 없으면 설치된 스냅샷 스킬이 단계입니다. 프로젝트 지침이 "중단한 곳"이 있는 장소(예: 프로젝트 데이터베이스의 필드)를 명명하면 해당 장소가 컨텍스트 저장입니다. 설치된 스킬이 해당 장소를 소유한 경우(예: 일일 마감 루틴), 해당 스킬이 단계입니다. 이미 이 세션에서 실행된 경우 건너뜁니다. 그렇지 않으면 직접 그곳에 씁니다. 계획은 해당 장소에 대해 제안된 정확한 텍스트를 포함하여 하나의 답변이 이를 포함하도록 합니다. 이 규칙은 직접 장소를 쓸 때 적용되며, 스킬이 쓰기를 소유한 경우 자체 내용을 구성합니다(Claude Code 또는 다른 곳에서). 프로젝트 항목이 세션이 작업한 내용을 포함하지 않는 경우, 그렇게 말하고 인계 노트에 넣을 것을 제안합니다.

6 진행 중인 작업: 다른 스킬이 소유함. 자체 단계가 아닙니다. 카탈로그가 다른 스킬에 할당하지 않는 한 인계 노트와 컨텍스트 저장에 포함됩니다.

3. 단일 질문

모든 카테고리가 하나의 질문에 포함됩니다. 계획은 각 단계를 나열하고 "이 닫기를 승인하시겠습니까?"라고 질문합니다. 각 단계는 다음과 같습니다:

  • 메모리(카테고리 1) – 쓰임, 쓰임. Claude Code에서는 실행됨; 다른 환경에서는 계획에 제안 및 쓰기 확인.
  • 인계 노트(1b) – 쓰거나 건너뜀.
  • 학습(2) – 쓰거나 건너뜀.
  • 볼트 동기화(3) – 쓰거나 건너뜀.
  • 그래프(4) – 업데이트하거나 건너뜀.
  • 컨텍스트 저장(5) – 쓰거나 건너뜀.
  • 진행 중인 작업(6) – 인계 노트 및 컨텍스트 저장에 포함됨.

각 단계에 대해:

  • 실행되는 경우: 간단한 설명(예: "메모리: 세션 결정 저장")
  • 건너뛰는 경우: 이유(예: "설치되지 않음", "확인되지 않은 그래프")
  • 부분적으로 실행되는 경우: 세부 사항

단일 질문은 "이 닫기를 승인하시겠습니까?"입니다. 사용자가 "예"라고 말하면 계획을 실행합니다. 사용자가 "아니오"라고 말하면 중단합니다.

4. 실행

각 단계를 계획된 순서대로 실행합니다. 각 단계 후에 결과(성공, 실패, 건너뜀)를 보고합니다. 모든 단계가 완료되면 최종 보고서를 제공합니다.

5. 로컬 맵 작성 제안

로컬 맵이 없고 검색이 성공한 경우, 사용자에게 로컬 맵을 작성할 것을 제안합니다. 제안은 발견된 매핑을 포함하며 사용자가 수락하면 카탈로그 옆에 저장합니다.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

alex20-create/plan-admin

Work-planning routines for people who run several projects in parallel: a daily plan (today's blocks, each with its next action and a first step), a day close (where each block was left and the next actions for the next working day) and a weekly review (what went well, collisions, priorities). Reads the schedule, rules and project status from the user's project manager and project instructions, in claude.ai or in Claude Code. Use it whenever the user says 'what's on today', 'what should I do today', 'plan my day', 'where do I start today', 'I'm done for today', 'closing the day', 'weekly review', 'what have I got this week', or the equivalent in their language (in Spanish, for example, 'qué toca hoy', 'cierro el día' or 'revisión semanal'), even if the skill is not named. Do not use it to open a session on a project with history (that is a session-opening skill such as resume-project), to archive or close the chat, or to choose skills for a task.

alex20-create/resume-project

Session-opening routine for a project with history, or for an umbrella project that holds several: gathers what earlier sessions left behind (a project manager such as Notion, a session log if the setup writes one, git, an Obsidian vault, handoffs, chats, memory and project files), cross-checks it, summarises where everything stands, asks what to work on today and hands the answer over to a skill-selection skill if one is installed. Chooses its sources from the tools available in the session, not from the name of the environment. Use it when opening a session even if the skill is not named, with phrases such as "let's pick up", "where were we?", "carry on with my-app", "open a session on X", "let's start", "/resume-project", or the equivalent in the user's language (in Spanish, for example, "retomamos" or "¿por dónde íbamos?"). Do not use it midway through a session that is already working, or to create a project from scratch.

관련 스킬