NanoClaw 포크 마이그레이션
포크한 NanoClaw의 커스터마이징을 마이그레이션 가이드로 뽑아내고, 깨끗한 업스트림 위에 다시 적용해 머지 충돌 없이 업그레이드합니다.
개발·코딩고급★ 30,471⑂ 12,865AI 점수 7/10마지막 업데이트: 2026. 8. 9.
무엇을 해주나
오픈소스 프로젝트(NanoClaw)를 포크해서 설정값, 소스 코드, 페르소나, 스킬 등을 직접 고쳐 쓰다 보면 업스트림이 업데이트될 때마다 git merge가 충돌 지옥을 만듭니다. 이 스킬은 머지 대신 '의도 기반 재적용' 방식을 씁니다.
- Extract 단계: 서브에이전트(haiku)를 병렬로 띄워 포크의 변경 사항을 훑고, 무엇을 왜 바꿨는지(intent)와 어떻게 바꿨는지(코드 스니펫, API 호출, import 경로)를 담은 마크다운 마이그레이션 가이드를
.nanoclaw-migrations/에 생성합니다. - Upgrade 단계: 백업 브랜치·태그를 먼저 만들고,
git worktree로 깨끗한 업스트림을 체크아웃한 뒤 가이드대로 스킬과 커스터마이징을 재적용합니다. 빌드/테스트, 선택적 라이브 테스트까지 통과하면 메인 트리로 스왑하고 서비스를 재시작합니다. - 변경 규모에 따라 Tier 1(가벼움 →
/update-nanoclaw권장) / Tier 2(표준) / Tier 3(복잡, 마이그레이션 계획 수립)로 작업량을 자동 조절합니다. groups/,store/,data/,.env같은 데이터 디렉터리는 절대 건드리지 않습니다.
이런 분께 추천
- NanoClaw를 포크해 자신만의 봇/에이전트로 개조해 쓰는 사용자
- 업스트림 업데이트마다 충돌 해결에 시간을 뺏기는 개발자
- 포크 커스터마이징을 문서로 남겨 팀원이나 다른 머신에서 재현하고 싶은 분
- git worktree, 리베이스, 서비스 관리(launchd/systemd)에 어느 정도 익숙한 중·상급자
활용 예시
- 트리거 이름 변경 등 단순 커스터마이징:
src/config.ts의ASSISTANT_NAME을 'Andy'에서 'Bob'으로 바꾼 포크 → 가이드에 "기본값을 Bob으로 변경" 한 줄로 기록되고, 업그레이드 시 새 업스트림 파일에 자동 재적용됩니다. - 외부 API 연동 같은 비표준 변경: DeepL로 아웃바운드 메시지를 스페인어로 번역하는 코드 → import 문,
translateText호출,package.json의존성까지 스니펫 그대로 가이드에 남겨 새 세션이 원본 diff 없이도 재현합니다. - 여러 스킬을 얹은 복잡한 포크:
add-telegram,add-slack등 3개 이상 스킬을 적용한 경우 → 스킬 간 중복 선언·충돌을 별도 서브에이전트가 점검해 "Skill Interactions" 섹션에 정리하고, 업그레이드 시 각 스킬의 apply를 워크트리에서 재실행합니다.
· · · 설치 가이드 · · ·
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
클로드스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 nanocoai/nanoclaw 의 .claude/skills/migrate-nanoclaw 폴더를 내 ~/.claude/skills/migrate-nanoclaw/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/nanocoai/nanoclaw.git /tmp/nanoclaw && mkdir -p ~/.claude/skills && cp -r /tmp/nanoclaw/.claude/skills/migrate-nanoclaw ~/.claude/skills/⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- 터미널을 열고 저장소를 임시 폴더로 클론합니다.
git clone https://github.com/nanocoai/nanoclaw.git /tmp/nanoclaw - 개인 스킬 폴더를 만들어 둡니다(이미 있으면 넘어갑니다).
mkdir -p ~/.claude/skills - 스킬 디렉터리를 통째로 복사합니다.
cp -r /tmp/nanoclaw/.claude/skills/migrate-nanoclaw ~/.claude/skills/참고: 이 스킬은 원래 NanoClaw 포크 저장소 안의
.claude/skills/에서 동작하도록 설계되었습니다. 자신의 포크를 이미 클론해 두었다면 위 복사 대신 그 저장소에서 바로 실행하는 편이 자연스럽습니다. - 업그레이드할 포크 디렉터리로 이동해 작업 트리가 깨끗한지 확인합니다.
cd ~/내포크경로 && git status - 만약을 위해 백업 브랜치를 직접 하나 더 만들어 둡니다.
git branch backup/before-migrate - Claude Code를 실행하고 "내 NanoClaw 포크를 업스트림으로 마이그레이션해줘"처럼 요청하면 스킬이 Phase 0부터 순서대로 진행합니다.
- 진행 중 나오는 선택지(스태시/커밋, 티어 선택, 라이브 테스트 여부)는 내용을 읽고 직접 결정하세요. 특히 마지막 스왑 단계는
git reset --hard를 사용하므로 백업 태그 이름을 꼭 기록해 두세요.
GitHub에서 원본 보기 ↗라이선스: MIT