개인의 기록
  • 소개
  • 프로젝트
  • 글
  • 링크

© 2026 newgirok

← 글 목록

Claude Code 완전 가이드 — 해커톤 우승자의 74가지 팁

2026년 6월 23일
Claude CodeAI생산성MCP에이전트

Anthropic 해커톤 우승자 ykdojo는 Claude Code로 생산성을 200%까지 끌어올렸다. 시스템 프롬프트를 19k 토큰에서 10k 이하로 줄이고, 자신만의 음성 코딩 시스템을 구축했으며, 컨테이너 기반 멀티 에이전트 오케스트레이션까지 구현했다.

Anthropic DevRel Ado Kukic은 2025년 12월 한 달 동안 매일 하나씩 Claude Code 팁을 공개하는 "Advent of Claude" 챌린지를 진행했다.

이 글은 두 사람의 작업물을 정리한 54페이지 PDF를 기반으로, ykdojo의 43가지 팁과 Ado의 31가지 팁, 총 74가지를 한 곳에 담았다.

Part 1. 에이전틱 개발자의 사고방식

팁 1. 큰 문제를 잘게 쪼개라 — 분해하고 정복하라 (ykdojo)

"로그인 페이지를 만들어줘"는 나쁜 프롬프트다. AI에게 너무 많은 결정권을 주어 원하지 않는 방향으로 갈 가능성이 높다.

에이전틱 개발자의 접근은 다르다.

  1. "사용자 모델 DB 스키마를 설계해줘. 필드는 username, email, password_hash, created_at, updated_at."
  2. "이 스키마로 Drizzle ORM 마이그레이션 파일을 생성해줘."
  3. "React와 TailwindCSS로 로그인 폼 UI 컴포넌트를 만들어줘. 이메일과 비밀번호 입력 필드, '로그인' 버튼."
  4. "/api/auth/login으로 POST 요청을 보내는 로직을 작성해줘."
  5. "로그인 실패 시나리오에 대한 테스트 코드를 작성해줘."

단계적 경로가 직접 경로보다 성공 확률이 높다. 각 단계에서 검증하고, 문제가 있으면 그 단계만 수정하면 된다.

팁 2. 계획 모드를 기본으로 사용하라 (Ado)

Shift+Tab을 두 번 누르면 Plan 모드로 진입한다. 이 모드에서 Claude는 코드베이스를 읽고 분석하며 구현 계획을 단계별로 작성하지만, 승인하기 전까지 아무것도 편집하지 않는다.

계획 모드를 써야 할 때:

  • 처음 해보는 복잡한 작업
  • 여러 파일에 걸친 대규모 리팩토링
  • 아키텍처 변경이 필요한 작업
  • 실수 시 복구 비용이 큰 작업 (DB 마이그레이션 등)

Ado의 말: "저는 90%의 시간 동안 계획 모드를 기본으로 사용합니다. 최신 버전에서는 계획을 거부할 때 피드백을 제공할 수 있어, 반복 작업이 더 빠릅니다."

팁 3. YOLO 모드는 컨테이너 안에서만 (Ado)

claude --dangerously-skip-permissions

이 플래그는 모든 작업에 자동으로 "예"라고 답한다. 이름에 "dangerously"가 들어간 이유가 있다.

YOLO 모드를 써도 되는 때: 컨테이너 안에서 실험할 때, 간단하고 명확한 반복 작업, 장시간 자율 작업이 필요할 때.

절대 쓰면 안 되는 때: 호스트 시스템에서 직접 실행, 중요한 데이터가 있는 디렉토리, 프로덕션 환경.

ykdojo는 이를 "보호되지 않은 성관계"에 비유하며 반드시 컨테이너 안에서 사용하라고 강조한다.

팁 4. 하나의 대화에서 하나의 목표만 (ykdojo)

하나의 대화(터미널 세션)에서는 하나의 명확한 목표에만 집중하라. 로그인 기능을 구현하다가 "아, 그리고 대시보드 UI도 개선해줘"라고 하면 컨텍스트가 오염된다.

여러 주제를 한 대화에서 섞으면 AI 성능이 39%까지 저하될 수 있다. 새로운 터미널 탭을 열어 별도의 대화를 시작하라.

컨텍스트 드리프트(Context Drift): 대화가 길어질수록 초기의 중요한 지시사항이 후순위로 밀려 AI가 이를 무시하거나 잊어버리는 현상.

팁 5. 컨텍스트는 우유와 같다 — 자동 압축도 끄자 (ykdojo)

ykdojo의 비유다. 오래된 우유는 상하듯, 오래된 컨텍스트는 AI 성능을 저하시킨다. Claude Code는 최대 200,000 토큰의 컨텍스트 윈도우를 가지고 있지만 무한하지 않다.

자동 압축을 끄는 것도 권장한다. Claude Code는 컨텍스트가 가득 차면 자동으로 압축하는데, /config를 통해 비활성화할 수 있다. 자동 압축은 45k 토큰을 예약해 실제 사용 가능한 컨텍스트가 줄어든다. 대신 HANDOFF.md 방식(팁 31)으로 수동 관리하면 더 명확하게 제어할 수 있다.

팁 6. /context로 컨텍스트 X-Ray (Ado)

/context 명령어는 컨텍스트 윈도우의 X-Ray다. 무엇이 공간을 차지하는지 정확히 보여준다.

Context Usage: 87,432 / 200,000 tokens (43.7%)
Breakdown:
- System Prompt: 10,234 tokens (11.7%)
- MCP Servers: 15,678 tokens (18.0%)
  - supabase-mcp: 8,234 tokens
  - playwright-mcp: 4,123 tokens
  - firecrawl-mcp: 3,321 tokens
- Memory Files (CLAUDE.md): 2,345 tokens (2.7%)
- Conversation History: 57,941 tokens (66.3%)

이 정보를 바탕으로 불필요한 MCP를 비활성화하거나 CLAUDE.md를 간소화할 수 있다. Ado의 권장 기준: 10개 미만의 MCP, 80개 미만의 활성 도구.

팁 7. 올바른 추상화 수준을 선택하라 (ykdojo)

때로는 멀리서 전체를 조망하고(Vibe Coding), 때로는 깊이 잠수해 세부 사항을 파악해야 한다(Deep Dive).

Vibe Coding — 전체 구조와 흐름만 파악. 일회성 프로젝트, 빠른 실험, 중요하지 않은 코드베이스에 적합.

Deep Dive — 파일 구조, 함수, 개별 코드 라인까지 검토. 프로덕션 코드, 보안이 중요한 부분, 복잡한 버그 디버깅에 필요.

"Vibe Coding이 나쁘다고 말하는 사람들이 있지만, 때로는 완전히 괜찮습니다. 핵심은 상황에 맞는 추상화 수준을 선택하는 것입니다."

팁 8. 미지의 영역에서 더 용감해져라 (ykdojo)

ykdojo는 React 전문가가 아닌 상태에서 프론트엔드 문제를 Claude Code와 함께 해결했고, Rust를 한 번도 다뤄본 적 없이 Python+Rust 혼합 문제도 풀었다.

반복적 문제 해결의 과정: 초기 시도 → 작동하지 않음 → "천천히 가자. 이 줄이 정확히 무슨 의미인지 설명해줘" → 막다른 골목이면 다른 접근 방식 탐색 → 최종 해결.

"미지의 세계에서도, Claude Code와 함께라면 생각하는 것보다 훨씬 많은 것을 할 수 있습니다."

Part 2. 환경 설정과 필수 명령어

팁 9. 커스텀 상태 라인으로 모든 것을 한눈에 (ykdojo + Ado)

파워 유저들이 가장 먼저 설정하는 것이 커스텀 상태 라인이다.

~/project (main*) | Tokens: 45k/200k | Opus 4.5 | MCP: 3 active

~/.claude/settings.json에서 형식을 정의할 수 있다.

{
  "statusLine": {
    "format": "{{dir}} {{git}} | {{tokens}} | {{model}}",
    "updateInterval": 1000
  }
}

스크립트를 직접 다루기 부담스럽다면 /statusline 명령어를 실행하면 Claude가 사용 가능한 변수들을 보여주고 대화로 설정할 수 있다.

팁 10. 생존 필수 슬래시 명령어 (ykdojo + Ado)

명령어설명사용 시점
/usage현재 토큰 사용량과 리셋 시간매 세션 시작 시
/clear대화 내용 초기화컨텍스트 오염 시
/statsGitHub 스타일 활동 그래프, 사용 패턴주간 회고 시
/context컨텍스트 윈도우 사용 현황성능 저하 느낄 때
/chrome크롬 브라우저 통합 시작브라우저 작업 시
/mcpMCP 서버 목록 및 활성화/비활성화MCP 관리 시
/permissions승인된 명령어 목록 및 관리보안 점검 시
/export대화 내역을 마크다운으로 내보내기문서화 시
/release-notes최신 릴리스 노트 확인업데이트 후

팁 11. ! prefix — 즉시 실행의 마법 (Ado)

! 접두사를 붙이면 Claude의 처리 없이 즉시 셸 명령을 실행하고 결과를 컨텍스트에 주입한다.

# 일반적인 방법 (느림, 토큰 낭비)
> "git status를 실행해줘"
Claude: "네, git status를 실행하겠습니다..."

# ! prefix 방법 (빠름, 효율적)
> !git status
[즉시 결과 표시]

!git diff, !npm test, !docker ps 같은 간단한 상태 확인에 완벽하다.

팁 12. /init — AI가 스스로 온보딩 (Ado)

새 프로젝트에서 /init을 실행하면, Claude가 코드베이스를 분석해서 CLAUDE.md 초안을 자동으로 생성한다.

# Project: E-commerce Platform
## Tech Stack
- **Frontend**: Next.js 14, React 18, TailwindCSS
- **Backend**: Node.js, Express, PostgreSQL
## Coding Standards
- Use TypeScript strict mode
- Prefer server components over client components
## DO NOT
- Never commit `.env` files
- Never use `any` type in TypeScript

팁 13. CLAUDE.md 자연어 업데이트 (Ado)

CLAUDE.md를 직접 편집하지 않고 자연어로 지시해서 업데이트할 수 있다.

> Update Claude.md: always use bun instead of npm

Claude가 CLAUDE.md를 자동으로 수정한다. 설정을 바꿀 때마다 파일을 직접 열 필요가 없다.

팁 14. CLAUDE.md는 간결하게 (ykdojo)

나쁜 CLAUDE.md와 좋은 CLAUDE.md의 차이는 간결함이다.

# 나쁜 예
## Authentication
Our authentication system is built using NextAuth.js, which is a complete 
authentication solution for Next.js applications. It provides a flexible and 
secure way to add authentication...

# 좋은 예
## Authentication
- NextAuth.js with Credentials provider
- JWT session strategy
- **DO NOT**: Bypass auth checks, expose session secrets

"처음에는 CLAUDE.md 없이 시작하세요. 같은 말을 반복하게 되면 그때 추가하세요. 과도한 정보는 컨텍스트를 낭비합니다."

팁 15. 터미널 별칭으로 타이핑 최소화 (ykdojo)

하루에 수십 번 입력하는 명령어라면 별칭을 만들어야 한다.

# ~/.zshrc 또는 ~/.bashrc에 추가
alias c='claude'
alias cc='claude --continue'  # 마지막 대화 이어가기
alias cr='claude --resume'    # 대화 목록에서 선택
alias ch='claude --chrome'    # 크롬 통합 모드

팁 16. Continue Where You Left Off (Ado)

claude --continue
# 또는
c -c

마지막으로 작업하던 대화를 즉시 이어간다. 컴퓨터를 재부팅하거나 다른 작업을 하다가 돌아왔을 때 유용하다.

팁 17. Named Sessions — 세션에 이름 붙이기 (Ado)

대화 중에 /rename 명령어를 사용해서 세션에 의미 있는 이름을 붙일 수 있다.

> /rename auth-system-refactor

이후 이름으로 재개할 수 있다.

claude --resume auth-system-refactor

"'2025-01-15 14:30'보다 'stripe-integration'이 훨씬 기억하기 쉽습니다."

팁 18. Claude Code Remote — 웹 세션을 로컬로 (Ado)

웹 브라우저에서 시작한 Claude Code 세션을 로컬 터미널로 가져올 수 있다.

claude --teleport <session_id>

외출 중 웹에서 작업을 시작했는데 집에 돌아와서 터미널에서 이어가고 싶을 때, 팀원이 웹에서 시작한 세션을 로컬에서 디버깅할 때 유용하다.

팁 19. /export — 대화 내역 내보내기 (Ado)

> /export

현재 대화 내역을 마크다운 파일로 내보낸다. 팀원과 공유, 문서화, 학습 자료, 블로그 포스트 작성에 활용할 수 있다.

Part 3. 생산성을 극대화하는 핵심 기술

팁 20. 음성으로 코딩하기 (ykdojo)

사람은 분당 40단어를 타이핑하지만, 분당 150단어를 말할 수 있다. 3.75배 차이다.

ykdojo가 구축한 커스텀 음성 전사 시스템: 키보드 단축키(Cmd+Shift+Space)를 누르면 녹음 시작 → 다시 누르면 전사 → 현재 커서 위치에 자동 삽입.

도구플랫폼가격
superwhispermacOS$30 일회성
MacWhispermacOS무료/프리미엄
ykdojo's Custom ToolmacOS오픈소스

팁 21. 터미널 출력 추출의 기술 (ykdojo)

Claude가 생성한 긴 출력을 효율적으로 추출하는 방법들이다.

# macOS — 클립보드로 복사
> !claude -r | tail -n 50 | pbcopy

# VS Code로 바로 열기
> "이 코드를 temp.ts 파일로 저장하고 VS Code로 열어줘"

ykdojo의 워크플로우: Claude에게 코드 작성 요청 → GitHub Desktop으로 변경 사항 검토 → 문제가 있으면 특정 파일만 되돌리기 → Claude에게 "이 파일만 다시 수정해줘" 요청.

팁 22. Cmd+A / Ctrl+A — 전체 선택의 힘 (ykdojo)

웹 페이지나 문서의 내용을 빠르게 컨텍스트에 넣고 싶을 때, Cmd+A(macOS) 또는 Ctrl+A(Windows/Linux)로 전체를 선택하고 복사해서 Claude Code에 붙여넣는다. Claude의 브라우저로 접근이 막힌 사이트 내용도 이 방법으로 가져올 수 있다.

팁 23. 마크다운으로 구조화된 요청 (ykdojo)

Claude Code는 마크다운을 완벽하게 지원한다. 복잡한 구조의 정보를 전달할 때 마크다운을 사용하면 Claude가 더 정확하게 이해한다.

다음 API 엔드포인트를 구현해줘:

## POST /api/users
- **Request Body**: { name: string, email: string }
- **Response**: { id: number, name: string, email: string, createdAt: string }
- **Validation**: 
  - name은 2-50자
  - email은 유효한 형식
- **Error Cases**:
  - 400: 유효성 검사 실패
  - 409: 이메일 중복

팁 24. Notion으로 링크 보존 (ykdojo)

Slack이나 다른 곳에서 링크가 포함된 텍스트를 복사해 Claude Code에 직접 붙여넣으면 링크가 사라진다. Notion에 먼저 붙여넣은 후, Notion에서 복사하면 마크다운 형식으로 변환되어 링크가 보존된다.

워크플로우: Slack에서 복사 → Notion 페이지에 붙여넣기 → Notion에서 다시 복사 → Claude Code에 붙여넣기.

팁 25. Double Esc — 되감기 (Ado)

Claude가 잘못된 코드를 작성했거나 원하지 않는 파일을 삭제했을 때, Esc를 두 번 빠르게 누르면 마지막 작업을 되돌린다. git reset --hard HEAD~1과 유사하지만 훨씬 빠르고 안전하다.

팁 26. Ctrl+R — 역방향 검색 (Ado)

터미널의 Ctrl+R처럼 Claude Code에서도 이전에 사용한 프롬프트를 검색할 수 있다.

# Ctrl+R 누르기
(reverse-i-search): auth
# "auth"가 포함된 이전 프롬프트들이 표시됨

같은 유형의 작업을 반복할 때 매우 유용하다.

팁 27. Prompt Stashing — 프롬프트 임시 저장 (Ado)

긴 프롬프트를 작성하던 중 갑자기 다른 작업을 해야 할 때 Ctrl+S로 임시 저장할 수 있다. 나중에 다시 Ctrl+S를 누르면 저장된 프롬프트가 복원된다.

팁 28. Prompt Suggestions — 다음 작업 예측 (Ado)

Claude는 현재 컨텍스트를 바탕으로 다음에 할 작업을 예측해서 제안한다. 제안이 표시되면 Tab 또는 Enter를 눌러 즉시 수락할 수 있다.

# 코드 작성 후, Claude가 제안:
> "이 코드에 대한 테스트를 작성할까요?" [Tab to accept]

팁 29. Vim 모드로 프롬프트 편집 (Ado)

/vim 명령어로 Vim 모드를 활성화하면 프롬프트 입력 박스에서 Vim 키 바인딩을 사용할 수 있다. hjkl로 이동, w/b로 단어 단위 이동, dd로 줄 삭제, yy/p로 복사/붙여넣기, i/Esc로 삽입 모드 전환.

팁 30. 입력 박스 탐색 및 편집 단축키 (ykdojo)

단축키기능
Ctrl+A줄 시작으로 이동
Ctrl+E줄 끝으로 이동
Ctrl+W이전 단어 삭제
Ctrl+U커서부터 줄 시작까지 삭제
Ctrl+K커서부터 줄 끝까지 삭제
Ctrl+G외부 에디터에서 프롬프트 편집

Ctrl+G는 매우 긴 프롬프트를 작성해야 할 때 특히 유용하다. $EDITOR 환경 변수에 설정된 에디터(Vim, VS Code 등)가 열리고, 저장하면 내용이 자동으로 입력 박스에 삽입된다.

Part 4. 컨텍스트 관리의 예술

팁 31. HANDOFF.md 패턴 — 선제적 컨텍스트 압축 (ykdojo)

대화가 길어지면, 다음 에이전트를 위해 HANDOFF.md 파일을 작성하도록 지시하고 /clear로 새롭게 시작한다.

ykdojo의 실제 프롬프트:

"Put the rest of the plan in the system-prompt-extraction folder as HANDOFF.md.
Explain what you have tried, what worked, what didn't work, so that the next
agent with fresh context is able to just load that file and nothing else to
get started on this task and finish it up."

Claude가 생성하는 HANDOFF.md 구조:

# 프로젝트: Stripe 결제 통합
## 완료된 작업
- [완료] Stripe SDK 설치 및 API 키 설정
- [완료] `/api/create-checkout-session` 엔드포인트 구현

## 시도했지만 실패한 것
- [실패] Webhook 서명 검증 - 로컬 환경에서 테스트 불가
  - 해결책: ngrok 사용 필요

## 다음 단계
1. ngrok으로 로컬 서버 노출
2. Stripe 대시보드에서 Webhook URL 등록

새 세션에서 @HANDOFF.md 이 파일을 읽고 작업을 이어가줘로 시작한다.

팁 32. 터미널 탭으로 멀티태스킹 (ykdojo)

ykdojo는 3-4개의 터미널 탭을 동시에 열어 각각 독립적인 작업을 수행한다.

탭용도
탭 1메인 개발 작업 (새 기능 구현)
탭 2버그 수정 (긴급 핫픽스)
탭 3리서치 및 실험
탭 4DevOps 및 배포

"각 탭은 독립적인 '두뇌'입니다. 작업을 섞지 마세요."

팁 33. /clone — 대화 복제 (ykdojo)

> /clone

현재 대화의 모든 내용을 새로운 UUID로 복제한다. A 방식과 B 방식 중 어느 것이 더 나은지 비교 실험, 위험한 변경을 시도하기 전에 백업 생성, 팀원과 공유하기 위한 스냅샷에 활용한다.

팁 34. /half-clone — 대화 반복제 (ykdojo)

> /half-clone

대화의 후반부만 유지하고 전반부는 삭제한다. 컨텍스트 사용량을 절반으로 줄이면서 최근 작업은 유지한다.

ykdojo의 dx 플러그인으로 설치:

claude plugin marketplace add ykdojo/claude-code-tips
claude plugin install dx@ykdojo
# 이제 /dx:clone과 /dx:half-clone 사용 가능

팁 35. realpath로 절대 경로 얻기 (ykdojo)

다른 디렉토리의 파일을 Claude에게 알려줄 때 상대 경로 대신 절대 경로를 사용하면 혼란을 방지할 수 있다.

# 잘못된 방법
> "../../config/database.ts 파일을 확인해줘"

# 올바른 방법
> !realpath ../../config/database.ts
/Users/ykdojo/projects/myapp/config/database.ts
> "@/Users/ykdojo/projects/myapp/config/database.ts 이 파일을 확인해줘"

Part 5. Git과 GitHub 워크플로우

팁 36. Git과 GitHub CLI 프로 활용 (ykdojo)

자동 커밋 메시지 생성:

> "변경 사항을 분석하고 적절한 커밋 메시지를 작성한 후 커밋해줘"

Claude가 git diff를 분석해서 "feat: Add user authentication middleware with JWT validation" 같은 메시지를 만들고 커밋한다.

Draft PR 자동 생성:

> "현재 브랜치의 변경 사항으로 draft PR을 만들어줘.
   제목은 변경 내용을 요약하고, 본문에는 주요 변경 사항을 리스트로 작성해줘."

.github/pull_request_template.md 파일을 만들어두면 Claude가 이를 참고해서 PR 본문을 작성한다.

팁 37. Git Worktrees로 병렬 브랜치 작업 (ykdojo)

여러 브랜치에서 동시에 작업해야 할 때, git worktree를 사용하면 브랜치를 전환하지 않고 병렬로 작업할 수 있다.

> "git worktree를 사용하여 feature/auth 브랜치를 ../myapp-feature-auth에 체크아웃해줘"
# Claude 실행: git worktree add ../myapp-feature-auth feature/auth

워크플로우: 탭 1은 ~/projects/myapp-feature-auth에서 새 기능 개발, 탭 2는 ~/projects/myapp-hotfix에서 긴급 버그 수정.

"Worktree는 컨텍스트 스위칭 비용을 제거합니다. 브랜치를 전환할 때마다 node_modules를 다시 설치하거나 빌드를 다시 실행할 필요가 없습니다."

팁 38. 대화형 PR 리뷰 (ykdojo)

> "gh pr checkout 123을 실행하고 이 PR의 변경 사항을 요약해줘"
> "src/auth/middleware.ts 파일의 변경점을 분석해줘. 보안 이슈나 성능 문제가 있는지 확인해줘"
> "이 변경에 대한 테스트가 충분한지 평가해줘"
> "네가 제안한 개선 사항을 적용하고 테스트를 실행해줘"

ykdojo의 실제 사례: 한 PR에서 복잡한 인증 로직을 리뷰하던 중 토큰 만료 시간 검증 로직의 타임존 버그, 불필요한 데이터베이스 쿼리(N+1 문제), 에러 핸들링 누락을 발견하고 모두 수정했다.

팁 39. 승인된 명령어 감사 — cc-safe (ykdojo)

실제로 한 사용자는 rm -rf tests/ patches/ plan/ ~/를 승인하여 홈 디렉토리를 삭제했다.

ykdojo가 만든 cc-safe는 .claude/settings.json 파일을 스캔해서 위험한 승인 명령어를 감지한다.

npm install -g cc-safe
npx cc-safe ~/projects

감지하는 위험 패턴: sudo, rm -rf, chmod 777, curl | sh, git reset --hard, git push --force 등.

경고: Found 2 risky approved commands:
1. myapp/.claude/settings.json
   - "Bash(rm -rf dist/)" ← Dangerous: rm -rf
2. experiment/.claude/settings.json
   - "Bash(curl https://install.sh | sh)" ← Dangerous: curl | sh

한 달에 한 번은 cc-safe를 실행해서 감사하자.

Part 6. 고급 기능 — MCP, Hooks, Agents

팁 40. MCP 설치 기본 (Ado)

MCP(Model Context Protocol)는 Claude가 외부 서비스 및 API와 직접 통신할 수 있도록 만드는 프로토콜이다.

# Playwright MCP (브라우저 자동화)
claude mcp add -s user playwright npx @playwright/mcp@latest

# Supabase MCP (데이터베이스 직접 쿼리)
claude mcp add -s user supabase npx @supabase/mcp@latest

# Firecrawl MCP (웹 크롤링)
claude mcp add -s user firecrawl npx @firecrawl/mcp@latest

MCP(Model Context Protocol): Claude가 외부 서비스와 직접 통신할 수 있도록 Anthropic이 설계한 표준 프로토콜.

팁 41. Supabase MCP와 Firecrawl MCP 활용 (Ado)

Supabase MCP: 별도의 API 서버 없이 Claude가 데이터베이스에 직접 접근한다.

> "지난 7일간 가입한 사용자 수를 조회해줘"
→ Claude가 SQL 직접 실행: SELECT COUNT(*) FROM users WHERE created_at >= NOW() - INTERVAL '7 days'

Firecrawl MCP: 웹 크롤링과 데이터 추출을 자동화한다.

> "https://example.com의 모든 제품 페이지를 크롤링하고 제품명과 가격을 CSV로 저장해줘"
→ Claude가 Firecrawl로 크롤링 후 products.csv 생성

팁 42. Playwright MCP — 브라우저 자동화 테스트 (Ado)

> "Playwright를 사용하여 로그인 폼을 테스트해줘.
   잘못된 비밀번호 입력 시 에러 메시지가 표시되는지 확인해"

헤드리스 브라우저 지원, 여러 브라우저 지원(Chrome, Firefox, Safari), 네트워크 요청 가로채기, 파일 다운로드 자동화가 가능하다.

> "Playwright를 사용하여 전체 사용자 여정을 테스트해줘:
   회원가입 → 로그인 → 제품 검색 → 장바구니 추가 → 결제
   각 단계마다 스크린샷을 저장해줘."

팁 43. Hooks — 규칙의 강제 (Ado)

Hooks는 특정 이벤트 발생 시 자동으로 실행되는 셸 명령어다. AI의 확률적 행동에 결정론적 제어를 추가한다.

Hook실행 시점
PreToolUse도구 실행 전
PostToolUse도구 실행 후
PermissionRequest권한 요청 시
NotificationClaude의 알림 시

위험한 명령어 차단 예시:

{
  "hooks": {
    "PreToolUse": {
      "command": "bash",
      "args": ["-c", "if echo $TOOL_INPUT | grep -q 'rm -rf /'; then echo 'BLOCKED'; exit 1; fi"]
    }
  }
}

팁 44. Skills — 재사용 가능한 지식 (Ado)

Skills는 Claude가 필요할 때 자동으로 호출하는 재사용 가능한 지식 조각이다.

# ~/.claude/skills/google-translate/skill.md
When the user asks how to pronounce a word in a specific language,
generate a Google Translate link.

## Format
https://translate.google.com/?sl=auto&tl={target_language}&text={word}

이제 Claude는 발음 질문을 받으면 자동으로 이 스킬을 사용한다.

팁 45. Agents — 전문화된 서브에이전트 (Ado)

서브에이전트는 특정 작업에 전문화된 독립적인 AI 프로세스다. 각자 독립적인 200k 컨텍스트 윈도우를 가지고 병렬 실행이 가능하다.

> "security-auditor 에이전트를 실행하여 이 코드베이스의 보안 취약점을 찾아줘"

"산타는 모든 선물을 혼자 포장하지 않습니다. 엘프들이 있죠. 서브에이전트는 Claude의 엘프입니다."

팁 46. Plugins — 기능 번들 (Ado)

Plugins는 Hooks, Skills, Agents, MCP 서버를 하나의 패키지로 묶어 배포하는 방법이다.

/plugin search frontend
/plugin install frontend-design@anthropic

ykdojo의 dx 플러그인에 포함된 것들: /dx:gha <url>로 GitHub Actions 실패 분석, /dx:handoff로 HANDOFF.md 생성, /dx:clone과 /dx:half-clone, reddit-fetch 스킬.

팁 47. CLAUDE.md vs Skills vs Slash Commands vs Plugins (ykdojo)

기능로딩 시점토큰 효율성주요 사용자
CLAUDE.md모든 대화 시작 시낮음 (항상 로드)개발자
Skills필요 시 자동높음 (필요 시만)Claude
Slash Commands수동 호출 시높음 (호출 시만)개발자
Plugins설치 시—개발자

"Skills는 Claude가 사용하도록, Slash Commands는 개발자가 사용하도록 만들어졌습니다."

Part 7. 시스템 최적화와 자동화

팁 48. 시스템 프롬프트 슬림화 (ykdojo)

Claude Code의 모든 행동은 수만 토큰에 달하는 거대한 시스템 프롬프트에 의해 결정된다. ykdojo는 58개의 패치로 19k 토큰에서 10k 이하로 줄이는 데 성공했다.

제거한 것들: 장황한 예시, 반복적인 지시, 과도한 안전 경고, 사용하지 않는 도구 설명.

git clone https://github.com/ykdojo/claude-code-tips.git
cd claude-code-tips
./scripts/apply-patches.sh

주의: 전문가의 영역이다. 잘못 수정하면 Claude 성능이 심각하게 저하될 수 있다.

팁 49. 장시간 작업을 위한 지수 백오프 (ykdojo)

장시간 실행되는 작업을 Claude에게 맡길 때, 지수 백오프 전략으로 폴링하자.

> "대용량 CSV 파일을 처리하는 스크립트를 실행해줘.
   지수 백오프 방식으로 1분 후, 2분 후, 4분 후, 8분 후 진행 상황을 확인해줘."

지수 백오프(Exponential Backoff): 재시도나 폴링 간격을 점진적으로 늘려가는 전략. 불필요한 리소스 낭비를 줄인다.

팁 50. 백그라운드에서 bash 명령 및 에이전트 실행 (ykdojo)

명령어가 실행 중일 때 Ctrl+B를 누르면 백그라운드로 이동한다. Claude는 나중에 BashOutput 도구를 사용해서 상태를 확인할 수 있다.

병렬 서브에이전트 활용:

> "3개의 서브에이전트를 백그라운드에서 실행하여 각각 다른 모듈을 분석하도록 해줘."
→ Agent 1: /src/auth 분석
→ Agent 2: /src/api 분석
→ Agent 3: /src/database 분석 (모두 병렬 실행)

팁 51. 자동화의 자동화 (ykdojo)

ykdojo의 자동화 진화 단계:

  1. ChatGPT에서 코드를 복사하여 터미널에 붙여넣기
  2. ChatGPT 플러그인(Kaguya)을 만들어 자동 실행
  3. Claude Code 사용으로 터미널 통합
  4. 음성 전사 시스템 구축으로 타이핑 자동화
  5. CLAUDE.md로 반복 지시 자동화
  6. 커스텀 슬래시 명령어로 워크플로우 자동화
  7. Skills로 Claude의 자동 판단 자동화
  8. Hooks로 규칙 강제 자동화

"같은 작업을 2-3번 반복하는 것은 괜찮습니다. 하지만 그 이상 반복한다면, 자동화하세요. 그리고 그 자동화 과정 자체도 자동화하세요."

팁 52. Headless 모드로 CI/CD 통합 (Ado)

claude -p "Fix the lint errors"
git diff | claude -p "Explain these changes"

GitHub Actions 통합 예시:

name: Claude Code Review
on:
  pull_request:
    types: [opened, synchronize]
jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Review PR
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          git diff origin/main...HEAD | \
          claude -p "Review this PR and identify potential issues" \
          > review.md

Part 8. 컨테이너와 샌드박스

팁 53. Docker 컨테이너로 위험한 작업 격리 (ykdojo)

FROM ubuntu:22.04
RUN apt-get update && apt-get install -y curl git tmux nodejs npm python3
RUN curl -fsSL https://claude.ai/install.sh | sh
WORKDIR /workspace
CMD ["/bin/bash"]
docker run -it --rm \
  -v $(pwd):/workspace \
  -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
  claude-sandbox

# 컨테이너 안에서 YOLO 모드로 실행
claude --dangerously-skip-permissions

고급 활용 — 워커 Claude 오케스트레이션: ykdojo는 새 버전의 Claude Code가 출시될 때마다 시스템 프롬프트 패치 업데이트 작업을 컨테이너 안의 워커 Claude에게 맡긴다. 새 버전 minified JavaScript 분석 → 변수 매핑 → 패치 파일 생성 → 적용 테스트 → 문서 업데이트 전 과정이 자율적으로 진행된다.

팁 54. Sandbox 모드와 권한 관리 (Ado)

/sandbox 명령어로 한 번 경계를 정의하고 Claude가 그 안에서 자유롭게 작업하도록 한다.

> /sandbox
> "npm install, npm test, git status, git diff를 자동 승인해줘"
# 이제 이 명령어들은 매번 물어보지 않고 자동 실행됩니다.

와일드카드도 지원한다.

> "mcp__server__* 패턴의 모든 MCP 서버 도구를 자동 승인해줘"

"Sandbox는 속도와 보안을 동시에 제공합니다. 신뢰할 수 있는 작업에는 Sandbox를, 실험적인 작업에는 컨테이너를 사용하세요."

Part 9. 브라우저 통합과 웹 자동화

팁 55. 네이티브 브라우저 통합과 E2E 테스트 (Ado)

Claude Code는 Chrome과 직접 통합된다.

claude --chrome
> "localhost:3000으로 이동하여 로그인 버튼을 클릭해줘.
   콘솔에 에러가 있는지 확인하고, 있다면 코드를 수정해줘."

Playwright MCP를 결합하면 전체 사용자 여정을 헤드리스로 자동화할 수 있다.

> "회원가입 → 로그인 → 제품 검색 → 장바구니 추가 → 결제 여정을
   Playwright로 테스트하고 각 단계마다 스크린샷을 저장해줘."

"'버그를 수정하고 작동하는지 확인해줘'가 이제 하나의 프롬프트로 가능합니다."

팁 56. Gemini CLI를 대체 수단으로 (ykdojo)

Claude의 네이티브 브라우저나 Playwright로도 접근이 막힌 웹사이트가 있을 때 Gemini CLI를 대체 수단으로 사용할 수 있다.

npm install -g @google/generative-ai-cli
export GOOGLE_API_KEY=your_api_key

멀티 모델 오케스트레이션:

> "이 코드를 Claude Opus로 작성하고, Gemini로 코드 리뷰를 받은 후,
   GPT-4로 최종 최적화를 해줘"

"핵심은 Claude Code의 부드러운 UI/UX입니다. 여러 CLI를 수동으로 전환하고 복사-붙여넣기하는 대신, Claude Code가 모든 것을 조율하는 중앙 인터페이스가 됩니다."

Part 10. 실전 활용 사례

팁 57. 작성-테스트 사이클 완성 (ykdojo)

> "사용자 인증 미들웨어를 작성하고, 테스트 코드도 함께 작성해줘.
   테스트를 실행하여 모두 통과하는지 확인해줘."

TDD 워크플로우:

> "TDD 방식으로 작업해줘. 먼저 실패하는 테스트를 작성하고,
   그 테스트를 통과시키는 코드를 작성해줘."

1. 실패하는 테스트 작성
2. git commit -m "Add failing test for user auth"
3. 테스트를 통과시키는 최소한의 코드 작성
4. 테스트 실행 → 통과 확인
5. git commit -m "Implement user auth to pass test"

팁 58. 자신만의 워크플로우에 투자하라 (ykdojo)

ykdojo의 커스텀 워크플로우: 음성 전사 시스템, 커스텀 상태 라인, /commit으로 자동 커밋, /gha <url>로 GitHub Actions 실패 자동 분석, /handoff로 HANDOFF.md 생성기.

1. 반복하는 작업 식별: "나는 매번 PR을 만들 때 같은 형식의 설명을 작성한다"
2. 자동화 방법 설계: "PR 템플릿을 만들고, /pr 명령어로 자동 생성하자"
3. Claude에게 구현 요청:
   > "~/.claude/commands/pr.md 파일을 만들어줘."

팁 59. 대화 기록 검색 (ykdojo)

# 대화 목록 확인
claude -r

# 특정 대화 재개
claude --resume stripe-integration

# 모든 대화 파일에서 검색
grep -r "Stripe" ~/.claude/conversations/

팁 60. 글쓰기 도우미로 활용 (ykdojo)

Claude Code는 코딩뿐만 아니라 기술 문서, 블로그 포스트, API 스펙 작성에도 탁월하다.

> "이 API 엔드포인트들에 대한 OpenAPI 스펙을 작성해줘.
   각 엔드포인트의 요청/응답 예시도 포함해줘."

"Claude는 때때로 반복적인 요약을 작성합니다. '마지막 문단에서 이전 내용을 반복하지 마'라고 명시적으로 지시하세요."

팁 61. 연구 도구로 활용 (ykdojo)

GitHub Actions 실패 로그 수천 줄을 붙여넣으면 Claude가 파싱해서 에러 메시지를 식별하고 원인을 분석해 해결책을 제시한다.

ykdojo의 실제 사례 — $10,000 절약: 어떤 서비스를 구독하려고 했는데, Claude Code 연구로 비슷한 기능을 직접 구현할 수 있다는 것을 발견했다.

Reddit 감정 분석:

> "Reddit의 r/programming에서 'Claude Code'에 대한
   최근 1주일 게시물을 분석하고, 전반적인 감정과 주요 피드백을 요약해줘."

팁 62. 출력 검증 방법 마스터 (ykdojo)

방법 1 — 테스트 코드 작성: 엣지 케이스 포함.

방법 2 — GitHub Desktop으로 시각적 검토.

방법 3 — Claude에게 자기 검증 요청:

> "방금 생성한 코드를 다시 검토해줘.
   모든 주장을 검증하고, 끝에 검증 결과를 표로 정리해줘."

"제가 가장 좋아하는 프롬프트는 '모든 것을 다시 확인하고, 검증 가능한 것과 불가능한 것을 표로 만들어줘'입니다."

팁 63. DevOps 엔지니어로 활용 (ykdojo)

ykdojo의 /gha 명령어로 GitHub Actions 실패를 자동으로 조사한다.

> /dx:gha https://github.com/user/repo/actions/runs/12345

Claude가:
1. gh CLI로 워크플로우 로그 가져오기
2. 실패한 단계 식별
3. 에러 메시지 분석
4. Flaky test인지 판단
5. 수정 방법 제안

Docker 이미지 최적화:

> "이 Dockerfile을 분석하고 이미지 크기를 줄일 방법을 제안해줘"
→ 멀티 스테이지 빌드 제안, 불필요한 패키지 제거, 레이어 캐싱 최적화

팁 64. 범용 인터페이스로 활용 (ykdojo)

ykdojo는 Claude Code를 "컴퓨터에 대한 범용 인터페이스"라고 부른다.

# 비디오 편집
> "이 비디오 파일의 처음 30초를 잘라내고, 1080p로 리사이즈해줘"
# Claude가 ffmpeg 사용

# 오디오 전사
> "이 폴더의 모든 mp3 파일을 전사하고 텍스트 파일로 저장해줘"
# Claude가 Whisper 사용

# 디스크 공간 정리
> "디스크 공간이 부족해. 어떤 파일들이 많은 공간을 차지하는지 분석해줘"
# Claude가 du -sh * | sort -h 실행 후 제안

팁 65. 테스트를 많이 작성하라 — TDD (ykdojo)

AI가 생성한 코드는 빠르지만, 실수도 빠르게 만들어진다. 테스트는 안전망이다.

> "TDD 방식으로 사용자 등록 기능을 구현해줘"

Claude가:
1. 실패하는 테스트 작성: 유효한 입력으로 등록 성공, 중복 이메일 거부, 약한 비밀번호 거부
2. 테스트 실행 → 모두 실패 확인
3. 최소한의 구현 코드 작성
4. 테스트 실행 → 통과 확인

"어떤 사람들은 AI가 자신의 작업을 테스트할 수 없다고 말하지만, 실제로는 가능합니다. 테스트를 작성할 때는 다른 방식으로 문제를 생각하기 때문입니다."

팁 66. 복잡한 코드 단순화 요청 (ykdojo)

Claude는 때때로 과도하게 복잡한 코드를 작성한다.

> "이 코드가 너무 복잡해. 왜 이렇게 작성했는지 설명하고,
   더 간단하게 바꿀 수 있는지 확인해줘"

Claude가:
1. 각 부분의 이유 설명
2. 불필요한 추상화 식별
3. 단순화된 버전 제시
4. 두 버전의 장단점 비교

"AI를 통해서만 코드를 작성하면 이해할 수 없다는 말은 틀렸습니다. 충분히 질문하면 오히려 더 빠르게 이해할 수 있습니다."

Part 11. 고급 패턴과 철학

팁 67. 계획과 빠른 프로토타이핑의 균형 (ykdojo)

계획:

> "먼저 전체 계획을 세워줘. 어떤 기술을 사용할지,
   파일 구조는 어떻게 할지, 각 기능은 어디에 위치할지 결정해줘."

프로토타이핑:

> "두 가지 접근 방식을 빠르게 프로토타입으로 만들어서
   어느 것이 더 나은지 비교해줘"

ykdojo는 diff viewer를 만들 때 bash + tmux + lazygit과 Ink + Node.js 커스텀 뷰어 두 가지 접근 방식을 시도했다. 결과적으로 어느 것도 발표하지 않았지만, 이 과정에서 계획의 중요성을 다시 깨달았다.

팁 68. 개인화된 소프트웨어 시대 (ykdojo)

우리는 개인화된 맞춤형 소프트웨어의 시대에 살고 있다.

ykdojo의 사례: 음성 전사 시스템(자신의 워크플로우에 완벽히 맞춤), Claude Code 커스터마이징(시스템 프롬프트 패치), Slack MCP CLI 버전(Docker-in-Docker 문제 해결을 위해 직접 제작).

"원하는 것이 있으면 Claude Code에게 만들어달라고 하세요. 충분히 작은 프로젝트라면 1-2시간 안에 완성할 수 있습니다."

팁 69. 사용이 최고의 학습 — 10억 토큰 규칙 (ykdojo)

ykdojo는 "10,000시간 규칙" 대신 "10억 토큰 규칙"을 제안한다.

"AI를 진정으로 이해하고 직관을 얻고 싶다면, 많은 토큰을 소비하세요. Opus 4.5는 강력하면서도 저렴하여 여러 세션을 동시에 실행할 수 있습니다."

세계적인 암벽 등반가의 조언: "암벽 등반을 잘하려면 어떻게 해야 하나요?" "암벽 등반을 하세요." Claude Code를 마스터하는 방법은 Claude Code를 사용하는 것이다.

팁 70. 지식 공유의 선순환 (ykdojo)

ykdojo는 팁을 공유하면서 더 많은 것을 배웠다.

  • 시스템 프롬프트 슬림화 팁 공유 → --system-prompt 플래그 존재를 알게 됨
  • Reddit 댓글에서 새로운 활용법 배움
  • Anthropic에 기능 요청과 버그 리포트 제출 → /permissions 검색 기능 추가, 스크롤 버그 수정 반영

"지식 공유는 일방통행이 아닙니다. 공유 과정에서 새로운 것을 배웁니다."

Part 12. 고급 기능과 SDK

팁 71. Extended Thinking — ultrathink (Ado)

> "ultrathink: 이 아키텍처 결정의 장단점을 깊이 분석해줘"

ultrathink 키워드를 포함하면 Claude는 응답하기 전에 최대 32k 토큰을 내부 추론에 할당한다. 복잡한 아키텍처 결정이나 까다로운 디버깅에 유용하다.

{
  "thinking": {
    "maxTokens": 5000
  }
}

팁 72. LSP 통합 (Ado)

Language Server Protocol(LSP)은 Claude에게 IDE 수준의 코드 인텔리전스를 제공한다.

LSP가 제공하는 것: 즉시 진단(각 편집 후 에러와 경고를 즉시 확인), 코드 탐색(정의로 이동, 참조 찾기), 언어 인식(타입 정보 및 문서).

LSP 없이: Claude가 코드를 수정하고, 실행해봐야 에러 발견
LSP 있음: Claude가 수정하는 즉시 타입 에러 감지 및 수정

팁 73. Claude Agent SDK (Ado)

10줄로 에이전트를 만들 수 있다.

import { query } from '@anthropic-ai/claude-agent-sdk';

for await (const msg of query({
  prompt: "Generate markdown API docs for all public functions in src/",
  options: {
    allowedTools: ["Read", "Write", "Glob"],
    permissionMode: "acceptEdits"
  }
})) {
  if (msg.type === 'result') console.log("Docs generated:", msg.result);
}

활용 사례: 커스텀 CI/CD 파이프라인에 AI 에이전트 통합, 사내 도구에 Claude Code 기능 임베딩, 특수한 워크플로우를 위한 전용 에이전트 개발.

팁 74. 팀 설정과 공유 워크플로우 (Ado)

.claude/team-settings.json:

{
  "permissions": {
    "allow": ["Read(src/)", "Write(src/)", "Bash(npm test)"]
  },
  "hooks": {
    "PreToolUse": {
      "command": "bash",
      "args": ["-c", "echo 'Team hook: validating...'"]
    }
  },
  "mcpServers": {
    "company-db": {
      "command": "npx",
      "args": ["@company/db-mcp"]
    }
  }
}

팀 저장소에 .claude/ 폴더를 커밋하면 모든 팀원이 동일한 설정을 사용하게 된다.

이 글의 내용은 해커톤 우승자 ykdojo와 Anthropic DevRel Ado Kukic의 작업물에 기반한다.

  • ykdojo GitHub 저장소: https://github.com/ykdojo/claude-code-tips
  • Ado의 Advent of Claude 2025: https://adocomplete.com/advent-of-claude-2025/
  • Claude Code 공식 문서: https://code.claude.com/docs
← 이전 글Playwright MCP — LLM이 브라우저를 제어하는 방법