claude-howto는 Claude Code의 모든 기능을 시각적 다이어그램 + 실전 템플릿 + 단계별 학습 경로로 가르치는 오픈소스 교육 가이드입니다. claude 명령어를 처음 치는 순간부터 에이전트 오케스트레이션, 훅, 스킬, MCP 서버, 플러그인까지 — Claude Code 생태계 전체를 10개 모듈로 체계화했습니다.
Claude Code를 처음 설치했을 때 공식 문서는 기능 레퍼런스라 "어디서 시작하지?"가 막막합니다. claude-howto는 10개 레슨으로 단계를 나눠, 슬래시 커맨드 → 메모리 → 스킬 → 서브에이전트 순으로 점진적으로 가르칩니다.
가장 큰 장점은 복사해서 바로 쓸 수 있는 프로덕션 레벨 템플릿입니다. git clone 후 .claude/ 디렉토리에 원하는 모듈의 파일을 복사하면 즉시 작동합니다.
Claude Code를 배우려면 공식 문서, 블로그 포스트, Twitter 팁, YouTube 영상을 따로따로 찾아야 했습니다. "기초부터 고급까지 한 곳에서 점진적으로 배울 수 있는 커리큘럼"이 없었습니다.
10문항 퀴즈로 레벨을 판정하고 해당 마일스톤부터 시작합니다. Mermaid 시각 다이어그램으로 아키텍처와 데이터 흐름을 눈으로 이해하고, 즉시 복사-붙여넣기 가능한 템플릿으로 실습합니다. EPUB 빌드로 오프라인에서도 읽을 수 있습니다.
| 비교 대상 | claude-howto의 강점 |
|---|---|
| 공식 Anthropic 문서 | 레퍼런스 vs 튜토리얼 — 학습 경로와 실습 과제를 제공 |
| awesome-claude-code | 링크 모음 vs 체계적 커리큘럼 — 10개 모듈 + 자기진단 퀴즈 |
| oh-my-claudecode | 팀 오케스트레이션 특화 vs 기초부터 고급까지 전 범위 커버 |
| 블로그 포스트들 | 파편화된 정보 vs 하나의 레포에서 점진적 학습 |
| 카테고리 | 기술 | 용도 |
|---|---|---|
| 콘텐츠 | Markdown | 전체 가이드 작성 |
| 다이어그램 | Mermaid | 아키텍처/플로우 시각화 |
| EPUB 빌드 | Python (ebooklib, markdown, BeautifulSoup4, httpx, Pillow) | 전자책 변환 |
| 다이어그램 렌더링 | Kroki.io API | Mermaid → PNG 변환 |
| 비동기 처리 | Python asyncio + httpx | 병렬 다이어그램 렌더링 |
| 테스트 | pytest + pytest-asyncio | 빌드 스크립트 검증 |
| 패키지 관리 | uv (Python) | 의존성 관리 |
이 레포의 가장 중요한 설계 철학입니다. LLM의 컨텍스트 윈도우는 유한합니다. 모든 정보를 한번에 넣으면 성능이 떨어집니다.
| 파일 | 역할 |
|---|---|
| commit.md | Git 커밋 자동화 템플릿 (동적 컨텍스트 주입) |
| pr.md | PR 생성 워크플로우 (린트 → 테스트 → 생성) |
| optimize.md | 코드 성능 분석 커맨드 |
| push-all.md | 시크릿/아티팩트 검사 후 안전한 push |
| unit-test-expand.md | 미테스트 브랜치 타겟 테스트 커버리지 확장 |
| 파일 | 역할 |
|---|---|
| format-code.sh | 코드 포맷팅 자동화 |
| pre-commit.sh | 커밋 전 검증 |
| security-scan.sh | 보안 스캔 자동화 |
| context-tracker.py | 컨텍스트 사용량 추적 |
| context-tracker-tiktoken.py | tiktoken 기반 정밀 토큰 카운팅 |
| 디렉토리 | 역할 |
|---|---|
| devops-automation/ | 배포 + 인시던트 관리 워크플로우 번들 |
| documentation/ | API 문서 + README 생성 번들 |
| pr-review/ | 코드 리뷰 + 보안 + 테스트 번들 |
배울 것: 커스텀 커맨드의 동적 컨텍스트 주입 패턴.
---
name: commit
description: 스마트 커밋 생성
---
현재 변경사항을 분석하고 커밋 메시지를 생성하세요.
변경 파일: !`git diff --cached --stat`
최근 커밋 스타일: !`git log --oneline -5`
!`command` — 셸 명령 실행 결과를 동적 삽입. $ARGUMENTS — 사용자 입력 인자 치환. @filepath — 파일 내용 참조.배울 것: LLM 컨텍스트 효율화의 핵심 패턴. Reference Content(참조형) vs Task Content(작업형) 구분. context: fork로 서브에이전트 컨텍스트에서 격리 실행. disable-model-invocation: true로 고위험 작업 자동 실행 방지.
메인 에이전트 (사용자 대화)
├── @code-reviewer → 코드 품질 분석
├── @test-engineer → 테스트 전략 수립
├── @secure-reviewer → 보안 취약점 스캔
└── @documentation-writer → 문서 자동 생성
핵심 개념: 도구 제한(Principle of Least Privilege), 모델 선택(Haiku=단순, Opus=복잡), Worktree 격리, 에이전트 체이닝, Resumable.
// .claude/settings.json 예시
{
"mcpServers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": { "Authorization": "Bearer ${GITHUB_TOKEN}" }
}
}
}
4가지 트랜스포트: HTTP(권장), Stdio(로컬), WebSocket(양방향), SSE(레거시). 환경변수 확장 문법: ${VAR}, ${VAR:-default}.
| 타입 | 설명 | 사용 시점 |
|---|---|---|
| command | 셸 명령 실행 | 파일 저장 시 포맷팅, 보안 스캔 |
| http | 웹훅 호출 | Slack 알림, 외부 서비스 연동 |
| prompt | LLM이 프롬프트 평가 | 작업 완료 여부 판정 |
| agent | 서브에이전트 생성 | 복잡한 검증/분석 자동화 |
배울 것: httpx + asyncio로 비동기 HTTP 클라이언트 구현, Kroki.io API로 Mermaid → PNG 서버사이드 렌더링, tenacity로 재시도 로직 구현, ebooklib으로 EPUB 생성.
async def render_diagrams(mermaid_blocks):
async with httpx.AsyncClient() as client:
tasks = [render_one(client, block) for block in mermaid_blocks]
return await asyncio.gather(*tasks)
| 항목 | 요구사항 |
|---|---|
| Claude Code | 버전 2.1 이상 |
| Claude 모델 | Sonnet 4.6, Opus 4.6, Haiku 4.5 호환 |
| OS | macOS, Linux, Windows (WSL) |
| Node.js | 18+ (Claude Code 실행용) |
| Python | 3.10+ (EPUB 빌드 시에만 필요) |
| uv | Python 패키지 매니저 (EPUB 빌드 시) |
| 디스크 | ~50MB (레포 클론) |
.claude/commands/ 디렉토리를 생성하고 3개 커맨드를 작성합니다: review.md(코드 리뷰), explain.md(초보자 설명), todo.md(TODO 수집 정리).
.claude/skills/code-review/SKILL.md를 생성하고 frontmatter에 트리거 조건을 명시합니다(PR 링크, "리뷰해줘" 등). 체크리스트 기반 리뷰 로직을 작성하고 context: fork로 격리 실행을 테스트합니다.
3개 에이전트를 체이닝해서 CI 파이프라인을 구축합니다:
각 에이전트의 .claude/agents/*.md 파일을 생성하고, 도구 권한을 최소화(Principle of Least Privilege)하며 체이닝 스크립트를 작성합니다.
Slack MCP 서버를 설정하고, Write 훅에 notify-team.sh를 연결합니다. 특정 파일 패턴(예: *.config.*)에만 트리거되도록 매처를 설정합니다.
과제 1~4의 결과물을 하나의 플러그인으로 패키징합니다. plugin.json 매니페스트를 작성하고, userConfig로 설정 옵션을 노출합니다. 민감 정보(API 키)는 sensitive: true 처리. README와 설치 가이드를 포함합니다.
| 일 | 주제 | 실습 |
|---|---|---|
| 1일 | 슬래시 커맨드 55+개 탐색 | 내장 커맨드 10개 써보기 |
| 2일 | 커스텀 커맨드 작성법 | 과제 1 수행 |
| 3일 | CLAUDE.md 메모리 시스템 | 프로젝트 CLAUDE.md 작성 |
| 일 | 주제 | 실습 |
|---|---|---|
| 1일 | 스킬 아키텍처 이해 | Progressive Disclosure 3단계 실습 |
| 2일 | 커스텀 스킬 작성 | 과제 2 수행 |
| 3일 | 서브에이전트 6종 탐색 | Explore, Plan 에이전트 활용 |
| 4일 | 커스텀 에이전트 작성 | code-reviewer 에이전트 만들기 |
| 5일 | 에이전트 체이닝 | 과제 3 수행 |
| 일 | 주제 | 실습 |
|---|---|---|
| 1일 | MCP 프로토콜 이해 | HTTP vs Stdio 트랜스포트 비교 |
| 2일 | GitHub MCP 연동 | PR/이슈 자동 관리 |
| 3일 | 훅 4종 타입 이해 | command + http 훅 구현 |
| 4일 | 과제 4 수행 | MCP + 훅 결합 |
| 일 | 주제 | 실습 |
|---|---|---|
| 1일 | 플러그인 구조 이해 | 기존 플러그인 분석 |
| 2~3일 | 과제 5 수행 (전반/후반) | 매니페스트 + 컴포넌트 번들링 |
| 4일 | Planning Mode + Auto Mode | 복잡한 리팩토링에 Plan 적용 |
| 5일 | Voice + Scheduled Tasks | 음성 입력 + 자동 스케줄 설정 |
실제 프로젝트에 1~4주차 학습 내용을 전부 적용하는 "통합 워크플로우" 구축. 스킬 + 에이전트 + MCP + 훅을 모두 사용하는 플러그인을 만들어서 팀에 배포.
| 키워드 | 설명 |
|---|---|
| 슬래시 커맨드 | /로 시작하는 Claude Code 명령어. 내장 55+개 + 커스텀 무제한 |
| CLAUDE.md | 프로젝트 루트에 두는 메모리 파일. Claude에게 프로젝트 컨텍스트를 알려줌 |
| 스킬 (Skill) | .claude/skills/ 디렉토리의 재사용 가능한 능력 번들. SKILL.md로 정의 |
| 서브에이전트 | 메인 에이전트가 작업을 위임하는 전문 AI 어시스턴트. 격리된 컨텍스트 |
| MCP | Model Context Protocol. LLM이 외부 서비스(GitHub, DB, Slack 등)와 실시간 통신하는 프로토콜 |
| 훅 (Hook) | Claude Code 이벤트(파일 저장, 명령 실행 등)에 자동 반응하는 스크립트 |
| 플러그인 | 커맨드 + 에이전트 + MCP + 훅 + 설정을 하나로 묶은 배포 단위 |
| Progressive Disclosure | 정보를 3단계(메타→지시→리소스)로 나눠 필요할 때만 로드하는 패턴 |
| Frontmatter | Markdown 파일 상단의 --- 사이 YAML 메타데이터 블록 |
| 매처 (Matcher) | 훅이 어떤 도구/파일에 반응할지 결정하는 패턴 (정확/정규식/와일드카드) |
| Worktree 격리 | Git 워크트리에서 서브에이전트가 독립적으로 작업하는 모드 |
| 컨텍스트 윈도우 | LLM이 한 번에 처리할 수 있는 토큰(텍스트) 양의 상한 |
| 체이닝 (Chaining) | 여러 서브에이전트를 순서대로 연결해 파이프라인을 구성하는 패턴 |
| Kroki.io | Mermaid, PlantUML 등 다이어그램을 이미지로 렌더링하는 오픈소스 서비스 |
| ebooklib | Python EPUB 생성 라이브러리 |