| name | consolidate-memos |
| description | 여러 메모 파일을 하나로 통합합니다. Use when the user wants to merge, consolidate, or combine multiple memos in src/content/memo/ — triggers on phrases like "메모 통합", "메모 합치기", "이 메모들 하나로 묶어줘", "496이랑 502 통합해줘". |
메모 통합
여러 메모 파일을 하나로 통합하고 중복을 제거합니다.
인자 형식
- 공백으로 구분된 메모 번호들 (예:
496 502 504)
- 첫 번째 번호가 통합 대상 (나머지는 삭제됨)
작업 순서
- 지정된 메모 파일들의 내용을 모두 읽기
- 각 메모의 고유한 내용 파악:
- 첫 번째 메모에 다른 메모들의 내용 통합:
- 중복 제거
- 논리적 순서로 재구성
- frontmatter 업데이트 (tags 병합, mtime 갱신)
- 링크 재배선 (삭제 전 필수): 아래 "관계 재배선" 절차 수행
- 나머지 메모 파일 삭제
- 변경사항 요약 출력
관계 재배선 (parent 정합성)
메모를 삭제하면 그 메모를 parent로 가리키던 다른 메모의 링크가 끊긴다. 삭제 전에 반드시 처리한다. 계보 스펙은 docs/memo-spec.md "메모 연결" 참고.
절차 (삭제 대상 각 메모 N에 대해)
-
인바운드 링크 탐색: N을 부모로 가리키는 메모 찾기
grep -rlE "^parent: '?N'?[[:space:]]*$" src/content/memo/
-
자식 repoint: 찾은 메모들의 parent를 통합 대상(생존 메모) ID로 변경.
- 단, 그 자식이 통합 대상 자신이면
parent 줄을 제거 (자기 참조 방지).
-
부모 승계: 삭제 대상 N이 parent를 갖고 있고 통합 대상에는 parent가 없으면, 통합 대상이 그 parent를 승계할지 검토 (의미가 맞을 때만).
주의
- repoint 결과 자기 참조(
parent가 자기 ID)나 순환이 생기지 않게 확인.
- 재배선이 의미상 어색하면 (예: 자식이 삭제 메모의 특정 내용만 이어받았는데 통합 대상엔 그 내용이 없음) 사용자에게 알리고 판단을 위임.
통합 원칙
CLAUDE.md의 메모 작성 원칙 준수:
- 핵심 먼저, 맥락은 최소한
- 코드 블록 + 짧은 설명
- 헤딩은 정말 필요할 때만
- 서론/결론 구조 지양
출력 형식
## 통합 완료
- 통합 대상: [첫 번째 메모 번호].md
- 삭제된 메모: [나머지 번호들]
- 추가된 내용:
- [메모 번호]에서: [요약]
- [메모 번호]에서: [요약]
커밋하시겠습니까?
주의사항
- 통합 전 각 메모 내용을 사용자에게 먼저 보여주기
- 사용자 확인 후 실제 편집 수행
- 커밋은 사용자 요청 시에만