C#, Java, Kotlin, Swift, PHP, Lua, C/C++ 플러그인도 /plugin의 Discover 탭에서 이용 가능
시스템에 해당 언어 서버 바이너리가 설치되어 있어야 함 (없으면 플러그인이 알림)
6. gh CLI 사용과 모든 CLI 도구 학습
gh CLI로 PR, 이슈, 코멘트를 별도 MCP 서버 없이 처리 — CLI 도구는 MCP 서버보다 컨텍스트 효율적(도구 스키마를 컨텍스트 윈도우에 로드하지 않음)
jq, curl 등 표준 CLI 도구에도 동일하게 적용
Claude가 모르는 도구는 --help 출력을 읽고 문법을 파악해 직접 명령어를 실행 — 예: "sentry-cli --help로 학습한 다음, 프로덕션의 가장 최근 에러를 찾아줘"
니치한 내부 CLI 도구도 작동
7. 복잡한 추론에 "ultrathink" 추가
"ultrathink" 키워드로 effort를 높게 설정하고 Opus 4.6에서 적응형 추론 활성화
아키텍처 결정, 까다로운 디버깅, 다단계 추론 등 Claude가 행동 전에 충분히 사고해야 하는 상황에 적합
/effort로 상시 설정도 가능 — 단순 작업에는 낮은 effort로 빠르고 저렴하게 유지
변수 이름 변경에 thinking 토큰을 소모할 필요 없음 — 문제에 맞게 effort를 조절
8. 스킬로 온디맨드 지식 확장
스킬은 Claude의 지식을 확장하는 마크다운 파일로, CLAUDE.md와 달리 관련 태스크에서만 로드되어 컨텍스트를 가볍게 유지
.claude/skills/에 생성하거나 플러그인이 번들링한 프리빌트 스킬 설치 가능 (/plugin에서 탐색)
API 규칙, 배포 절차, 코딩 패턴 등 Claude가 가끔 필요하지만 항상은 아닌 특화 도메인 지식에 적합
9. 휴대폰에서 Claude Code 제어
claude remote-control로 세션을 시작하고 claude.ai/code 또는 iOS/Android Claude 앱에서 연결
세션은 로컬 머신에서 실행되고, 폰이나 브라우저는 단지 접속 창구 — 메시지 전송, 도구 호출 승인, 진행 상황 모니터링 가능
tip #1의 cc alias 사용 시 별도 승인 불필요로 원격 제어가 더욱 매끄러움 — 태스크를 시작하고 자리를 비운 뒤 Claude가 완료되거나 예상 밖 상황에서만 확인
10. 컨텍스트 윈도우를 1M 토큰으로 확장
Sonnet 4.6과 Opus 4.6 모두 1M 토큰 컨텍스트 윈도우 지원
Max, Team, Enterprise 플랜에서 Opus는 자동으로 1M 컨텍스트로 업그레이드
/model opus[1m] 또는 /model sonnet[1m]으로 세션 중 모델 전환 가능
큰 컨텍스트에서의 품질이 우려되면 500k부터 점진적으로 늘려 테스트
CLAUDE_CODE_AUTO_COMPACT_WINDOW과 CLAUDE_AUTOCOMPACT_PCT_OVERRIDE로 컴팩션 트리거 타이밍 제어
11. 접근 방법이 불확실할 때 Plan Mode 사용
Plan Mode는 다중 파일 변경, 익숙하지 않은 코드, 아키텍처 결정에 적합 — 사전에 몇 분 투자로 Claude가 20분간 잘못된 문제를 풀어가는 상황 방지
작고 명확한 범위의 태스크에는 건너뛰기 — diff를 한 문장으로 설명할 수 있으면 바로 실행
Shift+Tab으로 Normal, Auto-Accept, Plan 권한 모드 간 전환 가능 (대화를 벗어나지 않고)
12. 관련 없는 작업 사이에 /clear 실행
깨끗한 세션에 날카로운 프롬프트가 지저분한 3시간 세션보다 우수 — 다른 태스크면 /clear부터
진행 상황을 버리는 것 같지만, 누적된 컨텍스트가 현재 지시를 묻어버려 30분의 수확 체감 발생
/clear와 집중된 시작 프롬프트 작성에 드는 5초가 훨씬 효율적
13. 버그를 해석하지 말고 원시 데이터를 붙여넣기
버그를 말로 설명하면 Claude가 추측하고 수정하고 반복하는 느린 과정 발생
에러 로그, CI 출력, Slack 스레드를 그대로 붙여넣고 "fix"라고 하면 Claude가 분산 시스템 로그를 읽고 문제 지점 추적
사람의 해석은 Claude가 근본 원인을 정확히 찾는 데 필요한 디테일을 잃는 추상화를 추가
CI에도 적용 가능 — "Go fix the failing CI tests"와 CI 출력 붙여넣기, 또는 PR URL/번호와 함께 실패 체크 수정 요청
터미널 출력을 직접 파이핑 가능:
cat error.log | claude "explain this error and suggest a fix"
npm test 2>&1 | claude "fix the failing tests"
14. /btw로 빠른 사이드 질문
/btw는 대화 히스토리에 들어가지 않는 오버레이를 열어 빠른 질문 가능
현재 세션에 대한 명확화에 사용: "왜 이 접근법을 선택했어?" 또는 "다른 옵션과의 트레이드오프는?"
답변은 닫을 수 있는 오버레이에 표시, 메인 컨텍스트는 가볍게 유지
15. --worktree로 격리된 병렬 브랜치 실행
claude --worktree feature-auth로 격리된 작업 복사본과 새 브랜치 생성 — git worktree 설정과 정리를 Claude가 자동 처리
Claude Code 팀이 가장 큰 생산성 해제 중 하나로 평가
3~5개 worktree를 스핀업하여 각각 독립 Claude 세션을 병렬 실행 (보통 2~3개 사용)
각 worktree는 독립 세션, 브랜치, 파일 시스템 상태 보유
로컬 worktree의 한계는 머신 리소스 — 다중 dev 서버, 빌드, Claude 세션이 CPU를 경쟁
Builder.io는 각 에이전트를 별도 클라우드 컨테이너에 배치하여 머신 부하 해소
16. Ctrl+S로 프롬프트 임시 저장
긴 프롬프트를 작성하다가 빠른 답변이 먼저 필요할 때 Ctrl+S로 초안을 stash
빠른 질문을 제출한 후, stash된 프롬프트가 자동으로 복원
17. Ctrl+B로 장시간 태스크 백그라운드 전환
Claude가 오래 걸리는 bash 명령(테스트 스위트, 빌드, 마이그레이션)을 시작하면 Ctrl+B로 백그라운드 전환
Claude는 계속 작업하고 사용자도 대화 가능 — 프로세스 완료 시 결과 표시
18. 라이브 상태줄 추가
상태줄은 매 Claude 턴 후 실행되는 셸 스크립트로, 터미널 하단에 현재 디렉토리, git 브랜치, 컨텍스트 사용량을 색상 코딩해 표시
/statusline 명령으로 빠르게 설정 가능 — 표시할 내용을 물어보고 스크립트 자동 생성
19. 서브에이전트로 메인 컨텍스트 깨끗하게 유지
"서브에이전트를 사용해서 결제 플로우가 실패한 트랜잭션을 어떻게 처리하는지 파악해"라고 하면 별도 Claude 인스턴스가 독립 컨텍스트 윈도우에서 파일을 읽고 분석 후 간결한 요약을 보고
깊은 조사가 컨텍스트 윈도우의 절반을 소모할 수 있으므로, 서브에이전트로 그 비용을 메인 세션에서 분리
내장 타입: Explore(Haiku, 빠른 파일 검색), Plan(읽기 전용 분석)
20. 멀티 세션 조율을 위한 에이전트 팀
실험적이지만 강력한 기능 — CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS를 설정이나 환경변수에 추가하여 활성화
"이 모듈들을 병렬로 리팩토링할 3명의 팀원으로 에이전트 팀을 만들어"라고 지시
팀 리더가 팀원에게 작업을 분배하고, 각자 독립 컨텍스트 윈도우와 공유 태스크 리스트 보유, 팀원 간 직접 메시지 가능
3~5명 팀원, 팀원당 5~6개 태스크로 시작 권장
같은 파일을 수정하는 태스크 할당은 덮어쓰기 문제로 회피 — 리서치와 리뷰 태스크부터 시작 후 병렬 구현으로 확장
21. 컴팩션에 보존 지시 추가
컨텍스트 컴팩션 시(자동 또는 /compact) 보존할 내용을 지정 가능: /compact focus on the API changes and the list of modified files
CLAUDE.md에 상시 지시 추가 가능: "컴팩션 시 수정 파일 전체 목록과 현재 테스트 상태를 보존하라"
22. /loop로 반복 체크 실행
/loop 5m check if the deploy succeeded and report back으로 반복 프롬프트를 백그라운드에서 스케줄링
간격은 선택적(기본 10분), s, m, h, d 단위 지원
/loop 20m /review-pr 1234처럼 다른 명령어도 루프 가능
태스크는 세션 범위이며 3일 후 만료 — 잊힌 루프가 영원히 실행되지 않음
배포 모니터링, CI 파이프라인 감시, 외부 서비스 폴링에 활용
23. 음성 받아쓰기로 풍부한 프롬프트 작성
/voice로 푸시 투 톡 활성화, Space 키를 누르고 음성 입력하면 실시간 전사되어 프롬프트에 삽입
음성과 타이핑을 같은 메시지에서 혼합 가능
음성 프롬프트는 타이핑보다 자연스럽게 더 많은 컨텍스트를 포함 — 배경, 제약 조건, 원하는 바를 키 입력 절약 없이 설명
Claude.ai 계정 필요(API 키가 아님)
~/.claude/keybindings.json에서 푸시 투 톡 키를 meta+k 등으로 재바인딩하여 hold-detection 워밍업 건너뛰기 가능
24. 같은 문제에 2번 수정 후에도 해결 안 되면 새로 시작
수정의 래빗홀에 빠져 이슈가 여전히 해결되지 않으면, 컨텍스트가 실패한 접근법으로 가득 차 다음 시도에 악영향
/clear 후 배운 것을 반영한 더 나은 시작 프롬프트로 재시작
깨끗한 세션에 날카로운 프롬프트가 축적된 막다른 길에 시달리는 긴 세션을 거의 항상 능가
25. Claude에게 정확히 어떤 파일을 볼지 지정
@src/auth/middleware.ts has the session handling처럼 @ 접두사로 파일을 직접 참조
@ 접두사가 파일 경로로 자동 해석되어 Claude가 정확한 위치를 즉시 파악
Claude도 자체적으로 grep/검색이 가능하지만, 후보를 좁히고 맞는 파일을 식별하는 과정에 토큰과 컨텍스트를 소모 — 처음부터 파일을 지정하면 그 전체 과정을 건너뜀
26. 모호한 프롬프트로 익숙하지 않은 코드 탐색
"이 파일에서 뭘 개선하겠어?"는 훌륭한 탐색 프롬프트 — 모든 프롬프트가 구체적일 필요 없음
기존 코드에 새로운 시각이 필요할 때, 모호한 질문이 Claude에게 예상치 못한 것을 발견할 여지 제공
익숙하지 않은 레포에 온보딩할 때 활용 — Claude가 패턴, 불일치, 개선 기회를 첫 읽기에서 놓칠 부분까지 지적
27. Ctrl+G로 계획 편집
Claude가 계획을 제시하면 Ctrl+G로 텍스트 에디터에서 직접 열어 편집 가능
Claude가 코드를 한 줄도 쓰기 전에 제약 조건 추가, 단계 제거, 접근법 변경 가능
계획이 대체로 맞지만 몇 단계만 수정하고 싶을 때 전체를 다시 설명하지 않아도 됨
28. /init 실행 후 결과를 절반으로 줄이기
CLAUDE.md는 프로젝트 루트에 있는 마크다운 파일로, Claude에게 빌드 명령, 코딩 표준, 아키텍처 결정, 레포 관례 등 영구 지시 제공
Claude가 매 세션 시작 시 읽음
/init으로 프로젝트 구조 기반 초안 버전 생성 — 빌드 명령, 테스트 스크립트, 디렉토리 레이아웃 자동 인식
출력이 비대해지는 경향 — 존재 이유를 설명할 수 없는 줄은 삭제하고, 빠진 것을 추가
29. CLAUDE.md의 모든 줄에 대한 리트머스 테스트
CLAUDE.md의 모든 줄에 대해 "이 줄 없이 Claude가 실수할까?"를 질문
Claude가 이미 올바르게 수행하는 지시는 노이즈 — 불필요한 줄이 중요한 줄을 희석
준수율이 떨어지기 전까지 약 150~200개 지시 한도가 있으며, 시스템 프롬프트가 이미 약 50개를 사용
30. Claude 실수 후 "CLAUDE.md를 업데이트해서 이 실수가 반복되지 않게 해"
Claude가 실수하면 "update the CLAUDE.md file so this doesn't happen again"이라고 지시
Claude가 자체 규칙을 작성하고, 다음 세션부터 자동으로 따름
시간이 지나면 CLAUDE.md가 실제 실수로 형성된 살아있는 문서로 발전
무한 성장 방지를 위해 @imports(tip #32)로 별도 파일(@docs/solutions.md 등) 참조 — CLAUDE.md는 가볍게 유지하고 Claude가 필요할 때 상세 내용 읽음
31. .claude/rules/로 조건부 규칙 적용
.claude/rules/에 마크다운 파일을 배치해 주제별 지시 정리 — 기본적으로 모든 규칙 파일이 세션 시작 시 로드
paths frontmatter로 특정 파일 패턴에서만 로드되도록 조건부 활성화 가능:
예: paths: ["**/*.ts"]로 설정하면 Claude가 .ts 파일을 읽을 때만 TypeScript 규칙 로드
메인 CLAUDE.md를 가볍게 유지 — Claude가 현재 작업하지 않는 언어의 규칙을 읽지 않음
32. @imports로 CLAUDE.md를 가볍게 유지
@docs/git-instructions.md처럼 문서를 참조 — @README.md, @package.json, @~/.claude/my-project-instructions.md도 가능
Claude가 필요할 때만 파일을 읽음 — 매 세션 로드되는 CLAUDE.md를 비대하게 만들지 않는 "필요하면 추가 컨텍스트" 역할
33. /permissions로 안전한 명령어 허용목록 설정
npm run lint에 대한 승인을 수백 번째 클릭하는 것을 중단 — /permissions로 신뢰할 수 있는 명령어를 허용목록에 등록
목록에 없는 명령어에는 여전히 프롬프트 표시
34. /sandbox로 Claude의 자유 작업 허용
/sandbox로 OS 수준 격리 활성화 — 쓰기는 프로젝트 디렉토리로 제한, 네트워크 요청은 승인된 도메인만 허용
macOS에서는 Seatbelt, Linux에서는 bubblewrap 사용, Claude가 생성하는 모든 서브프로세스에 제한 적용
auto-allow 모드에서 샌드박스 내 명령은 권한 프롬프트 없이 실행 — 가드레일 있는 근-완전 자율성
무감독 작업(오버나이트 마이그레이션, 실험적 리팩토링)에는 Docker 컨테이너 내 Claude 실행으로 완전 격리와 쉬운 롤백 제공
35. 반복 작업용 커스텀 서브에이전트 생성
tip #19의 즉석 서브에이전트와 달리, 커스텀 서브에이전트는 .claude/agents/에 사전 구성하여 저장
예: Opus + 읽기 전용 도구의 보안 리뷰어 에이전트, Haiku의 빠른 검색 에이전트
/agents로 탐색 및 생성
isolation: worktree로 독립 파일 시스템을 가진 에이전트 설정 가능
36. 스택에 맞는 MCP 서버 선택
시작하기 좋은 MCP 서버: Playwright(브라우저 테스트 및 UI 검증), PostgreSQL/MySQL(직접 스키마 쿼리), Slack(버그 리포트 및 스레드 컨텍스트), Figma(디자인→코드 워크플로우)
Claude Code는 동적 도구 로딩 지원 — Claude가 필요할 때만 서버 정의를 로드
37. 출력 스타일 설정
/config에서 선호 스타일 선택 — 내장 옵션: Explanatory(상세, 단계별), Concise(간결, 액션 중심), Technical(정밀, 전문 용어 친화)
~/.claude/output-styles/에 커스텀 출력 스타일 파일 생성도 가능
38. CLAUDE.md는 제안, Hooks는 요구사항
CLAUDE.md는 권고적 — Claude가 약 80% 준수
Hooks는 결정적 — 100% 실행
예외 없이 매번 반드시 실행되어야 하는 것(포맷팅, 린팅, 보안 체크)은 Hook으로 설정
Claude가 고려해야 할 가이드라인이면 CLAUDE.md로 충분
39. PostToolUse Hook으로 자동 포맷팅
Claude가 파일을 편집할 때마다 포매터가 자동 실행되도록 PostToolUse Hook을 .claude/settings.json에 추가
Edit|Write 매처에 npx prettier --write "$CLAUDE_FILE_PATH" 2>/dev/null || true 등록
|| true로 Hook 실패가 Claude를 차단하지 않도록 처리
npx eslint --fix를 두 번째 Hook 엔트리로 체이닝 가능
에디터가 같은 파일을 열고 있으면 format-on-save를 끄는 것이 좋음 — 에디터 저장이 프롬프트 캐시를 무효화할 수 있다는 보고 있음, Hook이 포맷팅 처리
40. PreToolUse Hook으로 파괴적 명령 차단
rm -rf, drop table, truncate 패턴을 PreToolUse Hook으로 차단 — Claude가 시도조차 하지 않음
Hook이 Claude가 도구를 실행하기 전에 발동하여 파괴적 명령을 사전 차단
.claude/settings.json에 추가하거나, /hooks로 인터랙티브하게 설정하거나, Claude에게 "rm -rf, drop table, truncate 명령을 차단하는 PreToolUse Hook을 추가해"라고 지시
41. Hook으로 컴팩션 시 중요 컨텍스트 보존
긴 세션에서 컨텍스트 컴팩션 시 Claude가 작업 중인 내용의 맥락을 잃을 수 있음
compact 매처를 가진 Notification Hook이 컴팩션 발동 시마다 핵심 컨텍스트를 자동 재주입
Claude에게 "컴팩션 후 현재 태스크, 수정 파일, 제약 조건을 상기시키는 Notification Hook을 설정해"라고 지시
재주입 대상으로 좋은 항목: 현재 태스크 설명, 수정 파일 목록, 하드 제약 조건("마이그레이션 파일은 수정하지 마")
기능에 깊이 빠져 있어 Claude가 맥락을 잃으면 안 되는 멀티 아워 세션에서 가장 유용
42. 인증, 결제, 데이터 뮤테이션은 반드시 수동 검토
인증 흐름, 결제 로직, 데이터 뮤테이션, 파괴적 DB 작업 — 나머지 코드가 아무리 좋아 보여도 반드시 사람이 검토
잘못된 인증 스코프, 잘못 구성된 결제 웹훅, 컬럼을 조용히 삭제하는 마이그레이션은 사용자, 비용, 신뢰를 잃게 만듦
어떤 양의 자동화 테스트도 이런 문제를 모두 잡지 못함
43. /branch로 현재 경로를 잃지 않고 다른 접근 시도
/branch(또는 /fork)로 현재 지점에서 대화 복사본 생성
위험한 리팩토링을 브랜치에서 시도 — 성공하면 유지, 실패하면 원래 대화는 무사
rewind(tip #3)와 다른 점: 양쪽 경로가 모두 살아 있음
44. 기능 스펙이 불완전할 때 Claude에게 인터뷰 요청
무엇을 만들고 싶은지는 알지만 Claude가 잘 만들기 위한 모든 디테일이 부족할 때, Claude에게 질문을 하게 함
"나는 [간략한 설명]을 만들고 싶어. AskUserQuestion 도구를 사용해서 상세히 인터뷰해줘. 기술 구현, 엣지 케이스, 우려 사항, 트레이드오프에 대해 질문해. 뻔한 질문은 하지 마. 모든 것을 다룰 때까지 인터뷰한 다음 SPEC.md에 완전한 스펙 작성"
스펙 완성 후 새 세션에서 깨끗한 컨텍스트와 완전한 스펙으로 구현 시작
45. 하나의 Claude가 작성, 다른 Claude가 리뷰
첫 번째 Claude가 기능을 구현하고, 두 번째 Claude가 새로운 컨텍스트에서 스태프 엔지니어처럼 리뷰
리뷰어는 구현 단축키에 대한 사전 지식이 없으므로 모든 부분에 도전
TDD에도 동일 아이디어 적용: 세션 A가 테스트 작성, 세션 B가 통과 코드 작성
46. PR 리뷰를 대화형으로 진행
원샷 PR 리뷰를 요청하는 대신(물론 가능하지만), PR을 세션에서 열고 대화 진행
"이 PR에서 가장 위험한 변경을 설명해"
"이것이 동시에 실행되면 무엇이 깨질까?"
"에러 핸들링이 코드베이스의 나머지와 일관적인가?"
대화형 리뷰가 더 많은 이슈를 포착 — 중요한 영역을 깊이 파고들 수 있기 때문
원샷 리뷰는 스타일 니트를 플래그하는 경향이 있고 아키텍처 문제를 놓치기 쉬움
47. 세션에 이름과 색상 지정
/rename auth-refactor로 프롬프트 바에 레이블 표시
/color red 또는 /color blue로 프롬프트 바 색상 설정
사용 가능 색상: red, blue, green, yellow, purple, orange, pink, cyan
2~3개 병렬 세션 운영 시 이름과 색상 지정에 5초 투자로 잘못된 터미널에 입력하는 실수 방지
48. Claude 완료 시 사운드 재생
Stop Hook으로 Claude가 응답을 완료하면 시스템 사운드 재생
태스크를 시작하고 다른 작업으로 전환한 뒤, 완료 시 핑 소리로 알림
예: .claude/settings.json에 Stop Hook으로 /usr/bin/afplay /System/Library/Sounds/Glass.aiff 등록
49. claude -p로 배치 작업 팬아웃
비대화형 모드로 파일 목록을 루프하며 처리 — --allowedTools로 파일당 Claude가 할 수 있는 작업 범위 제한
&로 병렬 실행하여 최대 처리량 확보:
for file in $(cat files-to-migrate.txt); do claude -p "Migrate $file from class components to hooks" --allowedTools "Edit,Bash(git commit *)" & done; wait
파일 포맷 변환, 코드베이스 전체 import 업데이트, 각 파일이 독립적인 반복 마이그레이션에 적합
50. 스피너 동사 커스터마이징 (재미 요소)
Claude가 생각하는 동안 터미널에 "Flibbertigibbeting...", "Flummoxing..." 같은 스피너 동사 표시
원하는 문구로 교체 가능 — Claude에게 지시:
"Replace my spinner verbs in user settings with these: Hallucinating responsibly, Pretending to think, Confidently guessing, Blaming the context window"
목록을 직접 제공하지 않아도 됨 — "Replace my spinner verbs with Harry Potter spells"처럼 분위기만 전달하면 Claude가 목록 생성