클로드 코드 사용법: 매일 쓰는 사람이 정리한 실전 팁 50가지
클로드 코드(Claude Code)는 터미널에서 바로 쓰는 AI 코딩 에이전트입니다. 코드를 읽고, 파일을 수정하고, 테스트를 돌리고, 커밋까지 합니다. 채팅창에서 코드 조각을 복사·붙여넣기하는 방식과는 차원이 다릅니다.
문제는 기능이 너무 많다는 겁니다. 제대로 쓰면 생산성이 몇 배로 뛰지만, 대부분은 기본 기능만 쓰다가 "그냥 채팅이랑 뭐가 다르지?"라는 인상을 받고 멈춥니다.
개발자 Vishwas가 앤트로픽 공식 문서, 클로드 코드를 만든 Boris Cherny의 조언, 커뮤니티 경험, 그리고 본인의 1년간 사용 경험을 종합해 정리한 50가지 팁이 있습니다. 여기서 실무에 바로 적용할 수 있는 것들을 분류별로 정리합니다.
1. 시작 설정: 한 번만 해두면 매일 편한 것들
cc 별칭 등록
매번 `claude --dangerously-skip-permissions`를 치는 건 고통입니다. 터미널 설정 파일(~/.zshrc 또는 ~/.bashrc)에 별칭을 등록하면 `cc`만 입력해서 시작할 수 있습니다.
alias cc='claude --dangerously-skip-permissions'
플래그 이름이 일부러 무섭게 되어 있습니다. 클로드 코드가 코드베이스에 무엇을 할 수 있는지 완전히 이해한 뒤에만 쓰라는 뜻입니다.
CLAUDE.md 초기 설정
`/init`을 실행하면 프로젝트 구조를 기반으로 CLAUDE.md 초안이 생성됩니다. 빌드 명령어, 테스트 스크립트, 디렉토리 구조를 자동으로 잡아줍니다. 다만 결과물이 길고 장황합니다. 절반으로 줄이는 게 좋습니다. 왜 이 줄이 있어야 하는지 설명할 수 없다면 삭제합니다.
CLAUDE.md의 모든 줄에 이 질문을 던져보면 됩니다. "이 지침이 없으면 클로드가 실수할까?" 클로드가 이미 스스로 잘 하는 것에 대한 지침은 노이즈입니다. 불필요한 줄이 많을수록 중요한 지침의 효과가 희석됩니다. 대략 150~200개 지침 이후부터 준수율이 떨어집니다.
언어별 코드 인텔리전스 플러그인 설치
LSP 플러그인은 클로드가 파일을 수정할 때마다 자동으로 진단을 돌립니다. 타입 에러, 미사용 임포트, 누락된 반환 타입을 클로드가 직접 보고 고칩니다. 단일 항목 중 가장 효과가 큰 플러그인입니다.
/plugin install typescript-lsp@claude-plugins-official
/plugin install pyright-lsp@claude-plugins-official
/plugin install rust-analyzer-lsp@claude-plugins-official
/plugin install gopls-lsp@claude-plugins-official
C#, Java, Kotlin, Swift, PHP, Lua, C/C++용도 있습니다. `/plugin`에서 Discover 탭을 열면 전체 목록을 확인할 수 있습니다.
출력 스타일 설정
`/config`에서 선호하는 스타일을 선택합니다. 기본 옵션은 세 가지입니다. Explanatory(단계별 상세 설명), Concise(간결, 행동 중심), Technical(정밀, 전문 용어 위주). 커스텀 스타일을 `~/.claude/output-styles/`에 파일로 만들어 추가할 수도 있습니다.
2. 세션 관리: 맥락을 깨끗하게 유지하는 법
관련 없는 작업 사이에는 /clear
깨끗한 세션에 날카로운 프롬프트 하나가, 3시간 동안 이것저것 섞인 세션보다 낫습니다. 작업이 바뀌면 `/clear`부터 하는 게 원칙입니다.
진행 상황을 버리는 것 같아서 꺼려지겠지만, 새로 시작하는 게 결과가 좋습니다. 세션이 길어지면 앞쪽에서 쌓인 맥락이 현재 지침을 방해합니다. `/clear`하고 집중된 시작 프롬프트를 쓰는 데 5초. 그 5초가 30분의 생산성 저하를 막습니다.
같은 문제를 두 번 수정해도 안 되면 새로 시작
클로드와 함께 수정 → 실패 → 재수정 → 재실패의 토끼굴에 빠졌다면, 맥락 안에 실패한 접근법이 가득 차서 다음 시도를 방해하고 있는 겁니다. `/clear`하고, 실패에서 배운 것을 반영한 더 나은 시작 프롬프트를 작성합니다.
Esc로 멈추기, Esc+Esc로 되감기
Esc를 누르면 맥락을 잃지 않고 클로드를 즉시 멈춥니다. 방향을 바로 바꿀 수 있습니다. Esc+Esc(또는 `/rewind`)를 누르면 클로드가 만든 모든 체크포인트 목록이 뜹니다. 코드, 대화, 또는 둘 다 복원할 수 있습니다.
40% 확신인 접근법을 시도할 수 있다는 뜻입니다. 되면 좋고, 안 되면 되감으면 됩니다. 단, 체크포인트는 파일 수정만 추적합니다. bash 명령어로 실행한 변경(마이그레이션, DB 작업)은 포함되지 않습니다.
세션 이어가기
`claude --continue`는 가장 최근 대화를 이어갑니다. `claude --resume`은 세션 목록에서 골라서 이어갈 수 있습니다.
세션 이름과 색상 지정
`/rename auth-refactor`로 세션에 이름을 붙입니다. `/color red`나 `/color blue`로 프롬프트 바 색상을 지정합니다. 병렬로 2~3개 세션을 돌릴 때, 이름과 색상 지정에 5초를 쓰면 엉뚱한 터미널에 입력하는 실수를 막습니다.
컴팩션(맥락 압축) 관리
맥락이 압축될 때 무엇을 보존할지 지시할 수 있습니다. `/compact API 변경사항과 수정된 파일 목록에 집중해라`처럼 씁니다. CLAUDE.md에 상시 지침을 넣어둘 수도 있습니다. "컴팩션할 때 수정된 파일 전체 목록과 현재 테스트 상태를 보존하라."
컨텍스트 윈도우를 100만 토큰으로 확장
소네트 4.6과 오퍼스 4.6 모두 100만 토큰 컨텍스트 윈도우를 지원합니다. `/model opus[1m]` 또는 `/model sonnet[1m]`으로 세션 중간에 전환할 수 있습니다.
3. 프롬프트 기법: 클로드에게 일을 잘 시키는 법
버그를 해석하지 말고 날것의 데이터를 붙여넣기
버그를 말로 설명하면 느립니다. 클로드가 추측하고, 틀리고, 수정하는 과정이 반복됩니다. 에러 로그, CI 출력, 슬랙 스레드를 그대로 붙여넣고 "고쳐"라고 하면 됩니다. 직접 해석을 더하면 오히려 클로드가 원인을 짚는 데 필요한 세부사항이 날아갑니다.
터미널에서 직접 파이프할 수도 있습니다.
cat error.log | claude "이 에러 설명하고 수정 방법 제안해" npm test 2>&1 | claude "실패하는 테스트 고쳐"
정확히 어떤 파일을 볼지 알려주기
`@src/auth/middleware.ts`처럼 @를 붙여서 파일을 직접 참조합니다. 클로드가 스스로 검색할 수 있지만, 후보를 좁히고 맞는 파일을 찾는 과정마다 토큰과 맥락이 소모됩니다. 처음부터 가리키면 그 비용이 사라집니다.
"ultrathink" 키워드로 깊은 사고 유도
복잡한 아키텍처 결정, 까다로운 디버깅, 다단계 추론에는 프롬프트에 "ultrathink"를 넣습니다. 오퍼스 4.6에서 적응형 추론이 작동해, 문제의 복잡도에 맞게 사고 깊이를 조절합니다. 변수 이름 변경 같은 단순 작업에는 쓸 필요 없습니다. `/effort`로 기본 노력 수준을 영구 설정할 수도 있습니다.
클로드가 스스로 검증할 수 있는 수단을 주기
프롬프트에 테스트 명령어, 린터 확인, 기대 출력을 포함시킵니다.
인증 미들웨어를 JWT 방식으로 리팩토링해. 변경 후 기존 테스트 스위트를 돌려. 실패하는 테스트가 있으면 완료 전에 고쳐.
클로드가 테스트를 돌리고, 실패를 보고, 직접 고칩니다. 클로드 코드를 만든 Boris Cherny는 이것만으로 품질이 2~3배 올라간다고 말합니다. UI 변경의 경우 Playwright MCP 서버를 설정하면 클로드가 브라우저를 열어 페이지와 상호작용하면서 UI를 직접 확인합니다.
모호한 프롬프트로 코드 탐색하기
"이 파일에서 뭘 개선하겠어?"는 좋은 탐색 프롬프트입니다. 모든 프롬프트가 구체적일 필요는 없습니다. 기존 코드에 신선한 눈이 필요할 때, 모호한 질문이 오히려 생각지 못한 것을 표면 위로 끌어올립니다.
기능을 완전히 스펙화하지 못할 때, 클로드에게 인터뷰를 시키기
무엇을 만들지는 아는데, 클로드가 잘 만들기 위해 필요한 세부사항이 부족할 때가 있습니다.
[간단한 설명]을 만들고 싶어. 기술 구현, 엣지 케이스, 우려 사항, 트레이드오프에 대해 자세히 인터뷰해. 뻔한 질문은 하지 마. 모든 걸 다룰 때까지 계속 질문하고, 끝나면 완전한 스펙을 SPEC.md에 작성해.
스펙이 완성되면, 새 세션을 열어서 깨끗한 맥락과 완전한 스펙으로 실행합니다.
4. 단축키와 빠른 조작
클로드 단축키 모음
음성 입력(`/voice`)은 특히 유용합니다. 말로 하면 배경 설명, 제약 조건, 원하는 결과를 타이핑할 때보다 자연스럽게 더 많이 포함시키게 됩니다.
5. 병렬 작업과 에이전트 활용
워크트리로 격리된 병렬 브랜치
`claude --worktree feature-auth`를 실행하면 새 브랜치와 격리된 작업 복사본이 만들어집니다. 클로드 코드 팀이 가장 큰 생산성 도약이라고 부르는 기능입니다. 3~5개 워크트리를 띄워서 각각 독립된 클로드 세션을 병렬로 돌릴 수 있습니다.
한계는 로컬 머신의 자원입니다. 여러 개발 서버, 빌드, 클로드 세션이 CPU를 경쟁합니다.
서브에이전트로 메인 맥락 보호
"서브에이전트를 써서 결제 흐름이 실패 트랜잭션을 어떻게 처리하는지 파악해."라고 하면 별도의 클로드 인스턴스가 생성됩니다. 파일을 읽고 분석한 뒤 간결한 요약만 메인 세션에 보고합니다.
깊은 조사는 맥락 윈도우의 절반을 잡아먹을 수 있습니다. 서브에이전트를 쓰면 그 비용이 메인 세션 밖에서 처리됩니다. 내장 유형으로 Explore(하이쿠, 빠른 파일 검색)와 Plan(읽기 전용 분석)이 있습니다.
커스텀 서브에이전트
`.claude/agents/`에 사전 구성된 에이전트를 저장해둘 수 있습니다. 보안 리뷰어(오퍼스, 읽기 전용 도구), 빠른 검색용(하이쿠) 같은 식입니다. `/agents`로 관리합니다.
에이전트 팀 (실험적 기능)
`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS`를 활성화한 뒤, "에이전트 팀 3명을 만들어서 이 모듈들을 병렬로 리팩토링해"라고 지시합니다. 팀 리더가 작업을 배분하고, 각 팀원은 독립된 맥락 윈도우와 공유 작업 목록을 갖습니다.
3~5명의 팀원, 팀원당 5~6개 작업으로 시작합니다. 같은 파일을 수정하는 작업은 피합니다. 두 팀원이 같은 파일을 건드리면 덮어쓰기가 발생합니다.
배치 작업에 claude -p 활용
비대화형 모드로 파일 목록을 루프 돌릴 수 있습니다.
bash for file in $(cat files-to-migrate.txt); do claude -p "$file를 클래스 컴포넌트에서 훅으로 마이그레이션해" \ --allowedTools "Edit,Bash(git commit *)" & done wait
파일 포맷 변환, 코드베이스 전체 임포트 업데이트, 파일 단위로 독립적인 반복 마이그레이션에 적합합니다.
6. 설정 파일과 규칙 관리
CLAUDE.md는 조언, 훅은 강제
CLAUDE.md는 권고 사항입니다. 클로드가 약 80% 정도 따릅니다. 훅(hook)은 100% 실행됩니다. 예외 없이 반드시 일어나야 하는 것(포매팅, 린팅, 보안 검사)은 훅으로 만듭니다. 클로드가 참고해야 할 가이드라인은 CLAUDE.md에 둡니다.
실수에서 배운 걸 CLAUDE.md에 반영
클로드가 실수하면 "CLAUDE.md를 업데이트해서 이 실수가 반복되지 않게 해"라고 말합니다. 클로드가 스스로 규칙을 씁니다. 다음 세션에서 자동으로 따릅니다. 시간이 지나면 CLAUDE.md가 실제 실수를 기반으로 형성된 살아있는 문서가 됩니다.
조건부 규칙은 .claude/rules/에
`.claude/rules/`에 마크다운 파일을 넣으면 주제별로 지침을 분리할 수 있습니다. 특정 파일을 작업할 때만 로드되게 하려면 frontmatter에 경로를 지정합니다.
yaml --- paths: - "**/*.ts" --- # TypeScript 규칙 type보다 interface를 우선 사용
타입스크립트 규칙은 .ts 파일을 건드릴 때만, Go 규칙은 .go 파일을 건드릴 때만 로드됩니다.
@imports로 CLAUDE.md를 가볍게 유지
`@docs/git-instructions.md`처럼 외부 문서를 참조합니다. README.md, package.json, 별도 지침 파일을 링크할 수 있습니다. 클로드가 필요할 때 읽습니다. 매 세션마다 읽는 CLAUDE.md를 부풀리지 않으면서 추가 맥락을 제공하는 방식입니다.
스킬(Skills)로 온디맨드 지식 제공
스킬은 마크다운 파일로, 클로드의 지식을 확장합니다. CLAUDE.md가 매 세션 로드되는 것과 달리, 스킬은 현재 작업과 관련될 때만 로드됩니다. `.claude/skills/`에 만들거나, 플러그인이 번들로 제공하는 사전 제작 스킬을 설치합니다. API 규칙, 배포 절차, 코딩 패턴 등 가끔 필요한 전문 지식에 적합합니다.
7. 훅(Hook) 활용: 자동화와 안전장치
파일 수정 시 자동 포매팅 (PostToolUse)
클로드가 파일을 수정할 때마다 포매터가 자동으로 돌아가게 합니다.
json { "hooks": { "PostToolUse": [ { "matcher": "Edit|Write", "hooks": [ { "type": "command", "command": "npx prettier --write \"$CLAUDE_FILE_PATH\" 2>/dev/null || true" } ] } ] } }
에디터에서 같은 파일을 열고 있다면 format-on-save를 끄는 게 좋습니다. 에디터 저장이 프롬프트 캐시를 무효화해서 클로드가 파일을 다시 읽어야 하는 경우가 보고되고 있습니다.
위험한 명령어 차단 (PreToolUse)
`rm -rf`, `drop table`, `truncate` 같은 파괴적 명령을 실행 전에 차단합니다.
json { "hooks": { "PreToolUse": [ { "matcher": "Bash", "type": "command", "command": "if echo \"$TOOL_INPUT\" | grep -qE 'rm -rf|drop table|truncate'; then echo 'BLOCKED' >&2; exit 2; fi" } ] } }
컴팩션 시 맥락 자동 재주입 (Notification)
긴 세션에서 맥락이 압축되면 클로드가 현재 작업을 놓칠 수 있습니다. "컴팩션 후에 현재 작업, 수정된 파일, 제약 조건을 다시 알려주는 Notification 훅을 설정해"라고 클로드에게 지시하면 됩니다.
작업 완료 시 소리 알림 (Stop)
json { "hooks": { "Stop": [ { "matcher": "*", "hooks": [ { "type": "command", "command": "/usr/bin/afplay /System/Library/Sounds/Glass.aiff" } ] } ] } }
작업을 시작시키고 다른 일을 하다가, 완료 소리가 나면 돌아오면 됩니다.
8. 외부 도구 연결
gh CLI로 GitHub 작업 처리
gh CLI는 PR, 이슈, 코멘트를 별도 MCP 서버 없이 처리합니다. CLI 도구는 MCP 서버보다 맥락 효율적입니다. 도구 스키마를 맥락 윈도우에 로드하지 않기 때문입니다. jq, curl 등 표준 CLI 도구도 마찬가지입니다.
클로드가 모르는 도구도 가르칠 수 있습니다. "sentry-cli --help를 읽어서 사용법을 파악하고, 프로덕션에서 가장 최근 에러를 찾아."라고 하면 클로드가 help 출력을 읽고 문법을 파악해서 명령을 실행합니다.
MCP 서버 선택 가이드
시작할 만한 MCP 서버는 네 가지입니다. Playwright(브라우저 테스팅, UI 검증), PostgreSQL/MySQL(스키마 직접 조회), Slack(버그 리포트와 스레드 맥락 읽기), Figma(디자인-투-코드 워크플로). 클로드 코드는 동적 도구 로딩을 지원하므로, 서버가 실제로 필요할 때만 정의를 로드합니다.
권한 관리
`/permissions`로 신뢰하는 명령어를 허용 목록에 등록합니다. `npm run lint`를 매번 승인하는 일이 사라집니다. 목록에 없는 건 여전히 승인이 필요합니다.
`/sandbox`를 실행하면 OS 수준 격리가 켜집니다. 쓰기는 프로젝트 디렉토리로 제한되고, 네트워크 요청은 승인한 도메인만 허용됩니다.
9. 코드 리뷰와 협업 패턴
하나가 쓰고, 다른 하나가 리뷰
첫 번째 클로드가 기능을 구현하고, 두 번째 클로드가 새로운 맥락에서 시니어 엔지니어처럼 리뷰합니다. 리뷰어는 구현 과정의 타협을 모르기 때문에 모든 것에 도전합니다. TDD에도 같은 패턴을 적용할 수 있습니다. 세션 A가 테스트를 쓰고, 세션 B가 테스트를 통과하는 코드를 씁니다.
PR을 대화형으로 리뷰
일괄 리뷰를 요청하는 대신, PR을 세션에서 열고 대화를 합니다. "이 PR에서 가장 위험한 변경을 설명해." "이게 동시에 실행되면 뭐가 깨져?" "에러 처리가 코드베이스 나머지와 일관성 있어?"
대화형 리뷰는 더 많은 문제를 잡습니다. 일괄 리뷰는 스타일 지적에 치우치고 아키텍처 문제를 놓치는 경향이 있습니다.
반복 점검에 /loop 활용
`/loop 5m 배포 성공했는지 확인하고 보고해`는 5분마다 반복 실행됩니다. 배포 모니터링, CI 파이프라인 감시, 외부 서비스 폴링에 씁니다. 작업은 세션 범위이고 3일 후 만료되므로, 잊어버린 루프가 영원히 돌지는 않습니다.
10. 원격 제어와 모바일 접속
`claude remote-control`을 실행하면 세션이 시작됩니다. claude.ai/code 또는 iOS/Android의 클로드 앱에서 접속합니다. 세션은 로컬 머신에서 돌고, 폰이나 브라우저는 그 창일 뿐입니다. 메시지 전송, 도구 호출 승인, 진행 모니터링이 가능합니다.
cc 별칭(자동 권한 승인)을 쓰고 있다면, 원격에서도 승인 없이 진행됩니다. 작업을 시작하고, 자리를 뜨고, 폰에서 가끔 확인하는 방식이 가능합니다.
11. 반드시 사람이 확인해야 하는 것
클로드가 코드를 잘 짜더라도, 이것들은 반드시 사람이 리뷰해야 합니다.
인증(auth) 흐름, 결제 로직, 데이터 뮤테이션, 파괴적 DB 작업. 잘못된 인증 범위, 잘못 구성된 결제 웹훅, 컬럼을 조용히 삭제하는 마이그레이션은 사용자, 돈, 신뢰를 잃게 합니다. 아무리 자동화된 테스트를 돌려도 이런 것들을 전부 잡지는 못합니다.
12. 소소하지만 유용한 것들
상태 표시줄 추가
상태 표시줄은 클로드의 모든 턴 뒤에 실행되는 셸 스크립트입니다. 현재 디렉토리, git 브랜치, 맥락 사용량을 터미널 하단에 표시합니다. `/statusline`을 실행하면 무엇을 표시할지 물어보고 스크립트를 생성합니다.
스피너 동사 커스터마이징
클로드가 생각하는 동안 "Flibbertigibbeting..." 같은 동사가 표시됩니다. 이걸 바꿀 수 있습니다. "스피너 동사를 해리포터 주문으로 바꿔"라고 하면 클로드가 목록을 만들어줍니다. 작지만 기다리는 시간이 즐거워집니다.
