Claude Code 잘 쓰는 법 총 정리

2026. 3. 19. 12:34Claude Code

개발의 기본은 역시 공식문서이죠. 하지만 너무 길어서 누가 필요한 부분만 알려주면 좋겠다고요?

제가 바로 그 ""입니다.

 

Claude의 작동 방식

: 자료 조사 > 작업 수행 > 검증

항상 이 순서로 작업이 진행되고,  "루프"라고 부릅니다. 아래 설명을 읽을 때 참고해주세요

 

claude code 터미널(windows 기준)

1. Git bash + windows Terminal

: 성능/ 가독성 좋음

2. PowerShell 

3. cmd 

 

 

주요 단축키

/init

: 프로젝트를 위한 CLAUDE.md 생성을 안내합니다. 프로젝트 생성 직후 사용하면 좋습니다.

 

/context

: context 상황을 확인할 수 있음

 

/clear

: context를 비웁니다. CLAUDE.md는 남아있습니다.

 

ecs키 2번 누르기

: claude는 파일 변경 전 현재 컨텐츠의 스냅샷을 만듭니다. esc를 두 번 누르면 변경을 취소하고 변경 전의 상태로 돌아갑니다.

 

Shift + Tab

: claude 모드 변경. 자세한 설명은 아래에

 

alt + v

: 이미지 붙여넣기

 

 

그 외 단축키

더보기

?

: 단축키 보기

 

/

: 명령어 구분자

 

/compact

: context를 압축합니다.

 

/btw

: context를 오염시키지 않고 처리하는 질문, 진행 중이던 작업과 별개로 진행된다.

 

ctrl + t

: 작업 중 현재 진행 단계 확인

 

/plugin

: 내 플러그인을 확인하고 마켓에서 플러그인을 받을 수 있습니다.

 

/resume: 세션이 끊기거나 실수로 터미널을 닫았을 때, 이전의 대화 맥락을 그대로 복구할 수 있습니다.

 

/simplify: 기능 구현이나 버그 수정 후 실행하면 코드를 자동으로 정리

1. 코드 재사용 검토

2. 코드 품질 검토

3. 효율성 검토

 

/batch: 대규모 변경을 병렬 처리

방법: /batch + ( 프롬프트 ) 입력

 

1. 코드베이스 ㅡ조사

2. 작업을 5~3-개 독립 만위로 분해

3. 계획 승인 요청

4. 단위별 독립 에이전트가 각각 git worktree에서 병렬 실행

5. 각 에이전트가 구현 + 테스트 +PR 생성까지 수행 

 

 

/ralph-loop: 성공 조건에 다다를 때 까지 무한 반복

방법: /ralph-loop "프롬프트, 작업이 완료되면 반드시 Done을 입력해" --max-iterations 10 -- completion-promise Done

> Trigger 워드 Done을 발견할 때 까지 최대 10번 프롬프트를 반복한다.

ex) /ralph-loop "

 

1) ralph-loop 플러그인 설치

2) 명령어

 

터미널 멀티플렉서 for 세션유지

windows: wsl2를 통해 tmux 사용

macOS: 바로 사용 가능

 

 

Context 관리

context: claude의 단기 기억 용량입니다.

 

context 추가 설명

더보기

제한된 context에서 꼭 필요하고 유용한 정보만 저장해야 성능 최대한으로 끌어낼 수 있어요. context에는

- 대화기록

- 사용했던 skills

- CLAUDE.md

등이 저장되는데 context가 길어질수록 성능이 떨어지고 토큰도 많이 사용합니다.

 

관리방법

1. 새로운 작업을 시작할 때 /clear 사용하여 context 비우기(중요)

 

그 밖에 방법

더보기

2. /compact로 압축하기

: 압축할 때 살리고 싶은건 focus를 사용합니다.   ex)  /compact focus on the API change

 

3. Skills 수동 제어

: disable-model-invocation: true 를 통해 claude가 자율적으로 skill을 사용하는 권한을 끕니다.

 

4. subagents(서브 에이전트): 서브에이전트는 병렬처리 방법이라고 생각하면 되고, 주 대화와 완전 분리된 context를 갖습니다.

 

Claude의 모드

cmd에서 Shift + Tab 키로 모드를 전환할 수 있습니다.

 

Default (기본)

: Claude는 파일 편집 및 커맨드 사용 전에 요청.

 

Auto-accept edits(자동 수락 편집)

: Claude는 파일을 스스로 편집하지만 커맨드 사용은 여전히 요청.

 

*Plan mode (계획 모드)

: Claude는 읽기 전용 도구만 사용하여 실행 전에 승인할 수 있는 계획을 만듭니다.

복잡한 요청을 할 땐 Plan mode로 가닥을 잡아두고 Auto-accept edits로 진행하는 것이 좋습니다.

 

* 모든 작업의 시작을 플랜모드에서 하시길 권합니다.

 

 

메모리 관리

메모리는 한정되어있고, 성능과 토큰 절약을 위해 관리해줘야 합니다.

 

아래 두 파일은 claude가 작업을 시작할 때 참고하는 문서입니다. 이 문서에는 코드만 봐선 알 수 없는 내용을 보관하는게 바람직합니다.

 

CLAUDE.md

: 사용자가 적어두는 지침, /init으로 생성

 

MEMORY.md

: claude가 작업 중 자동 저장하는 학습 데이터, 세션을 종료해도 프로젝트에 남아있다.

 

편집방법

1. cmd에서 claude에게 명령

ex) CLAUDE.md 열어 > OOO 관련 메모리는 삭제해줘.

더보기

2. 직접 파일 수정

md 파일이라 vscode에서 직접수정합니다.

 

프로젝트 폴더가 아닌 claude를 설치한 경로에서 memory 폴더 안에 있습니다.

 

제 경우는 C드라이브   User\.claude\momory 에 있었습니다.

 

프롬프트 작성 요령

- Plan 모드로 작업 시작(Shift + Tab 두 번)

- 모호하지 않은 구체적인 묘사

- claude에게 내 요청에서 명확하지 않은 부분에 대한 질문 요구

- claude가 스스로 검증할 수 있도록 테스트 케이스를 포함하고, 레퍼런스를 줍니다.

- claude는 코딩의 전문가입니다. claude를 믿고 당연한 것을 명령하지 않기. 읽을 파일이나 실행할 명령어를 지정하지 않아도 Claude가 파악합니다.

 

 

모델 비교

성능

Haiku < Sonnet < Opus 

 

subagent, skill = sonnet 추천

 

 

 

 

Plan모드 실전 워크플로우

더보기

기본 흐름

Plan 모드 (분석/설계) → 일반 모드 (구현) → 확인


1단계: Plan 모드로 분석

claude --permission-mode plan

"하트블록 시스템을 추가하려고 해. 현재 블록 시스템 구조를 파악하고 구현 계획을 세워줘"

Claude가 하는 일:

  • 관련 스크립트 탐색 (Grep/Glob/Read)
  • 기존 아키텍처 파악 (BoardManager, BlockData 등)
  • ScriptableObject 구조 확인
  • 구현 계획 제시 (수정할 파일, 순서, 주의사항)

2단계: 계획 확인 후 구현 전환

Shift + Tab → 일반 모드로 전환

"계획대로 구현해줘"


3단계: Unity MCP로 검증

"read_console로 컴파일 에러 확인해줘"


실전 시나리오별 워크플로우

A. 새 시스템 추가 (예: 업적 시스템)

  1. [Plan] "업적 시스템을 추가하려고 해. 현재 프로젝트 구조에 맞는 설계를 해줘"
    • 기존 Manager 패턴 분석
    • AchievementData, AchievementManager 설계
    • GameSetupEditor 연동 계획
  2. [Shift+Tab → 구현] "계획대로 구현해줘. 끝나면 read_console로 확인"

B. 버그 수정

  1. [Plan] "블록 배치 시 겹침 버그가 있어. 원인을 분석해줘"
    • DraggableBlock, BoardManager 분석
    • 배치 로직 흐름 추적
    • 원인 + 수정 방안 제시
  2. [Shift+Tab → 구현] "분석한 대로 수정해줘"

C. 리팩터링

  1. [Plan] "BoardManager가 너무 커. 분리 방안을 제안해줘"
    • 메서드 그룹 분석
    • 책임별 분리 계획 (LineClearManager, PlacementManager 등)
    • 의존성/영향 범위 파악
  2. [Shift+Tab → 구현] "LineClearManager부터 분리해줘"

이 프로젝트에 특화된 팁

상황 Plan에서 확인할 것
새 블록 타입 BlockDatabase, GetWeightedRandomShape, GameSetupEditor
새 증강 AugmentData 풀, AugmentManager.ApplyEffect, 기존 패턴
새 디버프 Day/Night 사이클, AugmentManager 디버프 흐름
UI 추가 GameSetupEditor 자동 생성 패턴, 앵커/레이아웃 규칙
새 Manager 기존 Manager 패턴, GameManager 연결, Pause/Resume 처리

Plan 모드가 특히 유용한 경우

  1. GameSetupEditor 수정 전 — 자동 생성 코드가 복잡해서 먼저 구조 파악 필수
  2. 여러 Manager가 연결된 기능 — 의존성 먼저 파악
  3. ScriptableObject 변경 — 기존 에셋 호환성 확인
  4. [SerializeField] 관련 — 이 프로젝트의 직렬화 버그 패턴 사전 체크

권장 습관

  • 새 기능 → 항상 Plan 먼저
  • 버그 수정 → 재현 가능하면 바로 구현, 복잡하면 Plan
  • 리팩터링 → 반드시 Plan 먼저

 

 

권한을 주는 방법

작업 중 수시로 승인을 누르기가 번거롭다면 claude에게 권한을 부여할 수 있습니다.

 

- 모든 권한을 부여하는 명령어: --dangerously-skip-permissions

 

- 특정 권한을 부여하는 방법: claude에게 대화로 ~기능 권한 부여해 라고하면 내장된 /update-config 스킬을 통해 스스로 권한을 부여합니다.

 

 

작업 중단 및 조정

언제든지 Claude를 중단할 수 있습니다. 잘못된 경로로 가고 있으면 수정 사항을 입력하고 Enter를 누르세요. Claude는 작업을 중지하고 입력을 바탕으로 접근 방식을 조정합니다. 완료될 때까지 기다리거나 다시 시작할 필요가 없습니다.

 

 

확장

개요

더보기
  • CLAUDE.md는 Claude가 모든 세션에서 참고하는 지침서
  • Skills는 재사용 가능한 지식과 호출 가능한 워크플로우( / 명령어 )를 추가합니다.
  • MCP는 Claude를 외부 서비스 및 도구에 연결합니다. ex) Notion, Slack, Unity 등
  • Subagents는 별도의 context를 갖는 agent가 자신의 루프를 실행하고 요약을 반환합니다.
  • Agent teams는 Sub여러 agent를 관리하는 룰을 가진 agent가 존재하고 각 agent간 소통이 가능해집니다.
  • Hooks 특정 순간(작업 전 후 등)에 실행할 Hook(사용자 지정 코드)을 설정할 수 있음.
  • Plugins  marketplaces는 이러한 기능을 패키징하고 배포합니다.

 

 


기본적으로 위 확장들은 해당 프로젝트에 귀속됩니다.

  • Skills 위치: your-project/.claude/skills/
  • Hooks 위치: your-project/.claude/hooks/
  • 기타 설정: your-project/.claude/config.json (프로젝트별 개별 설정)

subagent 여러 개와 Agent teams의 차이점은 각 agent의 소통 가능 여부와 비용입니다.

 

subagent는 각 agent의 결과물을 모아서 하나의 결과물을 만들기 때문에 agent간 소통이 없습니다.

 

Agent teams는 agent간 소통이 이루어지기 때문에 성능이 좋고, 오류 발생을 예방할 수 있습니다.

 

단, teams의 비용은 같은 수의 subagents + a  입니다.

 

 

skills

: /로 사용할 수 있는 단축키를 만드는 기능입니다.

 

추가설명

더보기

: skills는 가장 유연한 확장입니다. Skill은 지식, 워크플로우 또는 지침을 포함하는 마크다운 파일입니다.

/deploy 처럼 명령어로 만들어 두고 호출 할 수 있고, Claude가 관련이 있을 때 자동로드 할 수 도 있습니다.

subagent도 skill을 사용할 수 있습니다.

 

claude에게 skills 사용 권한 제어

disable-model-invocation: true 를 통해 claude가 자율적으로 skill을 사용하는 권한을 끕니다.

 

추가하는 방법

1. skill-creator 플러그인 설치

/plugin > skill 검색 > skill-create 설치

 

2. claude에게 대화로 원하는 스킬 제작을 요청.

~하는 skill을 만들어줘라고 하면 자동으로 skill-creator를 사용해서 만들어줄겁니다.

 

내용이 궁금하다면 저장 경로를 claude에게 물어봐서 확인해보세요.

 

ex)

더보기

(1) 현재 브랜치에서 변경점을 commit, push하고 main에 pull request를 보내는 skill을 만들어줘.

 

commit을 할 때 제목과 설명을 작성해.

제목은 전체 내용을 포함하지만 간단하게 작성하고

설명은 최대 50자 이내로 작성해

내용이 단순하다면 설명은 생략할 수 있어

 

 

(2) 작업 시작 전 orgin에서 main과 현재 작업브랜치의 변경사항을 pull하는 skill을 만들어줘.

 

두 브랜치에서 pull을 실행하고 원래 작업하던 브랜치로 checkout해야해.

변경점이 있다면 요약해서 한글로 알려줘야해.

 

사용 방법

- /OOO 로 생성한 명령어를 사용합니다.

- claude가 자동으로 사용하기도 합니다.

 

 


Hooks

: 특정 상황에서 발동하는 자동화 시스템

 

추가 방법

: 대화로 ~할 때마다 ~ 하는 개인용 Hook을 만들어줘

ex) claude code가 plan이나 작업을 완료하면 내 Android 휴대폰으로 알림을 보내는 Hook을 만들어줘

 

이렇게 요청하니까 ntfy 앱을 통해 알림을 받는 방법을 제안하더군요.

 

사용방법: 자동

 

 

 

 

SubAgents

: 사람이 직접 작업중인 claude가 main agent라면 subagent는 그 main agent에게서 임무를 받아 수행하는 agent입니다.

작업을 병렬로 처리하기 위해 사용하고, 독립된 context를 갖기 때문에 main의 context를 오염시키지 않고 subagent에게서 받은 결과물을 종합하여 더 나은 성능의 결과를 만들 수 있습니다. 이렇게 만든 subagent는 재사용이 가능합니다.

 

비유하자면 main agent는 관리자/ subagent는 직원입니다.

 

subagents는 sonnet이나 haiku 모델 사용을 추천합니다.

 

활용: 코드 리뷰 에이전트 / 탐색 에이전트 등

 

 

추가하는 방법

1. /agents 입력 + Create new agent  엔터

 

2. 팀 or 개인용 agent 선택 

더보기

: agent의 사용 범위 저장 위치에 따라 구분됩니다.

 

ex) 개인용

C:/User/.claude/agents/

 

ex) 프로젝트용

Project_Name/.claude/agents/

 

3. agent의 룰 설정

: 상세하게 어떤 agent를 만들 것인지 적습니다.

 

4. 이 agent가 사용할 수 있는 Tool 지정

 

5. 이 agent의 model 설정

: *Sonnet 이나 Haiku 추천

 

6. 색상 선택

: 여러 서브에이전트를 구분하기 위한 색

 

7. agent-memory 권한 부여

: Enable

 

 

사용 방법

- claude와 대화하며 OOO 에이전트를 사용해서 OOO 작업을 해줘.

- plan.md의 작업을 sub agent를 사용해 병렬로 수행해줘.

- 단순 main agent의 context를 더럽히지 않기 위해서 사용하기도 함.

 

 

Agent teams

:지휘자(Orchestrator)와 여러 agent가 팀으로서 작업함.

 

Ctrl + T : 진행중인 작업 확인

Shift + ↓: 다른 agent의 세션 확인

 

추가 설명

더보기

Teams와 Subagent와 차이점

Subagent: main(사용자 세션) agent가 subagent에 작업을 분해함. subagent끼리는 소통이 불가능함.

Agent Teams: subagent 중 하나가 leader가 되어 leader가 다른 sub에게 작업을 분배하고, 모든 agent가 소통가능함.

 

Split Pane (T-Mux): T-Mux를 사용하면 화면을 분할하여 여러 에이전트가 일하는 모습을 실시간으로 모니터링할 수 있습니다. 큰 모니터를 사용 중이라면 이 모드를 강력 추천합니다

 

In-Process 모드: 단일 터미널에서 리스트 형태로 에이전트를 관리하는 기본 모드입니다. Ctrl + T를 눌러 현재 진행 중인 작업 목록(Task List)을 확인할 수 있습니다

 

자동 종료: 에이전트가 일정 시간 유휴 상태(Idle)가 되면 자동으로 종료되어 자원을 아낍니다. 수동으로 끄고 싶다면 리더 에이전트에게 "정리해줘(clean up)"라고 시키는 것이 안전합니다.

 

3~5명의 팀원이 적당: 팀원이 너무 많으면 토큰 소모량이 급격히 늘어납니다. 보통 3명 정도가 가장 효율적입니다

 

파일 충돌 방지: 여러 에이전트가 동일한 파일을 동시에 수정하지 않도록 작업을 분리해 할당해야 합니다

 

컨텍스트 주입: 서브 에이전트는 리더의 대화 기록을 자동으로 가져오지 않습니다. "지금까지 파악한 코드 포인터들을 각 작업의 상세 내용에 포함시켜줘"라고 리더에게 시켜야 팀원들이 정확한 맥락을 파악합니다.

 

  Unity 특이사항  

: 병렬 작업 시 Unity는 .meta 파일, Scene (.unity), Prefab (.prefab) 이 특히 충돌 위험:
  - Scene 파일: 한 번에 한 인스턴스만 편집
  - Script 파일: 여러 인스턴스가 서로 다른 스크립트 편집은 안전
  - ScriptableObject: 한 인스턴스만 수정

 

Unity 개발은 기존 코드나 여러 시스템이 얽힌 작업이 많기 때문에 Agent teams를 활용하기 부적합한 경우가 많다.

: 의존성 문제 때문에 Orchestrator가 인터페이스/API를 만들어야하는 상황이 불리함.

 

 

사용 방법

1) setting.json에 아래 코드 추가

 {
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  }
 }

 

2) N명의 팀원을 만들어서 OO, OO, OO 작업을 수행해.

 

 

 

 

 

고급 팁

 

멀티 인스턴스 운영

: 터미널 창을 여러 개 띄워놓고 각각 다른 작업을 시키기

ex) frontend / backend / DB / test 작업을 각각 다른 인스턴스에서 동시에 수행함.

 

- 훨씬 빠른 작업 + 더 많은 토큰 사용

- Git Worktree를 이용해 충돌을 방지

 

  Unity 특이사항
  : 병렬 작업 시 Unity는 .meta 파일, Scene (.unity), Prefab (.prefab) 이 특히 충돌 위험:
  - Scene 파일: 한 번에 한 인스턴스만 편집
  - Script 파일: 여러 인스턴스가 서로 다른 스크립트 편집은 안전
  - ScriptableObject: 한 인스턴스만 수정

 

 

 

음성 입력

: /voice로 음성 입력 가능, space를 누르고 있는 동안 녹음 > 때면 녹음 종료

/config에서 언어 korean으로 변경 가능 

 

 

 

커스텀 MCP 제작

: 외부 API와 연결하는 MCP를 제작합니다.

 

제작 방법

1) Plan 모드에서 원하는 mcp의 기능을 설명합니다.

 

2) claude가 mcp서버를 구축합니다.

 

3) 외부 api와 연결합니다

 

4) 테스트

 

 

 

 

'Claude Code' 카테고리의 다른 글

claude 토큰 관리  (0) 2026.04.05
tmux 자주 쓰는 단축키  (0) 2026.03.23