TRENDSHIFT #3 딥다이브 · 2026-04-02 분석
claude-code-best-practice 딥다이브
— Claude Code를 제대로 쓰는 법, 83개 팁 + 구현 예제 총정리
Claude Code를 열었는데 어떻게 써야 할지 막막했나요? claude-code-best-practice는 서브에이전트, 커맨드, 스킬, 훅, MCP 서버, 에이전트 팀까지 Claude Code의 모든 아키텍처 패턴을 구현 예제와 함께 문서화한 원스톱 참고서입니다. (저장소: shanraisshan/claude-code-best-practice · ⭐56.3k · HTML · MIT)
1프로젝트 한줄 요약
claude-code-best-practice가 정확히 무엇인가
claude-code-best-practice는 Claude Code를 제대로 쓰는 법을 총정리한 실전 베스트 프랙티스 레포지토리입니다. 서브에이전트, 커맨드, 스킬, 훅, MCP 서버, 에이전트 팀까지 — Claude Code의 모든 아키텍처 패턴을 구현 예제와 함께 문서화했습니다. 83개 커뮤니티 팁, 12개 심층 보고서, 11개 개발 워크플로우를 한 곳에 모아놓은 원스톱 참고서입니다.
한 컷 비유
"Claude Code 설명서가 기능 목록이라면, 이 레포는 실전 레시피북"
공식 문서가 "이런 기능이 있습니다"를 알려준다면, claude-code-best-practice는 "실제 개발 현장에서 이렇게 써라"는 워크플로우 중심입니다.
핵심 철학: Don't Babysit — Claude를 마이크로매니징하지 말고, 목표와 제약조건만 주고 자율적으로 일하게 하라.
2왜 주목받는가
트렌딩 이유와 경쟁 대비 장점
기존 방식의 한계
공식 문서와 실전 사이의 갭
Claude Code 공식 문서는 기능 나열 중심입니다. "어떻게 써야 잘 쓰는 건지", "서브에이전트와 에이전트 팀은 어떻게 다른지", "MCP 서버를 언제 써야 하는지"는 실제로 써봐야만 알 수 있었습니다.
이 레포의 해법
구현 예제 + 83개 커뮤니티 팁 + 심층 보고서
단순 링크 모음이 아니라 실제 구현 예제와 아키텍처 설명을 제공합니다. Claude Code 창시자(Boris Cherny)와 Anthropic 팀(Thariq)의 팁까지 포함된 커뮤니티 인사이트, 그리고 에이전트 팀·스케줄링 같은 심화 패턴까지 커버합니다.
경쟁 레포 대비 위치
| 비교 대상 | claude-code-best-practice의 차별점 |
| hesreallyhim/awesome-claude-code | 링크 모음 vs 구현 예제 + 아키텍처 설명 제공 |
| luongnv89/claude-howto | 입문 가이드 vs 심화 패턴(에이전트 팀, 오케스트레이션) 포함 |
| affaan-m/everything-claude-code | 성능 최적화 vs 전체 생태계 조감도 제공 |
| Anthropic 공식 문서 | 기능 레퍼런스 vs 실전 워크플로우 + 커뮤니티 팁 |
3기술 스택 전체 지도
Claude Code 생태계 전체를 다루는 범위
이 레포는 코드 프로젝트가 아니라 문서 + 설정 예제 프로젝트입니다. 다루는 기술 스택은 Claude Code 생태계 전체를 포괄합니다.
┌─────────────────────────────────────────────────────┐
│ Claude Code CLI │
│ (터미널 기반 에이전트 코딩 도구) │
├─────────────────────────────────────────────────────┤
│ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ Commands │ │ Skills │ │ Subagents │ │
│ │ (85개) │ │ (5+사용자)│ │ (5개 내장) │ │
│ └────┬─────┘ └────┬─────┘ └────────┬─────────┘ │
│ └──────────────┴──────────────────┘ │
│ │ │
│ ┌────────────────────▼──────────────────────────┐ │
│ │ Agent Orchestration Layer │ │
│ │ Command → Agent → Skill 파이프라인 │ │
│ └────────────────────┬──────────────────────────┘ │
│ │ │
│ ┌────────┐ ┌───────▼──────┐ ┌────────────────┐ │
│ │ Hooks │ │ MCP Servers │ │ Settings │ │
│ │(30이벤트)│ │ (외부 도구) │ │ (5단계 계층) │ │
│ └────────┘ └──────────────┘ └────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────┐ │
│ │ Memory System (CLAUDE.md) │ │
│ │ Global → Project → Component → Local │ │
│ └──────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
| 영역 | 기술 |
| 에이전트 프레임워크 | Claude Code CLI, Agent SDK, Subagents, Agent Teams |
| 오케스트레이션 | Commands, Skills, Hooks, MCP Protocol |
| 설정 관리 | settings.json (5단계 계층), CLAUDE.md, .mcp.json |
| 외부 연동 (MCP) | Playwright, Context7, DeepWiki, Excalidraw, Chrome |
| 자동화 | /loop (로컬), /schedule (클라우드), Hooks |
4아키텍처 심화 분석
Command→Agent→Skill 파이프라인과 5가지 핵심 패턴
4.1 Command → Agent → Skill 파이프라인
이 레포가 제시하는 핵심 아키텍처 패턴입니다. 날씨 SVG 생성 예제로 설명하면:
사용자: /weather Seoul
① Command (weather-orchestrator)
└─ "서울 날씨를 SVG로 만들어줘"
│
② Agent (weather-agent)
├─ skills: [weather-fetcher] ← 에이전트 시작 시 스킬 주입
├─ tools: [WebFetch, Write]
└─ permissionMode: acceptEdits
│
③ Skill (weather-fetcher) ← 에이전트 컨텍스트에 미리 로드
└─ "이 API에서 온도 데이터를 가져와라"
│
④ Skill (weather-svg-creator) ← 직접 호출 가능한 스킬
└─ "데이터를 SVG 차트로 변환"
│
⑤ Output: weather.svg 파일 생성
4.2 서브에이전트 시스템 (16개 설정 필드)
┌─ Main Session ─────────────────────────────┐
│ │
│ "이 PR을 리뷰해줘" │
│ │ │
│ ▼ │
│ ┌─ Subagent: code-reviewer ──────────┐ │
│ │ model: opus │ │
│ │ tools: [Read, Grep, Glob] │ │
│ │ permissionMode: plan (읽기만) │ │
│ │ maxTurns: 20 │ │
│ │ isolation: worktree (별도 브랜치) │ │
│ │ │ │
│ │ → 코드 분석 → 리뷰 결과 반환 │ │
│ └─────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ 리뷰 결과를 메인 세션에서 활용 │
└─────────────────────────────────────────────┘
| 필드 | 역할 | 예시 |
| name | 고유 식별자 | code-reviewer |
| description | 호출 조건 (PROACTIVELY 키워드로 자동 호출) | "PROACTIVELY review all PRs" |
| model | 사용 모델 | opus, sonnet, haiku, inherit |
| permissionMode | 권한 | default, acceptEdits, dontAsk, plan |
| isolation | 격리 모드 | worktree (임시 git worktree) |
| maxTurns | 최대 실행 턴 | 20 |
4.3 에이전트 팀 (Agent Teams)
┌─ tmux Session ──────────────────────────────────────┐
│ │
│ ┌─ Pane 1 ──────┐ ┌─ Pane 2 ──────┐ │
│ │ Claude Agent A │ │ Claude Agent B │ │
│ │ (백엔드 작업) │ │ (프론트엔드) │ │
│ └───────┬────────┘ └───────┬────────┘ │
│ └──────────┬──────────┘ │
│ ▼ │
│ ┌──────────────────────────────────────┐ │
│ │ Shared Task List (파일 기반) │ │
│ │ - [x] API 엔드포인트 설계 │ │
│ │ - [ ] DB 스키마 작성 (Agent A) │ │
│ │ - [ ] UI 컴포넌트 구현 (Agent B) │ │
│ └──────────────────────────────────────┘ │
│ │
│ 환경: CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 claude │
└───────────────────────────────────────────────────────┘
4.4 설정 계층 시스템 (5단계)
우선순위 높음
│
▼
① Managed Settings (조직 관리자가 강제 — 절대 덮어쓸 수 없음)
② CLI Arguments (--model opus 같은 일회성 오버라이드)
③ .claude/settings.local.json (개인 프로젝트 설정 — .gitignore)
④ .claude/settings.json (팀 공유 설정 — git 커밋)
⑤ ~/.claude/settings.json (글로벌 개인 기본값)
│
▼
우선순위 낮음
권한 평가 순서: deny (최고) → ask → allow (최저)
4.5 메모리 시스템 (CLAUDE.md 로딩 전략)
/mymonorepo/
├── CLAUDE.md ← ① Ancestor Loading (즉시 로드)
├── frontend/
│ ├── CLAUDE.md ← ② Descendant Loading (접근 시 지연 로드)
│ └── src/
└── backend/
├── CLAUDE.md ← ② 접근 시에만 로드
└── src/
CLAUDE.md 베스트 프랙티스
200줄 이하 유지
CLAUDE.md가 200줄을 넘으면 Claude의 준수율이 급격히 떨어집니다. 길어지면 .claude/rules/ 디렉토리로 분할하세요. CLAUDE.local.md는 개인 설정용으로 .gitignore에 추가합니다.
5디렉토리 구조 해부
핵심 디렉토리 3개
claude-code-best-practice/
│
├── .claude/ # Claude Code 설정 디렉토리
│ ├── agents/ # 서브에이전트 정의 (.md)
│ ├── commands/ # 커스텀 명령어 정의
│ ├── hooks/ # 라이프사이클 훅 (Python 스크립트)
│ ├── skills/ # 스킬 정의 (SKILL.md)
│ ├── settings.json # 팀 공유 설정
│ └── settings.local.json # 개인 설정 (.gitignore)
│
├── .mcp.json # MCP 서버 설정 (Playwright, Context7, DeepWiki)
├── CLAUDE.md # 프로젝트 메모리 파일
│
├── best-practice/ # ★ 핵심: 기능별 베스트 프랙티스
│ ├── claude-subagents.md # 서브에이전트 16개 설정 필드 상세
│ ├── claude-skills.md # 스킬 16개 설정 필드 상세
│ ├── claude-commands.md # 커맨드 16개 필드 + 85개 내장 명령
│ ├── claude-memory.md # CLAUDE.md 로딩 전략
│ ├── claude-mcp.md # 추천 MCP 서버 5선
│ └── claude-settings.md # 설정 계층 + 200+ 환경변수
│
├── implementation/ # ★ 구현 가이드
│ ├── claude-skills-implementation.md # Command→Agent→Skill 구현
│ ├── claude-subagents-implementation.md # 서브에이전트 구현
│ ├── claude-agent-teams-implementation.md # 에이전트 팀 구현
│ └── claude-scheduled-tasks-implementation.md
│
├── tips/ # ★ 커뮤니티 팁 모음 (83개)
│ ├── claude-boris-15-tips-30-mar-26.md # 최신 15개 숨겨진 기능
│ └── claude-thariq-tips-17-mar-26.md # Anthropic 팀 (Thariq) 팁
│
├── reports/ # 심층 분석 보고서 (12개)
├── development-workflows/ # 개발 워크플로우 패턴
└── agent-teams/ # 에이전트 팀 예제
6학습 포인트 (기술별)
이 레포에서 무엇을 배울 수 있는가
6.1 서브에이전트 설계 패턴
배울 것: 서브에이전트의 16개 설정 필드를 이해하면, Claude Code를 "코딩 비서"가 아니라 "자율 팀"으로 운영할 수 있습니다.
# .claude/agents/code-reviewer.md 예시
---
name: code-reviewer
description: "PROACTIVELY review PRs for bugs and vulnerabilities"
model: opus
tools: [Read, Grep, Glob, Bash]
permissionMode: plan
maxTurns: 30
isolation: worktree
---
PR의 모든 변경 파일을 읽고, 버그/보안/성능 이슈를 찾아 보고서를 작성하라.
6.2 스킬 아키텍처 (Progressive Disclosure)
배울 것: 스킬의 16개 프론트매터 필드를 활용한 지식 모듈화. 직접 호출 스킬(user-invocable: true) vs 주입형 에이전트 스킬(user-invocable: false) 차이.
고급 필드: context: fork(격리 실행), paths: "src/api/**"(경로 자동 활성화), allowed-tools(도구 제한).
6.3 MCP 서버 실전 활용
추천 MCP 서버 5선:
| 서버 | 용도 | 설정 |
| Context7 | 최신 라이브러리 문서 조회 | npx -y @upstash/context7-mcp |
| Playwright | 브라우저 자동화 테스트 | npx -y @playwright/mcp |
| Claude in Chrome | 실제 브라우저 디버깅 | Chrome 확장 |
| DeepWiki | GitHub 레포 문서 추출 | npx -y deepwiki-mcp |
| Excalidraw | 다이어그램 자동 생성 | Excalidraw MCP |
6.4 Hooks 시스템
대표 4가지 이벤트 (전체 30개 중): SessionStart(환경 초기화), PreToolUse(검증/차단), PostToolUse(결과 가공), Stop(정리/알림). 그 외 SessionEnd, PermissionRequest, SubagentStart 등 총 30개 이벤트 지원.
사용 예시:
PreToolUse → "Write 도구 사용 전 lint 검사 실행"
PostToolUse → "파일 수정 후 자동 포맷팅"
Stop → "세션 종료 시 Slack 알림 전송"
6.5 개발 워크플로우 패턴
이 레포가 분석한 11개 유명 워크플로우는 모두 같은 패턴으로 수렴합니다:
Research → Plan → Execute → Review → Ship
(조사) (계획) (실행) (검토) (배포)
| 워크플로우 | 레포 | 핵심 특징 |
| Superpowers | obra/superpowers (129k⭐) | TDD 우선 접근 |
| Everything Claude Code | affaan-m | 멀티에이전트 계획 + 본능 스코어링 |
| Spec Kit | github/spec-kit (84k⭐) | 스펙 기반 개발 |
| Get Shit Done | 46k⭐ | Wave 실행 + 프레시 컨텍스트 |
7하드웨어 / 시스템 요구사항
실습에 필요한 환경
| 항목 | 요구사항 |
| Claude Code | Anthropic 계정 + Claude Code CLI 설치 |
| Node.js | MCP 서버 실행을 위해 18+ 필요 |
| Git | worktree 기능 사용 시 2.15+ |
| tmux + iTerm2 | Agent Teams 실습 시 필요 (macOS) |
| API 요금 | Claude Code Pro/Max 플랜 권장 |
8직접 해볼 수 있는 실습 과제
난이도별 5개 과제
TASK 01
CLAUDE.md 최적화 ⭐ 초급 · 30분
현재 프로젝트의 CLAUDE.md를 200줄 이하로 정리하고, .claude/rules/ 디렉토리를 만들어 규칙을 파일별로 분리합니다. CLAUDE.local.md에 개인 설정을 분리하고 .gitignore에 추가.
TASK 02
커스텀 스킬 만들기 ⭐⭐ 중급 · 1시간
.claude/skills/my-skill/SKILL.md를 만들고 프론트매터를 작성합니다. description에 트리거 조건을 명확히 기술하고, allowed-tools로 필요한 도구만 허용합니다. paths 필드로 특정 디렉토리에서만 자동 활성화되게 설정.
TASK 03
MCP 서버 연결하기 ⭐⭐ 중급 · 1시간
.mcp.json에 Context7 + Playwright 서버를 추가합니다. Claude Code에서 Context7으로 React 최신 문서를 조회하고, Playwright로 간단한 웹 테스트 자동화를 실행합니다.
{
"mcpServers": {
"context7": { "command": "npx", "args": ["-y", "@upstash/context7-mcp"] },
"playwright": { "command": "npx", "args": ["-y", "@playwright/mcp"] }
}
}
TASK 04
자율 코드 리뷰 에이전트 구축 ⭐⭐⭐ 고급 · 2시간
.claude/agents/code-reviewer.md를 작성하고, description: "PROACTIVELY" 설정으로 자동 호출합니다. permissionMode: plan으로 읽기 전용 설정. hooks에 Stop 이벤트로 리뷰 결과 파일 저장.
TASK 05
에이전트 팀 워크플로우 ⭐⭐⭐ 고급 · 3시간
tmux를 설치하고 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 claude로 시작합니다. 팀 커맨드를 정의하고, 2개 에이전트가 공유 태스크 리스트로 협업하는 시나리오를 구현합니다. 데이터 계약(JSON 스키마) 합의 문서도 작성.
9관련 기술 심화 학습 로드맵
5주 커리큘럼
1주차 — Claude Code 기초 마스터
CLAUDE.md 작성법 및 로딩 메커니즘 이해, 내장 명령어 85개 훑어보기(특히 /plan, /compact, /doctor), 설정 계층 5단계 실습.
2주차 — 스킬과 커맨드
스킬 프론트매터 16개 필드 실습, 커맨드 프론트매터 16개 필드 실습, 직접 호출 스킬 vs 주입형 에이전트 스킬 차이 체득, Progressive Disclosure 패턴 적용.
3주차 — 서브에이전트와 MCP
서브에이전트 16개 설정 필드 마스터, 내장 에이전트 5개 활용법, MCP 서버 연결 및 활용(Context7, Playwright), 권한 시스템(deny > ask > allow).
4주차 — 고급 패턴
Agent Teams 구축(tmux + 공유 태스크), Hooks로 워크플로우 자동화, /loop과 /schedule로 반복 작업 자동화, Git worktree를 활용한 병렬 작업.
5주차 — 워크플로우 통합
자신만의 개발 워크플로우 설계, Research → Plan → Execute → Review → Ship 파이프라인 구축, 실제 프로젝트에 적용하여 생산성 측정.
10핵심 키워드 사전
이 레포를 이해하는 데 꼭 필요한 개념들
| 키워드 | 설명 |
| Subagent | 독립된 컨텍스트에서 실행되는 자율 에이전트. 메인 세션에서 포크되며, 자체 도구/권한/모델을 가짐 |
| Command | /로 호출하는 프롬프트 템플릿. 워크플로우 오케스트레이션의 진입점 |
| Skill | 재사용 가능한 지식 모듈. SKILL.md 파일로 정의하며, 직접 호출 또는 에이전트에 주입 |
| MCP | Model Context Protocol. LLM이 외부 도구/서비스와 통신하는 표준 프로토콜. stdio(로컬) / HTTP(원격) 지원 |
| Hook | 에이전트 라이프사이클 이벤트에 끼워넣는 커스텀 로직 (SessionStart, PreToolUse 등) |
| Agent Teams | 여러 독립 Claude Code 세션이 공유 태스크 리스트로 협업하는 패턴 |
| CLAUDE.md | 프로젝트별 영구 컨텍스트 파일. Claude Code의 "두뇌" 역할 |
| Worktree | Git의 작업 트리. isolation: worktree로 에이전트를 별도 브랜치에서 격리 실행 |
| Ancestor Loading | CLAUDE.md의 상향 로딩. 현재 디렉토리 → 루트 방향으로 즉시 로드 |
| Progressive Disclosure | 필요할 때만 정보를 제공하는 설계 패턴. 스킬의 컨텍스트 절약에 활용 |
| Permission Mode | 에이전트의 권한 수준. plan(읽기만) → default → acceptEdits → dontAsk → bypassPermissions |
| /compact | 컨텍스트 창의 내용을 압축하는 명령. 50% 사용 시 수동 실행 권장 |
| Don't Babysit | 이 레포의 핵심 철학. Claude에게 목표와 제약만 주고 자율적으로 일하게 하라 |
11참고 링크
더 깊이 공부하려면