From claude-unity-harness
Saves the current session's progress to .claude/claude-progress.txt and .claude/project-memory.json, then optionally commits to git. Usage: /context-save Updates the human-readable progress log, structured project memory JSON, and feature_list.json. Asks for confirmation before committing to git. Run at the end of every work session.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-unity-harness:context-savehaikuThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**파일 쓰기 전에 반드시 먼저 실행한다.**
파일 쓰기 전에 반드시 먼저 실행한다.
git rev-parse --show-toplevel 2>/dev/null || pwd
출력된 경로를 PROJECT_ROOT 로 기억한다.
이후 모든 파일 쓰기는 반드시 절대 경로를 사용한다:
<PROJECT_ROOT>/.claude/claude-progress.txt<PROJECT_ROOT>/.claude/project-memory.json<PROJECT_ROOT>/.claude/feature_list.json⚠️ 절대 경로 없이
.claude/...상대 경로로 Write를 호출하면 반드시 실패한다. ⚠️ Write 전 반드시 Read 먼저: 파일이 이미 존재하면 Read 없이 Write하면 차단된다. 각 파일을 Write하기 직전에 Read를 시도한다 (없으면 에러 무시).
date '+%Y-%m-%d'
git log --oneline -5 2>/dev/null || echo "git 없음"
git diff --stat 2>/dev/null || echo ""
git status --short 2>/dev/null || echo ""
기존 <PROJECT_ROOT>/.claude/claude-progress.txt 읽기 (있으면).
현재 대화에서 추출:
UnityMCP 툴 사용 가능 여부에 따라 분기한다.
연결됨 → 테스트 실행 후 커밋:
run_tests 툴 호출 — EditMode 테스트 전체 실행read_console 툴 호출 — 에러 로그 확인✅ 테스트 통과 (N/N) → 4단계(커밋)로 진행미연결 → 테스트 생략:
[MCP 미연결] 테스트 생략 — 커밋을 진행합니다. 출력 후 3단계로 진행기존 파일이 있으면 업데이트, 없으면 새로 생성:
# .claude/claude-progress.txt
## 프로젝트 정보
프로젝트: [프로젝트명]
타입: Unity
마지막 업데이트: YYYY-MM-DD
## 세션 이력
| 날짜 | 작업 내용 | 완료 여부 |
|------|----------|----------|
| YYYY-MM-DD | (이번 세션 작업 한 줄 요약) | ✅ / 🔄 |
| (이전 이력 유지) | | |
## 현재 진행 상황
(지금 이 시점 코드베이스 상태 2~3줄)
## 다음 작업
- [ ] (가장 중요한 것부터)
- [ ] ...
## 주요 설계 결정
- YYYY-MM-DD: (결정 내용 — 이유)
- (이전 결정 유지)
## 알려진 이슈
- (발견된 버그·제한사항)
- 없으면 "없음"
.claude/project-memory.json 파일을 생성하거나 업데이트한다:
{
"techStack": "[Unity 버전, C# 버전, Render Pipeline]",
"platform": "[Android / iOS / PC / WebGL]",
"currentFeature": "[지금 작업 중인 기능명]",
"phase": "[설계 중 / 구현 중 / 검증 중 / 완료]",
"conventions": {
"naming": "m_(private) k_(const) s_(static)",
"async": "UniTask",
"assets": "Addressables",
"events": "ScriptableObject Event Channel"
},
"decisions": [
{ "date": "YYYY-MM-DD", "decision": "[결정 내용]", "reason": "[이유]" }
],
"blockers": ["[현재 막혀 있는 문제 — 없으면 빈 배열]"],
"nextUp": "[다음 작업할 기능명]",
"progress": "N/M 기능 완료",
"lastUpdated": "YYYY-MM-DD"
}
기존 파일이 있으면 필드를 병합 업데이트 (decisions 배열은 append). ProjectSettings/ProjectVersion.txt 에서 Unity 버전 읽어 techStack 채우기.
.claude/feature_list.json 파일 Read 후:
진행률: N/M 기능 완료 (passes: true)
git 사용 가능 여부 먼저 확인:
git rev-parse --git-dir 2>/dev/null
파일 저장 완료 후 아래와 같이 확인한다:
✅ 세션 저장 완료
- .claude/claude-progress.txt 업데이트
- .claude/project-memory.json 업데이트
- .claude/feature_list.json 진행률 반영
커밋할까요? (y/N)
승인 시 — 이번 세션의 주요 변경 성격에 따라 커밋 타입을 선택해 실행:
| 세션 내용 | 커밋 타입 |
|---|---|
| 새 기능 구현 완료 | [feat] |
| 버그 수정 | [fix] |
| 리팩토링 | [refactor] |
| 문서·분석 파일만 | [docs] |
| 설정·하네스 파일 | [chore] |
git add -A
git commit -m "[타입] (이번 세션 핵심 변경 한 줄 요약)
- (세부 변경사항 1)
- (세부 변경사항 2)"
거절 시 — "다음 세션에서 /context-load 로 복구하세요." 안내 후 종료.
npx claudepluginhub cwp10/claude-unity-harness --plugin claude-unity-harnessSaves session progress by committing changes, pushing to remote, creating/updating pull requests, persisting decisions/patterns to memory layers, compiling briefings, and archiving features. Use for checkpointing work or PRs.
Wraps up a work session by recording changed files, caveats, decisions, and next steps so a fresh session can resume without re-deriving context.
Generates a passoff package (session summary, PROGRESS/CLAUDE/memory updates, commit, next-session prompt) for clean handoffs to future-you or a coworker brief mode.