처음부터 시작해서, 빠르게 실행하세요
설치, 설정, 그리고 핵심 개념 이해 — Claude Code 온보딩을 한 페이지에
설치 및 인증
brew install --cask claude-code
# First install Node.js LTS (nodejs.org)
npm install -g @anthropic-ai/claude-code
curl -fsSL https://fnm.vercel.app/install | bash
fnm install --lts && fnm use --lts
npm install -g @anthropic-ai/claude-code
node --version # Requires v18+
claude --version
실행 옵션
# Start an interactive session in your project
cd your-project && claude
# Start with a question
claude "Explain the project architecture"
# Pipe input
cat error.log | claude "Analyze the error"3가지 인증 방법
| 방법 | 사용 사례 | 절차 |
|---|---|---|
| Claude.ai 계정 | Pro/Max 구독자 | claude 실행 후 브라우저에서 OAuth 인증 |
| 팀 초대 | 팀 관리자 초대 | 초대 수락, 키 자동 생성 |
| 수동 API 키 | 직접 구매한 API 크레딧 / 서드파티 프록시 | sk-ant-...로 시작하는 키 붙여넣기 |
환경 변수
수동 API 키 또는 서드파티 프록시의 경우, 환경 변수를 통해 동작을 세밀하게 조정할 수 있습니다. ~/.zshrc 또는 ~/.bashrc에 추가하세요:
# === Auth & Endpoints ===
export ANTHROPIC_AUTH_TOKEN="sk-your-api-key" # API key
export ANTHROPIC_BASE_URL="https://your-proxy.example.com" # Custom endpoint (third-party proxy)
# === Model Selection ===
export ANTHROPIC_MODEL="claude-sonnet-4-6" # Default model
export ANTHROPIC_SMALL_FAST_MODEL="claude-haiku-4-5" # Lightweight fast model for quick tasks
export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-4-6"
export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-opus-4-7"
# === Performance & Behavior ===
export API_TIMEOUT_MS="3000000" # API timeout (ms)
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 # Disable non-essential network requests (telemetry etc.)
export CLAUDE_CODE_AUTO_COMPACT_WINDOW=1000000 # Auto-compaction trigger threshold (tokens) | 변수 | 설명 | 일반적인 값 |
|---|---|---|
ANTHROPIC_AUTH_TOKEN | API 키 | sk-ant-... |
ANTHROPIC_BASE_URL | 커스텀 API 엔드포인트 | 서드파티 프록시 URL |
ANTHROPIC_MODEL | 기본 모델 | claude-sonnet-4-6 |
ANTHROPIC_SMALL_FAST_MODEL | 경량 빠른 모델 | claude-haiku-4-5 |
API_TIMEOUT_MS | API 타임아웃 | 3000000 |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC | 텔레메트리 및 비필수 요청 비활성화 | 1 |
CLAUDE_CODE_AUTO_COMPACT_WINDOW | 자동 압축 임계값 (토큰) | 1000000 |
설치 후
/doctor를 실행하여 환경을 확인하세요: Node.js v18 이상, 인증 상태, 도구 가용성.
빠른 시작 가이드
설치 후, 제로에서 생산성까지 5단계:
-
1 CLAUDE.md 작성 — 프로젝트 루트에 규칙과 기본 설정이 포함된 지시 파일을 만듭니다. < 200줄로 유지하세요 — 이를 넘어가면 규정 준수율이 현저히 떨어집니다.
-
2 권한 모드 선택 — 일상적인 사용은
default, 신뢰할 수 있는 환경은acceptEdits, CI/자동화는bypassPermissions를 사용하세요. -
3 /compact 배우기 — 컨텍스트가 50%에 도달하면 미리 압축하여 스마트한 출력 품질을 유지하세요.
-
4 /plan으로 계획하기 — 복잡한 작업의 경우, 먼저 목표를 설정하고 모델이 단계를 계획한 다음 실행 전에 확인하세요.
-
5 스킬 & 훅 구성 — 반복적인 워크플로우를 스킬로 캡슐화하고, 훅으로 수명 주기 이벤트를 자동화하세요.
**“쓰라린 교훈(Bitter Lesson)“**을 따르세요: 오늘의 모델에 맞춰 워크플로우를 최적화하지 말고 — 6개월 후 더 강력해질 모델을 위한 시스템을 구축하세요.
10가지 파워업
v2.1.90에서 도입된 대화형 코스로, 대부분의 사람이 놓치는 기능을 가르쳐줍니다. /powerup을 실행하여 시작하세요.

파워업 선택 메뉴
| # | 파워업 | 학습 내용 |
|---|---|---|
| 1 | 코드베이스와 대화하기 | @ 파일 참조, 줄 번호 참조 |
| 2 | 모드로 제어하기 | Shift+Tab 계획 / 자동 모드 전환 |
| 3 | 무엇이든 되돌리기 | /rewind 실행 취소, Esc-Esc 중단 |
| 4 | 백그라운드에서 실행 | 백그라운드 작업, /tasks 관리 |
| 5 | Claude에게 규칙 가르치기 | CLAUDE.md 프로젝트 규칙, /memory 관리 |
| 6 | 도구로 확장하기 | MCP 외부 도구 확장, /mcp |
| 7 | 워크플로우 자동화 | 스킬 스킬 시스템 + 훅 자동화 |
| 8 | 나를 복제하기 | 서브에이전트 서브에이전트 병렬 처리, /agents |
| 9 | 어디서나 코딩하기 | /remote-control 원격 제어, /teleport |
| 10 | 모델 조정하기 | /model 모델 전환, /effort 추론 조정 |
각 파워업에는 애니메이션 데모가 포함되어 있습니다. #1부터 시작하여 순서대로 진행하세요.
Claude Code 마스터를 위한 세 가지 단계
| 단계 | 비유 | 특징 | 출력 안정성 |
|---|---|---|---|
| 단계 1 프롬프팅 | 거리에서 모르는 사람에게 묻기 | 매번 답변이 달라지고 품질이 들쭉날쭍함 | 낮음 |
| 단계 2 에이전트 | 도메인 전문가 고용 | 고정된 역할 + 방식, 출력이 안정적이고 제어 가능함 | 중간-높음 |
| 단계 3 스킬 | 전문가에게 훈련 매뉴얼 제공 | 정확한 지시 + 도구 권한, 재사용 가능 | 높음 |
-
단계 1 프롬프팅 — 채팅처럼 질문하세요.
claude를 실행한 후 질문을 입력하기만 하면 됩니다 — 빠른 Q&A, 브레인스토밍, 문서 편집에 적합합니다. 단점: 같은 질문에도 매번 다른 답변을 받을 수 있습니다. -
단계 2 에이전트 — Claude에게 역할과 방식을 할당하세요. 전문가를 고용하는 것과 같습니다 — 동일한 작업, 동일한 접근 방식으로 안정적이고 제어 가능한 출력 품질을 얻을 수 있습니다.
-
단계 3 스킬 — 에이전트에 특정 기능을 장착하세요 — 훈련 매뉴얼만큼 정확합니다. 하나의 에이전트는 여러 스킬을 사용할 수 있고, 하나의 스킬은 여러 에이전트에서 재사용할 수 있습니다.
학습 팁: 단계 1부터 시작하여 상호작용에 익숙해진 다음, 점진적으로 에이전트와 스킬을 사용하여 자동화 수준을 높이세요.
CLI 인수 참조
| 매개변수 | 설명 | 예시 |
|---|---|---|
--model | 모델 지정 | claude --model opus |
-p | 비대화형 모드 | echo "hi" | claude -p |
--output-format | 출력 형식 text/json/stream-json | -p --output-format json |
--max-turns | 최대 대화 턴 수 | --max-turns 5 |
--permission-mode | 권한 모드 | --permission-mode plan |
--resume | 이전 세션 다시 시작 | claude --resume |
--continue | 이전 세션 계속하기 | claude --continue |
--effort | 추론 노력도 | --effort high |
커뮤니티 워크플로우 및 플러그인
오픈소스 커뮤니티에서 기여한 다양한 Claude Code 워크플로우 및 플러그인 모음입니다. GitHub Stars 순으로 정렬되어 있습니다:
| 프로젝트 | Stars | 설명 | A | C | S |
|---|---|---|---|---|---|
| Superpowers | 216k | 전체 프로세스 방법론: 브레인스토밍 → TDD → 코드 리뷰 → 브랜치 | 0 | 0 | 14 |
| Everything Claude Code | 204k | 가장 큰 커뮤니티 컬렉션, 계획/리뷰/보안/e2e를 아우르는 300개 이상의 스킬 | 63 | 121 | 300+ |
| Matt Pocock Skills | 115k | TypeScript 전문가 제작: TDD, 진단, 아키텍처 개선, PRD | 0 | 0 | 28 |
| Spec Kit | 108k | GitHub 공식: 스펙 → 명확화 → 계획 → 작업 → 구현 | 0 | 9 | 0 |
| gstack | 106k | YC 대장 제작: CEO/엔지니어/디자인 다중 역할 리뷰 → 배포 | 0 | 0 | 61 |
| Get Shit Done | 64k | 엔드투엔드 납품: 스펙 → 계획 → 실행 → 검증 → 배포 | 33 | 67 | 0 |
| OpenSpec | 52k | 가벼운 스펙 워크플로우: 제안 → 적용 → 검증 → 보관 | 0 | 9 | 0 |
| BMAD-METHOD | 49k | 제품 주도 개발: 브리프 → PRD → 아키텍처 → 스토리 → QA | 6 | 0 | 42 |
| oh-my-claudecode | 36k | 팀 협업 흐름: 팀 계획 → PRD → 실행 → 검증 → 수정 | 19 | 0 | 39 |
| agent-skills | 27k | Google 엔지니어 제작: 스펙 → 계획 → 빌드 → 테스트 → 배포 | 3 | 7 | 21 |
| Compound Eng | 19k | 복합 엔지니어링: 전략 → 브레인스토밍 → 계획 → 복합 | 47 | 4 | 39 |
| HumanLayer | 11k | 연구→구현 흐름: 연구 → 계획 → 검증 → 구현 | 6 | 27 | 0 |
A=에이전트 · C=명령어 · S=스킬. 프로젝트 이름을 클릭하면 GitHub로 이동합니다.
스킬 리포지토리
| 프로젝트 | 스타 | 스킬 | 설명 |
|---|---|---|---|
| anthropics/skills | 145k | 17 | 공식 Anthropic 컬렉션 |
| mattpocock/skills | 113k | 25 | 고품질 TypeScript 스킬 |
| wshobson/agents | 36k | 155 | 다중 시나리오 스킬 컬렉션 |
| scientific-agent-skills | 27k | 143 | 학술 연구용 |
| agent-skills | 27k | 21 | Google 엔지니어 제작 |
| awesome-agent-skills | 24k | 1,424+ | 엄선된 컬렉션 |
| claude-skills | 15k | 246 | 9개 도메인에 걸친 풀스택 커버리지 |
에이전트 리포지토리
| 프로젝트 | 스타 | 에이전트 | 설명 |
|---|---|---|---|
| agency-agents | 107k | 144 | 대규모 에이전트 정의 라이브러리 |
| awesome-subagents | 21k | 156 | 엄선된 하위 에이전트 컬렉션 |
크로스 모델 라우팅
Claude Code의 API를 다른 모델 제공업체로 라우팅:
| 프로젝트 | 스타 | 브릿지 | 설명 |
|---|---|---|---|
| claude-code-router | 34k | OpenRouter, DeepSeek, Ollama, Gemini 등 | 작업별 모델 선택 |
| CLIProxyAPI | 32k | Gemini CLI, Codex, Claude Code | 호환 가능한 API로 래핑 |
| codex-plugin-cc | 18k | Codex / GPT-5 | 공식 OpenAI 플러그인: /codex:review |
| pal-mcp-server | 12k | 50개 이상의 모델 | 다중 모델 MCP 서버 |
28개 인기 기능
Claude Code 생태계에서 가장 많이 관심을 받는 기능과 도구:
| # | 기능 | 설명 |
|---|---|---|
| 1 | Ultrareview | 노력: 높은 다차원 분석을 통한 심층 코드 리뷰 |
| 2 | Devcontainers | 일관된 환경을 위한 VS Code 개발 컨테이너 통합 |
| 3 | Channels | stable / latest 업데이트 채널 제어 |
| 4 | Ultraplan | 더 세밀한 작업 분해가 가능한 향상된 플랜 모드 |
| 5 | Fast Mode | 모델 다운그레이드 없이 빠른 Opus 출력 |
| 6 | Computer Use | 브라우저 및 데스크톱 앱을 위한 GUI 상호작용 |
| 7 | Agent SDK | 맞춤형 에이전트 구축을 위한 Python/TS SDK |
| 8 | Voice Dictation | 타이핑 대체 음성 입력 |
| 9 | Remote SSH | SSH 연결을 통한 원격 개발 |
| 10 | Background Agents | 차단 없이 장시간 실행되는 백그라운드 작업 |
| 11 | Worktree Isolation | 격리된 Git 브랜치 실험 |
| 12 | Custom Subagents | .claude/agents/에서 맞춤형 하위 에이전트 정의 |
| 13 | Skills System | 9가지 유형의 재사용 가능한 명령어 팩 |
| 14 | Hooks | 27개의 수명 주기 이벤트 자동화 스크립트 |
| 15 | MCP Servers | 외부 서비스 연결 (데이터베이스, API, 브라우저) |
| 16 | CLAUDE.md | 프로젝트 전체 컨텍스트를 가진 4단계 명령어 파일 |
| 17 | Memory System | 3가지 범위의 세션 간 지속 메모리 |
| 18 | Permission Modes | 기본값부터 전체 CI 자동화까지 6가지 권한 모드 |
| 19 | Plan Mode | 먼저 계획하고, 그 다음 구현하기 — 단계가 아닌 목표 제공 |
| 20 | Code Review | 다중 역할 분석을 통한 내장 코드 리뷰 |
| 21 | Browser MCP | Playwright / Chrome DevTools 모드 |
| 22 | Cross-Model | DeepSeek, Gemini, GPT 등으로 라우팅 |
| 23 | Agent Teams | 다중 에이전트 협업 팀 (Amp, Codex 등) |
| 24 | Scheduled Tasks | CronCreate/TaskCreate 예약 디스패치 |
| 25 | RPI Workflow | Research → Plan → Implement 루프 |
| 26 | CRISPY Method | 구조화된 작업 분해 방법론 |
| 27 | Sandbox Mode | 네트워크 허용 목록을 사용한 Bash 샌드박스 실행 |
| 28 | Multi-Provider | Bedrock, Vertex, Foundry 멀티클라우드 배포 |
Command → Agent → Skill
Claude Code의 3계층 오케스트레이션 아키텍처와 핵심 컴포넌트 관계 이해
Command → Agent → Skill 아키텍처

Command → Agent → Skill 3계층 아키텍처
User input / command trigger
│
▼
┌──────────────┐ Command (entry point)
│ /command │ .claude/commands/*.md
└──────┬───────┘
│ Agent tool
▼
┌──────────────┐ Agent (executor)
│ Agent │ .claude/agents/*.md
└──────┬───────┘
│ Preload/invoke Skill
▼
┌──────────────┐ Skill (knowledge)
│ Skill │ .claude/skills/*/SKILL.md
└──────────────┘-
Command — 사용자 진입점. Agent 호출 순서를 오케스트레이션합니다. 82개 내장 맞춤형
-
Agent — 독립적인 컨텍스트 실행자. 병렬로 실행할 수 있습니다. 5개 내장 맞춤형
-
Skill — 재사용 가능한 명령어 팩. 로드되거나 호출됩니다. 10개 내장 맞춤형
비교
| 구분 | Command | Agent | Skill |
|---|---|---|---|
| 역할 | 진입점 / 오케스트레이터 | 실행자 | 지식 제공자 |
| 컨텍스트 | 공유 메인 세션 | 독립 창 | 호출자에 주입 |
| 트리거 | 사용자 /cmd | Agent 도구 | 사전 로드/Skill 도구 |
| 병렬성 | 순차적 | 병렬 가능 | 해당 없음 |
| 동적 컨텍스트 주입 | ✅ “!`command``` | ❌ | ✅ “!`command``` |
| 적합한 경우 | 워크플로 오케스트레이션 | 집중 작업 | 재사용 가능한 명령어 |
선택 가이드: 여러 Agent를 연결하는 다단계 흐름을 조율해야 한다면 → Command. 독립적인 컨텍스트, 병렬 실행, 도구 격리가 필요하다면 → Agent. 다양한 시나리오에서 로드되는 재사용 가능한 명령어 팩이 필요하다면 → Skill.

관계 및 사용 사례
Harness가 중요한 이유
출력 품질 공식:
quality = f(effective_context, model_capability, iteration_loops)Harness는 “유효 컨텍스트(effective context)“와 “반복 루프(iteration loops)“에 직접적인 영향을 미칩니다.
Harness: 10가지 핵심 기능
“Skills, Commands, Subagents 모두 결국 프롬프트가 되므로, 강력한 프롬프트만으로 충분하지 않을까?” — 기술적으로는 맞지만, 실제로는 그렇지 않습니다. Harness가 프롬프트가 닿을 수 없는 계층에서 수행하는 작업은 다음과 같습니다:
| # | 기능 | 수행하는 작업 | 프롬프트가 대체할 수 없는 이유 |
|---|---|---|---|
| 1 | 컨텍스트 격리 | Subagent가 독립적인 컨텍스트 창에서 실행됩니다 | 하나의 프롬프트는 하나의 창을 채웁니다; N개의 병렬 Subagent = N배의 유효 컨텍스트 |
| 2 | 도구 제한 강제 | allowed/disallowed-tools가 모델 호출 전에 가로챕니다 | 프롬프트 지시는 권고 사항입니다; 거부 규칙은 우회할 수 없습니다 |
| 3 | 지연 로딩 규칙 및 메모리 | paths: frontmatter 및 하위 디렉토리 CLAUDE.md가 필요시 로드됩니다 | 프롬프트는 정적입니다; 런타임 파일 경로에 따라 동적으로 로드할 수 없습니다 |
| 4 | 결정론적 훅 실행 | 셸 명령이 라이프사이클 이벤트에서 실행되며 도구 호출을 가로챌 수 있습니다 | 프롬프트는 자체 도구 호출을 가로챌 수 없습니다; 훅은 모델 의도와 관계없이 실행됩니다 |
| 5 | 모델 라우팅 | model: haiku/opus가 서로 다른 모델 엔드포인트로 라우팅합니다 | 프롬프트의 어떤 토큰도 응답하는 모델을 변경할 수 없습니다 |
| 6 | 병렬 스케줄링 | 여러 Subagent가 동시에 실행됩니다 | 프롬프트는 순차적입니다; Harness는 병렬 프로세스를 스케줄링하고 결과를 수집합니다 |
| 7 | 세션 간 지속성 | 메모리 시스템과 설정 계층이 세션 간에 유지됩니다 | 프롬프트는 세션이 종료되면 사라집니다 |
| 8 | 모듈식 시스템 프롬프트 | CLI가 조건부로 110개 이상의 시스템 프롬프트 조각을 로드합니다 | 사용자는 내부 CLI 프롬프트 조각을 직접 작성하거나 교체할 수 없습니다 |
| 9 | Skill 사전 로딩 | skills: 필드가 Subagent의 초기 컨텍스트에 전체 콘텐츠를 주입합니다 | Harness 로더만이 다른 Agent의 컨텍스트를 미리 채울 수 있습니다 |
| 10 | 권한 분류기 | 자동 모드가 백그라운드 분류기를 사용하여 도구 호출을 사전 승인하거나 차단합니다 | 프롬프트는 자체적으로 실행 전 안전 계층을 추가할 수 없습니다 |
사용자 입력과 모델이 실제로 보는 것
User input: "Write a recursive flatten function" ← (a) ~6 tokens
What the model actually sees: ← (b) ~15,000 tokens
├── CLAUDE.md (Project specs)
├── Matched .claude/rules/*.md (paths trigger)
├── Modular system prompt fragments (110+)
├── Tool definitions
├── Environment context (cwd, git status, platform)
├── Previous conversation turns
├── Files read via Read/Grep
└── User's 6-token request
출력 품질은 (a)가 아닌 (b)에 달려 있습니다. Harness가 (b)를 구축합니다. "강력한 프롬프트"는 (b)를 재현할 수 없는데, 그 대부분이 사용자가 작성한 것이 아니기 때문입니다.
하위 에이전트
5가지 내장 유형
| 유형 | 모델 | 도구 | 사용 사례 |
|---|---|---|---|
general-purpose | inherit | 모든 도구 | 기본 에이전트, 일반 작업 처리 |
Explore | haiku | 읽기 전용 (Read/Grep/Glob 등) | 빠른 코드 검색 및 탐색 |
Plan | inherit | 읽기 전용 | 아키텍처 연구 및 솔루션 설계 |
statusline-setup | sonnet | 읽기 + 편집 | 상태 표시줄 설정 구성 |
claude-code-guide | haiku | Glob/Grep/Read/WebFetch/WebSearch | Claude Code 관련 질문 답변 |
사용자 정의 에이전트 프론트매터 (16개 필드)
16개 필드 모두 펼치기
| 필드 | 설명 |
|---|---|
name | 에이전트 식별자 |
description | 트리거 조건 ("PROACTIVELY" = 자동) |
tools | 허용된 도구 (쉼표로 구분) |
disallowedTools | 허용되지 않은 도구 |
model | haiku/sonnet/opus/inherit |
permissionMode | acceptEdits/plan/bypassPermissions |
maxTurns | 최대 턴 수 |
skills | 사전 로드된 스킬 목록 |
mcpServers | MCP 서버 |
hooks | 수명 주기 훅 |
memory | user/project/local |
background | 백그라운드에서 실행 |
effort | 추론 노력 |
isolation | "worktree" Git 격리 |
color | CLI 색상 |
명령어 시스템 (82개 내장)
Claude Code에는 11개 카테고리로 구성된 82개의 내장 슬래시 명령어가 있습니다. 사용자 정의 명령어는 .claude/commands/*.md에 추가할 수 있습니다.
| 카테고리 | 개수 | 주요 명령어 |
|---|---|---|
| Auth | 5 | /login /logout /setup-bedrock /setup-vertex /upgrade |
| Config | 15 | /config /theme /permissions /sandbox /statusline /tui /voice /focus /color /keybindings /privacy-settings /radio /scroll-speed /stickers /terminal-setup |
| Context | 7 | /context /usage /cost /stats /insights /status /usage-credits |
| Debug | 7 | /doctor /feedback /heapdump /help /powerup /release-notes /tasks |
| Export | 2 | /copy /export |
| Extensions | 9 | /agents /chrome /hooks /ide /mcp /plugin /reload-plugins /reload-skills /skills |
| Memory | 1 | /memory |
| Model | 6 | /model /effort /fast /plan /ultraplan /passes |
| Project | 7 | /add-dir /diff /init /review /security-review /team-onboarding /ultrareview |
| Remote | 10 | /remote-control /teleport /desktop /mobile /schedule /autofix-pr /install-github-app /install-slack-app /remote-env /web-setup |
| Session | 13 | /clear /compact /resume /rewind /branch /goal /background /btw /rename /recap /stop /workflows /exit |
세부 정보가 포함된 82개 전체 명령어 보기
Auth (5)
| 명령어 | 설명 |
|---|---|
/login | Anthropic 계정에 로그인 |
/logout | 로그아웃 |
/setup-bedrock | Amazon Bedrock 인증 구성(CLAUDE_CODE_USE_BEDROCK=1 필요) |
/setup-vertex | Google Vertex AI 인증 구성(CLAUDE_CODE_USE_VERTEX=1 필요) |
/upgrade | 상위 플랜으로 업그레이드 |
Config (15)
| 명령어 | 설명 |
|---|---|
/config | 설정 UI 열기(별칭 /settings) |
/theme | 색상 테마 전환, 사용자 정의 및 색맹 모드 지원 |
/permissions | 도구 권한 허용/확인/거부 규칙 관리(별칭 /allowed-tools) |
/sandbox | 샌드박스 모드 전환 |
/statusline | 상태 표시줄 구성 |
/tui | 터미널 렌더링 모드 전환(default 또는 fullscreen) |
/voice | 음성 입력(누르고 있기/탭/끄기) |
/focus | 포커스 보기 전환, 마지막 프롬프트와 응답만 표시 |
/color | 프롬프트 바 색상 설정 |
/keybindings | 키 바인딩 구성 파일 열기 |
/privacy-settings | 개인정보 설정(Pro/Max) |
/radio | Claude FM lo-fi 라디오 열기 |
/scroll-speed | 스크롤 속도 조정 |
/stickers | Claude Code 스티커 주문 |
/terminal-setup | 터미널 단축키 구성(Shift+Enter 등) |
Context (7)
| 명령어 | 설명 |
|---|---|
/context | 현재 컨텍스트 사용량 시각화 |
/usage | 세션 비용 및 사용량 통계(별칭 /cost, /stats) |
/insights | 세션 분석 보고서 생성 |
/status | 버전, 모델, 연결 상태 확인 |
/usage-credits | 초과 사용 크레딧 구성 |
Debug (7)
| 명령어 | 설명 |
|---|---|
/doctor | 설치 및 구성 문제 진단 |
/feedback | 피드백 제출 또는 버그 보고(별칭 /bug, /share) |
/heapdump | 힙 메모리 스냅샷 생성 |
/help | 도움말 표시 |
/powerup | 인터랙티브 강좌, 10개의 파워업 |
/release-notes | 인터랙티브 버전 선택기로 변경 로그 보기 |
/tasks | 백그라운드 작업 관리(별칭 /bashes) |
Export (2)
| 명령어 | 설명 |
|---|---|
/copy | 마지막 응답을 클립보드에 복사, 가능한 경우 코드 블록 선택기 사용 |
/export | 대화를 일반 텍스트로 내보내기 |
Extensions (9)
| 명령어 | 설명 |
|---|---|
/agents | 에이전트 구성 관리 |
/chrome | Chrome에서 Claude 구성 |
/hooks | 훅 구성 보기 |
/ide | IDE 통합 관리 |
/mcp | MCP 서버 관리 |
/plugin | 플러그인 관리 |
/reload-plugins | 모든 플러그인 새로고침 |
/reload-skills | 스킬 디렉토리 새로고침 |
/skills | 사용 가능한 스킬 나열 |
Memory (1)
| 명령어 | 설명 |
|---|---|
/memory | CLAUDE.md 편집, 자동 메모리 전환 |
Model (6)
| 명령어 | 설명 |
|---|---|
/model | 모델 전환, 화살표 키로 노력도 조절 |
/effort | 추론 노력도 설정(low/medium/high/xhigh/max/ultracode) |
/fast | 빠른 모드 전환 |
/plan | 계획 모드 진입 |
/ultraplan | 브라우저에서 계획 초안 작성 및 검토 |
/passes | 무료 사용 주간 공유 |
Project (7)
| 명령어 | 설명 |
|---|---|
/add-dir | 작업 디렉토리 추가 |
/diff | 턴별 탐색이 가능한 인터랙티브 diff 뷰어 |
/init | CLAUDE.md 초기화(인터랙티브 모드는 CLAUDE_CODE_NEW_INIT=1 설정) |
/review | 로컬 PR 검토 |
/security-review | 스테이지된 변경 사항에 대한 보안 검토 |
/team-onboarding | 사용 기록을 기반으로 팀 온보딩 가이드 생성 |
/ultrareview | 클라우드 기반 심층 다중 에이전트 PR 검토 |
Remote (10)
| 명령어 | 설명 |
|---|---|
/remote-control | claude.ai에서 원격 제어 허용(별칭 /rc) |
/teleport | 웹 세션을 터미널로 가져오기(별칭 /tp) |
/desktop | 데스크톱 앱에서 계속(별칭 /app) |
/mobile | 모바일 앱 다운로드(별칭 /ios, /android) |
/schedule | 예약 작업 생성(별칭 /routines) |
/autofix-pr | PR 모니터링 및 CI 실패 자동 수정 |
/install-github-app | GitHub Actions 앱 설치 |
/install-slack-app | Slack 앱 설치 |
/remote-env | 웹 세션의 기본 원격 환경 구성 |
/web-setup | 웹에서 GitHub를 Claude Code에 연결 |
Session (13)
| 명령어 | 설명 |
|---|---|
/clear | 새 대화(별칭 /reset, /new) |
/compact | 컨텍스트 압축(선택적 초점 명령) |
/resume | 이전 세션 이어서 진행(별칭 /continue) |
/rewind | 이전 상태로 되돌리기(별칭 /undo, /checkpoint) |
/branch | 세션 분기 생성(별칭 /fork) |
/goal | 지속적인 목표 조건 설정 |
/background | 백그라운드로 전환(별칭 /bg) |
/btw | 대화에 추가하지 않고 부가적인 질문하기 |
/rename | 세션 이름 변경 |
/recap | 세션 요약 생성 |
/stop | 백그라운드 세션 중지 |
/workflows | 워크플로우 보기, 일시정지, 재개 |
/exit | 종료(별칭 /quit) |
사용자 정의 명령어:
.claude/commands/*.md에 배치하며, 16개의 프론트매터 필드(name, description, argument-hint, arguments, context 등)를 지원합니다. 동적 컨텍스트 주입을 위해 “!`command```를 사용하세요.
오케스트레이션 패턴

Weather Reporter 전체 오케스트레이션 흐름 애니메이션
User: /weather-orchestrator
│
▼
┌──────────────────────────┐
│ weather-orchestrator │ ← Command (entry point)
│ 1. Ask temperature unit C/F │
│ 2. Call weather-agent │
│ 3. Call svg-creator │
└──────┬───────────────────┘
▼
┌──────────────────────────┐
│ weather-agent │ ← Agent
│ preload: weather-fetcher │ ← Skill (preloaded)
└──────┬───────────────────┘
▼
┌──────────────────────────┐
│ weather-svg-creator │ ← Skill (invoked)
│ output: weather.svg │
└──────────────────────────┘작업 시스템
Claude Code의 내장 작업 추적 시스템은 생성, 조회, 업데이트 및 종속성 관리를 지원합니다. 서브에이전트 및 스킬과 함께 작동합니다.
4가지 핵심 도구
| 도구 | 기능 | 주요 매개변수 |
|---|---|---|
TaskCreate | 작업 생성 | subject, description, addBlocks, addBlockedBy |
TaskList | 모든 작업 나열 | (no params) |
TaskGet | 작업 세부 정보 가져오기 | taskId |
TaskUpdate | 작업 상태 업데이트 | taskId, status, subject, description, addBlocks, addBlockedBy |
작업 수명 주기
pending → in_progress → completed
↘ deleted종속성
addBlocks— “이 작업이 완료될 때까지 지정된 작업을 시작할 수 없음”을 표시합니다addBlockedBy— “이 작업은 지정된 작업이 완료될 때까지 대기해야 함”을 표시합니다- 실행 순서를 보장하는 **DAG(방향성 비순환 그래프)**를 형성합니다
환경 변수:
CLAUDE_CODE_TASK_LIST_ID는 현재 작업 목록을 식별하며, 파일은~/.claude/tasks/에 저장됩니다.
스킬 및 훅
재사용 가능한 명령어 팩 + 수명 주기 이벤트 자동화 스크립트
스킬 시스템
핵심 통찰: 스킬은 폴더입니다 (단순한 마크다운 파일이 아님). 스크립트, 데이터, 리소스, 구성 템플릿 등 에이전트가 검색, 읽기 및 조작할 수 있는 모든 것을 포함할 수 있습니다.
SKILL.md는 진입점이지만 전체는 아닙니다. 실제 예제는 오케스트레이션을 참조하세요.
스킬은 자동 검색 및 트리거 기능과 함께 .claude/skills/<name>/SKILL.md에 있습니다. 세션이 시작되면 Claude는 사용 가능한 모든 스킬의 description 필드를 스캔하여 현재 작업과 일치시킵니다.
-
점진적 정보 로딩 — SKILL.md를 통해 폴더에 있는 파일을 Claude에 알려주면, 필요할 때만 세부 정보를 읽습니다. 모든 정보를 한 번에 로딩하여 컨텍스트를 낭비하는 것을 방지합니다.
-
설명은 모델을 위한 것 — description 필드는 요약이 아니라 트리거 조건 설명입니다. “이 스킬을 언제 사용해야 하는지”를 명확하게 작성하면 Claude가 그에 따라 자동 매칭합니다.
9가지 구성 패턴
| 유형 | 트리거 | 사용 사례 |
|---|---|---|
| Slash | 사용자가 /name 입력 | 일반 작업 |
| Auto | Claude가 자동 매칭 | 설명에 의한 자동 트리거 |
| Path | 일치하는 파일을 조작할 때 | paths: "*.tsx" |
| Fork | 서브에이전트 격리 | context: fork |
| Args | 인수를 사용하여 호출 | arguments: filename |
| Disabled | 자동 트리거 없음 | disable-model-invocation: true |
| Hidden | 백그라운드 지식 전용 | user-invocable: false |
| Permitted | 활성화되어 있을 때 작동 | allowed-tools |
| Model | 지정된 모델로 실행 | model: haiku |
2가지 로딩 모드
-
사전 로딩 모드 (에이전트 스킬) — 에이전트의
skills:필드를 통해 로딩됩니다. 에이전트 시작 시 자동으로 주입됩니다. -
호출 모드 (실행된 스킬) — 스킬 도구 또는
/skill-name을 통해 트리거됩니다. Claude가 자동으로 매칭하여 호출할 수도 있습니다.
9가지 사용 카테고리
수백 개의 내부 Anthropic 스킬에서 추출(Thariq, 2026.03). 좋은 스킬은 하나의 카테고리에 속합니다. 여러 카테고리에 걸친 스킬은 일반적으로 분할해야 합니다.
| # | 유형 | 설명 | 일반적인 예시 |
|---|---|---|---|
| 1 | 라이브러리 & API 참조 | 코드 스니펫과 일반적인 실수를 포함하여 Claude가 특정 라이브러리/CLI/SDK를 올바르게 사용하도록 가르칩니다 | billing-lib, frontend-design |
| 2 | 제품 검증 | 코드 정확성을 테스트/검증하는 방법을 설명합니다. 주로 Playwright, tmux를 사용합니다 | signup-flow-driver, checkout-verifier |
| 3 | 데이터 가져오기 및 분석 | 자격 증명, 대시보드 ID, 쿼리 템플릿을 사용하여 데이터/모니터링 스택에 연결합니다 | funnel-query, grafana |
| 4 | 비즈니스 프로세스 | 반복적인 워크플로를 단일 명령으로 자동화합니다. 지속적인 로그는 모델의 일관성을 유지하는 데 도움이 됩니다 | standup-post, weekly-recap |
| 5 | 코드 스캐폴딩 | 프레임워크 스캐폴딩을 생성하여 순수 코드로는 처리할 수 없는 자연어 요구 사항을 다룹니다 | new-migration, create-app |
| 6 | 코드 품질 및 리뷰 | 코드 표준 및 리뷰를 강제합니다. Hooks 또는 GitHub Actions를 통해 자동 실행할 수 있습니다 | adversarial-review, code-style |
| 7 | CI/CD 및 배포 | 코드를 풀, 푸시, 배포합니다. 데이터 수집을 위해 다른 스킬을 참조할 수 있습니다 | babysit-pr, deploy-service |
| 8 | 런북 | 증상 수신 → 다중 도구 조사 → 구조화된 보고서 | service-debugging, oncall-runner |
| 9 | 인프라 운영 | 운영 작업(일부 파괴적 작업 포함). 가드레일이 필요합니다 | resource-orphans, cost-investigation |
9가지 스킬 설계 팁 (Thariq)
- 자명한 내용은 생략하세요 — Claude는 이미 많은 것을 알고 있습니다. 기본 동작을 변경하는 정보에 집중하세요
- 주의사항(Gotchas) 섹션을 만드세요 — 가장 중요한 정보로, 일반적인 실패 지점에서 축적됩니다
- 점진적 로딩에 파일 시스템을 활용하세요 — Claude에게 폴더의 내용을 알려주면, 필요할 때 읽어옵니다
- 경로를 강제하지 마세요 — 단계가 아닌 목표와 제약 조건을 제공하세요
- 설정(Setup)을 고민하세요 — 설정에는
config.json을 사용하고, 설정되지 않은 경우 Claude가 AskUserQuestion을 통해 질문하도록 하세요 - 설명은 모델을 위한 것입니다 — "무엇을 해야 하는지"가 아닌 "언제 트리거할지"를 작성하세요
- 복잡한 흐름에는 에이전트 스킬을 사용하세요 — Agent에 사전 로드하여 격리된 컨텍스트에서 실행합니다
- 스킬은 다른 스킬을 참조할 수 있습니다 — 단, 순환 종속성은 피하세요
- 지속적으로 반복하세요 — 실패 사례에서 주의사항(Gotchas)을 추출하여 스킬을 업데이트하세요
16가지 프론트매터 필드
전체 목록 보기
| 필드 | 유형 | 설명 |
|---|---|---|
name | string | 표시 이름 및 /slash 식별자 |
description | string | 기능 설명(자동 검색용) |
when_to_use | string | 트리거 문구 및 예시 |
argument-hint | string | 자동완성 힌트 |
arguments | string/list | 위치 인수 $name 대체 |
disable-model-invocation | bool | 자동 호출 차단 |
user-invocable | bool | false = / 메뉴에서 숨기기 |
allowed-tools | string | 자동 승인된 도구 |
disallowed-tools | string/list | 제거된 도구 |
model | string | haiku/sonnet/opus |
effort | string | low/medium/high/max |
context | string | fork = 격리된 실행 |
agent | string | subagent 유형 |
hooks | object | 수명 주기 훅 |
paths | string/list | Glob 활성화 범위 |
shell | string | bash/powershell |
10가지 내장 스킬
| # | 스킬 | 설명 |
|---|---|---|
| 1 | code-review | 정확성 버그에 대한 diff 검토 |
| 2 | batch | 파일 간 배치 작업 |
| 3 | debug | 실패한 명령 디버깅 |
| 4 | loop | 예약 루프(최대 3일) |
| 5 | claude-api | Claude API 애플리케이션 빌드 |
| 6 | fewer-permission-prompts | 권한 프롬프트 감소 |
| 7 | run | 구동형 앱 실행(≥v2.1.145) |
| 8 | verify | 빌드 검증 변경(≥v2.1.145) |
| 9 | run-skill-generator | /run에 프로젝트 시작 방법 학습 |
| 10 | simplify | 코드 단순화(4개의 병렬 에이전트) |
훅 시스템
라이프사이클 이벤트 기반 자동화 스크립트입니다. .claude/settings.json 또는 에이전트 프론트매터에서 구성합니다.
4가지 훅 유형
| 유형 | 설명 | 사용 사례 |
|---|---|---|
command | 셸 명령 실행 (가장 일반적) | 알림, 코드 포매팅, 린트 |
prompt | 컨텍스트에 프롬프트 텍스트 삽입 | 동적 규칙 로딩, 조건부 알림 |
agent | 하위 에이전트 실행 트리거 (멀티턴) | 모델 개입이 필요한 복잡한 자동화 |
http | HTTP 요청 전송 (≥v2.1.63) | 외부 시스템 알림, 웹훅 |
에이전트 프론트매터 제한 사항: 에이전트에서는 6개의 훅 이벤트만 사용할 수 있습니다:
PreToolUse,PostToolUse,PostToolUseFailure,PermissionRequest,Stop,SubagentStop. 나머지 21개 이벤트는 메인 세션에서만 사용할 수 있습니다.
27개 라이프사이클 이벤트
기능별로 그룹화됩니다. 모든 이벤트는 async 및 timeout 옵션을 지원합니다.
| 그룹 | 이벤트 | 트리거 |
|---|---|---|
| 도구 호출 | PreToolUse | 도구 호출 전 (가로채기 가능) |
PostToolUse | 성공적인 도구 호출 후 | |
PostToolUseFailure | 실패한 도구 호출 후 | |
PermissionRequest | 사용자 권한 요청 시 | |
| 세션 | SessionStart | 세션 시작 또는 재개 시 |
SessionEnd | 세션 종료 시 | |
Setup | /setup 실행으로 프로젝트 초기화 시 | |
| 사용자 상호작용 | UserPromptSubmit | 사용자가 프롬프트를 제출할 때 |
Notification | 알림 이벤트 | |
Stop | Claude가 생성을 중지할 때 | |
| 하위 에이전트 | SubagentStart | 하위 에이전트가 시작될 때 |
SubagentStop | 하위 에이전트가 완료될 때 | |
| 컨텍스트 | PreCompact | 컨텍스트 압축 전 |
PostCompact | 컨텍스트 압축 후 | |
| 에이전트 팀 | TeammateIdle | 팀원 에이전트가 유휴 상태일 때 (실험적) |
TaskCreated | 작업이 생성될 때 (실험적) | |
TaskCompleted | 백그라운드 작업이 완료될 때 (실험적) | |
| 환경 | ConfigChange | 구성 파일이 변경될 때 |
WorktreeCreate | Worktree가 생성될 때 | |
WorktreeRemove | Worktree가 제거될 때 | |
InstructionsLoaded | CLAUDE.md / 규칙이 로드될 때 | |
| MCP 및 권한 | Elicitation | MCP가 사용자 입력을 요청할 때 |
ElicitationResult | 사용자가 MCP 요청에 응답한 후 | |
StopFailure | API 오류로 인해 턴이 종료될 때 | |
CwdChanged | 작업 디렉터리가 변경될 때 | |
FileChanged | 모니터링된 파일이 변경될 때 (matcher 필요) | |
PermissionDenied | 자동 모드에서 도구 호출이 거부된 후 (재시도 가능) |
구성 예시
훅은 설정에서 구성하거나, 필요에 따라 스킬 프론트매터를 통해 활성화합니다.
{
"hooks": {
"Stop": [{
"type": "command",
"command": "python3 .claude/hooks/scripts/hooks.py --event Stop"
}],
"PostToolUse": [{
"type": "command",
"command": "python3 .claude/hooks/scripts/hooks.py --event PostToolUse"
}]
}
}고급 도구 활용
Prompt-to-Code (PTC) — 패러다임 전환
시스템 프롬프트에 지시사항을 쑤셔 넣는 대신, PTC는 이를 샌드박스에서 실행되는 실행 가능한 코드 규칙으로 컴파일합니다. 결과: 더 짧은 프롬프트, 더 정밀한 추론, ~37% 토큰 절약.
| 비교 항목 | 전통적 프롬프트 | PTC 모드 |
|---|---|---|
| 지시사항 형식 | 자연어 프롬프트 | 코드 규칙 + allowed_callers |
| 실행 방식 | 모델이 라인별로 해석 | 샌드박스 코드 실행, 결과 반환 |
| 토큰 비용 | 높음 (매번 전체 프롬프트 전송) | 낮음 (코드 + 반환값) |
| 결정론성 | 낮음 (해석이 달라질 수 있음) | 높음 (명시적 코드 로직) |
PTC 구성 예시
{
"type": "code_execution_20250825",
"name": "data_processor",
"allowed_callers": ["code_execution_20250825"],
"input_schema": {
"type": "object",
"properties": {
"task": { "type": "string" }
}
}
}
PTC 고급 패턴
-
배치 처리 — 단일 PTC 호출로 여러 레코드를 순회하여 도구 호출 횟수를 줄입니다. 배치 번역, 분류 등에 이상적입니다.
-
조기 종료 — 코드에 조건 검사를 추가하여 임계값 충족 시 즉시
return합니다. 불필요한 연산을 방지합니다. -
조건부 분기 — 각각에 대해 별도의 도구를 정의하는 대신 입력 유형에 따라 다른 처리 분기를 동적으로 선택합니다.
PTC 제약사항
| 제한 사항 | 설명 |
|---|---|
| 플랫폼 지원 | Bedrock / Vertex 미지원, API 직접 연결만 지원 |
| 도구 유형 | MCP 도구 불가, API 네이티브 도구만 지원 |
| 컨테이너 수명 | ~4.5분 타임아웃 |
| 모델 요구사항 | Opus 4.5+ 또는 Sonnet 4.5+ |
동적 도구 필터링
Web Search / Web Fetch 결과가 원본 그대로 주입되는 대신 코드에 의해 사전 처리됩니다. 베타 헤더 anthropic-beta: code-execution-web-tools-2026-02-09가 필요합니다.
| 벤치마크 | 모델 | 필터 없음 | 필터 적용 | 향상도 |
|---|---|---|---|---|
| BrowseComp | Sonnet | 33.3% | 46.6% | +13.3pp |
| Opus | 45.3% | 61.6% | +16.3pp | |
| DeepsearchQA | Sonnet | 52.6% | 59.4% | +6.8pp |
| Opus | 69.8% | 77.3% | +7.5pp |
도구 검색
자주 사용하지 않는 도구에 defer_loading: true를 표시하면 모델이 필요할 때 검색하여 로드하며, 도구 정의를 ~85% 줄여줍니다.
// Tool definitionsExample
{
"name": "specialized_analyzer",
"defer_loading": true,
"description": "..."
}
// Claude Code environment variable
ENABLE_TOOL_SEARCH=auto:5 // Keep 5 common tools, defer the rest도구 사용 예시
도구 정의에 실제 데이터 샘플이 포함된 input_examples 배열(1-5개 항목)을 추가하세요. 모델 호출 정확도가 72%에서 90%로 향상됩니다.
{
"name": "query_database",
"input_examples": [
{ "sql": "SELECT * FROM users WHERE active = true LIMIT 10" },
{ "sql": "SELECT COUNT(*) FROM orders WHERE date > '2026-01-01'" }
]
}Claude Code에서의 가용성
| 기능 | Claude Code CLI | API / SDK |
|---|---|---|
| 도구 검색 | ✅ 내장 (v2.1.7+) | ✅ 수동 구성 |
| 도구 사용 예시 | ✅ CLAUDE.md에서 구성 | ✅ 도구 정의에서 구성 |
| PTC | ❌ CLI에서는 해당 없음 | ✅ API 수준 기능 |
| 동적 필터링 | ❌ CLI에서는 해당 없음 | ✅ API 수준 기능 |
CLI 사용자 우선사항: CLAUDE.md에서 먼저 도구 사용 예시와 도구 검색을 구성하세요 (
ENABLE_TOOL_SEARCH=auto:5). 이 기능들이 CLI 사용자에게 가장 큰 이점을 제공합니다. PTC와 동적 필터링은 주로 SDK/API 심층 연동 시나리오를 위한 것입니다.
설정 및 메모리 시스템
5단계 설정 우선순위 · CLAUDE.md 사양 · 자동 메모리 · MCP 확장
설정 5단계 우선순위
| 우선순위 | 소스 | 범위 | 공유 |
|---|---|---|---|
| 1 (최고) | 관리형 설정 | 조직 | IT 배포 |
| 2 | CLI 인수 | 단일 세션 | 아니요 |
| 3 | .claude/settings.local.json | 프로젝트 개인 | git-ignored |
| 4 | .claude/settings.json | 프로젝트 팀 | 커밋됨 |
| 5 (최저) | ~/.claude/settings.json | 전역 | 아니요 |
관리형 설정 전달 방법
| 방법 | 플랫폼 |
|---|---|
| 서버 관리형 | 원격 푸시 |
| MDM 프로파일 | macOS com.anthropic.claudecode |
| 레지스트리 정책 | Windows HKLM\SOFTWARE\Policies\ClaudeCode |
| managed-settings.json | macOS /Library/Application Support/ClaudeCode/ |
| 드롭인 디렉토리 | managed-settings.d/*.json 알파벳순 병합 |
핵심 설정
80개 이상의 설정 전체 목록 (클릭하여 펼치기)
| 카테고리 | 키 | 기본값 | 설명 |
|---|---|---|---|
| 모델 | model | default | 기본 모델 별칭 또는 전체 ID |
| 모델 | agent | - | 기본 에이전트 이름 |
| 모델 | effortLevel | - | 추론 노력: low/medium/high/xhigh |
| 모델 | modelOverrides | - | 모델 ID 매핑 (Bedrock/Vertex) |
| 모델 | availableModels | - | 사용 가능한 모델 목록 제한 |
| 언어 | language | english | 응답 언어 |
| 언어 | alwaysThinkingEnabled | false | 기본적으로 확장 사고 활성화 |
| 유지관리 | cleanupPeriodDays | 30 | 세션 정리 기간 (일) |
| 업데이트 | autoUpdatesChannel | latest | stable/latest |
| 계획 | plansDirectory | ~/.claude/plans | 계획 파일 저장 디렉토리 |
| 메모리 | autoMemoryEnabled | true | 자동 메모리 활성화 |
| 메모리 | autoMemoryDirectory | - | 사용자 정의 메모리 디렉토리 |
| 메모리 | claudeMdExcludes | - | CLAUDE.md 파일 제외 글로브 패턴 |
| 디스플레이 | statusLine | - | 사용자 정의 상태 표시줄 |
| 디스플레이 | outputStyle | default | 출력 스타일 |
| 디스플레이 | editorMode | normal | normal/vim |
| 디스플레이 | viewMode | - | default/verbose/focus |
| 디스플레이 | tui | default | fullscreen/default 렌더링 모드 |
| 디스플레이 | prefersReducedMotion | false | 애니메이션 줄이기 |
| 워크트리 | worktree.symlinkDirectories | [] | 심볼릭 링크 디렉토리 |
| 워크트리 | worktree.sparsePaths | [] | 희소 체크아웃 경로 |
| 워크트리 | worktree.baseRef | fresh | fresh/head 브랜치 소스 |
| 속성 | attribution.commit | Co-authored-by | Git 커밋 속성 |
| 속성 | attribution.pr | Generated | PR 설명 속성 |
| 팀 | teammateMode | auto | auto/in-process/tmux |
| 샌드박스 | sandbox.enabled | false | Bash 샌드박스 활성화 |
| 샌드박스 | sandbox.autoAllowBashIfSandboxed | true | 샌드박스 내에서 자동 승인 |
| 샌드박스 | sandbox.network.allowedDomains | [] | 네트워크 도메인 허용 목록 |
| 샌드박스 | sandbox.customExecutable | - | 사용자 정의 샌드박스 실행 파일 |
| 샌드박스 | sandbox.profileName | - | 샌드박스 프로필 이름 |
| 플러그인 | allowedPlugins | [] | 플러그인 허용 목록 |
| 플러그인 | deniedPlugins | [] | 플러그인 차단 목록 |
| 플러그인 | pluginRegistry | - | 사용자 정의 플러그인 레지스트리 URL |
| 플러그인 | pluginInstallDir | - | 플러그인 설치 디렉토리 |
| 플러그인 | pluginWorkingDir | - | 플러그인 작업 디렉토리 |
| 플러그인 | enableAllProjectMcpServers | false | 프로젝트 수준 MCP 자동 활성화 |
| 디스플레이 | statusLine.enabled | true | 상태 표시줄 활성화 |
| 디스플레이 | statusLine.fontSize | - | 상태 표시줄 글꼴 크기 |
| 디스플레이 | statusLine.theme | - | 상태 표시줄 테마 재정의 |
| 속성 | attribution.hideFromGitLog | false | git 로그에서 속성 숨기기 |
| 속성 | attribution.hideFromPrDescription | false | PR 설명에서 속성 숨기기 |
| 핵심 | verbose | false | 상세 출력 모드 |
| 핵심 | maxTurns | - | 최대 대화 턴 수 |
| 핵심 | disallowedTools | [] | 전역적으로 비활성화된 도구 목록 |
| 핵심 | allowedTools | [] | 사전 승인된 도구 목록 |
| 핵심 | hooks | {} | 수명 주기 훅 설정 |
| 핵심 | mcpServers | {} | MCP 서버 설정 |
| 핵심 | env | {} | 환경 변수 주입 |
| 핵심 | includeContext | [] | 추가 컨텍스트 파일 |
| 핵심 | permissions | {} | 권한 재정의 설정 |
| 핵심 | forceLoadSkills | [] | 강제 스킬 로딩 |
| 핵심 | minimumVersion | - | 이 버전 미만으로 자동 업데이트 다운그레이드 방지 |
| 핵심 | defaultShell | bash | 기본 셸 (bash / powershell) |
| 핵심 | includeGitInstructions | true | 시스템 프롬프트에 커밋/PR 워크플로 지침 포함 |
| 핵심 | fastModePerSessionOptIn | false | 세션별 수동 빠른 모드 활성화 필요 |
| 핵심 | apiKeyHelper | - | 인증 토큰을 출력하는 셸 스크립트 경로 |
| 핵심 | claudeMd | - | (관리형 전용) 조직 수준 CLAUDE.md 지침 |
| 언어 | showThinkingSummaries | false | 확장 사고 요약 표시 |
| 언어 | voice | - | 음성 받아쓰기 설정 (enabled, mode, autoSubmit) |
| 스킬 | disableSkillShellExecution | false | 스킬 인라인 셸 실행 비활성화 |
| 스킬 | maxSkillDescriptionChars | 1536 | 스킬별 설명 + when_to_use 문자 제한 |
| 스킬 | skillListingBudgetFraction | 0.01 | 스킬 목록에 예약된 모델 컨텍스트 윈도우 비율 |
| 스킬 | skillOverrides | - | 스킬별 이름 가시성 재정의 |
| 기능 | disableAllHooks | - | 모든 훅 비활성화 (사용자 정의 상태 표시줄 포함) |
| 기능 | disableRemoteControl | false | 원격 제어 비활성화 |
| 기능 | disableAgentView | false | 백그라운드 에이전트 및 에이전트 뷰 비활성화 |
| 기능 | disableWorkflows | false | 동적 워크플로 비활성화 (/workflows) |
| 기능 | awaySummaryEnabled | true | 사용자 복귀 시 유휴 세션 요약 생성 |
| 디스플레이 | respectGitignore | true | 파일 선택기가 .gitignore 따름 |
| 디스플레이 | autoScrollEnabled | true | 전체 화면에서 대화 자동 스크롤 |
| 디스플레이 | showTurnDuration | true | 응답 후 턴 지속 시간 표시 |
| 디스플레이 | syntaxHighlightingDisabled | false | 코드 구문 강조 비활성화 |
| 디스플레이 | preferredNotifChannel | auto | 작업 완료 / 권한 프롬프트 알림 방법 |
| 디스플레이 | showClearContextOnPlanAccept | false | 계획 수락 시 "컨텍스트 지우기" 옵션 표시 |
| MCP | enabledMcpjsonServers | [] | MCP 서버 허용 목록 (이름별) |
| MCP | disabledMcpjsonServers | [] | MCP 서버 차단 목록 (이름별) |
| 샌드박스 | sandbox.failIfUnavailable | false | 샌드박스가 활성화되었으나 사용할 수 없는 경우 오류로 종료 |
| 샌드박스 | sandbox.excludedCommands | [] | 샌드박스 외부에서 실행할 명령 |
| 샌드박스 | sandbox.filesystem.allowWrite | [] | 샌드박스 내 추가 쓰기 가능 경로 |
| 샌드박스 | sandbox.filesystem.denyWrite | [] | 샌드박스 내 쓰기 거부 경로 |
| 샌드박스 | sandbox.filesystem.denyRead | [] | 샌드박스 내 읽기 거부 경로 |
| 워크트리 | worktree.bgIsolation | worktree | 백그라운드 세션 격리 모드 (worktree/none) |
| IDE | autoConnectIde | false | 외부 터미널에서 실행 중인 IDE에 자동 연결 |
| IDE | autoInstallIdeExtension | true | VS Code 터미널에서 확장 프로그램 자동 설치 |
| 기능 | workflowKeywordTriggerEnabled | true | "ultracode" 입력 시 동적 워크플로 트리거 여부 (v2.1.157) |
| 기능 | ultracode | - | (세션 전용) 각 작업에 대해 워크플로를 자동 생성하고 철저성 최대화 (v2.1.154) |
| 기능 | feedbackSurveyRate | - | 세션 품질 설문조사 확률 (0-1) |
| 핵심 | disableDeepLinkRegistration | - | claude-cli:// 프로토콜 핸들러 등록 방지 |
| 인증 | forceLoginMethod | - | 로그인 방법 제한: claudeai 또는 console |
| 인증 | forceLoginOrgUUID | - | 지정된 조직 UUID로 로그인 제한 |
| 인증 | apiKeyHelper | - | 인증 토큰을 출력하는 셸 스크립트 경로 |
| 인증 | gcpAuthRefresh | - | GCP ADC를 새로고침하는 사용자 정의 스크립트 |
| 플러그인 | strictPluginOnlyCustomization | - | (관리형) 스킬/에이전트/훅/MCP를 플러그인으로만 제한 |
| 플러그인 | strictKnownMarketplaces | - | (관리형) 허용된 마켓플레이스 허용 목록 |
| 플러그인 | blockedMarketplaces | - | (관리형) 차단된 마켓플레이스 차단 목록 |
| 플러그인 | enabledPlugins | - | 플러그인 이름별 활성화/비활성화 |
| 디스플레이 | spinnerTipsEnabled | true | 대기 중 팁 표시 |
| 디스플레이 | spinnerVerbs | - | 사용자 정의 스피너 동사 (mode + verbs 배열) |
| 디스플레이 | fileSuggestion | - | 사용자 정의 파일 제안 명령 |
| 디스플레이 | terminalProgressBarEnabled | true | 터미널 진행률 표시줄 활성화 |
| 속성 | prUrlTemplate | - | PR 링크 템플릿 (자체 호스팅 GitLab/Bitbucket 등) |
| 기능 | companyAnnouncements | - | 시작 시 사용자 정의 공지 표시 (무작위 순환) |
거부 규칙은 항상 최고 우선순위를 가집니다 — 어느 수준에서든 거부는 모든 허용 규칙을 재정의합니다. 배열 설정은 수준 간에 대체되지 않고 병합 및 중복 제거됩니다.
관리형 레이어 내부 우선순위
관리형 레이어 내에서 소스는 다음 순서로 사용됩니다 (단 하나의 소스만 사용, 교차 레이어 병합 없음):
| 우선순위 | 소스 |
|---|---|
| 1 | 서버 관리형 원격 푸시 |
| 2 | MDM 프로파일 / 레지스트리 정책 |
| 3 | managed-settings.d/*.json + managed-settings.json |
| 4 | HKCU 레지스트리 (Windows 전용) |
관리형 레이어 정책 키 (클릭하여 펼치기)
| 키 | 유형 | 설명 |
|---|---|---|
parentSettingsBehavior | string | SDK 부모 프로세스 관리형 설정이 MDM 레이어와 상호 작용하는 방식을 제어합니다. "first-wins"(기본값)은 부모를 무시하고, "merge"는 부모가 정책을 강화할 수 있지만 완화할 수는 없도록 허용합니다. v2.1.133 이상 필요 |
policyHelper | object | 관리형 설정을 동적으로 계산하는 실행 파일입니다. 형식 {path: string}, MDM 또는 시스템 managed-settings.json에서만 유효합니다. 각 시작 시 실행되어 관리형 레이어에 병합됩니다. v2.1.136 이상 필요 |
forceRemoteSettingsRefresh | boolean | 원격 관리형 설정 가져오기가 완료될 때까지 CLI 시작을 차단합니다. 실패 시 종료 (실패 시 폐쇄) |
wslInheritsWindowsSettings | boolean | WSL에서 Windows 정책 체인 읽기 (Windows 관리자가 설정해야 함) |
allowManagedPermissionRulesOnly | boolean | 관리형 권한 규칙만 적용됨, 사용자/프로젝트 허용/요청/거부 무시됨 |
allowManagedMcpServersOnly | boolean | 관리형 허용 목록의 MCP 서버만 허용 |
allowManagedHooksOnly | boolean | 관리형 레이어에 정의된 훅만 허용 |
v2.1.126 변경 사항:
/config는 이제 변경 사항을 메모리에만 보관하는 대신~/.claude/settings.json에 저장합니다. 대화형 설정 UI를 통한 편집은 재시작 후에도 유지됩니다.
권한 모드
설정의 permissions 키를 통해 구성합니다.
| 모드 | 설명 | 시나리오 |
|---|---|---|
default | 고위험 작업은 확인 필요 | 일상적인 개발 |
plan | 읽기 전용 탐색, 명시적 허용 규칙을 재정의 (v2.1.136) | 계획 단계 |
acceptEdits | 파일 편집 자동 허용. 빌드 도구 구성 파일에 대한 추가 프롬프트 (v2.1.160) | 신뢰할 수 있는 Claude |
dontAsk | 사전 승인된 항목 외에는 자동 거부 | 제한된 환경 |
auto | 백그라운드 안전 검사를 통해 자동 승인. 연속 3회 또는 누적 20회 차단 후 프롬프트로 대체 | 고효율 개발 (리서치 프리뷰) |
bypassPermissions | 모든 확인을 건너뜀. .claude/commands|agents|skills|worktrees/ 쓰기는 프롬프트에서 제외 | CI/CD 전용 |
도구 권한 구문
| 도구 | 구문 | 예시 |
|---|---|---|
| Bash | Bash(command pattern) | Bash(npm run *), Bash(git *) |
| Read | Read(path pattern) | Read(.env), Read(./src/**) |
| Edit | Edit(path pattern) | Edit(*.ts) |
| Write | Write(path pattern) | Write(*.md) |
| WebFetch | WebFetch(domain:*) | WebFetch(domain:example.com) |
| Agent | Agent(name) | Agent(Explore) |
| Skill | Skill(name) | Skill(weather-fetcher) |
| MCP | mcp__server__tool | mcp__memory__* |
경로 접두사
| 접두사 | 의미 | 예시 |
|---|---|---|
// | 절대 경로 | Read(//Users/alice/file) |
~/ | 홈 디렉토리 기준 상대 경로 | Read(~/.zshrc) |
/ | 프로젝트 루트 기준 상대 경로 | Edit(/src/**) |
| 접두사 없음 | 현재 디렉토리 | Read(*.ts) |
매칭 규칙
- 복합 명령어:
&&,||,;,|로 분리되며, 각 하위 명령어는 독립적으로 매칭됩니다.Bash(safe-cmd *)는safe-cmd && other-cmd를 포함하지 않습니다 - 와일드카드 위치:
*는 접두사, 접미사 또는 중간에 올 수 있습니다.Bash(* install)은npm install과 매칭됩니다;Bash(git * main)은git push main과 매칭됩니다 - 단어 경계:
Bash(ls *)(공백 포함)는lsof와 매칭되지 않습니다;Bash(ls*)(공백 없음)는 둘 다 매칭됩니다 - 심볼릭 링크: 허용하려면 심볼릭 링크와 대상 모두가 허용된 디렉토리에 있어야 합니다; 거부는 둘 중 하나라도 해당되면 트리거됩니다
- 프로세스 래퍼:
timeout,time,nice,nohup은 매칭 전에 제거됩니다.watch,find -exec는 항상 프롬프트를 표시합니다
전역 vs 프로젝트 설정
-
전역 ~/.claude/ —
settings.json전역 설정CLAUDE.md모든 프로젝트 지침 적합: 개인 설정, 일반 구성, 셸 별칭 -
프로젝트 .claude/ —
settings.json팀 공유 (커밋됨)settings.local.json개인 오버라이드 (git-ignored))CLAUDE.md프로젝트 지침agents/SubAgent 정의skills/스킬 정의commands/커스텀 명령어
6가지 설정 차원
| 차원 | 전역 | 프로젝트 |
|---|---|---|
| 설정 | ~/.claude/settings.json | .claude/settings.json + settings.local.json |
| 메모리 | ~/.claude/CLAUDE.md | 디렉토리별 CLAUDE.md + 자동 메모리 |
| MCP | ~/.claude/mcp.json | .mcp.json |
| 스킬 | ~/.claude/skills/ | .claude/skills/ |
| 에이전트 | ~/.claude/agents/ | .claude/agents/ |
| 훅 | hooks field in settings.json | hooks field in settings.json |
디렉토리 구조
~/.claude/ .claude/
├── settings.json ← Global settings ├── settings.json ← Team shared
├── settings.local.json ├── settings.local.json ← Personal override
├── CLAUDE.md ← Global instructions ├── CLAUDE.md ← Project instructions
├── mcp.json ← Global MCP ├── agents/ ← Subagent definitions
├── agents/ ← Global agents │ ├── reviewer.md
│ ├── explorer.md │ └── coder.md
│ └── researcher.md ├── skills/ ← Skill definitions
├── skills/ ← Global skills │ ├── lint-check/
│ └── deploy-check/ │ │ └── SKILL.md
├── commands/ ← Global commands │ └── test-runner/
│ └── review.md │ └── SKILL.md
├── plans/ ← Plan files ├── commands/ ← Custom commands
├── tasks/ ← Task persistence │ └── commit.md
├── memory/ ← Auto memory ├── rules/ ← Conditional rules
└── plugins/ ← Plugin installs │ ├── tests.md
│ └── security.md
└── mcp.json ← Project MCP6가지 설계 원칙
| 원칙 | 설명 |
|---|---|
| 최소 놀라움 | 기본 동작이 직관적이며, 예상치 못한 설정이 최소화됨 |
| 계층적 오버라이드 | 상위 계층이 하위 계층을 오버라이드; 거부는 항상 최우선 |
| 점진적 공개 | 단순한 경우에는 설정이 필요 없음; 복잡한 경우에 확장 가능 |
| 팀 친화적 | 프로젝트 설정은 커밋 가능; 개인 설정은 git-ignored |
| 보안 우선 | 다중 계층 권한 보호, 샌드박스 실행 |
| 확장 가능 | MCP + 스킬 + 훅 — 세 가지 확장 차원 |
전역 전용 기능
allowedPlugins/deniedPlugins— 플러그인 허용/차단 목록managedSettings— IT 배포 조직 수준 설정autoUpdatesChannel— 업데이트 채널 제어cleanupPeriodDays— 세션 자동 정리pluginRegistry— 커스텀 플러그인 소스plansDirectory— 전역 계획 파일 디렉토리autoMemoryEnabled— 메모리 시스템 토글
CLAUDE.md 사양
CLAUDE.md는 Claude Code에서 가장 영향력 있는 구성입니다. 잘 구조화된 CLAUDE.md는 어떠한 설정 튜닝보다도 출력 품질을 더 크게 향상시킵니다.
4가지 저장 위치
| 파일 | 위치 | 로드 시점 | 목적 |
|---|---|---|---|
CLAUDE.md | 프로젝트 루트 | 시작 시 (상향 탐색) | 팀 공유 지침 |
CLAUDE.local.md | 프로젝트 루트 (git-ignored) | 시작 시 (상향 탐색) | 개인 기본 설정, 커밋되지 않음 |
~/.claude/CLAUDE.md | 사용자 홈 디렉토리 | 모든 세션 | 글로벌 개인 지침, 모든 프로젝트 |
.claude/rules/*.md | 프로젝트 rules/ | 프론트매터에 따라 다름 | 조건부 로드 규칙 |
.claude/rules/ 조건부 로딩
-
paths:프론트매터 포함 — **지연 로드(Lazy-loaded)**됩니다. 일치하는 경로에서 작업할 때만 로드됩니다. 프레임워크별 규칙에 이상적입니다. 예:paths: ["src/**/*.test.ts"]는 테스트 파일을 편집할 때만 로드됩니다. -
프론트매터 없음 — 모든 세션에서 로드되며 CLAUDE.md와 동일합니다. 프로젝트 전체 규칙에 가장 적합합니다.
작성 가이드라인
- 200줄 이하로 유지 — 이를 넘어가면 준수율이 떨어집니다
- **이유(WHY)**를 작성하고 내용(WHAT)은 쓰지 마세요 — 코드가 이미 내용을 설명하고 있습니다; 숨겨진 제약 조건, 미묘한 불변량, 특정 버그에 대한 해결 방법을 문서화하세요
- 부정 지침이 더 효과적입니다 — “패턴 X를 사용하지 마세요”가 “패턴 Y를 사용하세요”보다 더 명확합니다
- 코드가 이미 표현하고 있는 내용은 적지 마세요 — CLAUDE.md의 가치는 Claude를 기본 사고방식에서 벗어나게 하는 데 있습니다
- 코드 패턴, 아키텍처 스냅샷 또는 git 기록을 저장하지 마세요 — 이러한 것들은 코드에서 파생될 수 있습니다
- 프로젝트별 제약 조건을 포함하세요: 빌드 순서 종속성, 알려진 호환되지 않는 라이브러리 버전, 특수 배포 프로세스
claudeMdExcludes
claudeMdExcludes 설정을 사용하여 원하지 않는 CLAUDE.md 파일을 건너뛰세요:
{
"claudeMdExcludes": [
"**/vendor/**/CLAUDE.md",
"**/node_modules/**/CLAUDE.md"
]
}제외는 사용자, 프로젝트 및 로컬 메모리에만 적용됩니다. 관리형 정책 파일은 제외할 수 없습니다.
모노레포 로딩 메커니즘

모노레포에서의 CLAUDE.md 로딩 메커니즘 (Boris Cherny 원작)
-
상위 디렉토리 로딩 — 시작 시 상향으로 탐색하며 모든 CLAUDE.md 파일을 즉시 로드합니다. 즉시 로드
-
하위 디렉토리 로딩 — 하위 디렉토리의 CLAUDE.md 파일은 해당 디렉토리에서 작업할 때만 로드됩니다. 지연 로드
시나리오 비교
모노레포 구조: frontend/CLAUDE.md, backend/CLAUDE.md, api/CLAUDE.md, 루트 CLAUDE.md라고 가정합니다.
시나리오 1: 루트에서 시작 cd /mymonorepo && claude
| 파일 | 로드 여부 | 이유 |
|---|---|---|
루트 CLAUDE.md | ✓ 즉시 로드 | 현재 작업 디렉토리 |
frontend/CLAUDE.md | ✗ 지연 로드 | frontend/에서 작업할 때 로드 |
backend/CLAUDE.md | ✗ 지연 로드 | backend/에서 작업할 때 로드 |
api/CLAUDE.md | ✗ 지연 로드 | api/에서 작업할 때 로드 |
시나리오 2: 컴포넌트 디렉토리에서 시작 cd /mymonorepo/frontend && claude
| 파일 | 로드 여부 | 이유 |
|---|---|---|
루트 CLAUDE.md | ✓ 즉시 로드 | 상위 디렉토리, 상향 탐색 |
frontend/CLAUDE.md | ✓ 즉시 로드 | 현재 작업 디렉토리 |
backend/CLAUDE.md | ✗ 로드 안 됨 | 다른 브랜치의 형제 디렉토리 |
api/CLAUDE.md | ✗ 로드 안 됨 | 다른 브랜치의 형제 디렉토리 |
모범 사례: 공유 규칙은 루트
CLAUDE.md에, 컴포넌트별 지침은 해당 컴포넌트의CLAUDE.md에 작성하세요. 개인 기본 설정은CLAUDE.local.md(git-ignored)에 작성하세요.
자동 메모리
Claude Code의 자동 메모리 시스템은 세션 간에 정보를 유지합니다. 메모리 파일은 프로젝트 .claude/ 디렉토리 또는 전역 ~/.claude/에 저장되며, YAML frontmatter + Markdown 형식으로 구성됩니다.
4가지 메모리 유형
| 유형 | 내용 | 저장 시기 | 일반적인 파일 |
|---|---|---|---|
| user | 역할, 목표, 지식 배경 | 사용자에 대해 파악했을 때 | user_role.md |
| feedback | 선호도 및 수정 사항 | 사용자의 수정/확인 시 | feedback_testing.md |
| project | 프로젝트 진행 상황, 마일스톤 | 프로젝트 상태를 파악했을 때 | project_auth_rewrite.md |
| reference | 외부 시스템 참조 | 외부 리소스에 대해 파악했을 때 | ref_linear_ingest.md |
메모리 파일 구조
각 메모리는 YAML frontmatter를 사용하는 독립적인 Markdown 파일입니다:
---
name: feedback-testing
description: Testing preferences and corrections
metadata:
type: feedback
---
Integration tests must use a real database, not mocks.
**Why:** Last quarter a migration failed due to mock/production environment divergence.
[[testing-patterns]] ← link to related memoryMEMORY.md 인덱스
모든 메모리는 200줄 이하로 유지되는 MEMORY.md 인덱스 파일을 통해 관리됩니다. 줄당 인덱스 형식:
- [Title](filename.md) — one-line summary저장하지 않아야 할 항목
- 코드 패턴, 아키텍처, 파일 경로 — 코드에서 도출 가능
- Git 기록, 최근 변경 사항 —
git log가 권위 있는 소스 - 디버깅 솔루션 — 수정 사항은 코드에, 맥락은 커밋 메시지에 있음
- CLAUDE.md에 이미 포함된 내용
- 일시적인 작업 세부 정보 — 대신 Task 또는 Plan 사용
설정
| 키 | 기본값 | 설명 |
|---|---|---|
autoMemoryEnabled | true | 자동 메모리 활성화, /memory로 전환 |
autoMemoryDirectory | - | 사용자 지정 메모리 디렉토리 (전역/관리 레이어만 해당) |
에이전트 메모리 3가지 범위
서브에이전트를 통해 메모리는 에이전트 간에 지식을 유지할 수 있습니다.
| 범위 | 저장소 | 참고 |
|---|---|---|
user | ~/.claude/ | 전역, 모든 프로젝트에서 공유 |
project | .claude/ | 프로젝트 수준, 팀 공유 |
local | .claude/ (git-ignored) | 로컬, 개인용 |
MEMORY.md 인덱스 파일은 200줄 이하로 유지하세요.
MCP 서비스
일반 MCP 서비스
| MCP | 용도 | 설정 |
|---|---|---|
| Context7 | 최신 라이브러리 문서 | 자동 |
| Playwright | 브라우저 자동화 테스트 | npx @anthropic-ai/mcp-playwright |
| Chrome DevTools | 브라우저 디버깅 | Chrome 확장 프로그램 |
| DeepWiki | GitHub 리포지토리 문서 | 자동 |
| Excalidraw | 다이어그램 그리기 | 자동 |
MCP 설정 키
| 키 | 범위 | 설명 |
|---|---|---|
enableAllProjectMcpServers | 임의 | 모든 .mcp.json 서버 자동 승인 |
enabledMcpjsonServers | 임의 | 이름으로 허용 목록 지정 |
disabledMcpjsonServers | 임의 | 이름으로 거부 목록 지정 |
allowedMcpServers | 관리형 | 이름/명령어/URL 일치로 허용 목록 지정 |
deniedMcpServers | 관리형 | 일치 패턴으로 거부 목록 지정 |
allowManagedMcpServersOnly | 관리형 | 관리형 허용 목록의 MCP 서버만 허용 |
allowAllClaudeAiMcps | 관리형 | claude.ai 클라우드 MCP 커넥터 허용 |
channelsEnabled | 관리형 | 채널 메시지 푸시 허용 (Team/Enterprise) |
설정 예시
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-context7"]
},
"always-on-server": {
"type": "http",
"url": "https://mcp.example.com",
"alwaysLoad": true
}
}
}주요 기능
-
alwaysLoad (v2.1.121) — 서버 설정에
"alwaysLoad": true를 설정하면 지연 로딩(lazy discovery) 대신 모든 도구를 즉시 로드합니다. 매 턴마다 필요한 소규모 도구 세트에만 사용하세요. -
핫 리로드 (v2.1.139) —
/mcp재연결은 세션을 재시작하지 않고.mcp.json을 다시 읽습니다. 또한 stdio 서버 환경에CLAUDE_PROJECT_DIR을 주입합니다.
환경 변수 확장
.mcp.json에서 ${ENV_VAR} 구문을 사용하여 환경 변수를 참조하면 하드코딩된 시크릿을 피할 수 있습니다:
{
"mcpServers": {
"my-api": {
"url": "https://mcp.example.com/mcp?token=${MCP_API_TOKEN}"
}
}
}
workspace는 예약된 MCP 서버 이름입니다 (v2.1.128). 이 이름으로 사용자 정의 서버를 정의하면 경고와 함께 건너뜁니다.
OAuth 호환 서버는 인증을 자동으로 완료합니다(RFC 9728 준수). 수동으로
apiKeyHelper를 설정할 필요가 없습니다.
개발 워크플로우
RPI · CRISPY · 크로스 모델 · 에이전트 팀 · 자동화
RPI 워크플로우
Research(조사) → Plan(계획) → Implement(구현), 각 단계에는 검증 게이트가 있습니다. 서브에이전트를 통해 여러 에이전트 역할을 조정합니다.
Step 1: RESEARCH → RESEARCH.md (GO / NO-GO)
Step 2: PLAN → PLAN.md + pm.md + ux.md + eng.md
Step 3: IMPLEMENT → IMPLEMENT.md (phased, each phase has test gates) 8가지 에이전트 역할
| 에이전트 | 모델 | 책임 |
|---|---|---|
| requirement-parser | sonnet | 비정형 요구사항을 표준화된 형식으로 파싱합니다 (기능적/비기능적, 제약사항, 복잡도 추정) |
| product-manager | opus | 상위 수준의 요구사항을 PRD로 변환합니다 (사용자 스토리, 수용 기준, 성공 지표, 범위 정의) |
| senior-software-engineer | opus | TDD 우선 구현자: 작은 커밋, 명확한 경계, 되돌리기 가능, 관측 가능 |
| ux-designer | opus | UX 브리프 생성: 모든 상태 디자인 (로딩/빈 상태/에러/성공), 접근성 주석 |
| code-reviewer | opus | 코드 리뷰: 정확성, 보안, 종속성, 아키텍처 경계, NEEDS REVISION / APPROVED 출력 |
| technical-cto-advisor | opus | CTO 수준의 전략적 평가: 기술 스택 정합성, 위험 평가, 비즈니스 리스크 통합 |
| constitutional-validator | opus | 5차원 프레임워크 검증: 미션 정합성, 아키텍처 정합성, 지식 관리, 인간-AI 협업, 복잡도 적합성 |
| documentation-analyst-writer | opus | 프로젝트 표준에 따른 문서 산출물 (API, 아키텍처, 사용자 가이드), 셀프 체크 프로토콜 포함 |
3가지 명령어
| 명령어 | 매개변수 | 사용되는 에이전트 | 산출물 |
|---|---|---|---|
/rpi:research | <feature-slug> | requirement-parser → product-manager → Explore → senior-engineer → cto-advisor → doc-writer | RESEARCH.md (GO/NO-GO/CONDITIONAL/DEFER) |
/rpi:plan | <feature-slug> | product-manager → ux-designer → senior-engineer → doc-writer | pm.md + ux.md + eng.md + PLAN.md |
/rpi:implement | <feature-slug> [--phase N] | Explore → senior-engineer → code-reviewer (단계별 루프) | IMPLEMENT.md (PR 노트 포함) |
프로젝트 디렉터리 구조
rpi/{feature-slug}/
├── REQUEST.md # Feature description
├── research/RESEARCH.md # GO/NO-GO analysis
├── plan/
│ ├── PLAN.md # Implementation roadmap (3-5 phases)
│ ├── pm.md # Product requirements document
│ ├── ux.md # UX design draft
│ └── eng.md # Technical specification
└── implement/IMPLEMENT.md # Implementation log (per-phase verification)
CRISPY 방법론
C — Clarify Define requirements
R — Research Technical research
I — Ideate Brainstorm solutions
S — Structure Architecture design
P — Plan Create plan
Y — Yield Produce implementation
+ Iterate Iterate & refineCRISPY는 RPI의 진화형으로, Ideate(구상) 및 Structure(구조화) 단계를 추가하여 구현보다 솔루션 설계가 더 중요하다는 점을 강조합니다.
크로스 모델 협업 (Claude + Codex)

Claude Code (Opus) + Codex CLI (GPT) 크로스 모델 4단계 협업 워크플로우
STEP 1: PLAN Claude Code Opus · Plan Mode
STEP 2: QA REVIEW Codex CLI GPT · Review plan, insert findings
STEP 3: IMPLEMENT Claude Code Opus · Phase-by-phase implementation
STEP 4: VERIFY Codex CLI GPT · Verify against plan**핵심 아이디어:**서로 다른 모델이 상호 검토를 수행합니다. Codex는 원본 계획을 다시 작성하지 않고 “Codex Finding” 주석을 추가합니다.
에이전트 팀

에이전트 팀 멀티 에이전트 협업 워크플로우
공유 작업 목록(TaskCreate/TaskUpdate)을 통해 여러 에이전트를 조정합니다. 독립적인 하위 작업으로 분해 가능한 대규모 리팩토링에 이상적입니다.
팀 조정 패턴
시간 오케스트레이션을 예로 들면 — 세 가지 역할이 데이터 계약 {time, timezone, formatted}을 공유하며 병렬로 빌드합니다:
| 역할 | 산출물 | 설명 |
|---|---|---|
| 커맨드 아키텍트 | time-orchestrator 커맨드 | 슬래시 커맨드 설계, 에이전트 → 스킬 호출 순서 오케스트레이션 |
| 에이전트 엔지니어 | time-agent + time-fetcher 스킬 | 경량 에이전트(haiku, maxTurns:3), 사전 로드된 스킬을 통해 두바이 시간을 가져옵니다 |
| 스킬 디자이너 | time-svg-creator 스킬 | 데이터 계약을 받아, SVG 시간 카드 + output.md를 생성합니다 |
에이전트 팀 구성 요소 목록
time-agent 정의
---
name: time-agent
description: Get current Dubai time (Asia/Dubai, UTC+4)
tools: Bash
model: haiku
color: blue
maxTurns: 3
skills: time-fetcher
---
Use Bash to execute `TZ='Asia/Dubai' date`, return time/timezone/formatted fields.
time-orchestrator 커맨드
---
description: Get Dubai time and generate SVG time card
model: haiku
---
1. Agent(time-agent) → fetch {time, timezone, formatted}
2. Skill(time-svg-creator) → generate SVG card
Note: Must execute sequentially, cannot parallelize.
time-fetcher 스킬
---
name: time-fetcher
description: Fetch current Dubai time via bash
user-invocable: false
---
Command: TZ='Asia/Dubai' date '+%Y-%m-%d %H:%M:%S %Z'
Return format: { time: "HH:MM:SS", timezone: "GST (UTC+4)", formatted: "full output" }
time-svg-creator 스킬
---
name: time-svg-creator
description: Create Dubai time SVG card
allowed-tools: Write, Read
---
Receive time/timezone/formatted, generate self-contained SVG card.
Output: agent-teams/output/dubai-time.svg + output.md
예약 작업
# CronCreate Parameters
cron: "*/5 * * * *" # Standard 5-field cron (local timezone)
prompt: "Check CI status" # Prompt executed on trigger
recurring: true # true=recurring, false=one-shot
durable: true # true=persist to file목표 기반
작업 시스템을 통해 자동으로 분해하고 진행 상황을 추적합니다.
- 사용자가 목표를 설정합니다
- Claude가 하위 작업으로 분해하고 작업 목록을 생성합니다
- 단계별로 구현하며, 각 단계에서 상태를 업데이트합니다
- 차단 시 사용자 입력을 요청합니다
커뮤니티 목표 팁
- 에이전트가 목표를 제안하도록 하기 — 먼저 문제 상황을 설명한 다음, 에이전트가 적절한 목표를 제안하도록 합니다. 일반적으로 수동으로 작성한 것보다 더 정확합니다
- 에이전트가 /goal 프롬프트를 작성하도록 하기 — 에이전트는 자신의 능력 한계를 더 잘 알고 있으므로, 더 실현 가능한 목표 프롬프트를 생성합니다
/goal <condition>조건부 목표 — 예:/goal all tests pass and no lint errors, 에이전트는 조건이 충족될 때까지 계속 작업합니다- 목표 + TaskCreate 통합 — 목표를 TaskCreate 작업 목록으로 분해하고, 완료 시 각 항목을 완료로 표시합니다
세션 관리
| 시나리오 | 권장 작업 |
|---|---|
| 복잡한 작업 시작 | /plan |
| 컨텍스트 > 50% | /compact |
| 환각 감지 | /undo로 되돌리기 |
| 다중 파일 변경 | 에이전트 병렬 디스패치 |
| 장기 실행 작업 | 백그라운드 에이전트 |
컨텍스트 부패는 약 300-400k에서 나타나기 시작합니다. 수정하는 것보다 되돌리는 것이 낫습니다.
심층 리포트
LLM 성능 · 도구 비교 · 사용량 · 학습 경로
LLM 성능 저하 분석

LLM 출력 품질의 일일 변동
9계층 추론 스택 (고정된 가중치 ≠ 고정된 동작)
┌──────────────────────────────────────────────┐
│ User session context ← In-session degradation │
│ System Prompt ← Periodically updated │
│ Post-Training (RLHF/fine-tuning) ← Can update silently │
│ Sampling params (temperature/top-p) ← Server-adjustable │
│ Speculative Decoding (draft model) ← Quality fluctuation │
│ MoE routing / batch composition ← ±8-14% variance │
│ Hardware routing (TPU/GPU/Trainium)← Different failure modes │
│ Quantization level (FP16/INT8/INT4)← May change under load │
│ Compiler & runtime (XLA:TPU/CUDA) ← Confirmed bugs │
├──────────────────────────────────────────────┤
│ Model weights (frozen) ← This layer does not change │
└──────────────────────────────────────────────┘핵심 발견 사항
| 질문 | 답변 |
|---|---|
| 모델 가중치가 변경되나요? | 아니요 — 모든 제공업체에서 확인됨 |
| 매일 동작이 달라질 수 있나요? | 네 — ±8-14% 분산 확인됨 |
| 의도적인 “성능 저하”인가요? | 아니요 — 의도적인 저하의 증거는 없음 |
| 인프라 버그가 실제인가요? | 네 — Anthropic이 3개의 버그를 확인, 최대 16%의 요청에 영향 |
| 심리적 요인이 있나요? | 네 — 확증 편향과 허니문 효과는 실재함 |
| 개인적 인식을 신뢰해야 하나요? | 부분적으로 — 실제 원인은 존재하지만, 인식이 이를 증폭시킴 |
Anthropic 2025.9 사후 분석: 3가지 인프라 버그
버그 #1 — 컨텍스트 윈도우 라우팅 오류
| 항목 | 세부 내용 |
|---|---|
| 원인 | Sonnet 4 요청이 1M 토큰 컨텍스트 윈도우 서버로 잘못 라우팅됨 |
| 발생 시기 | 8월 5일 도입, 8월 29일 로드 밸런서 변경 후 악화 |
| 최대 영향 | Sonnet 4 요청의 **16%**가 영향을 받음 (8월 31일 최악의 기간) |
| 사용자 영향 | Claude Code 사용자의 ~30%가 최소 하나 이상의 저하된 응답을 받음 |
| 숨겨진 세부 사항 | 라우팅이 “끈적했음” — 한 번 불량 서버에 도달하면 후속 요청도 계속 해당 서버로 라우팅됨 |
| 수정 | 9월 4-18일 플랫폼 전반에 걸친 롤아웃 배포 |
버그 #2 — TPU 출력 손상
| 항목 | 세부 내용 |
|---|---|
| 원인 | TPU 서버 구성 오류로 인해 생성 중 저빈도 토큰에 높은 확률이 할당됨 |
| 증상 | 영어 응답에 갑작스러운 태국어/중국어 문자 등장, 명백한 코드 구문 오류 |
| 범위 | Opus 4.1/Opus 4 (8월 25-28일), Sonnet 4 (8월 25일-9월 2일); Claude API만 해당 |
| 수정 | 9월 2일 롤백 완료 |
버그 #3 — XLA:TPU 컴파일러 오류 컴파일레이션 (가장 까다로운 버그)
| 항목 | 세부 내용 |
|---|---|
| 근본 원인 | 정밀도 문제를 수정하려는 코드 변경이 XLA:TPU의 숨겨진 컴파일러 버그를 우연히 드러냄 |
| 동작 | 근사 top-k 연산이 “때때로 완전히 잘못된 결과를 반환함”, 하지만 특정 배치 크기와 모델 구성에서만 발생 |
| 찾기 어려운 이유 | 동작이 선행/후행 연산과 디버깅 도구 활성화 여부에 따라 달라짐 |
| 숨겨진 기간 | 2024년 12월의 임시 해결책이 이 더 깊은 버그를 계속 가리고 있었음 |
| 영향 | Haiku 3.5 확인됨; Sonnet 4/Opus 3는 부분적으로 의심됨 |
| 해결 | 근사 top-k에서 정확한 top-k로 전환, 약간의 효율성 손실 감수 |
Claude는 세 가지 다른 하드웨어 플랫폼(AWS Trainium, NVIDIA GPU, Google TPU)에서 실행되며, 각각 다른 장애 모드, 컴파일러 및 정밀도 동작을 가집니다. 요청은 날짜에 따라 다른 하드웨어에 도달할 수 있습니다.
MoE 라우팅 분산 (Scale AI 연구)
MoE(Mixture of Experts) 아키텍처에서, 배치 내 다른 사용자의 쿼리 구성에 따라 요청이 라우팅되는 전문가가 결정되며 — 이 구성은 비결정론적입니다.
| 제공업체 | 일일 점수 분산 |
|---|---|
| OpenAI (GPT-4 시리즈) | ±10-12% |
| Anthropic (Claude 시리즈) | ±8-11% |
| Google (Gemini 시리즈) | ±9-14% |
구체적인 예: 동일한 모델이 어느 날은 탈옥 저항성에서 77%를 기록했고 다음 날은 63%를 기록함 — 버그도, 변경 사항도 없이 14포인트가 변동했습니다.
시스템 프롬프트 및 사후 학습 업데이트
| 요소 | 설명 |
|---|---|
| 시스템 프롬프트 변경 | 모델 가중치는 변경되지 않았지만, 시스템 프롬프트는 언제든 업데이트될 수 있습니다. Claude 3.7은 여러 핫픽스 지시어를 포함했고, 4.0은 모두 제거함(RL로 해결) |
| 사후 학습 업데이트 | 기본 가중치를 변경하지 않고 RLHF/파인튜닝을 업데이트할 수 있음 — 기술적으로 “모델 미변경”이지만 동작은 변화함 |
| 조용한 모델 전환 | OpenAI는 사용자 대면 모델을 여러 차례 조용히 교체한 것으로 문서화됨(GPT-4o→GPT-5 강제 전환, 자동 전환 버그) |
스탠퍼드 연구 (2023) — 그리고 그 논란
Chen/Zaharia/Zou의 획기적인 연구는 “소수 판별”에서 GPT-4의 정확도가 97.6%에서 2.4%로 떨어진 것(2023년 3월→6월)을 발견했지만, 방법론적 문제가 있었습니다:
- 3월 버전은 temperature 0.0을 사용했고, 6월 버전은 temperature 1.0을 사용함 — 근본적인 교란 변수
- 작업당 500개의 쿼리만 사용 — 표본 크기가 너무 작음
- “수학 문제”는 실제로 예/아니요 질문이었으며, 수학 능력이 저하된 것이 아니라 모델의 추측 패턴이 변경된 것임
- 변경 사항은 의도하지 않은 저하가 아니라 의도적인 사후 학습 안전 업데이트일 수 있음
심리적 요인
| 효과 | 설명 |
|---|---|
| 확증 편향 | 누군가 “오늘 Claude가 멍청하다”고 트윗하면, 모든 오류를 알아차리기 시작함 |
| 허니문 효과 | 새로운 모델에 대한 초기 경험은 항상 인상적이며, 기대가 능력보다 빠르게 상승함 |
| ”주말의 Claude” 신화 | 엄격한 분석 결과 일관된 요일 패턴은 없었음 |
| 무작위성 | 동일한 프롬프트도 매번 다른 출력을 생성함. 연속된 몇 가지 나쁜 응답은 단지 불운일 수 있음 |
Codex 5.3 비교 분석
Claude에 단기적인 성능 저하가 있을 때 Codex 5.3이 훨씬 더 좋아 보일 수 있는 이유는 다음과 같습니다:
- 제품-목표 적합성 — Codex는 코드 생성에 최적화되어 있어 동일한 모델 강도에서도 더 나은 코딩 결과를 생성함
- 추론 전략 차이 — 각 제공업체는 지연 시간/추론 깊이/디코딩 기본값을 독립적으로 조정함
- 서비스 경로 격리 — 다른 라우팅 계층/컴파일러/릴리스 파이프라인을 사용하므로 한쪽의 장애가 다른 쪽에 영향을 주지 않음
- 릴리스 시기 — 한 제공업체가 릴리스 중이고 다른 제공업체가 안정적인 경우 일시적으로 큰 품질 차이가 발생할 수 있음
성능 저하 가설 순위
| 가설 | 가능성 | 근거 |
|---|---|---|
| 제공업체 인시던트 및 롤백 | 높음 | ”며칠간의 저하 후 빠른 복구” 패턴과 가장 잘 부합함 |
| 서비스 구성 변경 | 높음 | 갑작스러운 동작 변화의 일반적인 원인, 재학습 불필요 |
| 조용한 별칭/스냅샷 이동 | 중간-높음 | 사용자 조치 없이 동작을 변경할 수 있음 |
| 프롬프트 드리프트 + 컨텍스트 오염 | 중간 | 개별 세션을 저하시킬 수 있지만, 광범위한 며칠간의 보고를 설명하기는 어려움 |
| 영구적인 기본 모델 저하 | 낮음 | 이전 품질로의 빠른 복구와 일치하지 않음 |
실용적인 권장 사항
- 가능한 경우 (유동적 별칭 대신) 모델 스냅샷을 잠금 설정
- 요청 메타데이터(모델 ID, 매개변수, 지연 시간, 오류율)를 저장
- 고정된 일일 카나리아 테스트를 실행하고, 회귀 시 경고
- 여러 번 실패한 후 긴 세션을 재설정하거나 압축
- 백업 제공업체/모델 경로를 유지
- 내부 대시보드에서 “모델 품질”과 “서비스 안정성”을 분리
가장 중요한 단일 조치: 품질이 저하된 것 같으면
/compact를 사용하거나 새 세션을 시작하세요. 이것이 가장 효과적인 단일 조치입니다 — 대부분의 “Claude가 멍청해졌다”는 것은 모델 저하가 아니라 컨텍스트 오염입니다.
하니스의 중요성
일반적인 오해: 스킬/커맨드/서브에이전트/훅은 모두 결국 프롬프트가 되므로, 좋은 프롬프트를 작성하는 것만으로 충분하다는 것입니다. **이것은 틀렸습니다.**엔지니어링 관점에서 하니스는 프롬프트 구성 시스템 + 결정론적 실행 시스템 + 컨텍스트 아키텍처 시스템입니다.
| 지표 | 값 |
|---|---|
| 사용자 입력 토큰 | 6–60 |
| 모델 실제 추론 토큰 | 5,000–50,000+ |
| CLI 모듈형 프롬프트 조각 | 110+ |
하니스의 10가지 기능 (프롬프트로는 복제 불가)
| # | 기능 | 설명 |
|---|---|---|
| 1 | 컨텍스트 격리 | N개의 병렬 서브에이전트 ≈ N× 유효 컨텍스트 |
| 2 | 도구 제한 강제 | allowed/disallowedTools가 모델 호출 전에 차단 |
| 3 | 지연 로딩 규칙 | paths: 프론트매터가 필요시 로드 |
| 4 | 훅 결정론 | 라이프사이클 이벤트가 셸 명령을 트리거, 도구 호출 차단 가능 |
| 5 | 모델 라우팅 | model: haiku / model: opus가 다른 엔드포인트로 라우팅 |
| 6 | 병렬 실행 | 여러 서브에이전트가 동시에 실행 |
| 7 | 세션 간 지속성 | 메모리 시스템과 설정 레이어가 대화 간에 유지 |
| 8 | 모듈형 시스템 프롬프트 | 기능에 따라 조건부 로드되는 110개 이상의 조각 |
| 9 | 스킬 사전 로딩 | 전체 스킬 콘텐츠가 서브에이전트 시작 컨텍스트에 주입 |
| 10 | 권한 분류 | auto 모드 백그라운드 분류기가 사전 승인/차단 |
출력 품질 = f(유효 컨텍스트, 모델 기능, 반복 루프). 사용자는 유효 컨텍스트의 극히 일부만 제어합니다. 하니스가 나머지와 전체 반복 루프를 제어합니다. 강력한 프롬프트는 필요하지만 충분하지 않습니다.
브라우저 MCP 비교
| 지표 | Chrome DevTools | Claude in Chrome | Playwright |
|---|---|---|---|
| 도구 수 | 26개 도구 | 16개 도구 | 21개 도구 |
| 토큰 비용 | ~19.0k (9.5%) | ~15.4k (7.7%) | ~13.7k (6.8%) |
| 브라우저 지원 | Chrome만 | Chrome만 | Chromium/Firefox/WebKit |
| 헤드리스 모드 | 지원됨 | 지원되지 않음 | 지원됨 |
| CI/CD 통합 | 우수함 | 부족함 (로그인 필요) | 우수함 |
| 보안 | 격리된 프로필 | 공격률 23.6%→11.2% | 성숙한 보안 모델 |
| 비용 | 무료 | 유료 플랜 필요 | 무료 |
권장 워크플로우
| 단계 | 목적 | 도구 |
|---|---|---|
| 개발 | 터미널 코딩 | Claude Code |
| 테스트 | E2E/크로스 브라우저 | Playwright MCP |
| 디버깅 | 성능/네트워크 | Chrome DevTools MCP |
| 검증 | 빠른 시각적 확인 | Claude in Chrome |
| CI/CD | 헤드리스 자동화 | Playwright MCP |
# Install command
npx playwright install
claude mcp add playwright -s user -- npx @playwright/mcp@latest
claude mcp add chrome-devtools -s user -- npx chrome-devtools-mcp@latestPlaywright가 가장 높은 토큰 효율성(186.3k 남음)을 가지며, Chrome DevTools가 가장 낮습니다(181k 남음). 약 5.3k 토큰의 차이가 있습니다.
모노레포 스킬 탐색
스킬 탐색/로딩 메커니즘은 CLAUDE.md와 다릅니다: CLAUDE.md는 상위로 탐색(조상 로딩)하는 반면, 스킬은 중첩된 디렉토리 자동 탐색(자손 탐색)을 사용하며, 해당 디렉토리에서 파일을 편집할 때만 필요에 따라 로드됩니다. 모노레포 로딩 메커니즘을 참조하세요.
표준 스킬 위치
| 범위 | 경로 | 적용 대상 |
|---|---|---|
| 엔터프라이즈 | 관리 설정 | 조직의 모든 사용자 |
| 개인 | ~/.claude/skills/<name>/SKILL.md | 모든 프로젝트 |
| 프로젝트 | .claude/skills/<name>/SKILL.md | 현재 프로젝트만 |
| 플러그인 | <plugin>/skills/<name>/SKILL.md | 플러그인이 활성화된 곳 |
CLAUDE.md와 스킬 로딩 비교
| 동작 | CLAUDE.md | 스킬 |
|---|---|---|
| 상향 탐색 (조상) | 예 | 아니요 |
| 하향 탐색 (자손) | 예 (지연 로딩) | 예 (자동 탐색) |
| 기본 콘텐츠 로딩 | 모든 콘텐츠 | 설명만 (필요 시 전체) |
문자 예산은 기본적으로 15,000자이며,
SLASH_COMMAND_TOOL_CHAR_BUDGET환경 변수를 통해 조정할 수 있습니다./context를 사용하여 예산 제한으로 인해 제외된 스킬이 있는지 확인하세요.
- 일반적인 워크플로는 루트
.claude/skills/에 배치합니다 - 패키지별 스킬은 해당 패키지의
.claude/skills/에 배치합니다 - 위험한 작업 스킬은
disable-model-invocation: true를 설정해야 합니다 - 혼란을 피하기 위해 패키지 이름 접두사를 사용하세요 (예:
frontend-review,backend-deploy)
사용량 및 제한
| 항목 | 값 |
|---|---|
| 컨텍스트 윈도우 | 1M 토큰 |
| 권장 압축 시점 | ~50% |
| 성능 저하 시작점 | ~300-400k |
| CLAUDE.md 권장사항 | <200줄 |
| 추가 사용량 일일 한도 | $2,000/일 |
| 한도 초기화 주기 | 5시간마다 |
모니터링 명령어
| 명령어 | 기능 | 적용 대상 |
|---|---|---|
/usage | 플랜 및 속도 제한 확인 | Pro/Max 5x/Max 20x |
/extra-usage | 종량제 초과분 설정 | Pro/Max 5x/Max 20x |
/cost | 현재 세션 토큰 및 비용 | API 키 사용자 |
/insights | 사용 패턴 분석 보고서 | 모든 사용자 |
비용 최적화
- 간단한 작업에는
model: haiku를 사용하세요 effort: low는 추론을 줄여줍니다- 백그라운드 에이전트는 블로킹을 방지합니다
- API 키 사용자는
--max-budget-usd를 사용하여 비용을 제어할 수 있습니다 - 예상치 못한 요금을 피하기 위해 extra-usage 월간 상한선을 설정하세요
빠른 모드(
/fast)는 첫 번째 토큰부터 추가 사용량으로 계산되며, 구독 플랜에 포함된 할당량을 소비하지 않습니다. 사용하려면 extra-usage를 활성화하고 자금을 충전해야 합니다.
스피너 동사
Claude Code의 로딩 애니메이션은 179개의 무작위 동사를 사용합니다. 일반적인 동사는 다음과 같습니다:
| 동사 | 의미 |
|---|---|
| Thinking / Cogitating | 추론 |
| Reading / Perusing | 파일 읽기 |
| Editing / Crafting | 파일 편집 |
| Searching / Spelunking | 코드 검색 |
| Orchestrating | 에이전트 오케스트레이션 |
| Synthesizing | 정보 종합 |
학습 경로
Weather Reporter를 처음부터 구축하는 완전한 학습 여정으로, 5개 주요 단계 · 37개 슬라이드로 구성됩니다:
단계 순서 (인지적 종속성에 따라 재정렬)
| 순서 | 단계 | 슬라이드 | 핵심 아이디어 |
|---|---|---|---|
| 1 | Agents | 7 | 먼저 “누가” 작업을 수행하는지 이해 |
| 2 | Skills | 8 | Skills는 에이전트의 “역량” |
| 3 | Context | 7 | Context Window 및 메모리 시스템 |
| 4 | CLAUDE.md | 7 | 프로젝트 지침은 “규칙” |
| 5 | Commands | 8 | Commands는 “오케스트레이션 계층” |
LEVELS 매핑 (6개 레벨)
const LEVELS = {
context: '🔴 Context Window', // context-window.jpeg, context.jpg
claude_md: '🟠 CLAUDE.md', // Project instruction system
agents: '🟡 Agent System', // Built-in + custom agents
skills: '🟢 Skills System', // Skills framework
commands: '🔵 Commands System', // Commands orchestration
workflow: '🟣 Full Workflow' // End-to-end integration
}37개 슬라이드 개요
모든 슬라이드 내용 펼치기
Agents 단계 (슬라이드 1-7)
- Agent란 무엇인가? — Agent = Model + Tools + Context
- 5가지 내장 에이전트 유형 — general-purpose / Explore / Plan / statusline-setup / claude-code-guide
- Agent Frontmatter — 16개 도구 필드 세부 정보
- 모델 선택 — inherit / haiku / sonnet / opus 트레이드오프
- 도구 제어 — tools vs disallowedTools
- 권한 모드 — acceptEdits / plan / bypassPermissions
- Weather Agent 설계 — 실전 날씨 에이전트
Skills 단계 (슬라이드 8-15)
- Skill이란 무엇인가? — Skill = 프롬프트 템플릿 + 메타데이터
- SkillTrigger — auto (자동) vs manual (/skill-name)
- Frontmatter 필드 — name / description / tools / model
- weather-fetcher 스킬 — API에서 날씨 데이터 가져오기
- weather-analyzer 스킬 — 날씨 트렌드 분석
- 스킬 조합 — 여러 스킬이 함께 작동
- 스킬 테스트 — 스킬 출력 품질 검증
- 스킬 모범 사례 — 재사용 가능한 스킬 작성
Context 단계 (슬라이드 16-22)
- Context Window — 200K 토큰 경계
- Context 압축 — 자동 요약
- 메모리 시스템 — user / project / local 3계층
- MEMORY.md 인덱스 — 영구 메모리 관리
- CLAUDE.md 주입 — 컨텍스트 로딩 전략
- 리소스 재사용 — context-window.jpeg / context.jpg
- Context Window 시각화 — 토큰 할당 이해
CLAUDE.md 단계 (슬라이드 23-29)
- CLAUDE.md란 무엇인가? — 프로젝트 지침 파일
- 3계층 로딩 — global / project / local
- 작성 규칙 — 구조화된 지침 형식
- 환경 설정 — 개발 환경 규칙
- 코드 스타일 — 프로젝트 코드 규칙
- 보안 규칙 — 민감한 작업 제약사항
- Weather Reporter의 CLAUDE.md — 실전 예제
Commands 단계 (슬라이드 30-37)
- Command란 무엇인가? — command = 오케스트레이션 계층
- Command vs Skill vs Agent — 3계층 아키텍처 비교
- weather-orchestrator — 날씨 오케스트레이션 명령
- Command 흐름 — prompt → steps → output
- 동적 컨텍스트 주입 —
!`command`구문 - 오류 처리 및 재시도 — 견고성 설계
- 엔드투엔드 통합 — Agents + Skills + Commands
- 복습 및 전망 — 제로에서 완성된 Weather Reporter까지
리소스 재사용
| 에셋 | 재사용 위치 | 설명 |
|---|---|---|
context-window.jpeg | 슬라이드 16 | Context Window 시각화 |
context.jpg | 슬라이드 22 | Context 할당 다이어그램 |
재설정 내역
- goToSlide() 대상: 모든 37개 호출 지점의 인덱스 번호 업데이트 필요
- data-level 속성: 각 슬라이드의 레벨 마커를 LEVELS에 매핑 필요
- 탐색 컴포넌트: 이전/다음 버튼을 새 슬라이드 순서에 바인딩 필요
- 진행률 표시줄: 5구간 진행 표시기가 5개 단계에 매핑
단순하게 시작 → 점진적으로 조합 → 전체 오케스트레이션. 처음부터 복잡한 아키텍처를 구축하지 마세요. 단계 순서는 인지적 종속성에 따라 재배열되었습니다: 먼저 “누가”(Agents)를 이해하고, 그 다음 “무엇을 할 수 있는가”(Skills), “환경”(Context), “규칙”(CLAUDE.md), 마지막으로 “오케스트레이션”(Commands)의 순서입니다.
SDK vs CLI 시스템 프롬프트
Claude Code CLI와 Agent SDK는 서로 다른 시스템 프롬프트 전략을 사용합니다:
- 약 269 토큰의 기본 프롬프트
- 최소한의 가이드로 높은 커스터마이징 가능
modular타입은 커스텀 시스템 프롬프트 지원- 110개 이상의 시스템 프롬프트 문자열 사용 가능
- 커스텀 에이전트 애플리케이션 구축에 적합
- 시스템 프롬프트에 전체 도구 정의 포함
- Bash/Read/Write/Edit 도구 설명 사전 설치
- CLAUDE.md 자동 주입
- 안전 규칙 및 동작 제약 조건 포함
- 즉시 사용 가능, 설정 불필요
핵심 차이점
| 항목 | Agent SDK | Claude Code CLI |
|---|---|---|
| 시스템 프롬프트 길이 | ~269 토큰 (최소) | ~3000+ 토큰 (전체) |
| 도구 설명 | 필요시 로드 | 모두 사전 설치 |
| 커스터마이징 | 완전 제어 가능 | CLAUDE.md + 설정 |
| 사용 사례 | AI 애플리케이션 구축 | 개발 워크플로우 |
| 모델 선택 | 모든 Claude 모델 | Opus/Sonnet/Haiku |
SDK는 modular 프롬프트 타입을 제공하여, 도구 설명을 개별적으로 추가할 수 있어 CLI의 전체 로드 방식보다 많은 토큰을 절약할 수 있습니다.
10억 달러짜리 질문들
커뮤니티에서 나온 13개의 미해결 심층 질문 — 답을 알고 있다면, 그것은 10억 달러짜리 통찰입니다.
메모리 및 지침 (4개 질문)
- CLAUDE.md에는 무엇이 들어가야 할까? — 포함할 것과 제외할 것은?
- CLAUDE.md가 있다면, 여전히
constitution.md나rules.md가 필요한가? - CLAUDE.md는 얼마나 자주 업데이트해야 할까? 구식이 되었는지 어떻게 알 수 있을까?
- 왜 Claude는
MUST를 모두 대문자로 써도 CLAUDE.md의 지침을 여전히 무시할까?
에이전트, 스킬 및 워크플로우 (6개 질문)
- Command, Agent, Skill을 각각 언제 사용해야 할까 — 네이티브 Claude Code가 더 나은 경우는 언제인가?
- 모델이 업그레이드됨에 따라 에이전트/명령어/워크플로우는 얼마나 자주 업데이트해야 할까?
- 범용 vs 역할/기능 특화 서브에이전트 — 상세한 페르소나가 실제로 품질을 향상시킬까?
- Claude Code의 내장 plan 모드를 사용할까, 아니면 팀 워크플로우를 강제하기 위해 커스텀 기획 명령/에이전트를 구축할까?
- 개인 스킬과 커뮤니티 스킬은 어떻게 공존할까? 충돌 시 누가 우선인가?
- **궁극의 질문:**기존 코드베이스를 스펙으로 변환하고, 코드를 삭제한 후, 스펙만으로 AI가 다시 생성하게 할 수 있을까?
스펙 및 문서화 (3개 질문)
- 저장소의 모든 기능에 스펙 파일이 필요할까?
- 스펙은 최신 상태를 유지하기 위해 얼마나 자주 업데이트해야 할까?
- 새로운 기능을 구현할 때, 다른 기능의 스펙에 미치는 연쇄적 영향을 어떻게 처리할까?
이 질문들에 대한 답은 에이전틱 엔지니어링 모범 사례의 방향을 결정할 것입니다. 통찰력이 있다면, 이곳이 최전선입니다.
전문가 인사이트
Boris Cherny · Thariq · 커뮤니티 모범 사례
Boris Cherny — 13가지 규칙

Boris Cherny — Claude Code 핵심 엔지니어
Boris Cherny는 Anthropic의 Claude Code 핵심 엔지니어로, 수십만 개발자가 사용하는 에이전트 기반 코딩 도구의 개발을 이끌고 있습니다. O’Reilly 《Programming TypeScript》의 저자이며, AI 지원 개발 워크플로우에 대한 공개 강연을 자주 진행합니다. 아래 13가지 규칙은 그의 강연, 데모, PR 코멘트에서 반복적으로 강조된 핵심 조언 —— Claude Code를 처음 시작하는 팀원에게 늘 강조하는 몇 마디 —— 를 압축한 것입니다.
- 훌륭한 CLAUDE.md 작성 — 가장 높은 ROI 최적화
- 200줄 이하 — 이를 넘어가면 준수율이 저하됨
- 부정 지침 — "X를 하지 마"가 더 효과적
- 수동 /compact — 50% 시점에서 선제적으로 압축
- 구현 전 계획 — 복잡한 작업에 /plan 사용
- 서브에이전트 병렬 처리 — 독립적인 작업을 동시에 분산
- 모델 명시적 지정 — 간단한 작업은 haiku, 복잡한 작업은 opus
- 수정보다 되돌리기 — /undo가 사후 수정보다 안정적
- 코드 읽기 신뢰 — 수동으로 코드를 붙여넣을 필요 없음
- Hooks 자동화 — 반복 작업에 hooks 사용
- CLAUDE.local.md — 팀에 영향 없이 개인 설정 유지
- 조건부 로딩 규칙 — paths로 범위 지정
- 문제 진단에 /doctor — 문제 발생 시 먼저 /doctor 실행
15가지 숨겨진 기능
Boris Cherny(Meta)가 공유하는 Claude Code의 15가지 덜 알려진 기능으로, 각각 사용 방식을 크게 변화시킵니다.
- Claude 모바일 앱 — iOS/Android가 Claude Code의 음성+텍스트 입력 지점 역할을 하며, 출퇴근 중 코드 대화 가능
- Teleport (원격 제어) —
claude --teleport또는remote-controlMCP를 통해 브라우저/폰에서 로컬 터미널 원격 제어 /loop&/schedule— 반복 작업 또는 시간 예약 설정: 에이전트가 지속적으로 모니터링하고 주기적으로 실행 (예: 5분마다 CI 확인)- Hooks 자동화 —
settings.json에서 PreToolUse/PostToolUse/Stop 이벤트 훅을 구성하여 자동 알림, 유효성 검사, 포맷팅 수행 - Cowork 디스패치 — 다중 에이전트 조정 스케줄링, 서로 다른 에이전트가 간섭 없이 독립적으로 작업
- Chrome 확장 프로그램 — Claude in Chrome MCP를 통해 에이전트가 브라우저를 직접 조작하고, 콘솔 로그를 읽으며, 스크린샷 비교 가능
- 데스크톱 웹 서버 — Claude 데스크톱에 내장된 웹 서버로 에이전트가 로컬 개발 페이지에 직접 접근 가능
/branch포크 — 현재 대화에서 새 브랜치로 원클릭 포크, 전체 컨텍스트 보존, 실험 실패 시 폐기 가능/btw사이드바 질문 — 메인 흐름을 중단하지 않고 임시 질문, 답변이 현재 컨텍스트에 주입됨- Git Worktree 병렬 처리 —
/batch가 여러 워크트리로 확장되어 각 독립 브랜치가 서로 다른 작업 처리 --bareSDK 가속화 — SDK 모드에서 대화형 UI를 제거하고 순수 함수 호출로 속도 대폭 향상--add-dir다중 저장소 — 동일한 세션에 여러 프로젝트 디렉토리를 동시에 로드하여 크로스 저장소 작업 수행--agent사용자 정의 프롬프트 — 명령줄에서 직접 에이전트 유형 또는 사용자 정의 시스템 프롬프트 지정/voice음성 입력 — 마이크를 통한 음성 명령, 자동 텍스트 변환- 백그라운드 에이전트 — 장기 작업을 백그라운드에서 실행하여 메인 세션을 차단하지 않으며, 완료 시 자동 알림
12가지 맞춤 설정 팁
- 사용자 정의 서브에이전트 —
.claude/agents/*.md, YAML frontmatter로 도구/모델/메모리 정의 - 사용자 정의 명령어 —
.claude/commands/*.md, $ARGUMENTS로 매개변수화 - 사용자 정의 스킬 —
.claude/skills/<name>/SKILL.md, 설명 기반 자동 발견 - Hooks 자동화 — settings.json에서 라이프사이클 훅 구성 (PreToolUse/PostToolUse/Stop)
- 조건부 규칙 로딩 —
.claude/rules/*.md+paths:로 범위 지정 - 권한 템플릿 — allowed-tools로 도구+경로 단위의 세밀한 제어
- 모델 선택 — 단순 작업은 haiku, 복잡한 작업은 opus, 균형 잡힌 작업은 sonnet
- 노력 조정 — 빠른 응답은 low, 심층 추론은 max
- 메모리 범위 — user(전역) / project(팀) / local(개인)
- MCP 통합 — 외부 도구 연결 (데이터베이스, 브라우저, API)
- Worktree 격리 —
--worktree또는isolation: "worktree"로 독립적인 실험 수행 - 백그라운드 작업 — 장기 작업을 백그라운드에서 실행, 완료 시 알림
10가지 고급 팁
- 먼저 계획 모드 사용 — 복잡한 작업에
/plan을 사용하고, 단계가 아닌 목표 명시 - 에이전트 병렬 오케스트레이션 — 독립적인 작업을 동시에 디스패치하여 컨텍스트 격리 활용
- 스킬 점진적 공개 — 설명은 항상 로드, 전체 콘텐츠는 요청 시에만
- 컨텍스트 예산 50% — 사전에
/compact실행, 스마트 존 유지 - 일관성을 위한 code-reviewer — 교차 파일 로직 교차 검증
- 반복적 개선 — 원샷 완벽보다 나음, 목표에 점진적으로 접근
- 오류 복구: 먼저 /undo — 패치보다 되돌리기가 더 안정적
- 테스트 우선 — TDD red-green-refactor를 AI와 결합
- 컨텍스트로서의 문서 — 좋은 문서 = 좋은 출력, 주석에는 WHAT이 아닌 WHY 작성
- 컨텍스트 사용량 모니터링 —
/context로 시각적 토큰 분포 확인
코드 리뷰 팁
테스트 시간 연산: 코드 리뷰는 모델이 독립적인 컨텍스트에서 “다시 생각”하게 만들어 출력을 200% 증가시킵니다. 멀티 에이전트 병렬 리뷰(보안 + 성능 + 아키텍처)는 단일 리뷰보다 더 높은 품질을 제공합니다.
- 더 철저한 리뷰를 위해
effort: high, 더 적지만 집중된 결과를 위해effort: low사용 - AI가 "반대자" 역할을 하도록 설정 — 표면적인 리뷰 대신 이의를 제기하도록 함
- PR 제출 전 자동 실행 (Hooks PreToolUse 설정)
- PR 코멘트를 추가하려면
--comment와 함께 사용 - 리뷰 범위: 정확성, 보안 취약점, 코드 품질, 프로젝트 사양
- 다른 에이전트가 다른 역할 수행 (보안 리뷰 vs 성능 리뷰 vs 아키텍처 리뷰)
PR 통계 (Boris Cherny의 실제 데이터)
| 지표 | 값 |
|---|---|
| 일일 기여 | 266/일 |
| 총 PR 수 | 141 (모두 squash merge) |
| 총 변경 라인 | 45,032줄 |
| 중간값 PR | p50 = 118줄 |
| P90 PR | 490줄 |
| P99 PR | 2,978줄 |
| 가장 작은 PR | 2줄 |
| 가장 큰 PR | 10,459줄 |
Boris는 새로 작성된 코드의 약 100%를 AI가 작성하며, 인간은 리뷰하고 방향성을 안내합니다. 핵심은 더 명확한 기록을 위해 파일별 독립적인 커밋을 하는 것입니다.
2가지 머지 팁
- 파일당 커밋 — 각 파일이 자체 커밋을 가지면 기록이 더 명확해지고 리뷰/되돌리기가 쉬워집니다.
- 수정하지 않기 — 기록을 보존하기 위해 새 커밋을 생성하고, pre-commit 훅 검사를 덮어쓰지 마세요.
Opus 4.7의 6가지 효율성 팁
Opus 4.7 출시 후 Boris Cherny가 정리한 6가지 핵심 효율성 개선 방법.
- 자동 모드 (Shift+Tab) — 원클릭 완전 자동 모드, 에이전트가 읽기/쓰기/실행을 자율적으로 결정하며 단계별 확인이 필요 없습니다.
/fewer-permission-prompts스킬 — 일반적인 도구 권한을 자동으로 설정하는 사전 설정 스킬로, 팝업 중단을 크게 줄여줍니다.- 요약 — 에이전트가 각 턴 후 실행 요약을 자동 생성하여 컨텍스트를 명확하게 유지합니다.
- 포커스 모드 (
/focus) — 관련 없는 출력을 필터링하고 핵심 결정과 결과만 표시하며, 긴 작업에 이상적입니다. - 노력 수준 —
low빠른 응답 (간단한 쿼리),medium기본값,high심층 추론 (코드 리뷰),xhigh/max최대 깊이 (아키텍처 설계) - 검증 모드 — 백엔드: 서버를 자동 시작하여 검증; 프론트엔드: Chrome 확장 프로그램으로 렌더링 확인; 데스크톱: Computer Use로 자동화된 UI 테스트
자동 모드 모범 사례:
effort: high및/focus와 함께 사용하여 에이전트가 높은 추론 깊이로 자율적으로 작업하며 핵심 결정 지점만 보고하도록 합니다.
Thariq — 스킬 설계
Thariq Koya는 Anthropic의 Claude Code 팀 엔지니어로, 스킬 설계, 세션 관리, 실용적인 에이전트 워크플로우에 중점을 두고 있습니다. 아래 섹션들은 그가 가장 많이 인용되는 조언 —— 2026년 3월 Anthropic 내부 스킬 리뷰와 실제 환경에서의 Claude Code 사용에 관한 실전 노트 —— 를 압축한 것이며, 프로덕션 팀을 위한 스킬을 설계할 때 그 자신이 따르는 동일한 패턴입니다.
- 단일 책임 — 각 스킬은 한 가지 일만 수행
- 정확한 설명 — 자동 검색 정확도를 결정
- when_to_use 현명하게 사용 — 오탐지 트리거 감소
- 매개변수화된 템플릿 — 인수 동적 교체
- 경로 범위 지정 — 경로가 관련 없는 활성화를 방지
- 점진적 공개 — 점진적 로딩
Thariq — 실용 팁
- 환경 진단을 위한 /doctor
- 제약 조건을 위한 CLAUDE.md
- 비용 절감을 위한 haiku
- 긴 작업을 위한 background
- 위험한 작업 제한을 위한 disallowedTools
- 세션 관리 > 스킬 설계
- 50%에서 /compact
- 수동 수정보다 /undo
- 독립적인 하위 에이전트로 분할
- 각각 < 컨텍스트의 50%
세션 관리 — 심층 가이드
Thariq의 심층 세션 관리 프레임워크: 컨텍스트 저하 이해, 브랜칭 전략, 하위 에이전트 가비지 컬렉션.
컨텍스트 부패(Context Rot): 대략 300k-400k 토큰에서 모델은 이전 대화를 “잊어버리기” 시작하며, 출력 품질이 현저히 떨어집니다. 이는 버그가 아니라 어텐션의 수학적 특성입니다.
5가지 브랜칭 전략
- 전략시나리오설명
continue마지막에서 이어서전체 컨텍스트를 복원하여 대화를 이어감rewind특정 지점으로 돌아가기지정된 단계로 되돌리고 다시 시작clear새로 시작컨텍스트를 지우고 처음부터 시작compact압축 및 유지핵심 정보는 유지하면서 지능적으로 압축subagent격리된 실행하위 에이전트를 파견, 메인 컨텍스트 오염 없음
핵심 의사결정 표
- 시나리오권장 작업
컨텍스트 > 50%
/compact또는 하위 에이전트 파견 잘못된 방향rewind로 갈라진 지점으로 돌아가기, 제자리에서 수정하지 않기 compact 후 품질 저하요약 지침과 함께/compact [brief]사용, 또는 clear + CLAUDE.md로 바로 시작 히스토리 보존 필요하위 에이전트가 새 작업을 처리, 메인 대화는 가볍게 유지 하위 에이전트 컨텍스트 팽창하위 에이전트는 내장 GC를 가짐 — 완료 후 자동 수집됨, 메인 세션에 영향 없음
Compact vs Fresh: 대화 기록이 매우 관련성이 높은 경우(예: 디버깅 체인), compact + brief를 사용하세요; 주제가 완전히 바뀐 경우, clear하고 CLAUDE.md에서 컨텍스트를 재구축하는 것이 더 효율적입니다. 잘못된 compact의 일반적인 원인: 모호한 압축 지침으로 인해 핵심 제약 조건이 누락됨.
83개의 카테고리별 팁
커뮤니티 실천 사례와 공식 권장 사항을 16개 도구 카테고리로 정리했습니다. 핵심 참고 자료: CLAUDE.md 컨벤션, Subagents 병렬 처리, RPI 워크플로우.
프롬프트 팁 (3)
- 목표를 명시하고 단계는 지정하지 마세요 — Claude에게 원하는 결과를 알려주고, 각 단계를 수행하는 방법은 지정하지 마세요
- 부정 지시가 더 효과적입니다 — "X를 하지 마"가 "Y를 해줘"보다 더 신뢰할 수 있습니다
- 예시 중심 — 입출력 예시를 제공하세요. 추상적인 설명보다 더 정확합니다
계획 (7)
- 복잡한 작업에는 먼저
/plan을 사용하고, 세부 단계가 아닌 목표를 명시하세요 - 독립적인 하위 작업으로 분할하고, 각각의 컨텍스트를 50% 미만으로 유지하세요
- TaskCreate를 사용하여 진행 상황을 추적하고 종속성을 설정하세요
- 계획 모드에서는 기대 사항을 명확히 설명하고, 모델이 경로를 계획하도록 하세요
- 한 번에 완벽하게 하는 것보다 여러 번의 반복이 더 좋습니다 — 점진적으로 목표에 접근하세요
- 우선순위 지정: 핵심 먼저, 그다음 예외 케이스, 차단 작업 먼저, 그다음 독립 작업
- 컨텍스트 소비를 추정하고, 단일 작업이 너무 커지지 않도록 하세요
컨텍스트 (5)
- 컨텍스트 50%에서 미리
/compact실행 /compact [포커스 지시사항]을 사용하여 핵심 정보를 유지하세요- 컨텍스트 예산 관리 — 긴 대화에서는 정기적으로 정리하세요
--resume / --continue로 이전 세션을 복원하세요- 좋은 문서 = 좋은 출력, 주석에는 WHAT이 아닌 WHY를 작성하세요
세션 (6)
- 세션 관리는 스킬 설계보다 중요합니다 — 세션이 길어질수록 더 똑똑해집니다
- 50%에서 /compact를 실행하고, 품질 저하를 방지하세요
- /undo > 수동 수정 — 되돌리는 것이 사후 수정보다 더 신뢰할 수 있습니다
- 독립적인 서브에이전트로 분할하고, 각각의 컨텍스트를 50% 미만으로 유지하세요
--continue로 이전 세션을 원활하게 이어가세요maxTurns로 서브에이전트 턴을 제한하여 무한 루프를 방지하세요
CLAUDE.md (8)
- 훌륭한 CLAUDE.md를 작성하는 것이 가장 높은 ROI의 최적화입니다
- 200줄 이하 — 이를 넘어가면 준수율이 떨어집니다
- 부정 지시 — "X를 하지 마"가 더 효과적입니다
CLAUDE.local.md는 팀에 영향을 주지 않고 개인 기본 설정을 관리합니다- 모델이 스스로 추론할 수 없는 정보만 작성하세요
.claude/rules/*.md+paths:조건부 로딩claudeMdExcludes로 불필요한 CLAUDE.md 파일을 제외하세요- 4가지 범위: 글로벌 / 프로젝트 / 디렉토리 / 개인
에이전트 (4)
- 커스텀 서브에이전트
.claude/agents/*.md, YAML frontmatter로 도구/모델/메모리를 정의합니다 - 서브에이전트 병렬 처리 — 독립적인 작업을 동시에 디스패치합니다
context: fork는 서브에이전트 컨텍스트를 격리하여 메인 대화의 오염을 방지합니다- 모델을 명시적으로 지정 — 단순한 작업은 haiku, 복잡한 작업은 opus
명령어 (3)
.claude/commands/*.md커스텀 명령어$ARGUMENTS매개변수화 — 명령어 템플릿 동적 교체/project:command-name으로 프로젝트 명령어를 호출합니다
스킬 (9)
- 단일 책임 — 각 스킬은 하나의 작업만 수행합니다
- 정확한 설명 — 자동 발견 정확도를 결정합니다
- when_to_use를 현명하게 사용 — 오작동을 줄입니다
- 점진적 공개 — 점진적인 콘텐츠 로딩
- 경로 범위 지정 — 관련 없는 활성화를 방지합니다
- Arguments 매개변수화 템플릿 — 동적 교체
- forceLoadSkills 강제 로딩 — 중요 스킬 미리 로드
- disallowedTools 제한 — 스킬 수준의 도구 제어
- 9가지 옵션에서 올바른 유형 선택 — skill/agent/Explore/code-simplifier 등
훅 (5)
- PreToolUse는 도구 실행 전에 가로채고 수정합니다
- PostToolUse는 도구 실행 후 자동화를 트리거합니다
- Stop은 세션이 종료될 때 정리 작업을 실행합니다
- PR 제출 전에 자동으로 코드 리뷰를 트리거합니다
- 반복적인 작업에 훅을 사용하세요 — 포맷팅, 린트, 알림 등
워크플로우 (5)
- RPI 루프: Research(조사) → Plan(계획) → Implement(구현)
- CRISPY: Clarify(명확화) → Research(조사) → Ideate(구상) → Structure(구조화) → Plan(계획) → Yield(산출)
- 교차 모델 협업: Claude가 계획 + Codex/Gemini가 실행
- 에이전트 팀: 멀티 에이전트 병렬 처리 (Amp, Codex, Claude)
- 예약 작업: CronCreate를 통한 정기 스케줄링으로 자동 실행
고급 워크플로우 (9)
- 백그라운드 에이전트는 메인 세션 차단을 방지합니다
- Worktree 격리된 실험 — 독립적인 브랜치 + 컨텍스트
- 목표 중심 — 모델이 자율적으로 달달할 목표를 설정하세요
- 세션 관리 > 스킬 설계 — 긴 세션 전략을 먼저 고려하세요
- Browser MCP 자동화된 테스트 — Playwright 또는 Chrome DevTools
- Multi-Provider 멀티 클라우드 배포 — Bedrock/Vertex/Foundry
- 샌드박스 격리 — 네트워크 허용 목록 + 파일 시스템 제한
- Agent SDK로 커스텀 에이전트 구축 — Python/TS SDK
- Computer Use GUI 인터랙션 — 데스크톱 애플리케이션 제어
Git / PR (5)
- 파일당 커밋 — 각 파일에 개별 커밋을 생성합니다
- amend하지 마세요 — 이력을 보존하기 위해 새 커밋을 생성합니다
--comment로 PR 코멘트를 자동 추가합니다- 141개 PR / 45K 줄 / 모두 squash merge
- 코드 리뷰로 200% 출력 증가 — Test Time Compute
디버깅 (6)
- 환경 진단을 위한
/doctor— 문제 발생 시 먼저 실행하세요 /undo로 작업 및 코드 변경을 되돌리세요context: fork격리된 실험 — 안전한 시행착오maxTurns로 턴 제한 — 무한 루프 방지effort: low로 빠른 진단 — 효율성 향상/context로 토큰 분포를 시각화하세요
유틸리티 (5)
disallowedTools특정 도구 차단 — 보안 경계- MCP Server 외부 서비스 연결 — 데이터베이스/API/브라우저
allowedTools도구 미리 승인 — 확인 감소includeContext추가 파일 주입 — 컨텍스트 보강env환경 변수 주입 — 통합 구성
일상 (2)
- 키보드 단축키 — Escape로 중단, Shift+Tab으로 모드 전환
- 정기적인 /compact — 컨텍스트 50%에서 미리 압축
비디오 하이라이트
Boris Cherny × Ryan Peterman — Claude Code 크리에이터의 커리어 스토리 입문자
Boris Cherny × Lenny's Podcast — Claude Code의 탄생과 제품 철학 제품
Karpathy × AI Engineer — 바이브 코딩에서 에이전트 엔지니어링까지 고급
Boris × Lenny's Podcast — Claude Code의 탄생과 100% AI 코딩 시대
- Claude Code는 내부 해커톤에서 탄생했으며, 단순한 CLI에서 Anthropic의 핵심 제품으로 발전했습니다
- "잠재적 수요(Latent Demand)"는 제품 성공의 핵심입니다 — 장벽을 낮추면 수요가 자연스럽게 폭발합니다
- Claude Code의 새로운 코드 중 약 100%가 AI에 의해 작성되며, 인간은 검토하고 방향을 안내합니다
- Plan Mode는 구체적인 단계가 아닌 명확한 목표를 설정해야 하며, 모델이 자율적으로 계획하도록 해야 합니다
- "쓰디쓴 교훈(Bitter Lesson)": 현재 모델에 맞춰 워크플로우를 최적화하지 말고, 6개월 후 더 강력한 모델을 위한 시스템을 구축하세요
- CLAUDE.md는 최소한으로 유지해야 합니다 — 모델이 자체적으로 추론할 수 없는 정보만 작성하세요
- 보안 계층은 다층 방어로 설계되었습니다: 권한 시스템 + 확인 프롬프트 + 샌드박스 실행
Boris × Pragmatic Engineer — Meta에서 Anthropic까지의 엔지니어링 여정
- Boris의 스타트업에서 Meta E8까지의 커리어 패스는 제너럴리스트 엔지니어 철학을 구현합니다 — 여러 도메인에 걸쳐 문제를 해결합니다
- Claude Code 아키텍처는 의도적으로 단순하게 유지되며, 복잡한 파일 조작 도구 대신 Bash 도구를 사용합니다
- Anthropic 내부에서는 에이전트 검색(Agentic Search)(glob/grep)을 사용하여 RAG를 완전히 대체합니다
- Boris는 매일 20-30개의 PR을 제출하며, 병렬 Agent를 사용하여 여러 작업을 동시에 처리합니다
- 코드 리뷰 중에는 AI가 "반대자" 역할을 하여 이의를 제기하도록 합니다
- 프로토타입 문화가 핵심입니다 — 빠르게 구축하고, 빠르게 반복하며, 작동하지 않는 접근 방식은 빠르게 폐기합니다
Boris × Ryan Peterman — E4에서 E8 엔지니어로의 성장
- Meta 승진의 핵심은 "잠재적 수요" 기회를 찾는 것입니다 — Groups, Marketplace, Dating이 모두 대표적인 사례입니다
- 사이드 프로젝트(Undux ORM, TypeScript 실용 핸드북)는 기술적 성장을 위한 중요한 경로입니다
- 제너럴리스트 철학: "프론트엔드"나 "백엔드"로 자신을 정의하지 말고, 여러 도메인의 문제를 해결할 수 있어야 합니다
- Claude Code는 Codex와의 경쟁 압력 속에서 탄생했으며, 극히 짧은 시간 안에 프로토타입에서 제품으로 발전했습니다
- 대규모 조직에서 가장 좋은 영향력은 도구와 시스템을 통해 전체 팀의 효율성을 증폭시키는 것입니다
- "개도 먹지 않는 자신의 밥먹기(Anti-Eating Own Dog Food)"(내부에서 대규모로 자체 제품 사용)는 문제를 발견하는 가장 좋은 방법입니다
Boris × Y Combinator — CLI의 예상치 못한 부상과 AI 에이전트 토폴로지
- Claude Code가 IDE 플러그인 대신 CLI를 선택한 것은 계획된 것이 아니라 우연이었습니다 — CLI의 단순함이 장점이 되었습니다
- 에이전트 토폴로지는 다양합니다: 단일 에이전트, 병렬 에이전트, 계층적 에이전트, 각 작업에 맞는 토폴로지가 다릅니다
- 여러 에이전트의 컨텍스트 윈도우는 상관관계가 없습니다 — 이것이 병렬 실행의 이론적 기반입니다
- CLAUDE.md는 최소한으로 유지해야 합니다 — 모델이 추론할 수 없는 프로젝트 고유의 정보만 작성하세요
- Plan Mode는 임시 도구이며, 모델 능력이 향상되면 전용 계획 모드는 더 이상 필요하지 않을 것입니다
- 플러그인 생태계는 "떼(swarm)" 개발에 의해 구축됩니다 — 많은 외부 기여자가 동시에 다양한 플러그인을 구축합니다
Cat & Boris × Every — 듀얼 유즈 도구 설계 및 복리 엔지니어링
- 듀얼 유즈 도구: Claude Code는 인간과 AI 모두에게 서비스를 제공하며, 슬래시 명령어는 인간-AI 공유 인터페이스입니다
- "반대자 하위 에이전트(Adversary Subagent)" 패턴: 한 에이전트는 비용을 제출하고, 다른 에이전트는 감사자 역할을 하여 이의를 제기합니다
- 복리 엔지니어링(Compounding Engineering): 모든 코드 변경이 후속 변경을 더 쉽게 만듭니다
- "언십핑(Unshipping)" 전략: 거의 사용되지 않는 기능을 제거하는 것이 새로운 기능을 추가하는 것보다 집중력을 더 높입니다
- 하위 에이전트 아키텍처는 복잡한 작업을 집중적인 소규모 작업으로 분할하여 병렬 실행합니다
Dex Horthy × MLOps — RPI에서 Crispy 방법론까지의 진화
- RPI에서 가장 흔한 실수는 Research를 건너뛰고 바로 Plan으로 넘어가는 것입니다
- "계획이 아닌 코드를 읽어라" — 계획하기 전에 기존 코드베이스를 깊이 이해해야 합니다
- 명령어 예산은 150-200줄 이내로 유지해야 하며, 이를 초과하면 모델 준수도가 크게 떨어집니다
- 컨텍스트 윈도우에는 "스마트 존(Smart Zone)"과 "덤 존(Dumb Zone)"이 있습니다 — 전반부는 잘 이해되지만, 후반부는 자주 무시됩니다
- 수직 슬라이스(Vertical Slices) 계획이 수평 레이어보다 우수합니다 — 각 납품물은 엔드투엔드 검증 가능한 기능입니다
- "Crispy" 방법론의 7단계, 핵심은 각 단계에 명확한 완료 기준이 있다는 것입니다
- 설계 논의는 1000줄의 장황한 문서가 아닌 200줄의 정제된 계획을 산출해야 합니다
- "2026년에는 허술함 금지(No slop in 2026)" — AI가 생성한 불필요한 코드와 일반적인 표현을 용인하지 마세요
- 생각을 아웃소싱하지 마세요 — AI 출력의 모든 줄을 이해해야 하며, 그렇지 않으면 검증할 수 없습니다
- CRISPY 방법론 진화 — RPI(Research→Plan→Implement)에서 더 정밀한 7단계 프로세스로 진화했으며, 각 단계에는 크리스피한(명확한) 완료 기준이 있습니다
Karpathy × AI Engineer — 소프트웨어 3.0 및 검증 가능성 원칙
- 소프트웨어 1.0(직접 작성한 코드), 2.0(신경망 가중치), 3.0(LLM 프롬프트) 세 가지 패러다임이 공존합니다
- "들쭉날쭉한 지능(Jagged Intelligence)": LLM은 일부 작업에서는 인간을 능가하면서도 더 간단한 작업에서는 오류를 범합니다
- 검증 가능성(Verifiability)은 AI 코딩의 핵심 원칙입니다 — 자동으로 검증할 수 있는 작업만 AI에게 맡기세요
- 바이브 코딩은 빠른 프로토타이핑에 적합하고, 에이전트 엔지니어링은 프로덕션 코드에 적합합니다
- "동물 vs 유령" 프레임워크: 코드가 관찰 가능한 "동물"인지 포착하기 어려운 "유령"인지 이해합니다
- 교육 철학: "생각은 아웃소싱하되, 이해는 아웃소싱하지 마세요"
Matt Pocock 워크샵 — 스마트/덤 존, 수직 슬라이스 및 TDD
- 스마트/덤 존: 컨텍스트 전반부가 효율적인 처리 영역이므로, 핵심 지침을 여기에 배치하세요
- "Grill Me" 스킬: 코딩 전 Q&A를 통해 AI가 요구사항을 진정으로 이해했는지 확인합니다
- PRD 목표 문서: 요구사항을 명확한 "목적지 문서"로 변환하여 AI가 성공 기준을 알게 합니다
- 수직 슬라이스(Tracer Bullets): 각 슬라이스는 UI에서 데이터베이스까지 완전한 기능입니다
- AFK 에이전트 루프("Ralph Loop"): 무인 상태에서 에이전트가 루프를 돌며 계속 작업합니다
- AI를 활용한 TDD 레드-그린-리팩토링: 먼저 실패하는 테스트를 작성하고(레드), AI가 구현하고(그린), AI가 리팩토링합니다
- 깊은 모듈과 얕은 모듈: 간단한 인터페이스를 가진 깊은 모듈을 설계하여 AI가 이해해야 할 표면적을 줄이세요
- 모래성 병렬성(Sand Castle Parallelism): 독립적인 작업을 여러 에이전트에 할당하여 점진적으로 쌓아올립니다
치트 시트
공통 명령어 · CLI 플래그 · 환경 변수 · 설정 템플릿
공통 명령어 (82개 내장)
세션 관리
| 명령어 | 설명 |
|---|---|
/clear | 컨텍스트를 지우고 새 대화 시작 (별칭 /reset, /new) |
/compact [instructions] | 컨텍스트 압축, 선택적으로 포커스 지시사항 포함 |
/resume [session] | 세션 이어서 진행 (별칭 /continue) |
/branch [name] | 현재 대화 분기 (별칭 /fork) |
/rewind | 대화 및 코드 되감기 (별칭 /checkpoint, /undo) |
/goal [condition] | 영구 목표 설정, 제거하려면 비워두기 |
/stop | 백그라운드 세션 중지 |
/exit | CLI 종료 (별칭 /quit) |
/background [prompt] | 세션을 백그라운드로 분리 (별칭 /bg) |
/rename [name] | 세션 이름 변경 |
/recap | 현재 세션의 한 줄 요약 생성 |
/btw <question> | 빠른 보조 질문, 대화에 추가되지 않음 |
/workflows | 워크플로 진행 상황 보기/관리 |
모델 (Model)
| 명령어 | 설명 |
|---|---|
/model [model] | 모델 전환, ← → 로 노력도 조절 |
/effort [level] | 추론 노력도 설정 low~max/ultracode |
/fast [on|off] | 빠른 모드 토글 |
/plan [description] | 계획 모드 진입 |
/ultraplan <prompt> | 브라우저에서 계획 초안 작성, 원격 또는 로컬에서 실행 |
/passes | Claude Code 1주 무료 공유 (대상 사용자만) |
설정 (Configure)
| 명령어 | 설명 |
|---|---|
/config | 설정 인터페이스 (별칭 /settings) |
/permissions | 권한 규칙 관리 (별칭 /allowed-tools) |
/sandbox | 샌드박스 모드 토글 |
/statusline | 상태 표시줄 구성 |
/keybindings | 사용자 정의 키 바인딩 |
/theme | 테마 전환 (라이트/다크/색각 보정/사용자 정의 포함) |
/tui [default|fullscreen] | 렌더링 모드 |
/voice [hold|tap|off] | 음성 받아쓰기 |
/focus | 포커스 보기 (중간 단계 숨기기) |
/color [color|default] | 프롬프트 바 색상 설정 (red/blue/green 등) |
/radio | 브라우저에서 Claude FM 로파이 라디오 열기 |
/scroll-speed | 마우스 스크롤 속도 대화형 조절 |
/stickers | Claude Code 스티커 주문 |
/terminal-setup | 터미널 단축키 구성 (Shift+Enter 등) |
/privacy-settings | 개인정보 설정 보기 및 업데이트 (Pro/Max) |
컨텍스트 및 비용
| 명령어 | 설명 |
|---|---|
/context | 컨텍스트 사용량 시각화 |
/usage | 세션 비용 및 사용량 (별칭 /cost, /stats) |
/usage-credits | 사용량 크레딧 구성 |
/insights | 사용 패턴 분석 보고서 |
/status | 버전, 모델, 계정 상태 |
확장
| 명령어 | 설명 |
|---|---|
/agents | 에이전트 구성 관리 |
/mcp | MCP 서버 관리 |
/plugin | 플러그인 관리 |
/reload-plugins | 모든 활성 플러그인 다시 로드 (재시작 불필요) |
/reload-skills | skills/commands 디렉토리 다시 스캔 |
/skills | 사용 가능한 스킬 목록 (t로 토큰 수 정렬) |
/hooks | 훅 구성 보기 |
/ide | IDE 통합 관리 |
/chrome | Chrome 설정 |
/memory | CLAUDE.md 및 자동 메모리 편집 |
프로젝트
| 명령어 | 설명 |
|---|---|
/init | 프로젝트 CLAUDE.md 초기화 |
/diff | 대화형 diff 뷰어 |
/review | 로컬 PR 리뷰 |
/ultrareview [PR] | 클라우드 기반 심층 다중 에이전트 리뷰 |
/security-review | 보안 취약점 분석 |
/add-dir <path> | 작업 디렉토리 추가 |
/team-onboarding | 팀 온보딩 가이드 생성 |
원격 및 자동화
| 명령어 | 설명 |
|---|---|
/teleport | 웹 세션을 로컬로 가져오기 (별칭 /tp) |
/remote-control | 원격 제어 세션 (별칭 /rc) |
/schedule | 예약 작업 생성/관리 (별칭 /routines) |
/desktop | 데스크톱 앱에서 계속하기 (별칭 /app) |
/mobile | 모바일 앱 다운로드 (별칭 /ios, /android) |
/autofix-pr | PR CI 실패 자동 수정 |
/remote-env | 기본 원격 환경 구성 |
/web-setup | gh CLI를 통해 GitHub를 웹에 연결 |
/install-github-app | GitHub Actions 앱 설정 |
/install-slack-app | Slack 앱 설치 |
디버그 및 인증
| 명령어 | 설명 |
|---|---|
/doctor | 환경 진단 (자동 수정을 위해 f 누르기) |
/login | Anthropic 계정에 로그인 |
/logout | 로그아웃 |
/setup-bedrock | Bedrock 인증 구성 (환경 변수 필요) |
/setup-vertex | Vertex AI 인증 구성 (환경 변수 필요) |
/upgrade | 상위 플랜으로 업그레이드 |
/help | 도움말 정보 |
/feedback | 피드백 제출 또는 버그 보고 (별칭 /bug, /share) |
/heapdump | JS 힙 스냅샷을 ~/Desktop에 내보내기 |
/powerup | 대화형 기능 탐색 코스 |
/release-notes | 대화형 릴리스 노트 뷰어 |
/tasks | 백그라운드 작업 관리 (별칭 /bashes) |
내보내기
| 명령어 | 설명 |
|---|---|
/copy [N] | 최근 응답을 클립보드에 복사 (N=몇 번째 응답) |
/export [filename] | 대화를 일반 텍스트로 내보내기 |
하위 명령어 (터미널에서 직접 실행)
| 명령어 | 설명 |
|---|---|
claude | 대화형 REPL 시작 |
claude "question" | 초기 프롬프트로 시작 |
claude agents | 구성된 에이전트 목록 |
claude auth | 인증 관리 |
claude install | 네이티브 빌드 설치 또는 전환 |
claude remote-control | 원격 제어 세션 관리 |
claude doctor | CLI 진단 |
claude mcp | MCP 구성 (add/remove/list/get/enable) |
claude plugin | 플러그인 관리 |
claude setup-token | 장기 토큰 생성 |
claude update | 버전 업데이트 |
CLI 플래그 (16개 카테고리)
기능별로 정리된 전체 CLI 시작 플래그 참고 자료입니다.
세션 관리
| 플래그 | 단축 | 설명 |
|---|---|---|
--continue | -c | 가장 최근 대화 계속하기 |
--resume | -r | ID/이름으로 세션 재개 |
--from-pr | PR과 연관된 세션 재개 | |
--fork-session | 재개 시 새 세션 ID 생성 | |
--session-id | 세션 UUID 지정 | |
--no-session-persistence | 세션 지속성 비활성화 (인쇄 모드 전용) | |
--remote | claude.ai 웹 세션 생성 | |
--teleport | 웹 세션을 로컬 터미널로 가져오기 |
모델 및 구성
| 플래그 | 설명 |
|---|---|
--model <NAME> | 모델 설정 (sonnet/opus/haiku 또는 전체 ID) |
--fallback-model | 기본 모델 과부하 시 대체 모델 (인쇄 모드) |
--betas <LIST> | 베타 기능 헤더 (API 키 사용자) |
권한 및 보안
| 플래그 | 설명 |
|---|---|
--dangerously-skip-permissions | 모든 권한 프롬프트 건너뛰기 (매우 주의하여 사용) |
--allow-dangerously-skip-permissions | 권한 건너뛰기 허용 (활성화하지 않고 옵션만 활성화) |
--permission-mode <MODE> | 권한 모드: default/plan/acceptEdits/bypassPermissions |
--permission-prompt-tool <TOOL> | 비대화형 모드에서 권한 프롬프트에 MCP 도구 사용 |
--allowedTools | 사전 승인된 도구 목록 |
--disallowedTools | 완전히 제거된 도구 |
--tools | 사용 가능한 도구 세트 제한 |
출력 및 형식
| 플래그 | 단축 | 설명 |
|---|---|---|
--print | -p | 비대화형 / 헤드리스 모드 |
--output-format | text / json / stream-json | |
--input-format | text / stream-json | |
--json-schema | JSON Schema 일치 출력 (인쇄 모드) | |
--verbose | 상세 로깅 | |
--include-partial-messages | 스트리밍 부분 이벤트 포함 (--print + stream-json 필요) |
시스템 프롬프트
| 플래그 | 설명 |
|---|---|
--system-prompt <TEXT> | 전체 시스템 프롬프트 교체 |
--system-prompt-file <PATH> | 파일에서 시스템 프롬프트 로드 |
--append-system-prompt <TEXT> | 기본 프롬프트에 추가 |
--append-system-prompt-file <PATH> | 파일에서 프롬프트 추가 |
에이전트 및 하위 에이전트
| 플래그 | 설명 |
|---|---|
--agent <NAME> | 에이전트 지정 |
--agents <JSON> | 하위 에이전트 동적 정의 |
--teammate-mode <MODE> | 에이전트 표시: auto/in-process/tmux |
MCP 및 플러그인
| 플래그 | 설명 |
|---|---|
--mcp-config <PATH|JSON> | MCP 서버 구성 로드 |
--strict-mcp-config | 지정된 MCP 구성만 사용 |
--plugin-dir <PATH> | 플러그인 디렉터리 로드 (반복 가능) |
디렉터리 및 워크스페이스
| 플래그 | 설명 |
|---|---|
--add-dir <PATH> | 작업 디렉터리 추가 |
--worktree / -w | 격리된 워크트리에서 시작 |
예산 및 제한
| 플래그 | 설명 |
|---|---|
--max-budget-usd | 최대 비용 (인쇄 모드) |
--max-turns | 최대 턴 수 (인쇄 모드) |
연동
| 플래그 | 설명 |
|---|---|
--chrome / --no-chrome | 브라우저 연동 토글 |
--ide | IDE 자동 연결 |
초기화 및 유지 관리
| 플래그 | 설명 |
|---|---|
--init | 초기화 훅 실행 및 대화형 모드 시작 |
--init-only | 초기화 훅 실행 후 종료 (대화형 없음) |
--maintenance | 유지 관리 훅 실행 후 종료 |
디버그 및 설정 재정의
| 플래그 | 설명 |
|---|---|
--debug <CATS> | 디버그 카테고리 (예: "api,hooks") |
--settings <PATH|JSON> | 설정 재정의 |
--setting-sources <LIST> | 로드 소스 지정: user,project,local |
--disable-slash-commands | 모든 스킬 및 슬래시 명령 비활성화 |
버전 및 도움말
| 플래그 | 단축 | 설명 |
|---|---|---|
--version | -v | 버전 번호 출력 |
--help | -h | 도움말 표시 |
환경 변수
시작 환경 변수 (셸 설정)
| 변수 | 설명 |
|---|---|
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 | 실험적 에이전트 팀 활성화 |
CLAUDE_CODE_TMPDIR | 임시 파일 디렉토리 재정의 |
DISABLE_AUTOUPDATER=1 | 자동 업데이트 비활성화 |
CLAUDE_CODE_EFFORT_LEVEL | 추론 깊이 제어 |
USE_BUILTIN_RIPGREP=0 | 시스템 ripgrep 사용 (Alpine) |
CLAUDE_CODE_SIMPLE | 심플 모드 (Bash + Edit만) |
CLAUDE_BASH_NO_LOGIN=1 | 로그인 셸 건너뛰기 |
CCR_FORCE_BUNDLE=1 | 번들 업로드 강제 (--remote) |
인증 및 모델 및 제공자
| 변수 | 설명 |
|---|---|
ANTHROPIC_API_KEY | API 키 (직접 인증) |
ANTHROPIC_AUTH_TOKEN | OAuth 토큰 |
CLAUDE_CODE_USE_BEDROCK=1 | AWS Bedrock 사용 |
CLAUDE_CODE_USE_VERTEX=1 | Google Vertex 사용 |
CLAUDE_CODE_MODEL | 기본 모델 ID |
CLAUDE_CODE_SMALL_FAST_MODEL | 빠른/소형 모델 ID |
MAX_THINKING_TOKENS | 최대 사고 토큰 수 |
샌드박스 및 보안 및 성능
| 변수 | 설명 |
|---|---|
CLAUDE_CODE_SANDBOX_MODE | 샌드박스 모드 (docker/macOS/docker-arm) |
CLAUDE_CODE_MAX_TURNS | 기본 최대 턴 수 |
CLAUDE_CODE_ENABLE_TASKS=1 | 작업 시스템 활성화 |
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1 | 백그라운드 작업 비활성화 |
CLAUDE_CODE_USE_POWERSHELL_TOOL | PowerShell 도구 활성화 |
CLAUDE_CODE_SHELL | 사용자 정의 셸 경로 |
디스플레이 및 MCP 및 플러그인 및 원격 측정
| 변수 | 설명 |
|---|---|
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 | 필수 외 네트워크 요청 비활성화 |
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 | 실험적 베타 비활성화 |
CLAUDE_MCP_TIMEOUT | MCP 도구 시간 초과 (ms) |
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 | 추가 디렉토리 CLAUDE.md 로드 |
CLAUDE_CODE_SKIP_DOCTOR_CHECK | 시작 진단 건너뛰기 |
CLAUDE_CODE_NO_ATTRIBUTION=1 | 커밋 기여 표시 건너뛰기 |
설정 템플릿
CLAUDE.md 템플릿
# Project Name
## Tech Stack
- Frontend: React + TypeScript
- Backend: Node.js + Express
## Coding Conventions
- File naming: kebab-case
- Components: functional + hooks
- Testing: Vitest
## Constraints
- Do not use any type
- Do not skip tests
- API must have error handling
.claude/settings.json 템플릿
{
"permissions": {
"allow": ["Bash(npm run *)","Bash(git status)","Read","Grep","Glob"],
"deny": ["Bash(rm -rf *)","Bash(git push --force)"]
}
}
에이전트 정의 템플릿
---
name: my-agent
description: Perform specific task
tools: "Bash,Read,Write,Edit,Grep"
model: sonnet
maxTurns: 20
memory: project
---
# My Agent
1. Read relevant files
2. Analyze code
3. Implement changes
4. Verify results
스킬 정의 템플릿
---
name: my-skill
description: What to do
arguments: filename
allowed-tools: "Read,Write,Edit"
paths: "src/**/*.ts"
---
Process $filename:
1. Read → 2. Transform → 3. Write back
워크플로 치트시트
/rpi:research REQUEST.md- GO/NO-GO 확인
/rpi:plan feature-name/rpi:implement feature-name
- Claude Code 계획 모드
- Codex CLI QA 리뷰
- Claude Code 구현
- Codex CLI 검증
/plan으로 계획- 접근 방식 확인
- 구현
/code-review로 리뷰/verify로 검증
/doctor으로 확인/debug로 디버그/undo로 되돌리기/compact으로 정리