Community라이팅 & 에디팅github.com

rmems/worktrees-hives

멀티 에이전트 가설 실험실: 분리된 git 워크트리에서 에이전트/서브에이전트로 여러 가설을 실행합니다. 필수 JSON + 마크다운 결과물. Python/Rust 하이브리드 안전 케이지. 절대 자동 병합하지 않습니다.

worktrees-hives란 무엇인가요?

`rmems/worktrees-hives` 스킬은 에이전트가 격리된 git 워크트리에서 병렬 가설을 안전하게 실험할 수 있도록 설계된 멀티 에이전트 오케스트레이터 스킬입니다. GitHub 이슈나 Linear에서 작업을 발견하고, 코드 변경을 위한 하위 에이전트를 생성하며, CI를 통과할 때까지 풀 리퀘스트를 모니터링하고, 결과를 운영자에게 보고하는 데 사용됩니다. 가장 중요한 특징은 절대 자동 병합을 허용하지 않는 3계층 안전 가드레일(Python 오케스트레이터, Rust 코어, 프롬프트 템플릿)입니다. 에이전트는 `gh pr merge`, `git push --force`와 같은 명령을 실행할 수 없으며, 각 PR 사이클당 최대 3개의 코드 수정 커밋으로 제한됩니다. 이 스킬은 Claude Code, Cursor, Codex 등 다양한 AI 에이전트 플랫폼에서 사용할 수 있으며, 모든 결과물은 JSON 및 마크다운 형식으로 제공됩니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add rmems/worktrees-hives

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

worktrees-hives 스킬

worktrees-hives 하이브리드 오케스트레이터를 위한 설치 가능한 에이전트 스킬입니다.

사용 시기

다음과 같은 경우 이 스킬을 사용합니다:

  • GitHub 또는 Linear 이슈에서 작업 발견
  • 코드 변경을 위한 작업자 하위 에이전트 생성
  • CI를 통한 풀 리퀘스트 모니터링
  • 결과를 운영자에게 보고

안전 가드레일

이 규칙은 절대 변경할 수 없습니다. 어떤 에이전트, 오케스트레이터, 또는 플랫폼 재정의도 이를 완화할 수 없습니다.

거부 목록 (절대 실행 금지)

명령 / 작업이유
gh pr merge에이전트는 PR을 병합하지 않습니다. 사람이 병합해야 합니다.
gh pr merge --auto동일한 금지; 자동 병합도 병합입니다.
git push --force (일반)파괴적 작업; 기록 손실. --force-with-lease만 사용하세요.
git push -f (일반)동일한 파괴적 푸시의 약식입니다.
GraphQL mergePullRequestAPI를 통한 병합도 병합입니다.
REST PUT /repos/.../mergeREST를 통한 병합도 병합입니다.
모든 병합 커밋 생성작업 트리에서 PR 브랜치를 결합하는 git merge.

force-with-lease 허용 목록

git push --force-with-lease는 다음 경우에만 허용됩니다:

  1. 에이전트가 자신의 기능 브랜치를 업데이트된 베이스로 리베이스하는 경우.
  2. 에이전트가 오래된 원격 참조로 인해 실패한 force-push를 수정하는 경우.
  3. 운영자가 명시적으로 force-push를 지시한 경우.

--force-with-lease를 사용하기 전에 에이전트는 반드시:

  • 현재 브랜치가 할당된 작업 트리 브랜치인지 확인(main, master 또는 다른 에이전트의 브랜치가 아닌지).
  • 원격 참조가 에이전트가 예상한 것과 일치하는지 확인(다른 사람의 예상치 못한 푸시가 없는지).

수정 횟수 제한 의미

규칙: 각 PR은 베이비시트 사이클당 최대 3개의 코드 수정 커밋을 받습니다.

  • 포함되는 것: 소스 코드, 테스트, 설정, 또는 동작에 영향을 미치는 문서를 변경하는 커밋.
  • 포함되지 않는 것: 리베이스로 인한 병합 커밋, CI 트리거 커밋(예: 잠금 파일 업데이트), PR에 대한 답글.
  • 제한에 도달했을 때: 에이전트는 커밋을 중단하고 남은 문제를 PR 댓글로 보고해야 합니다. 에이전트는 리뷰 댓글에 답변하고 CI를 계속 모니터링하지만, 새로운 코드 변경 사항은 푸시하지 않습니다.
  • 잔여 문제 보고: 제한에 도달하면 에이전트는 남은 CI 실패, 해결되지 않은 리뷰 스레드, 사람 또는 다음 사이클을 위한 권장 다음 단계를 나열하는 댓글을 게시합니다.
  • 초기화: 운영자가 새로운 베이비시트 사이클을 시작할 때 제한이 초기화됩니다(명시적 재시작, 자동 아님).

브랜치/워크트리 사전 편집 확인 목록

코드 변경을 하기 전에 에이전트는 반드시 다음을 확인합니다:

  1. 워크트리 격리: pwd가 할당된 워크트리 경로 내에 있습니다({worktree_root}/{owner}/{repo}/{job_id}).
  2. 브랜치 정확성: git branch --show-current가 할당된 기능 브랜치와 일치합니다.
  3. 깨끗한 상태: git status에 다른 작업의 커밋되지 않은 변경 사항이 없습니다.
  4. 원격 정렬: git fetch && git status가 브랜치가 예상된 원격을 추적하고 있음을 확인합니다.
  5. 경계를 넘는 편집 금지: 워크트리 외부의 파일이 수정되지 않습니다(../ 경로 없음, 워크트리 루트 외부의 절대 경로 없음).

검사 중 하나라도 실패하면 에이전트는 반드시 중단하고 불일치를 보고해야 합니다.

최종 상태 지침

베이비시트 사이클이 종료되면(성공 또는 제한 도달) 에이전트는 다음을 보고합니다:

  • PR 상태: 열림 / 리뷰 준비 완료 / 차단됨
  • 수정 횟수: 이 사이클에서 푸시된 코드 수정 커밋 수(예: "2/3")
  • 잔여 문제: 해결되지 않은 CI 실패, 리뷰 댓글 또는 차단 항목 목록
  • 에이전트 귀속: 모든 PR 댓글 및 커밋 메시지에는 에이전트 식별 정보가 포함됩니다.

에이전트는 PR을 병합했다고 주장해서는 안 됩니다. PR이 병합된 것으로 보이면 에이전트는 "PR이 사람에 의해 병합되었습니다"라고 보고하고 중단합니다.

플랫폼 중립 작업자 프롬프트 템플릿

하위 에이전트를 생성할 때 프롬프트에 다음 안전 지침을 포함합니다:

안전 규칙 (절대 변경 불가):
- 절대 PR을 병합하거나 병합 API/CLI를 호출하지 마세요
- 절대 `git push --force` 또는 `git push -f`를 사용하지 마세요
- `git push --force-with-lease`는 자신의 브랜치를 리베이스하는 경우에만 허용됩니다
- 할당된 작업 트리 외부의 파일을 절대 편집하지 마세요
- 베이비시트 사이클당 3개 이상의 코드 수정 커밋을 절대 커밋하지 마세요
- 편집 전에 작업 트리 경로, 브랜치 이름, 깨끗한 상태를 확인하세요
- 푸시 후에는 SHA 및 에이전트 귀속 정보와 함께 응답하세요
- 제한에 도달하면 잔여 문제를 보고하고, 더 이상 코드를 푸시하지 마세요

시행 계층

이러한 가드레일은 여러 계층에서 시행됩니다:

  1. 에이전트 스킬 (이 파일): 이식 가능한 문서 및 프롬프트 템플릿. 보안 경계는 아닙니다. 플랫폼에 의해 제한되지 않으면 에이전트가 우회할 수 있습니다.
  2. Python 오케스트레이터: 서브프로세스 브리지를 통한 정책 시행. 수정 커밋을 계산하고, 경로를 검증하며, 거부 목록에 있는 명령이 Rust에 도달하기 전에 차단합니다.
  3. Rust 코어 (wh-core): 강력한 시행. 프로세스 경계에서 안전하지 않은 git/GitHub 작업을 거부합니다. 권위 있는 안전 계층입니다.

심층 방어: 세 계층 모두 동일한 규칙을 시행합니다. 한 계층의 실패는 다른 계층에서 포착됩니다.

관련 스킬