새 agent-shell 생성
사용자가 요청할 때 새 agent-shell을 생성합니다. 새 에이전트는 agent-shell을 통해 Emacs 내에서 실행되며, 격리된 git 워크트리에서 작업합니다.
단계
1. 매개변수 결정
- 프롬프트: 새 에이전트가 작업해야 할 작업은 무엇인가요? 불명확한 경우 사용자에게 물어보세요.
- 이름: 작업을 기반으로 한 짧은 케밥-케이스 워크트리 이름 (예:
refactor-auth,fix-login-bug,add-dark-mode). - 에이전트: 사용할 에이전트 (예:
claude,codex,opencode). 사용자가 별도로 지정하지 않는 한, 현재 이 스킬을 실행 중인 에이전트와 동일한 에이전트를 사용하세요.
2. 워크트리 생성
현재 저장소 내 .agent-shell/worktrees/ 안에 agent/<name> 이름의 새 브랜치로 git 워크트리를 생성합니다:
git worktree add -b "agent/<name>" ".agent-shell/worktrees/<name>"
3. 저장소 설정 실행
워크트리에서 설정 지침을 확인하고 실행합니다. 다음 항목을 찾으세요:
CLAUDE.md,AGENTS.md,README.md— 설정/빌드/설치 명령어Makefile—make setup또는make installpackage.json—npm install/npm ci/pnpm install/yarn installpyproject.toml/requirements.txt—uv sync/pip install -e .Gemfile—bundle installCargo.toml—cargo fetch.env.example—.env로 복사
워크트리 디렉터리 내부에서 설정 명령어를 실행합니다:
cd ".agent-shell/worktrees/<name>" && <setup-command>
4. Emacs에서 에이전트 실행
새로운 에이전트 셸을 시작하기 위해 emacsclient를 호출합니다:
emacsclient -e '(my/agent-shell-make
:prompt "<작업 설명>"
:name "<워크트리-이름>"
:agent "<에이전트>"
:directory "<워크트리의-절대-경로>")'
예시:
emacsclient -e '(my/agent-shell-make
:prompt "인증을 async/await로 리팩터링합니다. @... 참조"
:name "refactor-auth"
:agent "claude"
:directory "/Users/me/projects/my-app/.agent-shell/worktrees/refactor-auth")'
:directory에는 절대 경로를 사용하세요.
5. 사용자에게 보고
사용자에게 다음을 알려주세요:
- 워크트리 경로 및 브랜치 이름
- 실행된 설정 (또는 설정이 필요 없었던 경우)
- Emacs에서 새 에이전트가 실행되었다는 사실
규칙
- 항상 현재 저장소 내
.agent-shell/worktrees/안에 워크트리를 생성하세요. - 항상 워크트리를 위해
agent/<name>이름의 새 브랜치를 생성하세요. :directory에는 항상 절대 경로를 사용하세요.- 사용자가 별도로 지정하지 않는 한, 현재 이 스킬을 실행 중인 에이전트와 동일한
:agent를 사용하세요. - 모든 명령어는 Bash 도구를 통해 실행하세요.
- Emacs가 실행 중이 아니거나
emacsclient가 실패하면, 오류를 사용자에게 보고하고 함께 수동 명령어를 알려주세요.