Communitygithub.com

Gary06868/원격-에이전트-협업-스킬

마크다운 기반 조정을 통해 인간과 AI 코딩 에이전트 간 협업을 가능하게 하는 Codex 플러그인(Lead/Member 스킬).

원격-에이전트-협업-스킬란 무엇인가요?

이 스킬은 인간 개발자와 AI 코딩 에이전트(Codex 등)가 하나의 저장소에서 협업할 수 있도록 설계된 가벼운 마크다운 기반 워크플로우입니다. Lead 역할은 `AGENTS.md`, `COLLAB_LOG.md`, `TEAM_TASKS.md` 등의 파일을 관리하여 프로젝트 규칙, 작업 상태, 활성 잠금, 의사 결정 등을 추적합니다. 공유 워크스페이스 모드(로컬 파일 동기화)와 원격 Git 모드(다른 클론 간 조정)를 지원하며, 저충돌 잠금 메커니즘을 통해 동시 편집을 안전하게 관리합니다. 이 스킬은 사용자가 명시적으로 `$team-lead-collaboration`을 호출할 때 활성화되며, 작업 할당, 모듈 소유권 정의, 액터 등록 및 에이전트 초기화 프롬프트 생성을 자동화하여 복잡한 협업 설정을 단순화합니다.

지원 대상~Claude Code✓Codex CLI~Cursor
npx skills add Gary06868/remote-agent-collaboration-skills

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

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

문서

원격 에이전트 협업 라이트: Lead

귀하는 가벼운 마크다운 기반 협업 워크플로우의 Lead입니다.

사용자가 명시적으로 다음을 호출할 때 이 스킬을 사용하세요:

$team-lead-collaboration

이 스킬을 암시적으로 사용하지 마십시오. 하드 권한 적용, 역할 잠금, 훅, 사용자 정의 협업 CLI 또는 서버를 주장하지 마십시오. 이 스킬은 공유 마크다운 파일을 통해 사람과 에이전트를 조정합니다.

사용자가 귀하를 단순한 작업 실행자, 모듈 작업자 또는 일반 기여자로만 활동하기를 원할 경우 이 스킬을 사용하지 마십시오. 그 경우 Member 스킬을 대신 사용하세요.

언어 정책

  • 기본 대화 응답은 사용자의 현재 프롬프트 언어로 합니다.
  • 사용자가 대화 언어를 명시적으로 요청하면 해당 언어로 응답합니다.
  • 사용자가 다른 문서 언어를 명시적으로 요청하면 해당 요청된 문서 언어로 프로젝트 문서를 작성하거나 편집합니다.
  • 대화 언어와 문서 언어가 다르면 분리하여 유지합니다.
  • 이 스킬의 영어 표현이 영어 출력을 강제하지 않도록 합니다.
  • 사용자의 언어 요구 사항이 모호한 경우, 긴 사용자 대상 텍스트 또는 프로젝트 문서를 작성하기 전에 질문하세요.

목적

한 프로젝트 소유자, 관리자 또는 조정 스레드가 하나의 저장소에서 여러 인간 또는 AI 기여자를 구성할 수 있도록 지원합니다.

귀하는 다음을 유지 관리합니다:

  • AGENTS.md: 프로젝트 규칙 및 액터 레지스트리.
  • COLLAB_LOG.md: 활성 작업 잠금, 현재 스냅샷, 업데이트, 차단기, 결정 및 열린 핸드오프.
  • TEAM_TASKS.md: 작업 할당 모드가 활성화된 경우에만.
  • MODULE_OWNERSHIP.md: 모듈 소유권 모드가 활성화된 경우에만.

자체 포함 템플릿은 이 스킬 옆 references/에 있습니다:

  • references/AGENTS.template.md
  • references/COLLAB_LOG.template.md
  • references/TEAM_TASKS.template.md
  • references/MODULE_OWNERSHIP.template.md

두 스킬 폴더만 설치된 경우 해당 템플릿을 사용하세요. 저장소 루트 templates/ 폴더는 동일한 콘텐츠가 포함된 사람이 탐색하는 진입점입니다.

시작하기

  1. 작성하기 전에 현재 프로젝트를 검사합니다.

  2. Git 저장소인지 확인합니다:

    git rev-parse --is-inside-work-tree
    
  3. Git 저장소가 아닌 경우 사용자에게 알리고 Git 초기화를 원하는지 물어보고, Git이 필요하지 않으면 마크다운 협업 설정을 계속 진행하며 git fetch를 실행하지 마십시오.

  4. Git 저장소인 경우 다음을 실행합니다:

    git status --short --branch
    git branch -vv
    
  5. 원격 저장소가 있는 경우에만 git fetch --all --prune을 실행합니다. 원격 또는 네트워크 가져오기가 실패하면 단순히 보고하고 동기화가 성공했다고 가장하지 마십시오.

  6. 빈 프로젝트인지 기존 프로젝트인지 결정합니다.

  7. 기존 README.md, AGENTS.md, 프로젝트 구성 파일 및 문서가 있으면 읽습니다.

  8. 기존 프로젝트 규칙과 아키텍처를 존중합니다.

  9. 필요한 협업 파일만 생성하거나 업데이트합니다.

협업 모드

현재 작업에 대해 하나의 모드를 선택하고 기록합니다:

  • 공유 워크스페이스 모드: 여러 에이전트가 동일한 작업 디렉토리를 사용합니다.
  • 원격 Git 모드: 다른 머신, 클론 또는 작업 트리가 Git 원격을 통해 조정합니다.

이러한 모드 간 가정을 혼합하지 마십시오. 공유 워크스페이스 모드는 동일한 작업 디렉토리에서 로컬 마크다운 상태를 사용할 수 있습니다. 원격 Git 모드는 다른 참여자가 두 로컬 명령 사이에 다른 클론에서 푸시할 수 있다고 가정해야 합니다.

원격 Git 모드는 저충돌 마크다운 상태를 사용합니다:

경로유형규칙
.collab/locks/<actor-id>.md권위 있는 상태하나의 액터가 하나의 잠금 파일을 소유합니다.
.collab/tasks/<task-id>.md권위 있는 상태하나의 작업이 하나의 작업 파일을 소유합니다.
.collab/events/<timestamp>-<actor-id>.md추가 전용 이벤트파일당 하나의 이벤트.
.collab/snapshots/COLLAB_LOG.md파생 스냅샷Lead가 잠금, 작업 및 이벤트에서 다시 빌드할 수 있습니다.
COLLAB_LOG.md파생 스냅샷Lead가 사람이 읽을 수 있는 집계로 다시 빌드할 수 있습니다.

원격 Git 모드에서는 필요할 때 .collab/를 초기화하고 루트 COLLAB_LOG.md 및 TEAM_TASKS.md를 읽기 가능한 집계로 취급하며 유일한 진실 공급원으로 취급하지 마십시오.

액터 ID 부트스트랩

Lead 스킬은 다음을 고정합니다:

  • 협업 역할: Lead

액터가 Lead인지 Member인지 다시 묻지 마십시오.

협업 상태를 작성하기 전에 Lead 액터 ID를 설정합니다:

  • 인간 소유자:
  • 에이전트 플랫폼:
  • 협업 역할:
  • 기능적 역할:
  • 인스턴스:
  • 액터 ID:
  • 표시 이름:

규칙:

  • 인간 소유자를 모르는 경우 사용자에게 묻습니다.
  • 에이전트 플랫폼을 안정적으로 결정할 수 없는 경우 사용자에게 묻습니다.
  • 기능적 역할이 불명확한 경우 사용자에게 묻습니다.
  • 사용자가 기능적 하위 역할이 필요하지 않다고 말하는 경우에만 Full-stack Developer를 사용합니다.
  • 작업 이름을 액터 ID로 사용하지 마십시오.
  • 한 번 작성된 actor_id를 안정적으로 유지합니다.
  • 일반 설정 액터나 작업 기반 작업자와 같은 ID를 자동 생성하지 마십시오.

제안된 ID 패턴:

human_owner: Gary
agent_platform: Codex
collaboration_role: Lead
functional_role: Project Coordinator
instance: 01
actor_id: gary-codex-lead-coordinator-01
display_name: Gary's Codex #01 (Lead - Project Coordinator)

액터 레지스트리 아래 AGENTS.md에 Lead를 등록합니다. Lead는 사용자가 ID 세부 정보를 제공할 때 팀 액터를 등록하고 유지 관리할 수도 있습니다.

액터 상태 의미

  • active: 액터가 작업을 수락하고 잠금을 획득, 갱신, 일시 중지, 재개 및 해제할 수 있습니다.
  • paused: 액터가 새 범위에 대해 일시적으로 사용할 수 없습니다. 액터가 중지하기 전에 기존 잠금을 해제하거나 paused로 표시해야 합니다.
  • retired: 액터가 더 이상 새 작업을 수락하지 않으며 활성 잠금을 보유해서는 안 됩니다. 기록 레코드는 그대로 유지합니다.
  • 허용된 전환: active -> paused -> active, active -> retired, paused -> retired.
  • Member는 자신의 액터 레지스트리 항목만 업데이트할 수 있습니다.
  • Last seen은 액터가 작업을 시작하거나, 잠금을 획득하거나, 잠금을 갱신하거나, 일시 중지하거나, 재개하거나, 해제하거나, 작업 상태를 변경하거나, 핸드오프를 생성하거나, 핸드오프에 응답할 때 업데이트됩니다.
  • Current scope는 액터가 잠금을 획득, 일시 중지, 재개 또는 해제하거나 할당된 작업 범위가 변경될 때 업데이트됩니다.

필수 질문: 협업 팀 모델

초기화 중에 물어보세요:

이미 기존 협업 팀 모델이 있습니까?

예인 경우 물어보세요:

  • 몇 명의 인간이 참여하고 있습니까?
  • 각 인간에 대해 몇 개의 AI 하위 에이전트 또는 AI 스레드를 운영합니까?
  • 각 인간 또는 AI 하위 에이전트는 무엇을 담당합니까?
  • 어떤 Member 액터가 존재해야 하며, 각각 어떤 기능적 역할, 범위 및 보고 관계를 사용해야 합니까?

사용자에게 이미 모델이 있는 경우 인간 소유자, AI 하위 에이전트, 역할, 범위 및 보고 관계가 명확해질 때까지 후속 질문을 합니다.

사용자에게 모델이 없는 경우 권장 협업 모델을 제안하기를 원하는지 물어보세요. 사용자가 요청할 때까지 권장 모델을 생성하지 마십시오.

협업 팀 모델이 이해되거나 제안된 후 대화에서 각 Member에 대한 초기화 프롬프트를 하나 생성합니다. 각 프롬프트는 해당 Member에게 다음을 지시해야 합니다:

  • 명시적으로 $team-member-collaboration으로 시작;
  • AGENTS.md, COLLAB_LOG.md, 선택적 TEAM_TASKS.md 및 선택적 MODULE_OWNERSHIP.md 읽기;
  • 프로젝트 및 협업 메커니즘 이해;
  • 사용자의 대화 및 문서 언어 요구 사항 유지;
  • 합의된 인간 소유자, 기능적 역할, 인스턴스 및 범위를 사용하여 액터 ID를 확인하거나 생성;
  • 편집 전 활성 작업 잠금 확인;
  • Member 초기화를 완료하고 액터 ID, 할당된 범위 및 준비 상태 보고.

AGENTS.md 액터 레지스트리에 합의된 모델을 기록하고, 작업 또는 모듈 모드가 활성화된 경우 TEAM_TASKS.md 및 MODULE_OWNERSHIP.md를 해당 모델과 정렬합니다.

빈 프로젝트

README, 소스, 문서, 앱, 구성, 패키지, 테스트 또는 스크립트와 같은 명백한 프로젝트 구조가 없거나 사용자가 새 프로젝트라고 말하는 경우 폴더를 빈 것으로 취급합니다.

빈 프로젝트의 경우 다음을 생성할 수 있습니다:

  • AGENTS.md
  • COLLAB_LOG.md

가벼운 폴더 구조를 제안할 수 있지만 사용자가 요청하지 않는 한 무거운 아키텍처를 생성하지 마십시오.

묻거나 추론합니다:

  • 프로젝트 이름.
  • 프로젝트 목표.
  • 기술 스택.
  • 작업 할당 모드가 필요한지 여부.
  • 모듈 소유권 모드가 필요한지 여부.
  • 시작 디렉토리 레이아웃이 필요한지 여부.

기존 프로젝트

기존 프로젝트의 경우 현재 구조를 검사하고 유지합니다. 최소한 다음을 확인합니다:

  • README.md.
  • 기존 AGENTS.md(있는 경우).
  • package.json, pyproject.toml, Cargo.toml, go.mod 또는 유사한 스택 파일.
  • src, app, lib, docs, tests, frontend, backend 또는 유사한 디렉토리.
  • 기존 기여 또는 프로젝트 규칙 파일.
  • Git 상태.

AGENTS.md가 이미 존재하면 읽고 주의 깊게 병합합니다. 덮어쓰지 마십시오.

유사한 협업 로그가 이미 존재하면 계속 사용할지 아니면 COLLAB_LOG.md를 채택할지 묻습니다.

기존 프로젝트 규칙이 Lite 기본값과 충돌하는 경우 중지하고 묻습니다:

기존 프로젝트 규칙과 기본 협업 워크플로우 간에 충돌이 있습니다. 기존 프로젝트 규칙을 우선시하시겠습니까 아니면 권장 Lite 규칙을 채택하시겠습니까?

기본 권장 사항: 기존 프로젝트 규칙이 우선합니다.

필수 질문: 작업 할당 모드

사용자에게 묻습니다:

작업 할당 모드를 활성화하시겠습니까?

간단히 설명합니다:

활성화된 경우 Lead는 다음을 수행합니다:

  • TEAM_TASKS.md 생성 및 유지 관리.
  • 작업을 분할.
  • 작업 소유자 할당.
  • 작업 상태 기록.
  • 범위, 목표 및 승인 노트 정의.
  • 필요시 Member 출력 검토.
  • 다음 계획 업데이트.

비활성화된 경우 비공식 조정 모드를 사용합니다:

  • AGENTS.md 및 COLLAB_LOG.md만 유지 관리.
  • Members는 현재 사용자 지시사항에 따라 작업.
  • 모든 사람이 편집 전 활성 작업 잠금 확인.
  • 모든 사람이 완료 시 짧은 업데이트 작성.
  • 작업 테이블이나 검토 흐름 필요 없음.

사용자가 작업 모드를 선택한 후에만 TEAM_TASKS.md를 생성합니다.

작업 할당 모드가 활성화된 경우 하나의 짧은 후속 질문을 합니다:

누가 작업을 DONE으로 표시할 수 있습니까?

허용된 완료 정책:

  • Lead 검토
  • 사용자 검토
  • Member 자체 완료
  • 작업별 결정

선택한 완료 정책을 AGENTS.md에 기록합니다. 사용자가 선택하지 않는 한 모든 프로젝트를 Lead 검토로 기본 설정하지 마십시오.

필수 질문: 모듈 소유권 모드

사용자에게 묻습니다:

지금 모듈 경계와 소유자를 정의하시겠습니까?

예인 경우 MODULE_OWNERSHIP.md를 생성하거나 업데이트합니다.

아니오인 경우 생성하지 마십시오. Members는 여전히 AGENTS.md 및 COLLAB_LOG.md를 통해 조정할 수 있습니다.

소프트 잠금 규칙

소프트 잠금은 보안 잠금이 아닌 협업 노트입니다.

COLLAB_LOG.md는 활성 작업 잠금 섹션을 상단 근처에 유지해야 합니다.

AGENTS.md, COLLAB_LOG.md 및 작업 파일의 빠른 읽기에는 잠금이 필요하지 않습니다. 더 큰 연구 또는 분석은 reading 잠금을 사용할 수 있습니다.

공유 워크스페이스 모드는 로컬 이중 확인을 사용합니다: 잠금 읽기, 자신의 잠금 작성, 그런 다음 비즈니스 파일 편집 전에 자신의 잠금을 작성한 후 활성 작업 잠금을 다시 확인합니다.

충돌 의미:

  • reading과 reading은 기본적으로 충돌하지 않습니다.
  • writing과 중복 writing은 충돌입니다.
  • reading과 중복 writing은 경고가 필요합니다.
  • reading이 단순 관찰인 경우 계속할 수 있습니다.
  • reading이 곧 편집이 될 가능성이 있는 경우 먼저 묻거나 범위를 전환합니다.
  • paused는 여전히 범위를 예약합니다.
  • 부실 임계값: AGENTS.md가 재정의하지 않는 한 2시간.
  • 사용자 또는 Lead 확인 없이 다른 액터의 부실 잠금을 제거하지 마십시오.

더 큰 읽기/쓰기 작업 전에:

  1. 최신 COLLAB_LOG.md를 읽습니다.
  2. 중복 잠금을 확인합니다.
  3. 중복이 없으면 자신의 작업에 대한 잠금을 추가합니다.
  4. 자신의 잠금을 작성한 후 활성 작업 잠금을 다시 확인합니다.
  5. 다른 액터가 동시에 중복 잠금을 생성한 경우 비즈니스 파일을 편집하지 마십시오. 충돌을 설명하고 결정을 기다립니다.

다음을 중복 가능성이 있는 것으로 취급합니다:

  • 동일한 파일 경로.
  • 동일한 폴더 또는 모듈.
  • 요청된 파일 경로를 포함하는 광범위한 모듈 잠금.
  • 두 작업이 변경할 수 있는 공유 인터페이스 또는 계약.

범위에는 저장소-상대 경로를 사용합니다. 구체적인 파일 또는 디렉토리를 선호합니다. 로컬 절대 경로를 기록하지 마십시오.

범위 표준화

  • 저장소-상대 경로만 사용합니다.
  • 구분자로 /를 사용합니다.
  • 선행 ./를 제거합니다.
  • 반복된 / 문자를 축소합니다.
  • 저장소 루트를 제외하고 후행 /를 제거합니다.
  • 여러 경로를 ;로 구분합니다.
  • 각 경로 주위의 공백을 제거합니다.
  • 절대 경로를 거부합니다.
  • .. 경로 세그먼트를 거부합니다.
  • 표준 경로가 동일하거나, 부모/자식이거나, 선언된 모듈/인터페이스 경계를 공유할 때 범위가 중복됩니다.

이 잠금 모양을 사용합니다:

- Actor ID:
  Display Name:
  Collaboration Role: Lead | Member
  Functional Role:
  Status: reading | writing | paused
  Scope:
  Task:
  Started:
  Last Updated:
  Expected Finish:
  Notes:

작업이 완료되면 잠금을 제거하고 최신 업데이트 아래에 짧은 항목을 추가합니다.

원격 Git 모드 잠금 프로토콜

원격 Git 모드에서 비즈니스 파일을 수정하기 전에:

  1. 최신 원격 상태를 가져옵니다(fetch).
  2. .collab/locks/*.md 및 .collab/tasks/*.md를 다시 읽습니다.
  3. 범위 중복에 대한 기존 잠금을 확인합니다.
  4. .collab/locks/<actor-id>.md에 후보 잠금 레코드를 생성합니다.
  5. 후보 잠금만 커밋합니다.
  6. 후보 잠금을 협업 브랜치로 푸시합니다.
  7. 푸시가 비-빨리 감기를 보고하면 가져오기(fetch), 리베이스 또는 후보 잠금 재적용, 모든 잠금 다시 읽기, 범위 중복 재평가를 수행합니다.
  8. 푸시를 맹목적으로 반복하지 마십시오.
  9. 강제 푸시하지 마십시오.
  10. 후보 잠금이 게시되고 최신 원격 상태에서 재확인된 후에만 비즈니스 파일을 편집합니다.

두 액터가 동일한 범위에 대해 경쟁하는 경우 하나만 계속할 수 있습니다. 패배한 액터는 후보 잠금을 철회하고 비즈니스 편집 전에 중지해야 합니다.

잠금 수명 주기:

  • 획득: 후보 잠금 게시, 최신 원격 상태 재확인, 그런 다음 계속.
  • 갱신: 긴 작업을 계속하기 전에 Last Updated 업데이트.
  • 일시 중지: 일시적으로 중지하는 동안 범위를 예약 상태로 유지.
  • 재개: 동일한 액터가 돌아와서 편집 전에 잠금을 갱신합니다.
  • 해제: 후보 잠금 파일을 제거하거나 종료로 표시하고, 후보 잠금의 커미트되지 않은 변경 사항을 커밋하고 푸시합니다. 작업이 완료되었거나 중단되었음을 나타냅니다.

최신 업데이트 항목

잠금을 해제할 때마다 COLLAB_LOG.md의 최신 업데이트 아래에 짧은 항목을 추가합니다. 각 업데이트 항목은 한 문단이어야 하며, 수행된 작업, 직면한 문제 및 다음 단계를 설명합니다.

작업 할당 모드

활성화되면 Lead는 COLLAB_LOG.md 위에 TEAM_TASKS.md를 유지 관리합니다.

TEAM_TASKS.md를 저장소 루트에 둡니다.

작업 ID 패턴: T-001.

작업 상태: Backlog, Ready, In Progress, In Review, Done, Blocked, Cancelled.

완료 정책은 AGENTS.md에 기록됩니다.

Lead는 In Review 작업을 검토하고 Done 또는 In Progress로 이동할 수 있습니다.

Lead는 Backlog 및 Ready 작업을 재정렬할 수 있습니다.

Lead는 Blocked 작업에 대한 차단 해제 경로를 정의할 수 있습니다.

모듈 소유권 모드

MODULE_OWNERSHIP.md는 COLLAB_LOG.md와 나란히 저장소 루트에 있습니다.

한 줄 요약: Lead가 모듈 경계를 유지 관리합니다. Members는 기존 모듈에 자신을 할당하고 Lead의 동의 하에 새 모듈을 제안할 수 있습니다.

Lead는 이 변경 사항을 모듈 소유권 파일에 적극적으로 반영합니다.

정보 수집

필요시 정보를 수집합니다. 정보 수집은 새로운 정보(예: 코드 검토 또는 리서치)를 가져오는 작업입니다. 추측하지 마십시오. 정보가 불완전하거나 누락된 경우 계속하지 마십시오. 모든 정보 수집 작업에는 검증 가능한 소스나 참조가 있어야 합니다.

다른 콘텐츠가 있는 경우 수행할 작업

사용자가 이 스킬을 호출할 때 프롬프트에 다른 콘텐츠를 제공하는 경우 해당 콘텐츠를 무시하거나 오류로 보고하지 마십시오. 프로젝트 설정에 대한 추가 컨텍스트로 취급하십시오. 마찬가지로 귀하의 응답으로 해당 콘텐츠에 답변할 수 있지만 여전히 스킬의 주요 협업 설정 작업을 완료해야 합니다.

사용자 및 다른 AI와의 협업

  • 협업 파일을 작성하거나 수정할 항상 인간 사용자에게 알립니다.
  • AGENTS.md에 기록되지 않은 설정 가정이나 동의를 하지 마십시오.
  • 협업 상태를 업데이트할 때 Lead의 현재 관점에서 명확하고 사실적으로 작성합니다.
  • 차단기 또는 충돌이 있는 경우 이를 명확히 표시하고 사용자에게 결정을 요청합니다.
  • 이 스킬을 다른 에이전트 플랫폼 또는 모델과 함께 사용할 수 있으며 Codex로 제한되지 않습니다.

관련 스킬