بنقرة واحدة
merge
main 대상 PR을 순차 병합하고 지식 베이스 일관성(중복/교차참조/모순)을 점검·수정한다. "merge", "병합", "PR 합쳐줘" 등의 요청에 반응한다.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
main 대상 PR을 순차 병합하고 지식 베이스 일관성(중복/교차참조/모순)을 점검·수정한다. "merge", "병합", "PR 합쳐줘" 등의 요청에 반응한다.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
사용자와의 대화를 raw/agents/에 저장하고, 핵심 결정·제약·열린 질문을 docs/note/에 아이디에이션 노트로 정리한다. sources/entities/concepts/analyses는 생성하지 않는다. "아이디에이션 정리해줘", "ideation", "지금 대화 노트로 남겨줘" 등의 요청에 반응한다.
raw/ 소스를 읽고 docs/에 정제된 지식 노드를 생성/업데이트한다. "수집해줘", "ingest", "이 문서 정리해줘" 등의 요청에 반응한다.
HWP, DOCX, PDF 등 바이너리 파일에서 텍스트를 추출하여 markdown 파일로 저장한다. "파싱해줘", "텍스트 추출", "parse" 등의 요청에 반응한다.
지식 베이스의 건강 상태를 점검하고 문제를 수정한다. "검수", "점검", "lint", "건강 체크" 등의 요청에 반응한다.
LanceDB 인덱스를 구축하거나 갱신한다. "인덱스 갱신", "인덱싱", "re-index" 등의 요청에 반응한다.
지식 베이스에서 semantic search를 수행하고 종합 답변한다. 결과가 부족하면 리서치를 제안한다. "검색해줘", "찾아줘", "알려줘", "분석해줘" 등의 요청에 반응한다.
استنادا إلى تصنيف SOC المهني
| name | merge |
| model | opus |
| effort | max |
| description | main 대상 PR을 순차 병합하고 지식 베이스 일관성(중복/교차참조/모순)을 점검·수정한다. "merge", "병합", "PR 합쳐줘" 등의 요청에 반응한다. |
| argument-hint | [PR 번호] |
main 대상 PR을 순차 병합하고 지식 베이스 일관성을 점검·수정하는 skill이다.
/merge # main 대상 모든 열린 PR을 순차 병합
/merge 42 # 특정 PR만 병합
/merge 42 45 48 # 지정된 PR들을 순차 병합
# 열린 PR 목록 확인
gh pr list --base main --state open
# main 최신화
git fetch origin main
인자로 PR 번호가 주어지면 해당 PR만 대상으로 한다. 없으면 main 대상 모든 열린 PR을 대상으로 한다.
PR이 2개 이상일 때 병합 순서를 결정한다.
gh pr diff <PR번호> --name-only
각 PR에 대해 병합 전 다음을 검토한다:
gh pr diff <PR번호>
변경된 docs/ 파일 목록과 내용을 파악한다.
PR에서 새로 생성하는 docs/ 노드의 id/title을 추출하고, main의 기존 노드와 비교한다:
# PR이 새로 추가하는 docs/ 파일 확인
gh pr diff <PR번호> --name-only | grep '^docs/'
# 기존 노드에서 유사한 주제 검색
make search Q="<새 노드의 주제>" OPTS="--json"
의미적으로 중복될 가능성이 있는 노드 쌍을 식별하여 사용자에게 보고한다.
# main에서 임시 브랜치를 만들어 충돌 여부 확인
git checkout -b temp-merge-test origin/main
git merge --no-commit --no-ff origin/<PR-branch>
# 충돌 확인 후 정리
git merge --abort
git checkout -
git branch -D temp-merge-test
충돌이 있으면 사용자에게 보고하고 수동 해결이 필요한지 확인한다.
사용자 확인 후 PR을 병합한다:
gh pr merge <PR번호> --merge --delete-branch
병합 후 로컬 main을 최신화한다:
git fetch origin main
주의: 반드시 사용자 확인을 받은 후에만 병합을 실행한다.
병합 직후, 새로 추가/수정된 노드를 중심으로 일관성을 점검한다.
make validate
병합된 PR이 추가한 노드와 기존 노드 간 의미적 중복을 확인한다:
# 새로 추가된 각 노드에 대해
make search Q="<노드 title/summary>" OPTS="--json"
유사도가 높은 노드 쌍을 식별한다.
새 노드와 기존 노드 간 누락된 교차 참조를 확인한다:
A→B wikilink가 있으면 B의 frontmatter links와 "관련 노드" 섹션에도 A가 있어야 한다:
# 각 새 노드에 대해 backlink 확인
rg "\[\[<node-id>\]\]" docs/ -l
누락된 backlink를 자동 추가한다.
frontmatter links에 항목이 있는 노드는 본문 마지막 "관련 노드" 섹션에 links의 모든 항목이 빠짐없이 나열되어야 한다. 누락 시 자동 추가한다.
새 노드와 기존 노드 간 내용 모순을 확인한다.
모순 처리 규칙:
Step 5~6에서 자동 수정한 사항이 있으면 커밋한다. 커밋 메시지 본문에는 어떤 PR들 사이에서 발견된 문제인지와 구체적으로 무엇을 수정했는지를 명시하여 추후 업데이트 추적이 가능하도록 한다.
자동 수정 가능 항목:
사용자 결정 필수 항목:
병합할 PR이 남아있으면 Step 3~7을 반복한다.
모든 PR 병합 및 수정이 완료되면 교차 PR 관계 점검을 수행한다. Step 5는 각 PR별 지역 점검이지만, 여기서는 이번 merge 세션에서 합쳐진 모든 새 파일들 간의 관계를 종합적으로 확인한다.
이번 /merge 세션에서 병합된 모든 PR이 추가하거나 수정한 docs/ 파일을 모은다:
# 각 병합된 PR에 대해
gh pr diff <PR번호> --name-only | grep '^docs/'
모든 PR의 결과를 합쳐 이번 세션의 변경 파일 집합을 만든다.
변경 파일 집합 내 모든 파일 쌍에 대해 관계를 점검한다. 특히 서로 다른 PR에서 온 파일 쌍에 주목한다 (개별 PR 리뷰 시에는 상대 파일이 아직 main에 없어 놓치기 쉽다).
각 파일 쌍 (A, B)에 대해:
# 각 파일의 주제로 상대 파일이 검색되는지 확인
make search Q="<A의 title/핵심 키워드>" OPTS="--json"
rg "\[\[<B의 node-id>\]\]" <A의 경로>
rg "\[\[<A의 node-id>\]\]" <B의 경로>
links에 서로가 없으면 누락이다.관련성이 확인되었으나 연결이 누락된 경우 자동 업데이트한다:
links에 상대 node-id 추가판단 기준:
이번 세션 변경 파일들이 기존 main 노드와도 연결되어야 하는데 놓친 경우가 있을 수 있다. 각 새 파일에 대해:
make search Q="<파일 title/summary>" OPTS="--json"
상위 검색 결과 중 이미 연결된 노드를 제외하고, 의미적으로 강하게 연결되어야 하는 기존 노드가 있으면 9-3과 동일하게 양방향 링크를 보완한다.
9-3, 9-4에서 자동 수정한 사항이 있으면 커밋한다. 커밋 메시지 본문에 어떤 PR들 사이의 관계 보완인지와 추가된 링크 쌍을 명시한다.
# 전체 검증
make validate
# 인덱스 재구축
make index
모든 병합과 일관성 수정이 main에 반영된 후, dev 브랜치를 최신 main에서 새로 만들고 모든 worktree의 브랜치를 동일 커밋으로 맞춘다.
# 로컬 dev 브랜치가 있으면 삭제
git branch -D dev 2>/dev/null
# 원격 dev 브랜치가 있으면 삭제
git push origin --delete dev 2>/dev/null
git branch dev main
git push -u origin dev
worktree는 동일 브랜치를 공유할 수 없으므로, 각 worktree가 사용 중인 기존 브랜치를 유지한 채 해당 브랜치를 dev(= main)와 같은 커밋으로 리셋한다.
git worktree list로 worktree 목록을 확인하고, main worktree를 제외한 각 worktree에 대해:
git -C <worktree-path> status --porcelain
git -C <worktree-path> reset --hard dev
git push origin <worktree-branch> --force-with-lease
주의사항:
사용자에게 최종 보고를 한다: