01실습구조프로젝트 구조폴더 구조와 정본 파일을 먼저 정하고 작업을 맡길 수 있습니다내용 열기내용 접기
폴더와 기준 파일의 위치를 먼저 정하면 결과물이 엉뚱한 자리에 놓이지 않습니다
“발행물은 여기, 임시 산출물은 저기, 원본은 건드리지 않는다”는 위치 규칙을 먼저 정합니다. 규칙이 없으면 매번 위치를 새로 지정해야 하고, 나중에 어디 있는지 찾는 것도 일이 됩니다.
SSoT(Single Source of Truth, 단일 진실 출처)를 정해 두는 이유도 같습니다.
같은 정보가 여러 파일에 흩어져 있으면 어느 쪽이 최신인지 매번 확인해야 합니다.
정본 파일 하나를 정하고 나머지는 그 파일을 가리키게 합니다.
마케터가 캠페인 자료를 만들 때 발행본과 초안이 같은 폴더에 섞여 있으면, 어느 파일이 최종본인지 매번 물어봐야 합니다.
“최종”, “진짜최종”, “최종_수정2”처럼 파일명으로 버전을 구분하는 방식은 피합니다.
발행 폴더와 초안 폴더를 나누고 발행 폴더에 있는 것만 정본으로 취급하면, 파일명에 기대지 않아도 됩니다.
공개 범위도 구조에 포함됩니다. 외부에 나가도 되는 폴더와 내부용 폴더를 나눠 두면, 발행 작업을 맡길 때 비공개 자료가 실수로 섞여 나가는 일을 줄일 수 있습니다.
순서의 각 단계 아래 붙여넣기 예제가 있습니다. 위에서부터 하나씩 실행해 보세요.
현재 폴더 구조를 훑어 확인합니다.
지금 폴더에 있는 파일들을 훑어봐 줘.
확인지금 폴더의 파일 구성이 요약되어 나옵니다.
산출물·원본·임시 파일이 들어갈 위치를 각각 정합니다.
산출물·원본·임시 파일을 각각 어디에 두면 좋을지 3줄로 제안해 줘. 새 폴더를 실제로 만들지는 말고 제안만 해 줘.
확인산출물·원본·임시 파일 위치 제안이 3줄 이내로 나오고, 새 폴더는 실제로 만들어지지 않습니다.
정본(SSoT, Single Source of Truth) 파일을 하나 지정합니다.
정한 구조 규칙을 CLAUDE.md에 기록합니다.
연습
제안받은 구조에서 정본 파일이 정확히 하나인지 확인해 보세요.
새 파일을 어디에 저장해야 하는지 스스로 판단해 말할 수 있으면 통과입니다.
알아두면 좋습니다
같은 정보가 여러 파일에 흩어져 있으면 어느 쪽이 최신인지 매번 확인해야 하는 드리프트가 생깁니다. 이때는 정본 파일 하나를 정하고 나머지는 그 파일을 가리키게 정리합니다. 원본 폴더를 작업 대상에 포함하면 실수로 원본이 고쳐지거나 지워질 수 있으므로, 원본은 읽기 전용으로 따로 분리해 둡니다.
02실습GitGit 기본branch·diff·commit·되돌리기로 Claude Code 작업의 안전망을 갖출 수 있습니다내용 열기내용 접기
브랜치에서 시도하고 diff로 확인한 뒤 commit하면 되돌릴 지점이 남습니다
파일이 직접 바뀌는 만큼, 무엇이 어떻게 달라졌는지 확인할 방법이 없으면 결과가 마음에 안 들어도 되돌리기 어렵습니다. Git이 그 방법입니다.
branch(작업 갈래)를 나눠 두면 실험적인 요청과 완성된 작업을 분리할 수 있습니다.
새 작업을 시작할 때 branch를 하나 만들고, 그 안에서 Claude에게 작업을 맡깁니다.
결과를 그대로 받아들이기 전에 diff(변경 내역 화면)를 봅니다.
어떤 줄이 지워지고 어떤 줄이 추가됐는지 보면, 의도와 다르게 바뀐 부분을 commit(기록) 전에 잡을 수 있습니다.
기획서 여러 장을 한 번에 고쳐 달라고 맡긴 뒤 diff를 보지 않고 그대로 commit하는 것은 피해야 할 습관입니다. 의도와 다르게 지워진 문단이 나중에야 발견됩니다.
뉴스레터 문구를 수정할 때도 마찬가지로, commit 전에 “무엇이 바뀌었는지 보여줘”라고 요청해 diff를 확인하면 커밋 전에 실수를 잡을 수 있습니다.
commit은 확인이 끝난 상태를 기록하는 지점입니다. 문제가 있으면 commit 이전으로 되돌릴 수 있으므로, 큰 작업을 맡기기 전에 commit해 두면 안전망이 생깁니다.
순서의 각 단계 아래 붙여넣기 예제가 있습니다. 위에서부터 하나씩 실행해 보세요.
git status로 현재 상태를 확인합니다.
지금 git 상태를 보여줘. 변경된 파일이 있는지, 지금 어떤 branch에 있는지 확인해 줘.
확인현재 branch와 변경된 파일 목록이 나옵니다.
이 단계의 실제 화면
화면에서 확인할 것Claude가 Ran 1 shell command 줄에서 명령을 한 번 실행하고 그 결과를 문장으로 풀어 줍니다. 이 화면은 바꿀 것이 없는 상태라 커밋 하나만 있는 저장소로 나옵니다. Claude Code 2.1.234 · 2026-08-19
작업용 branch를 새로 만듭니다.
지금 작업을 위한 새 branch를 하나 만들어 줘.
확인새 branch가 만들어지고 그 위로 이동합니다.
이 단계의 실제 화면
화면에서 확인할 것이름을 주지 않으면 날짜로 된 이름이 붙고, 바꾸는 명령까지 함께 알려 줍니다. Claude Code 2.1.234 · 2026-08-19
Claude에게 원하는 변경을 요청합니다.
변경된 내용을 diff로 확인합니다.
방금까지 바뀐 파일들의 diff를 보여주고, 그중에 위험해 보이는 변경이 있으면 짚어 줘.
확인변경된 파일 목록과 줄 단위 diff가 나오고, 되돌리기 어렵거나 의도와 어긋나 보이는 변경에 지적이 몇 줄 붙습니다.
이 단계의 실제 화면
화면에서 확인할 것추가된 줄이 초록색으로 표시되고, 그 아래에 위험한 변경이 있는지 판단이 붙습니다. Claude Code 2.1.234 · 2026-08-19
확인이 끝난 상태를 commit으로 기록합니다.
확인이 끝났으니 지금 상태를 commit으로 기록해 줘.
확인지금까지 확인한 변경이 commit으로 기록됩니다.
이 단계의 실제 화면
화면에서 확인할 것커밋이 만들어지면 해시와 브랜치, 바뀐 범위가 함께 표시됩니다. Claude Code 2.1.234 · 2026-08-19
연습
diff에서 위험하다고 짚어 준 부분이 실제로 의도한 변경인지 확인해 보세요.
변경 내용을 diff로 확인하고, 마음에 안 들면 되돌릴 수 있으면 통과입니다.
알아두면 좋습니다
diff를 보지 않고 커밋하면 의도하지 않은 변경이 기록에 그대로 섞여 들어갑니다. 이때는 커밋 전에 반드시 diff로 바뀐 줄을 확인합니다. main(기본) branch에서 바로 실험하면 문제가 생겼을 때 되돌릴 기준점이 없으므로, 실험은 항상 별도 branch에서 시작합니다.
04실습GitHubGitHub에 프로젝트 처음 저장하기GitHub 웹에서 빈 비공개 저장소를 만들고, 프로젝트의 첫 커밋을 푸시한 뒤 파일과 기록을 확인할 수 있습니다.내용 열기내용 접기
첫 푸시가 끝나면 GitHub 웹에서 저장소 이름, 브랜치, 커밋, 파일을 확인합니다.
GitHub는 프로젝트 파일과 변경 기록을 함께 보관합니다. 계정이 없다면 GitHub 계정과 첫 저장소 만들기를 먼저 열고 가입을 마칩니다. 첫 저장에서는 웹에서 빈 비공개 저장소를 먼저 만들고, 올릴 파일과 제외할 파일을 확인합니다.
저장 전에 공개하면 안 되는 파일을 확인합니다
비밀번호, 토큰, API 키, .env 파일, 고객·직원 개인정보는 비공개 저장소에도 올리지 않습니다. GitHub가 비밀 값을 감지해 푸시를 막으면 차단을 넘기지 않고 파일에서 값을 제거합니다.
웹에서 파일과 커밋을 함께 확인합니다
명령이 성공했다는 답만으로 저장을 끝내지 않습니다. GitHub의 Code 화면에서 저장소 이름, main 브랜치, 최근 커밋, 프로젝트 파일을 확인합니다. 네 항목이 보이면 내 컴퓨터의 기록이 GitHub에도 올라간 상태입니다.
GitHub 저장소 주소는 파일을 보는 주소입니다. 완성한 사이트를 방문자에게 보여 주려면 빌드와 배포가 별도로 필요합니다.
GitHub 계정이 없다면 계정 만들기 안내를 열고 이메일, 비밀번호, 유저네임을 차례로 입력합니다.
확인오른쪽 위의 프로필을 눌렀을 때 내가 정한 유저네임이 보입니다.
GitHub 오른쪽 위의 더하기 버튼을 누르고 New repository를 누릅니다.
이 단계의 실제 화면
화면에서 확인할 것New repository를 누르면 새 저장소를 만드는 화면으로 이동합니다. GitHub Web · 2026-07-21
Owner에 내 유저네임이 선택되어 있는지 확인합니다.
확인저장소 주소의 첫 부분에 들어갈 내 유저네임이 보입니다.
Repository name에 영문 소문자와 하이픈으로 이름을 입력합니다. 예시는 my-brand-site입니다.
이 단계의 실제 화면
화면에서 확인할 것이름 아래에 사용할 수 있다는 표시가 나오면 다음 항목으로 넘어갑니다. GitHub Web · 2026-07-21
공개 범위에서 Private을 선택합니다.
확인저장소를 나와 초대한 사람만 볼 수 있다는 설명이 선택됩니다.
README, .gitignore, License를 추가하는 선택은 그대로 두어 빈 저장소로 만듭니다.
확인저장소를 만들기 전에 새 파일을 추가하지 않은 상태입니다.
Create repository를 누릅니다.
확인Quick setup 안내가 있는 빈 저장소 화면이 열립니다.
Quick setup에서 HTTPS 저장소 주소를 복사합니다.
확인`https://github.com/내-유저네임/저장소-이름.git` 모양의 주소를 복사했습니다.
프로젝트 폴더를 Codex나 Claude Code에서 열고 GitHub 로그인 상태를 확인합니다. 로그인하지 않았다면 브라우저 승인 단계에서 직접 승인합니다.
이 프로젝트 폴더에서 GitHub 로그인 상태와 로그인한 계정 이름만 확인해 주세요. 로그인하지 않았다면 `gh auth login`을 시작하고, 브라우저에서 제가 승인해야 하는 순간에 멈춰 주세요. 토큰 값은 보여 주지 말고 파일도 고치지 마세요.
확인로그인한 GitHub 계정 이름이 나오며 토큰 값은 표시되지 않습니다.
올리면 안 되는 파일이 있는지 확인합니다. 하나라도 있으면 다음 단계로 넘어가지 않습니다.
이 폴더를 GitHub에 올리기 전에 커밋할 파일과 `.gitignore`를 확인해 주세요. `.env`, 토큰, API 키, 비밀번호, 개인·고객 자료가 있으면 값을 보여 주지 말고 파일 경로와 위험 종류만 알려 준 뒤 멈춰 주세요. 문제가 없으면 커밋할 파일 목록만 보여 주세요.
확인위험한 파일이 있으면 경로와 종류만 나오고 작업이 멈춥니다. 없으면 커밋할 파일 목록이 보입니다.
첫 커밋에 들어갈 파일과 커밋 메시지를 미리 확인합니다.
이 폴더가 아직 Git 저장소가 아니면 main 브랜치로 시작해 주세요. 방금 확인한 안전한 파일만 첫 커밋 후보로 올리고, 바뀐 내용과 커밋 메시지 후보를 보여 주세요. 아직 커밋하거나 GitHub에 푸시하지 마세요.
확인첫 커밋에 들어갈 파일과 커밋 메시지가 보이며 아직 GitHub에는 올라가지 않습니다.
복사한 저장소 주소를 넣고 첫 커밋을 만든 뒤 main 브랜치를 푸시합니다.
제가 GitHub 웹에서 만든 빈 비공개 저장소 주소는 [여기에 복사한 저장소 주소]입니다. 확인한 파일을 첫 커밋으로 기록하고, 이 주소를 origin으로 연결한 뒤 main 브랜치를 푸시해 주세요. 끝나면 저장소 주소, origin 주소, 최근 커밋 한 건을 알려 주세요.
확인첫 커밋이 생기고, origin이 복사한 저장소 주소를 가리키며, main 브랜치가 GitHub에 올라갑니다.
GitHub 웹에서 저장소 이름, main 브랜치, 최근 커밋, 파일 목록을 확인합니다.
이 단계의 실제 화면
1 2 3 4
화면에서 확인할 것주소가 열리는 것만으로 끝내지 않고 네 항목에서 첫 저장 결과를 확인합니다.
1내가 만든 저장소 이름이 맞는지 확인합니다.
2현재 기본 브랜치가 main인지 확인합니다.
3최근 커밋 문구와 시각이 보이는지 확인합니다.
4프로젝트 파일 목록이 빠짐없이 보이는지 확인합니다.
GitHub Web · 2026-07-29
마지막으로 저장소 주소와 연결 상태를 기록합니다.
방금 만든 GitHub 저장소 주소, `git remote -v`의 origin 주소, 최근 커밋 한 건을 알려 주세요. GitHub 웹에서 확인할 파일 세 개도 골라 주세요.
확인저장소 주소, origin 주소, 최근 커밋, 확인할 파일 세 개가 함께 나옵니다.
연습
수업에서 만든 프로젝트 하나를 비공개 저장소에 올리고 GitHub 웹에서 저장소 이름, main, 최근 커밋, 파일 목록을 확인합니다.
GitHub 주소가 열리고, 최근 커밋과 프로젝트 파일 세 개가 같은 Code 화면에 보이면 통과입니다.
알아두면 좋습니다
비공개 저장소에도 비밀번호, 토큰, API 키, `.env` 파일을 올리지 않습니다. GitHub가 푸시를 막으면 우회하지 말고 비밀 값을 제거합니다. 저장소 주소가 열리는 것만으로 공개 사이트 발행이 끝났다고 판단하지 않습니다.
05실습MCPNotion 연결 — MCPMCP로 Notion을 연결하고 페이지 하나를 읽어 접근 범위를 확인할 수 있습니다.내용 열기내용 접기
MCP를 연결하면 Notion 자료를 복사해 붙이지 않고 Claude가 직접 읽을 수 있습니다
Claude Code는 로컬 파일만 다루지 않습니다. Notion, Slack, 데이터베이스처럼 파일 시스템 밖에 있는 데이터를 매번 복사해 옮기면 서식이 깨지거나 최신 값을 놓치기 쉽습니다.
MCP는 Claude Code가 외부 서비스와 대화하는 표준 통로입니다. 추천 목록에 나온 MCP를 모두 연결할 필요는 없으며, 선택 기준은 스킬·플러그인·MCP 구분 카드에서 확인할 수 있습니다.
이 카드에서는 Notion 공식 MCP 하나만 연결하고 지정한 페이지를 수정하지 않은 채 읽어 봅니다. 연결 목록에 이름이 보이는 것만으로 끝내지 않고 실제 페이지 조회와 공유 범위를 함께 확인합니다.
설정 파일을 직접 만질 필요는 없습니다. “Notion 연결해 줘” 같은 요청으로 설치와 인증 과정을 Claude Code에게 맡길 수 있습니다.
연결이 끝나면 Notion 페이지 검색·조회·작성 같은 요청을 문장으로 할 수 있습니다.
기본 연결은 지금 열어 둔 폴더(프로젝트) 단위로 저장됩니다.
같은 도구를 다른 폴더에서도 쓰려면 그 폴더에서 다시 연결해야 합니다.
모든 폴더에서 공용으로 쓰고 싶으면 “이 연결을 모든 프로젝트에서 쓸 수 있게 해 줘”라고 요청하면 되고 이 경우 새 폴더를 열 때마다 다시 연결하지 않아도 됩니다.
순서 아래 실행 요청을 그대로 붙여넣어 지금 연결된 외부 도구부터 확인해 보세요.
이미지나 영상 생성이 필요한 사람은 이 실습을 마친 뒤 Higgsfield 연결 카드로 이어갑니다. 그 연결은 생성 전에 잔여 크레딧과 한 건의 예상 비용부터 확인합니다.
반복하는 작업 하나를 적고 그 작업에 필요한 외부 도구 하나만 정합니다. 이 카드에서는 Notion으로 실습합니다.
확인Notion에서 읽어 볼 페이지 하나와 연결이 필요한 이유 한 문장이 정해집니다.
Claude Code 또는 Codex에서 연결을 요청합니다. 아래 직접 실행 명령은 Claude Code용이며 Codex에서는 현재 환경의 연결 방법을 확인합니다.
현재 쓰는 Claude Code 또는 Codex에서 Notion 연결 상태와 연결 방법을 확인해 주세요. MCP(Model Context Protocol)는 AI 도구와 외부 앱을 연결하는 규격이며 Notion 공식 서버 주소는 https://mcp.notion.com/mcp 입니다. 이미 연결되어 있으면 중복으로 추가하지 말고 새 연결이 필요하면 접근 범위와 설정 위치를 설명한 뒤 제 승인을 받아 진행해 주세요. 로그인과 계정 승인은 제가 직접 하며 비밀번호나 토큰 값을 채팅에 쓰도록 요청하지 마세요.
명령어로 직접 하기
일반 터미널(Claude Code 세션 밖)에서 실행합니다. Added HTTP MCP server 같은 확인 문구가 나오면 성공입니다.
claude mcp add --transport http notion https://mcp.notion.com/mcp
확인현재 연결 상태와 필요한 설정이 나오고 새 연결의 권한과 로그인은 직접 확인한 뒤 진행합니다.
서버가 인증을 요구하면 현재 도구의 안내에 따라 로그인 화면을 열고 직접 승인합니다. Claude Code에서는 /mcp로 연결 상태를 확인할 수 있습니다.
확인본인이 로그인과 공유 범위를 확인한 뒤 Notion 연결 상태가 표시됩니다.
연결 상태를 확인하고 페이지 하나를 실제로 조회해 테스트합니다.
지금 연결된 외부 도구 목록과 각각의 연결 상태를 확인해 주세요. Notion에서는 제가 지정한 [페이지 주소] 하나만 읽고 제목과 첫 부분을 보여 주세요. 페이지를 수정하지 말고 접근할 수 없으면 필요한 권한을 알려 주세요.
확인서버 목록에 notion이 연결 상태로 보이고 페이지 하나의 제목과 내용 일부가 나옵니다.
연습
연결한 도구에서 페이지 하나를 실제로 불러와 확인해 보세요.
연결한 외부 도구의 페이지나 데이터를 Claude Code 요청으로 불러올 수 있으면 통과입니다.
알아두면 좋습니다
연결이 어느 날 401 오류로 갑자기 끊기는 경우가 있습니다. 인증 토큰이 만료된 것이므로 채팅창에 /mcp를 입력해 다시 로그인하면 됩니다. 어느 페이지·데이터베이스까지 공유했는지 확인하지 않고 쓰면 원치 않는 범위까지 접근이 열려 있을 수 있으므로, 연결 직후 접근 범위를 확인해 달라고 요청해 둡니다.
본 대화에서 직접 조사하면 중간 결과와 읽고 안 쓴 파일이 그대로 쌓입니다. 맥락이 무거워지면 이후 요청에서 처음 규칙을 놓칩니다.
파일 여러 개를 뒤지거나 같은 조사를 반복할 때 씁니다.
한두 줄로 끝나는 질문은 직접 답하는 게 빠릅니다.
위임한 작업은 끝나거나 막히면 스스로 보고합니다.
범위 밖의 일은 칩으로 떼어 두기
칩(chip)은 지금 범위 밖의 일을 별도 세션으로 미뤄 두는 방법입니다. “이건 새 칩으로 띄워 줘”라고 요청하면 화면에 칩이 생기고, 누르면 그 일만 다루는 세션이 열립니다. 지금 대화는 그대로 이어집니다.
넘기는 것
돌아오는 것
서브에이전트
지금 해야 할 조사·반복
요약이 본 대화로
칩
지금 안 할 일
나중에 열 세션으로
아래 요청문을 복사해 붙여넣고 조사 하나를 서브에이전트에 맡깁니다.
위임할 조사나 반복 작업을 정의합니다.
이 프로젝트의 폴더별 역할을 읽기 전용으로 조사하도록 서브에이전트에 맡겨 주세요. 서브에이전트는 별도 대화에서 일을 맡아 결과를 돌려주는 보조 에이전트입니다. 파일을 수정하거나 추가로 위임하지 말고, 본 대화에는 폴더별 역할과 근거 파일 경로를 요약해 주세요. 요약 한 항목을 실제 파일과 대조해 확인하고, 이 환경에서 서브에이전트를 쓸 수 없다면 실행했다고 하지 말고 알려 주세요.
확인폴더별 역할과 근거 경로, 실제 파일과 대조한 항목이 나오며 파일은 바뀌지 않습니다.
"서브에이전트로 조사해 줘"처럼 자연어로 위임을 요청합니다.
작업이 끝나면 결과 요약을 받습니다.
받은 결과가 기준에 맞는지 검수합니다.
연습
받은 요약 중 하나를 골라 실제 파일 내용과 맞는지 대조해 보세요.
조사성 작업을 서브에이전트에 위임하고 결과 요약만 받아 볼 수 있으면 통과입니다.
알아두면 좋습니다
서브에이전트가 돌려준 요약을 검수 없이 그대로 쓰면 놓친 부분이 결과물에 그대로 남습니다. 받은 요약은 원하는 기준에 맞는지 한 번은 확인합니다. 몇 줄이면 끝날 짧은 일까지 전부 위임하면 작업을 설명하고 결과를 기다리는 왕복 비용이 직접 답하는 것보다 오히려 커집니다.