https://blog.enkr1.com/boris-cherny-claude-code-workflow/#what-id-actually-adopt
3가지 핵심 원칙
Boris의 철학은 결국 이 세 가지로 귀결됨:
- 병렬화 — worktrees + 멀티 세션으로 직렬 작업을 병렬로 전환
- 계획 우선 — 계획에 에너지 쏟으면 실행은 한 번에 끝남
- 검증 루프 — Claude가 스스로 작업을 검증하게 할 것 → 품질 2~3배 향상
아래 내용 전부 이 세 가지의 변형임.
1. 병렬 실행
Claude Code 팀 전체가 꼽는 단일 최대 생산성 향상 방법.
- 터미널 탭 5개, 각각 독립된 git checkout. 번호 1~5. Claude가 입력 필요할 때 iTerm2 알림
- claude.ai 브라우저에서 5~10개 세션 추가.
--teleport로 로컬↔웹 핸드오프. 폰에서도 세션 시작 가능
- git checkout보다 git worktree 선호 — 팀 전체 방침. 쉘 별칭(
za, zb, zc)으로 한 번에 전환
- 서브에이전트도 worktree 지원 — 대형 마이그레이션 시 각 에이전트가 자기 worktree에서 테스트 실행 후 PR 독립 생성
2. Plan Mode
복잡한 작업은 반드시 Plan Mode로 시작 (Shift+Tab 두 번).
- 만족할 때까지 Claude와 계획을 반복 수정
- Auto-accept edits 모드로 전환 → Claude가 보통 한 번에 구현 완료
- 팀원 중 한 명은 두 번째 Claude를 "스태프 엔지니어"로 써서 실행 전 계획 리뷰
- 구현 중 방향 이탈 시 → 그 자리에서 수정하지 말고 처음부터 재플래닝
3. 모델 선택
Boris는 thinking 활성화된 Opus 만 씀 (현재는 4.6).
"내가 써본 코딩 모델 중 최고다. Sonnet보다 크고 느리지만, 조종을 덜 해줘도 되고 툴 사용이 더 뛰어나서 결국 더 빠르다."
— Boris Cherny
4. CLAUDE.md — 복리로 쌓이는 엔지니어링
팀은 git에 체크인된 단일 CLAUDE.md 유지.
- Claude가 실수할 때마다 → CLAUDE.md에 추가해서 반복 방지
- PR 리뷰에
@.claude 태그 → GitHub Action이 CLAUDE.md 자동 업데이트
- 시간이 지날수록 무자비하게 편집해서 간결하게 유지
- 작업/프로젝트별 notes 디렉토리 별도 관리, CLAUDE.md에서 참조
5. 슬래시 커맨드 & Skills
자주 쓰는 워크플로는 .claude/commands/에 저장, git 체크인.
- Boris는
/commit-push-pr을 하루에 수십 번 사용
- 기준: 하루에 두 번 이상 하는 작업 → 커맨드 또는 Skill로 만들 것
- 예시:
/techdebt, Slack/GDrive 동기화, analytics-engineer 에이전트
- 커맨드 안에서 인라인 Bash로 컨텍스트 사전 계산 가능
6. 서브에이전트
커스텀 에이전트는 .claude/agents/에 .md 파일로 저장.
code-simplifier: Claude 작업 완료 후 재사용성·품질 리뷰
verify-app: 엔드투엔드 테스트 지시서
- 프롬프트에 "use subagents" 추가 → Claude가 자동으로 작업 분배
- 권한 요청은 훅으로 Opus에 라우팅해서 자동 승인 가능
7. Hooks
결정론적 라이프사이클 훅 — 인프라 레이어.
| 훅 | 사용 사례 |
|---|
| PostToolUse | Write/Edit 후 자동 포매팅 (bun run format \|\| true) |
| Stop | Claude 종료 전 검증 실행 |
| PostCompact | 컨텍스트 압축 후 핵심 지시사항 재주입 |
| Permission routing | 승인 요청을 Slack 또는 Opus로 전달 |
8. 검증 — 가장 중요한 팁
"Claude에게 스스로 작업을 검증할 수단을 줄 것… 최종 결과물 품질이 2~3배 향상된다."
— Boris Cherny
- UI 테스트: Claude Chrome 확장
- 백엔드: 테스트 실행, bash 검증
- 분산 시스템: Claude를 docker logs에 연결
- 코드베이스에 맞는 도메인 특화 피드백 루프 구축
9. 권한 & 안전
/permissions으로 안전한 명령어 사전 승인 — --dangerously-skip-permissions 절대 쓰지 말 것
- 와일드카드 문법:
"Bash(bun run *)", "Edit(/docs/**)"
/sandbox로 파일 + 네트워크 격리
settings.json을 git에 체크인 → 팀 전체 동일 설정 공유
10. 툴 연동
.mcp.json에 설정해서 자율적 접근 허용:
- Slack MCP: 버그 스레드 붙여넣고 "fix"
- BigQuery: bq CLI로 즉석 메트릭
"SQL을 6개월 넘게 안 짰다."
— Boris Cherny
11. 프롬프팅 기법
- Claude에게 도전: "나를 혹독하게 심문해, 테스트 통과 전까지 PR 만들지 마"
- 증명 요구: "이게 작동한다는 걸 증명해, main vs feature 브랜치 diff 보여줘"
- 상세한 스펙 작성
- 첫 번째 솔루션을 절대 그냥 받아들이지 말 것
12. 터미널 & UX
- Ghostty 터미널 — 팀 전체 선호 (동기화 렌더링, 24비트 컬러, 유니코드)
/statusline — 모델·비용·남은 컨텍스트 표시
/color — 세션별 다른 색상으로 시각적 구분
- 음성 받아쓰기: macOS
fn 두 번, 타이핑보다 3배 빠르다고 함
/vim — vim 모드
- 커스텀 spinner 동사 (스타트렉 테마로 한 사람도 있음 😂)
13. 파워 기능
| 커맨드 | 기능 |
|---|
/loop | 최대 3일 반복 작업 — PR 모니터링, 배포 감시 |
/batch | 마이그레이션 대화형 계획 → 병렬 에이전트 실행, 각자 worktree + PR |
/simplify | 병렬 에이전트가 변경된 코드를 재사용성·품질·효율성 관점으로 리뷰 |
/btw | Claude 작업 방해 없이 사이드 질문 |
/effort max | 최대 추론 깊이 |
claude --name | 세션 이름 부여 |
블로거 본인이 실제로 도입할 것들
이미 하고 있는 것:
- 실행 전 Plan Mode — 주니어 때부터 해온 방식
- 슬래시 커맨드 & Skills — 자동화 본능
- 분산 작업에 서브에이전트
- Opus 기본 모델
- Ghostty 터미널 (이 글 보고 바로 전환함)
- PostToolUse 훅으로 자동 포매팅 — prettier → eslint --fix 폴백
시도해볼 것:
- git worktrees 병렬 격리 — 이 스레드에서 가장 큰 수확
--teleport로 웹↔로컬 핸드오프
- PostCompact 훅으로 압축 후 컨텍스트 재주입
당분간 스킵:
- 5개+ 병렬 세션 — 현재 프로젝트엔 과도함, 3탭으로 충분
- BigQuery/Slack MCP — 스택에 해당 없음
- 커스텀 spinner 동사 — 재밌지만 생산성과 무관
출처