← ClaudeAtlas

agendalisted

평문 아젠다 한 줄을 "원격 없는 격리 클론"의 자율 워커에게 fire-and-forget으로 맡긴다. `pharos agenda --run "..."` → 현재 repo를 격리 클론으로 떠서(원격 제거+deny 훅 = push 물리적 불가) 새 워크스페이스에 워커를 띄우고, 워커가 plan→구현→tsc·lint·test 게이트→셀프 리뷰→`agenda/<slug>` 브랜치 커밋→보고까지 사람 승인 없이 선조치한다. "아젠다 던져", "오토파일럿으로 돌려", "pharos agenda", "격리해서 자율로 시켜", "fire-and-forget으로 맡겨" 같은 요청에 진입. /outsource가 Claude가 직접 감시·독립검증·적대리뷰하는 무거운 위임이라면, agenda는 CLI로 던지고 손 떼는 경량 격리 실행이다. ⚠️ Claude 세션(샌드박스)에서 호출 시 `TMPDIR=$(getconf DARWIN_USER_TEMP_DIR)` 필수 — 안 그러면 spawn이 소켓을 못 찾는다.
dong-park/pharos · ★ 0 · AI & Automation · score 58
Install: claude install-skill dong-park/pharos
# agenda — 격리 클론 자율 실행기 (pharos agenda autopilot) 평문 아젠다를 던지면 **원격 없는 격리 클론**에서 워커가 끝까지 자율 수행하고 결과만 회수한다. CLI 피처(`pharos agenda`)의 진입 스킬. 설계·근거: `docs/agenda-autopilot.{spec,plan,review}.md`, `docs/spikes/{push-block,clone-model}/`. ## 언제 / 언제 안 쓰나 - **쓴다**: 자기완결적이고 끝 상태가 명확한 작업을, **격리(원격 없음) + 자기검증(테스트 게이트)** 로 안전하게 자율 실행하고 싶을 때. 던지고 손 떼고 싶을 때(감시 불필요). 여러 건 병렬. - **안 쓴다**: - Claude가 **직접 감시·독립검증·적대리뷰**까지 해야 하는 고위험 작업 → `/outsource`. - 현재 워크스페이스의 **기존** pane에 던지기 → `/dispatch-pane`. - 전체 spec→ship 파이프라인 → `/dev`. - 요구사항 모호 → 먼저 `/deep-interview`로 아젠다를 정확히(워커는 맥락 0). ## 사용법 ```bash # dry-run (부작용 0 — slug/브랜치/run_dir만 출력) pharos agenda "socket.rs unwrap을 Result 전파로 바꾸고 테스트 추가" # 실행 — ⚠️ Claude 세션에선 TMPDIR 보정 필수 (샌드박스 TMPDIR ≠ GUI TMPDIR) TMPDIR="$(getconf DARWIN_USER_TEMP_DIR)" pharos agenda --run "socket.rs unwrap을 Result 전파로 바꾸고 테스트 추가" ``` - ⚠️ **TMPDIR 함정**: Claude 하니스는 `$TMPDIR=/tmp/claude-*`, GUI 앱은 `/var/folders/.../T/`에 소켓을 만든다. 보정 없이 `pharos agenda --run`을 호출하면 spawn이 `cannot connect to Pharos` 로 실패한다(clone·policy는 이미 됨). 일반 유저 셸에선 TMPDIR이 같아 그냥 됨. → 메모리 `project_agenda_spawn_tmpdir`. - **GUI 필수**: spawn은 GUI 소켓 경유. 앱이 떠 있어야 함. ## 흐름 (--run 시 자동) 1. 현재 repo를 별도 **클론**으로 뜸(`$GWT_DIR|$HOME/worktree`/`agenda-<slug>`), `agenda/<slug>` 브랜치. 2. **능력 제거** — 클론의 remote 제거 + credential 비움 + 격리 pre-push + 토큰파싱 deny 훅 (클론 밖 배치). push가 물리적으로 불가 → 메인 repo·원격 절대 불가침. 3. 새 워크스페이스에 **워커(`claude --dangerously-skip-permissions`, 대화형 TUI라 pane에서 관찰 가능)** 스폰. l