AI 비서(저는 OpenClaw 기반 비서를 씁니다)에 기능을 하나씩 붙이다 보면, 어느새 여러 개의 스킬(skill)이 흩어져 쌓입니다. 음성, 캘린더, 사용량 모니터… 이걸 하나의 묶음(번들)으로 백업해 두면 이전·복원·공유가 한 번에 됩니다. Claude Code의 플러그인 개념(커맨드·스킬·도구를 한 묶음으로 패키징)에서 착안한 작업입니다.
※ 경로의 사용자명 등 개인정보는 ~(홈)로 가렸습니다.
왜 번들로 묶나
- 스킬은 보통
~/workspace/skills/아래 폴더 단위로 흩어져 있다. - 플러그인처럼 한 묶음(tar)으로 만들면 — 백업·기기 이전·공유가 한 방에 된다.
- 설정을 매번 손으로 다시 하는 낭비가 사라진다.
핵심 — 묶기 전에 '제외할 것'부터 정한다
스킬 폴더에 재생성 가능한 대용량 파일(예: 음성인식 모델 ~465MB)이 섞여 있으면 백업이 쓸데없이 무거워집니다. 이런 건 제외하고, 복원 시 재다운로드하도록 문서에 남기는 게 정석입니다.
백업 만들기
cd ~/workspace
mkdir -p backups
STAMP=$(date +%Y%m%d-%H%M)
tar czf "backups/skills-$STAMP.tar.gz" \
--exclude="voice/models/*.bin" --exclude="**/__pycache__" \
-C ~/workspace skills
# 검증
tar tzf backups/skills-$STAMP.tar.gz | grep skills/
결과: 대용량 모델을 빼니 전체 스킬이 고작 24KB로 묶였습니다. (텍스트·스크립트가 대부분이라 가볍습니다.)
매니페스트(목록표)도 같이
플러그인의 핵심은 "무엇이 들었는지"를 적은 매니페스트입니다. 표 하나로 정리해 두면 복원할 때 의존성까지 한눈에 보입니다.
| 스킬 | 설명 | 외부 의존성 |
|---|---|---|
| voice | 음성노트로 답하기(TTS) | ffmpeg |
| calendar | 맥 캘린더 전체 일정 조회 | icalBuddy |
| calendar(google) | 구글 캘린더 이벤트 관리 | gcalcli |
| siri | 시리/음성호출 연동·자동 전달 | shortcuts, LaunchAgent |
| usage-monitor | 사용량 실시간 대시보드 | ccusage, python3 |
복원
tar xzf skills-YYYYMMDD.tar.gz -C ~/workspace/
chmod +x ~/workspace/skills/**/*.sh
# 의존성(필요시)
brew install ffmpeg gcalcli icalbuddy whisper-cpp
npm i -g ccusage
# 대용량 모델은 별도 재다운로드, LaunchAgent/단축어는 문서대로 재등록
한 가지 더 — 백업은 '딴 곳'에도
같은 기기에만 두면 기기를 잃을 때 같이 사라집니다. tar 사본을 클라우드 동기화 폴더(예: iCloud)에도 복사해 두면 진짜 백업이 됩니다.
한 줄 교훈
흩어진 걸 한 묶음으로, 무거운 건 빼고, 목록은 표로, 사본은 딴 곳에. 이 네 가지만 지키면 어떤 도구든 깔끔하게 백업·이전할 수 있습니다.