| name | update |
| description | 코파일럿을 최신으로 유지한다 — 설치본이 배포본보다 뒤처졌는지 점검하고, 사용자가 손댄 파일은 취사선택해 지키면서 갱신하며, 주 1회 자동 갱신을 등록한다. Claude Code는 서드파티 마켓플레이스를 자동 갱신하지 않으므로 이 스킬이 없으면 몇 달 전 버전을 쓰면서도 모른다. "업데이트 / 최신버전 / 버전 확인 / 갱신 / 새 기능 있어? / 왜 이 기능이 없지 / 자동 업데이트 걸어줘 / 내가 고친 거 유지하면서 업데이트"일 때, 또는 설정 직후·오래된 버전이 감지될 때. |
사업 루프(항상): 관찰 → 판단 → 실행 → 측정 → 학습. 자세히 [[method]].
update — 최신으로 유지하되, 내가 고친 것은 지킨다
Claude Code는 공식 마켓플레이스만 자동 갱신을 기본으로 켠다. 코파일럿은 서드파티라 기본이 꺼짐이다. 그래서 아무도 갱신해 주지 않고, 사용자는 몇 달 전 버전을 쓰면서 그 사실조차 모른다. "이 기능이 왜 없지?"의 상당수가 실은 갱신 문제다.
실행 유형: [A] 점검·등록은 자동(묻지 않고 실행 후 통보) / 갱신은 사용자가 손댄 파일이 있으면 반드시 [P] 승인 — 남의 수정본을 말없이 덮지 않는다
0. 30초 점검 — 무엇이 뒤처졌나
business-copilot update_check
뒤처짐은 세 종류이고 처방이 다르다. 뭉뚱그려 "업데이트하세요"라고 하면 못 고친다.
| 표시 | 무슨 일인가 | 처방 |
|---|
[카탈로그] | 마켓플레이스 클론이 원본 저장소보다 뒤 | --apply가 알아서 갱신 |
[설치본] | 카탈로그는 최신인데 설치본이 뒤 | --apply가 알아서 갱신 |
[작성자] | 배포하는 쪽이 version을 안 올렸거나 안 밀었다 | 사용자 쪽에서 아무리 갱신해도 안 온다 — 작성자에게 알린다 |
[작성자] 항목이 뜨면 갱신을 권하지 말고 사실만 알린다. 사용자가 뭘 해도 해결되지 않는다.
1. 내가 고친 파일부터 찾는다 (갱신 전 필수)
플러그인은 버전마다 새 디렉터리에 설치된다(.../1.3.0/ → .../1.4.0/). 그래서 설치본 안의 스킬을 고쳐 놨다면, 갱신하는 순간 그 파일은 새 디렉터리에 없다 — 경고도 없이 원상복구된 것처럼 보인다. 갱신 전에 반드시 확인한다.
business-copilot update_check --custom
네 갈래로 나온다. 갈래마다 권해야 할 답이 다르다:
| 표시 | 뜻 | 어떻게 안내하나 |
|---|
+ 추가 | 사용자가 새로 넣은 파일 | 유지 권장. 배포본과 겹칠 일이 없다 |
· 안전 | 내가 고쳤고 배포본은 그대로 | 유지 권장. 갱신해도 잃을 것이 없다 |
⚠️ 충돌 | 내가 고쳤는데 배포본도 바뀜 | 여기서만 사람이 고른다. --diff로 차이를 보여주고 선택을 받는다 |
? 판정 불가 | 기준선이 없어 누가 고쳤는지 모름 | 단정하지 말고 --diff로 확인시킨다 |
차이를 보여줄 때:
business-copilot update_check --plugin <이름> --diff <경로>
2. 취사선택 — 한 번 고르면 끝난다
business-copilot update_check --plugin <이름> --keep skills/ads/SKILL.md
business-copilot update_check --plugin <이름> --drop skills/ads/SKILL.md
확정한 파일은 ~/.business-copilot/overrides/ 에 보관되고, 갱신할 때마다 자동으로 다시 얹힌다. 매번 다시 고를 필요가 없다.
- 전부 유지하라고 밀어붙이지 않는다. 충돌한 파일을 계속 유지하면 그 부분의 개선·버그 수정을 영영 못 받는다. 차이를 보여주고 사용자가 정하게 한다.
- "어차피 덮어써도 되죠?"라고 묻지 않는다. 사용자가 고친 데는 이유가 있다.
3. 갱신 실행
business-copilot update_check --apply
- 아직 고르지 않은 수정본이 있으면 멈춘다(fail-closed). 목록을 보여주고 1~2절로 돌아간다.
- 사용자가 "그냥 다 덮어써"라고 명시적으로 말할 때만
--force를 붙인다. 먼저 권하지 않는다.
- 갱신 후 안내: 새 버전은 다음 세션부터 적용된다. 지금 적용하려면
/reload-plugins.
4. 자동 갱신 등록 — 한 번만 걸면 된다
두 경로가 있다. ①이 우선이고, 안 되면 ②로 간다.
① Claude Code 자체 자동 갱신 (권장)
서드파티 마켓플레이스는 기본이 꺼짐이라 켜 줘야 한다. 켜면 세션 시작 후 백그라운드로 갱신된다.
/plugin → Marketplaces 탭 → 해당 마켓플레이스 선택 → Enable auto-update
/plugin은 터미널 대화형 패널이라 사용자가 직접 눌러야 한다. 대신 눌러 줄 수 없으니 이 세 줄을 그대로 안내한다.
② 주 1회 크론 (①이 안 되거나 취사선택까지 지키고 싶을 때)
business-copilot update_check --install-cron
매주 월요일 09:30에 점검·갱신하고 ~/.business-copilot/data/_activity/update.log에 남긴다. ①과 달리 내 수정본을 지켜 준다 — overrides를 자동 재적용하기 때문이다.
크론이 캐시 경로를 직접 가리키면 갱신 때마다 버전 디렉터리가 바뀌어 다음 주에 깨진다. 그래서 상태 디렉터리에 고정 런처(~/.business-copilot/bin/copilot-update.sh)를 두고 그걸 부른다.
5. 언제 먼저 꺼내는가
- 첫 설정 직후 — [[setup]] 끝에서 ①을 안내하고 ②를 등록한다. 이때 걸어 두지 않으면 아무도 나중에 등록하지 않는다.
- "이 기능이 왜 없지" — 갱신 문제일 수 있으니 0절부터 돌린다.
- 오류가 반복될 때 — 이미 고쳐진 버그일 수 있다.
- 세션마다 반복해 권하지 않는다. 한 번 안내하고 등록되면 끝이다.
6. 하지 않는 것
- 사용자 수정본을 말없이 덮지 않는다. 이 스킬의 존재 이유다.
- 갱신을 강요하지 않는다. 잘 돌고 있으면 미뤄도 된다고 말한다.
[작성자] 항목을 사용자 탓으로 돌리지 않는다. 그건 배포하는 쪽 문제다.
- 버전 숫자만 읊지 않는다 — 무엇이 달라지는지를 한 줄로 말한다.
이것만은: 갱신은 최신을 따라가는 일이지 사용자의 손길을 지우는 일이 아니다. 고른 것은 지키고, 못 고른 것은 멈춘다.