Claude Code 45가지 팁 총정리 — 초급부터 고급까지 핵심만

Claude Code를 쓰다 보면 ‘이걸 진작 알았으면’ 하는 순간이 생긴다. ykdojo가 GitHub에 공개한 45개 팁에서 좋은 팁들을 알아보자.


기초 설정 (Basic Setup)

① 상태줄 커스터마이징 (Tip 0) 처음 설정하고 나면 다시 끄기 싫어진다. 하단에 현재 모델명, git 브랜치, 미커밋 파일 수, 토큰 잔량 바가 떠있으면 작업 중 상황 파악이 훨씬 빠르다.

# 설정 스크립트 한 번에 적용 (아래 Tip 45 스크립트로 자동 포함)
bash <(curl -s https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/scripts/setup.sh)

직접 설정하려면 scripts/README.md를 참고.

② 필수 슬래시 명령어 (Tip 1) 이것만 외워도 절반은 한다. 처음엔 다 알 필요 없고 /usage/compact 두 개부터 시작하면 된다.

명령어 기능
/usage 토큰·요청 한도 시각적 확인
/compact 컨텍스트 요약 압축
/clear 대화 초기화
/mcp MCP 서버 관리
/stats 사용 통계 그래프

③ 터미널 별칭 설정 (Tip 7) 별거 아닌 것 같아도 하루에 수십 번 치는 명령어를 한 글자로 줄이면 체감이 꽤 다르다.

alias c='claude'          # Claude Code 실행
alias ch='claude --chrome' # 브라우저 연동 모드
alias co='code .'         # VS Code 열기

컨텍스트 관리 (Context Management)

④ 컨텍스트는 신선할수록 좋다 (Tip 5) 대화가 길어지면 Claude도 지친다. 새 주제를 꺼낼 때는 새 대화를 열자. 원문 표현이 딱 맞다 — “컨텍스트는 우유와 같다, 신선하고 압축될수록 좋다.”

/compact로 선제 압축 (Tip 8) Claude가 알아서 압축하기를 기다리지 말고 먼저 /compact를 치자. /handoff로 지금까지 한 일을 요약해두면 새 대화에서도 맥락 없이 이어서 작업할 수 있다.

⑥ 대화 포크 및 반클론 (Tip 23) 작업이 두 갈래로 나뉠 것 같으면 /fork로 대화를 분기해두면 된다. 컨텍스트가 85%를 넘으면 자동으로 /half-clone이 실행되도록 훅을 걸어두는 방법도 있다.


생산성 극대화 (Productivity)

⑦ 음성 입력 활용 (Tip 2) 말이 손보다 빠를 때가 많다. SuperWhisper나 MacWhisper 같은 로컬 전사 도구를 연결하면 긴 지시도 말로 쭉 뱉으면 된다. 이어폰으로 쓰면 카페에서도 조용히 쓸 수 있다.

⑧ 터미널 탭으로 멀티태스킹 (Tip 14) 한 탭에서 Claude가 처리하는 동안 다른 탭에서 다음 작업을 넘겨주는 식으로 쓰면 된다. 3~4개 탭을 오른쪽에서 새로 열고 왼쪽부터 순서대로 확인하는 캐스케이드 방식이 잘 맞는다.

⑨ 백그라운드 실행 (Tip 36) 빌드나 CI처럼 오래 걸리는 작업은 Ctrl+B로 백그라운드로 보내두고 다른 일을 하면 된다. 서브에이전트 여러 개를 동시에 띄워 코드베이스를 병렬로 분석하는 것도 가능하다.


코드 품질 관리 (Code Quality)

⑩ 큰 문제는 잘게 쪼개라 (Tip 3) 복잡한 작업을 한 번에 던지면 Claude도 헤맨다. 그냥 "이걸 작은 문제 여러 개로 쪼개줘"라고 말하는 것만으로도 결과가 달라진다.

⑪ 테스트 작성과 TDD (Tip 34) Claude에게 테스트도 같이 짜게 하면 코드 품질이 올라간다. TDD로 접근하면 더 좋다 — 실패 테스트 먼저 작성하고 커밋, 그다음에 코드 구현. 단, Claude가 테스트를 항상 true를 반환하는 식으로 눈속임하는 경우가 있으니 확인은 필수다.

⑫ 코드가 복잡해졌다면 단순화 요청 (Tip 40) Claude는 시키지도 않은 걸 건드리거나 코드를 괜히 복잡하게 만드는 버릇이 있다. “이 코드 단순화해줘”, "이 줄 왜 이렇게 했어?"라고 물어보면 된다. 줄 하나하나 이해하면서 가면 오히려 코드를 더 빨리 파악하게 된다.


고급 활용 (Advanced Techniques)

⑬ 시스템 프롬프트 토큰 절감 (Tip 15) Claude Code는 기본적으로 매 대화마다 약 19k 토큰짜리 시스템 프롬프트를 쓴다. 패치를 적용하면 9k까지 줄일 수 있다. 절반이다. ~/.claude/settings.json에서 자동 업데이트도 꺼야 패치가 유지된다.

// ~/.claude/settings.json 에 추가
{
  "env": {
    "DISABLE_AUTOUPDATER": "1",
    "ENABLE_TOOL_SEARCH": "true"
  }
}

ENABLE_TOOL_SEARCH는 MCP 도구를 필요할 때만 로드하는 옵션. 둘 다 켜두는 게 좋다.

⑭ Git Worktrees로 병렬 브랜치 작업 (Tip 16) 브랜치를 왔다갔다하면서 작업하는 게 번거롭다면 git worktrees를 써보자. 브랜치마다 별도 디렉터리를 두고 동시에 작업할 수 있다. 터미널 탭 멀티태스킹과 합치면 꽤 강력하다.

# feature 브랜치를 ../my-feature 디렉터리에 따로 열기
git worktree add ../my-feature feature-branch

# 또는 Claude에게 직접 맡겨도 됨
# "git worktree로 feature-branch 새 디렉터리에 열어줘"

⑮ 위험한 작업은 컨테이너에서 (Tip 21) --dangerously-skip-permissions는 컨테이너 안에서만 쓰는 게 맞다. 매번 승인 없이 Claude가 알아서 처리하게 하고 싶을 때 컨테이너를 샌드박스로 쓰면 된다. 로컬 Claude가 원격 컨테이너 안의 Claude를 tmux로 조종하는 구조도 가능하다.

# Docker 컨테이너 안에서 Claude 실행
docker run -it --rm \
  -v $(pwd):/workspace \
  -w /workspace \
  node:20 bash -c "npm install -g @anthropic-ai/claude-code && claude --dangerously-skip-permissions"

CLAUDE.md와 워크플로우 (Configuration)

⑯ CLAUDE.md는 단순하게 유지 (Tip 30) 처음에는 그냥 비워두는 게 맞다. 같은 말을 Claude에게 두 번 이상 하게 되는 순간이 생기면 그때 추가하면 된다. 주기적으로 훑어보면서 더 이상 맞지 않는 내용은 지워야 한다.

⑰ Gemini CLI를 보조로 활용 (Tip 11) Claude가 못 들어가는 사이트가 있으면 Gemini CLI를 대신 쓰게 하면 된다. 스킬로 등록해두면 Claude가 상황 보고 알아서 Gemini로 넘긴다.

# Gemini CLI 설치 (npm)
npm install -g @google/gemini-cli

# dx 플러그인의 reddit-fetch 스킬이 이 방식을 자동으로 처리

⑱ GitHub CLI로 PR 자동화 (Tip 4) git 작업은 Claude한테 넘겨도 된다. gh CLI로 드래프트 PR을 먼저 만들고 직접 검토한 다음 최종 올리는 흐름이 안전하다.


보안 및 안전 (Security)

⑲ 승인된 명령어 주기적 감사 (Tip 33) Claude에게 한 번 승인해준 명령어들을 그냥 두는 경우가 많다. cc-safe를 돌리면 sudo, rm -rf처럼 위험한 명령어가 등록돼 있는지 바로 확인할 수 있다.

npx cc-safe  # 설치 없이 바로 실행

추천 플러그인 및 설정 스크립트 (Recommended Setup)

⑳ dx 플러그인 설치 (Tip 44) 앞에서 계속 언급된 기능들이 여기 다 들어있다. 설치해두면 /dx:gha로 CI 실패 원인을 바로 찾고, /dx:handoff로 대화 인수인계 문서를 자동으로 만들 수 있다.

claude plugin install dx@ykdojo
명령어 기능
/dx:gha GitHub Actions 실패 자동 분석
/dx:handoff 컨텍스트 인수인계 문서 생성
/dx:clone 대화 분기
/dx:half-clone 컨텍스트 절반 축소
/dx:reddit-fetch Reddit 콘텐츠 수집
/dx:review-claudemd CLAUDE.md 개선 제안

㉑ 원클릭 전체 설정 스크립트 (Tip 45) 지금까지 언급한 설정들을 스크립트 하나로 한 번에 처리할 수 있다. 각 항목을 골라서 적용할 수 있으니 필요한 것만 설치하면 된다.

bash <(curl -s https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/scripts/setup.sh)

dx 플러그인, cc-safe, 상태줄, 자동 업데이트 비활성화, MCP 지연 로딩, 셸 별칭이 순서대로 물어보면서 설치된다.


핵심 철학 (Key Philosophy)

“Claude Code를 잘 쓰는 가장 좋은 방법은, 직접 많이 쓰는 것이다.” (Tip 22)

결국 이 45개 팁도 많이 써보면서 나온 것들이다. 처음부터 다 적용하려 하지 말고, 지금 당장 불편한 것 하나씩 해결하는 식으로 쌓아가면 된다.

  • 복잡한 문제는 쪼개서 단계적으로 (Tip 3)
  • 컨텍스트는 짧고 신선하게 (Tip 5)
  • 반복하는 작업은 자동화 (Tip 41)
  • 깊이 파고들 때와 가볍게 쓸 때를 구분 (Tip 32)
  • Claude Code는 코딩 도구가 아니라 디지털 작업 전반의 범용 인터페이스 (Tip 31)

원본: https://github.com/ykdojo/claude-code-tips (45 Claude Code Tips: From Basics to Advanced)

PDF·PPT·Excel을 Markdown으로 바꾸는 무료 오픈소스 MarkItDown 사용법

Microsoft AutoGen 팀이 만든 오픈소스 Python 라이브러리다. PDF, Word, Excel, PowerPoint, 이미지, 오디오, YouTube URL까지 거의 모든 파일 형식을 Markdown으로 변환해준다. LLM은 Markdown을 가장 잘 이해하기 때문에, RAG 파이프라인이나 AI 분석 전처리 단계에서 바로 쓸 수 있다.


주요 특징 (Key Features)

① 압도적으로 다양한 지원 형식

분류 지원 형식
문서 PDF, Word(.docx), PowerPoint(.pptx), Excel(.xlsx/.xls)
미디어 이미지(EXIF + OCR), 오디오(음성 전사)
HTML, YouTube URL(자막 추출)
텍스트 기반 CSV, JSON, XML
기타 ZIP, EPUB, Outlook 메시지

② 무료 오픈소스 (Microsoft 개발) Apache 2.0 라이선스. 상업적 사용 가능. Microsoft AutoGen 팀이 직접 관리.

③ CLI와 Python API 모두 지원 터미널 명령어 한 줄로도 실행 가능하고, Python 코드에 import해서 자동화 파이프라인으로도 활용 가능.

④ LLM 연동 기본 내장 GPT-4o 같은 비전 모델을 연결하면 이미지 속 텍스트까지 설명해서 Markdown으로 추출.

⑤ 필요한 형식만 골라 설치 가능 PDF만 쓴다면 PDF 의존성만, Excel만 쓴다면 Excel 의존성만 설치. 전체 설치보다 가볍게 활용 가능.


설치 (Installation) — 터미널에서 한 번만

> ⚠️ Python 3.10 이상 필요. python --version으로 먼저 확인하자.

전체 설치 (추천 — 모든 형식 지원)

pip install 'markitdown[all]'

형식별 선택 설치 (가볍게 쓰고 싶을 때)

# PDF만
pip install 'markitdown[pdf]'

# Word + PowerPoint + Excel
pip install 'markitdown[docx, pptx, xlsx]'

선택 가능한 옵션 전체 목록:

옵션 설명
[pdf] PDF 변환
[docx] Word 문서
[pptx] PowerPoint
[xlsx] Excel
[xls] 구형 Excel
[outlook] Outlook 이메일
[audio-transcription] 오디오 음성 전사
[youtube-transcription] YouTube 자막 추출
[az-doc-intel] Azure Document Intelligence 연동
[all] 위 전체 포함

사용 (Usage)

CLI — 터미널에서 바로 실행

> 💡 초보자 가이드: 별도 코드 파일 없이 터미널(Windows는 PowerShell 또는 CMD, Mac은 Terminal)에서 명령어만 입력하면 바로 실행된다. VS Code의 내부 터미널(Ctrl + `)을 써도 된다.

# 기본 변환 (결과를 터미널에 출력)
markitdown 파일.pdf

# 결과를 md 파일로 저장
markitdown 파일.pdf -o 결과.md

# 파이프로 연결해서 사용
cat 파일.pdf | markitdown

Python API

> 💡 초보자 가이드: VS Code 또는 Positron을 설치하고, 새 파일을 .ipynb 확장자로 만들면 Jupyter Notebook 환경이 열린다. 셀에 아래 코드를 붙여넣고 Shift + Enter로 실행하면 된다. pip 설치도 VS Code 내부 터미널(Ctrl + `)에서 그대로 실행 가능하다.

기본 사용

from markitdown import MarkItDown

md = MarkItDown()
result = md.convert("파일.pdf")
print(result.text_content)   # 변환된 Markdown 출력

여러 파일 일괄 변환

from markitdown import MarkItDown

md = MarkItDown()
for 파일 in ["문서1.pdf", "발표.pptx", "데이터.xlsx"]:
    result = md.convert(파일)
    with open(파일 + ".md", "w", encoding="utf-8") as f:
        f.write(result.text_content)

LLM 연동 — 이미지 속 텍스트까지 추출

이미지 파일을 변환할 때 GPT-4o 같은 비전 모델을 연결하면, 이미지 안의 내용을 AI가 설명해서 Markdown으로 뽑아준다.

from markitdown import MarkItDown
from openai import OpenAI

client = OpenAI()
md = MarkItDown(
    llm_client=client,
    llm_model="gpt-4o"
)
result = md.convert("이미지.jpg")
print(result.text_content)

Docker — 환경 설치 없이 실행

Python 환경 구성이 어렵다면 Docker로 바로 실행할 수 있다.

docker build -t markitdown:latest .
docker run --rm -i markitdown:latest  결과.md

유의할 점 (Things to Watch Out For)

1. Python 3.10 미만은 동작하지 않는다 설치 전 반드시 버전 확인. python --version으로 체크하자.

2. v0.1.0부터 설치 방식이 바뀌었다 이전 버전(pip install markitdown)으로 설치했다면 의존성이 빠져 있을 수 있다. pip install 'markitdown[all]'로 재설치하자.

3. convert_stream()은 반드시 바이너리로 열어야 한다 open("파일.pdf", "r")이 아니라 open("파일.pdf", "rb")처럼 바이너리 모드로 열어야 한다.

# 잘못된 방법
with open("파일.pdf", "r") as f:
    result = md.convert_stream(f)   # 오류 발생

# 올바른 방법
with open("파일.pdf", "rb") as f:
    result = md.convert_stream(f)

4. LLM 이미지 설명은 API 비용이 발생한다 llm_client를 연결하면 GPT-4o API를 호출하므로 OpenAI 과금이 생긴다. 이미지가 많은 PDF는 비용에 주의하자.

5. OCR은 기본 포함이 아니다 스캔 PDF나 이미지 내 텍스트 추출이 필요하다면 별도 플러그인 설치가 필요하다.

pip install markitdown-ocr

정리 (Summary)

항목 내용
개발사 Microsoft (AutoGen 팀)
라이선스 Apache 2.0 (상업적 사용 가능)
지원 언어 Python 3.10+
지원 형식 PDF, Word, PPT, Excel, 이미지, 오디오, YouTube, HTML 등
주요 출력 Markdown
강점 형식 다양성, CLI 지원, LLM 연동, 선택적 설치
주의 Python 3.10+, 바이너리 모드 필수, LLM 연동 시 API 비용

PDF 하나만 변환하는 게 아니라 여러 형식의 파일을 LLM에 넣어야 하는 상황이라면 MarkItDown이 가장 편한 선택이다. CLI로 바로 쓸 수 있어서 코딩을 몰라도 터미널만 열면 시작할 수 있다.

GitHub: https://github.com/microsoft/markitdown

PDF 파싱 오픈소스 끝판왕 — OpenDataLoader PDF로 PDF를 Markdown·JSON 변환하는 법

AI 서비스를 만들거나 RAG 파이프라인을 구축할 때 PDF 처리를 마크다운으로할 수 있는 방법이다. OpenDataLoader PDF는 이 문제를 오픈소스로 해결한 라이브러리다.


이게 왜 좋은가 (Why It’s Worth Using)

① 벤치마크 1위 200개 실제 PDF 대상 테스트에서 전체 정확도 0.90으로 1위를 기록했다. 특히 표 추출 정확도는 0.93으로, Docling(0.89) 등 경쟁 도구보다 높다.

② GPU 없이 로컬 실행 가능 기본 모드는 로컬에서 페이지당 0.05초로 동작한다. 복잡한 페이지만 AI 백엔드로 라우팅하는 하이브리드 모드도 지원한다. 비용 없이 시작할 수 있다.

③ AI에 바로 넣을 수 있는 출력

  • Markdown — LLM 컨텍스트, RAG 청킹용
  • JSON — 요소마다 바운딩 박스 + 의미 유형 포함
  • HTML — 웹 표시용
  • LangChain 통합도 기본 지원

④ 80개 이상 언어 OCR + 수식 인식 스캔 PDF도 처리하고, LaTeX 수식 변환, 워터마크 필터링, 프롬프트 인젝션 공격 차단 필터도 내장되어 있다.

⑤ Apache 2.0 라이선스 상업적 사용 가능. Python, Node.js, Java 모두 지원한다.


설치 및 기본 사용법 (Installation & Basic Usage)

설치 (Install) — 터미널에서 한 번만

언어 명령어 패키지
Python pip install opendataloader-pdf PyPI
Node.js npm install @opendataloader/pdf npm
Java Maven Central 의존성 추가 (아래 참고) Maven Central

Java — Java 11 이상 필요

<dependency>
  <groupId>org.opendataloader</groupId>
  <artifactId>opendataloader-pdf-core</artifactId>
  <version>최신버전 확인 후 입력</version>
</dependency>

사용 (Usage) — 코드에서 import 후 호출

Python

💡 초보자 가이드: 코딩 환경이 없다면 VS Code 또는 Positron을 설치하자. 설치 후 새 파일을 만들 때 확장자를 .ipynb로 지정하면 Jupyter Notebook 환경이 열린다. 셀 단위로 코드를 작성하고 Shift + Enter로 실행하면 된다. 터미널에서의 pip 설치도 VS Code / Positron 내부 터미널(Ctrl + `` “`)에서 그대로 실행 가능하다.

from opendataloader_pdf import convert

result = convert("파일.pdf")
print(result.markdown)   # Markdown 출력
print(result.json)       # JSON 출력 (바운딩 박스 포함)

Node.js

💡 초보자 가이드: Node.js가 없다면 nodejs.org에서 LTS 버전을 설치한다. 이후 VS Code에서 작업 폴더를 열고, 내부 터미널에서 npm install로 패키지를 설치한다. 코드는 .ts 또는 .js 파일을 만들어 붙여넣은 뒤 터미널에서 node 파일명.js로 실행하면 된다. TypeScript(.ts)를 쓴다면 ts-node 패키지도 함께 설치해야 한다(npm install -g ts-node).

import { convert } from '@opendataloader/pdf';

await convert(['file1.pdf', 'folder/'], {
  outputDir: 'output/',
  format: 'markdown,json'
});

유의할 점 (Things to Watch Out For)

1. PDF 전용 Word, Excel, PowerPoint는 지원하지 않는다. PDF로 변환 후 사용해야 한다.

2. 호출마다 JVM 프로세스가 생성 convert()를 파일 하나씩 반복 호출하면 느려진다. 배치로 묶어서 처리하는 것이 좋다.

3. 하이브리드 모드는 인터넷 연결 필요 로컬 모드만 쓰면 완전 오프라인 가능하지만, 정확도는 하이브리드 대비 낮다. 민감한 문서는 로컬 모드를 선택하자.

4. 접근성(Tagged PDF) 자동 생성은 아직 PDF/UA 변환은 엔터프라이즈 옵션이고, 완전 오픈소스 자동 태깅은 2026년 Q2 예정이다.


정리 (Summary)

항목 내용
라이선스 Apache 2.0 (상업적 사용 가능)
지원 언어 Python, Node.js, Java
주요 출력 Markdown, JSON, HTML
강점 표 추출 정확도, 로컬 실행, 바운딩 박스
주의 PDF 전용, 배치 처리 권장, 하이브리드 모드는 유료 API 사용

PDF를 LLM에 넣어야 하는 상황이라면 일단 써볼 만한 도구다. 로컬 무료 모드만으로도 충분한 수준의 추출 품질이 나온다.

GitHub: https://github.com/opendataloader-project/opendataloader-pdf