클로드코드 워크샵 2강

클로드코드로 내가 원하는 결과물 만들기

1

데이터 준비도맥락을 학습할 자료가 있는가

AI가 지금 당장 열어볼 수 있는 업무 자료의 양과 접근성입니다. 셋 중 하나라도 막히면 시작이 안 됩니다.

핵심 업무 데이터가 디지털로 있나머릿속 · 카톡 대화 · 종이 · 스캔 PDF는 준비 안 된 것으로 봅니다
필요할 때 접근할 수 있나로그인 · API 키 · 시트 공유 설정이 에이전트 명의로 되어 있는가
부서 간 연결이 되어 있나MCP · 공개 API · 사내 기간계 연동. 통로가 없으면 사람이 화면을 긁어야 합니다
준비 안 된 것 → 준비된 것
카톡에 흩어진 단가 얘기단가표 시트
"보통 이렇게 해요"작업규칙.md
종이로 받은 계약서계약조건.md
담당자만 아는 시트 위치공유 링크 + 편집 권한
2

프로세스이 일의 직무기술서(JD)에 해당합니다

어떤 규칙과 순서로 돌아가는지를 문장으로 적어둔 것입니다. 사람이 없어도 같은 결과가 나오게 만드는 부분입니다.

작동 순서몇 단계이고 무엇 다음에 무엇인가
규칙지켜야 할 것과 하면 안 되는 것
역할 정의어느 단계를 누가 맡는가
루틴 장착매일 아침인가, 요청이 올 때인가
상황별 처리"이 상황이면 이렇게 처리한다" — 예외까지 미리 적어둡니다
프로세스는 이렇게 생깁니다
사람 손에서
먼저 해보고
규칙으로
적어내고
운영하면서
다듬는다
머릿속에 있는 것을 바로 자동화할 수는 없습니다. 한 번 손으로 해봐야 규칙이 나옵니다.
이렇게 적습니다
"광고 리포트 잘 만들어줘" — 여기서 비운 판단을 AI가 알아서 채웁니다
1매일 09:00에 시작한다
2광고비 시트에서 어제 날짜 행을 읽는다
3전일 대비 20% 이상 변동이면 표시를 단다
4숫자는 원 단위까지, 반올림하지 않는다
5리포트_YYMMDD.md 로 저장한다
6슬랙 #리포트 에 요약 3줄과 링크를 올린다
3

권한과 책임명칭 검토 중 — 아래 후보 참고

권한과 책임사람의 자리가드레일통제 기준평가

AI의 결과물을 사람이 어떤 기준으로 판정하고, 어디까지 허용하며, 틀렸을 때 누가 책임지는지입니다.

AI의 결과물을 평가한다무엇이 "제대로 된 결과"인지 기준을 사람이 정합니다
잘못된 판단 시 누가 책임지나이 산출물에 이름을 거는 사람 한 명
외부 발신은 어디까지 허용하나메일 · 게시 · 금액이 적힌 문서
어떤 데이터는 입력하면 안 되나고객 개인정보 · 계약 조건 · 비밀번호
어떤 상황에서 승인을 거치나승인 없이는 절대 넘어갈 수 없는 지점
이렇게 정합니다
발신고객에게 나가는 메일은 승인 없이 발송 금지 · 내부 슬랙은 자동 허용
입력고객 실명 · 연락처 · 계약금액은 절대 입력하지 않는다
승인금액이 적힌 문서 · 외부 공개 · 파일 삭제 — 이 셋은 무조건
합격합계가 원본 시트와 1원도 안 틀려야 통과
책임최종 발송본은 담당자 한 명이 확인하고 이름을 건다
심화 개념

클로드코드 심화 개념

1강에서 다룬 것 외에, 자동화를 실제로 돌리려면 마주치는 것들입니다.

.py실행되는 파일
파이썬 언어로 작성된 프로그램 파일. 파이썬 인터프리터가 이해하고 실행할 수 있는 명령어가 텍스트 형태로 저장되어 있다.
.md 와 뭐가 다른지 · 실제로 뭘 하는지

MD 안에 py가 있는 구조가 아닙니다. 둘은 나란히 놓인 완전히 다른 파일이고, 역할이 정반대입니다.

같은 폴더에 나란히 있지만

.md.py
정체글자만 있는 문서실행되는 프로그램
읽는 주체사람 + Claude
읽고 판단
컴퓨터
그대로 실행
하는 일규칙 · 기록 · 지시를 적어둠데이터 가져오기 · 파일 만들기 · 발송하기
실행 방법실행 개념 없음
그냥 읽음
python3 파일.py
쳐야 돌아감
Grace 폴더
개수
641개315개
직접 만든 것

py 파일이 실제로 하는 일 · 폴더 안 실물

귤메달/scripts/daily_sync.py
매일 새벽 1시, 사람 없이 자동 실행 ① 메타 광고 API에서 어제 데이터 수집 ② 대시보드 HTML 다시 만들기 ③ 엑셀 재생성 ④ 구글시트 Raw 탭에 밀어넣기 ⑤ Cloudflare에 배포 ⑥ 텔레그램으로 전일자 리포트 발송
강사그레이스/_design_system/build_profile_docx.py
실행하면 → Grace 강사프로필.docx 가 튀어나옴 Pretendard 폰트 · 흑백 톤 · 표 레이아웃까지 코드에 박혀 있음
_backup/backup_reminder.py
매주 월 9시, 마지막 백업 날짜 확인해서 7일 넘었으면 알림

공통점 — "매번 똑같이 반복되는 손작업"을 코드로 굳혀둔 것.

.env키를 따로 보관하는 파일
environment의 준말로, 앱이 실행될 때 특정 값을 넘길 수 있는 환경 변수 파일. API 키나 DB 연결 정보 같은 민감한 정보를 소스 코드에 직접 넣지 않고 여기에 모아 관리한다.
.json단계 사이로 넘기는 형식
사람이 읽고 쓰기 쉽고, 기계가 구문 분석하고 생성하기 쉬운 경량 데이터 교환 형식.
MCP바깥 서비스에 붙는 규격
콘텐츠 저장소, 비즈니스 도구, 개발 환경을 포함한 데이터가 위치한 시스템에 AI 어시스턴트를 연결하기 위한 개방형 표준.
OAuth내 계정을 쓰게 해주는 허락
네이버·구글 같은 서비스의 MCP를 붙였다고 바로 쓸 수 있는 게 아닙니다. 클로드코드가 내 계정의 데이터에 접근해도 된다는 허락이 따로 있어야 하는데, 그 허락을 받는 방식이 OAuth입니다. 비밀번호를 넘기는 게 아니라, 서비스 로그인 화면이 직접 열리고 내가 "허용"을 누르면 기한이 있는 통행증(토큰)이 발급됩니다.
Git버전이 쌓이는 방식
분산 버전관리 시스템. 파일뿐 아니라 파일의 변경 기록까지 복제하기 때문에, 원격 서버에 문제가 생겨도 로컬 저장소로 복원할 수 있다.
GitHub이력을 밖에 두는 곳
Git은 버전 관리를 하는 프로그램이고 GitHub은 원격 저장소다. GitHub은 원격 저장소를 제공해주는 클라우드 서비스라고 이해할 수 있다.
worktree폴더를 여러 벌로
하나의 Git 저장소에서 여러 개의 작업 디렉토리를 동시에 사용할 수 있게 해주는 기능. 브랜치를 전환할 때마다 작업 중인 파일들을 stash 해야 하는 번거로움을 없앤다.
Sub Agent대화창이 분리된 담당
Claude Code가 작업을 위임할 수 있는 전문화된 AI 어시스턴트. 각 서브에이전트는 메인 대화와 분리된 자체 컨텍스트 창을 사용한다.
CLAUDE.mdAI가 읽는 문서
README가 사람이 읽는 문서라면 CLAUDE.md는 AI가 읽는 문서다. AI가 실제로 작업 판단에 쓸 수 있는 구체적이고 실행 가능한 지시를 담아야 한다.
launchd · cron정해진 시각에 부르는 것
cron은 정해진 시간에 자동으로 작업을 실행하는 스케줄링 도구다. macOS는 2005년부터 cron 대신 launchd를 권장하며, launchd는 맥이 잠자기라 놓친 실행을 깨어날 때 바로 실행하는 메커니즘이 있다.
자동화하지 않는 것

연결·설정은 자동화하지 않습니다

OAuth 연결처럼 커넥션이 필요한 일은 코드로 만들지 않고, 클로드와 대화하거나 크롬을 직접 조작해서 그 자리에서 끝냅니다.

이런 성격의 업무는예를 들면
한 번만 하면 끝나는 일OAuth 연결 · API 키 발급 · 시트 공유 설정
본인 인증이 필요한 일로그인 · 2단계 인증 · 결제수단 등록
화면에서만 되는 일광고 계정 설정 · 관리자 화면 토글 · API가 없는 서비스
잘못하면 되돌리기
어려운 일
권한 부여 · 계정 연동 해제 · 도메인 연결

반대로 매일 반복되고 결과 형태가 정해진 일만 자동화로 굳힙니다. 한 번 쓰고 마는 것을 코드로 만들면 만드는 시간이 더 듭니다.

실제로는 이 순서로 진행됩니다
1클로드에게 "네이버 검색 API 키를 받아야 해. 어디서 받는지 알려줘"
2클로드가 어느 화면에서 무엇을 누를지 순서로 알려줌
3로그인과 발급은 내가 직접 — 비밀번호는 클로드에게 주지 않습니다
4받은 키를 .env 에 넣어달라고 클로드에게 전달
5여기까지가 최초 1회. 그 다음부터는 자동으로 돕니다.
방법 1

대화하며 내가 직접

클로드는 어느 화면에서 무엇을 누를지만 알려주고, 클릭과 입력은 내가 합니다. 느리지만 가장 안전합니다.

developers.naver.com/apps/#/register
애플리케이션 등록

사용 API를 선택하고 서비스 환경을 등록하세요.

☑ 검색
☐ 데이터랩
☐ 캡차
취소등록하기
클로드코드 대화창
네이버 검색 API 키 받으려면?
개발자센터 → 애플리케이션 등록 → 사용 API에서 "검색"만 체크하세요. 서비스 URL은 비워도 됩니다.
▸ 클릭은 사람이

화면은 내가 보고 내가 누릅니다. 클로드는 옆에서 순서만 잡아줍니다.

방법 2

클로드가 크롬을 조작

클로드가 화면을 보고 직접 클릭·입력합니다. 여러 단계를 한 번에 넘기지만, 로그인·결제 화면은 나에게 넘깁니다.

console.cloud.google.com/apis/credentials
사용자 인증 정보

OAuth 2.0 클라이언트 ID를 만들고 리디렉션 URI를 등록합니다.

애플리케이션 유형 · 웹 애플리케이션
승인된 리디렉션 URI · 입력 대기
취소만들기
클로드가 조작 중
유형을 "웹 애플리케이션"으로 선택했습니다.
▸ 클릭 · 만들기
로그인 화면 나오면 멈춰
▸ 대기 — 사람 차례

반복 클릭은 맡기되, 비밀번호·2단계 인증·결제는 반드시 내가 칩니다.

크롬을 맡길 때 — 두 가지 중 뭘 쓰나

Claude in ChromePlaywright MCP
무엇크롬 확장. 사이드 패널에 클로드가 상주하며 화면을 보고 클릭·입력클로드가 새 브라우저 창을 띄워 조작
로그인 상태이미 로그인해둔 내 크롬 그대로. 다시 로그인할 필요가 없습니다새 창이라 로그인 안 된 상태. 내가 한 번 로그인하면 그 세션 동안 유지됩니다
잘 맞는 일로그인이 걸린 설정·연동·계정 화면로그인 없이 되는 수집·크롤링·반복 확인
조건Pro · Team · Enterprise 요금제 · 베타MCP로 붙이면 됩니다
어느 쪽이든 비밀번호는 내가 칩니다. 클로드에게 비밀번호를 알려주는 게 아니라, 로그인 화면이 뜨면 내가 입력하고 그 다음부터 이어서 맡깁니다. OAuth가 애초에 그렇게 설계된 이유이기도 합니다.
자동화 시나리오

자동화 시나리오로 보는 각각의 역할

위 개념들이 실제 자동화 안에서 어느 지점에 나타나고 무슨 일을 하는지 봅니다. 제목을 누르면 열립니다.

01주식 뉴스 큐레이션 매일 아침 경제 지표와 관심 종목 뉴스를 모아 추려서 메일과 텔레그램으로
사람이 정해줘야 하는 것
"매일 아침 7시에 보내줘"실행 시각
"주말·공휴일엔 쉬어"실행 요일
"내 맥이 꺼져 있어도 와야 해"실행 위치 · 서버를 쓸지 가름
사람이 정해줘야 하는 것
"삼성전자·SK하이닉스로 검색해"검색 조건
"뉴스만 봐, 블로그는 빼"매체 범위
"최근 24시간치만"수집 기간
사람이 정해줘야 하는 것
"실적·공시·수주는 중요, 등락 기사는 빼"선별 기준
"최대 5건, 3줄 요약"분량
"사라·팔아라는 절대 쓰지 마"금지선
사람이 정해줘야 하는 것
"내 지메일로, 텔레그램도 같이"발신 채널
"링크는 나만 볼 수 있게"공개 범위
매일 아침 7시정해둔 시각에 저절로 시작
뉴스·지표 수집종목별 기사와 지수·환율
추려서 요약중복 정리 → 선별 → 3줄 요약
메일·텔레그램 발송요약 + 전체 리포트 링크
자동화 트리거 환경
run.py실제로 실행되는 파일. 나머지는 전부 이걸 언제 어디서 부를 것인가의 문제입니다.
launchd맥에 내장된 예약 실행기. 맥이 켜져 있어야 돕니다.
작업 스케줄러윈도우의 같은 기능. 이름만 다릅니다.
cron서버에서 도는 예약 실행기. 내 컴퓨터가 꺼져 있어도 돕니다. 서버 비용이 듭니다.
외부 데이터 연결
.mcp.json어떤 바깥 서비스를 부를지 적어둔 파일. 서비스마다 서버가 하나씩 붙습니다.
OAuth통로를 열 권한. 비밀번호는 안 넘어가고 기한 있는 토큰만 남습니다.
.env그 토큰과 API 키를 코드가 아니라 여기 둡니다. 깃에 올리지 않습니다.
호출 한도네이버는 하루 25,000회. 넘으면 그날은 더 못 가져옵니다.
작업 지시 구조
CLAUDE.md이 폴더에서 항상 지켜야 할 규칙. 금지선이 여기 들어갑니다.
작업지시서.md목적 · 입력 · 규칙 · 산출물 네 줄. 비운 만큼 AI가 알아서 정합니다.
skills/매번 똑같이 하는 요약 절차를 저장해두고 이름 하나로 부릅니다.
agents/요약 담당과 검사 담당을 나눕니다. 자기 글을 자기가 통과시키지 않게.
외부 발신 연결
.mcp.json메일·텔레그램으로 내보내는 통로. 받아올 때와 같은 파일, 방향만 반대입니다.
봇 토큰텔레그램 발신 권한. 만료되면 조용히 실패합니다.
output/그날 만든 리포트가 JSON으로 떨어지는 자리.
GitHub그 리포트를 밖에 보관하고 링크 하나로 열 수 있게 배포합니다.
이 자동화의 폴더지금까지 나온 것들이 전부 여기 있습니다
~/news-agent
news-agent/이 자동화 하나가 사는 폴더. 다른 자동화는 다른 폴더에 따로 삽니다.폴더 구조
├── CLAUDE.md대화를 열 때 자동으로 읽힙니다. 금지선·표기 규칙처럼 매번 지켜야 할 것.CLAUDE.md
├── 작업지시서.md목적 · 입력 · 규칙 · 산출물 네 줄. 비운 만큼을 AI가 알아서 정합니다.Prompt 구조
├── watchlist.md볼 종목과 지표 목록. 바뀌는 값은 지시서가 아니라 이렇게 따로 뺍니다.입력 자료
├── .envAPI 키와 봇 토큰. 깃에 절대 올리지 않는 유일한 파일입니다.OAuth
├── .mcp.json네이버 뉴스 · 야후 파이낸스 · 텔레그램 — 부를 바깥 서비스 목록.MCP
├── .claude/skills/요약.md — 매번 같은 요약 절차. 이름 하나로 불러옵니다.Skill
├── .claude/agents/검수.md — 요약 담당과 대화창이 분리된 검사 담당.Sub Agent
├── run.py매일 7시에 불려서 위 파일들을 순서대로 실행하는 파일.Workflow
├── output/2026-08-21.json — 그날 만든 리포트. 다음 단계가 그대로 집어 씁니다.JSON
└── .git/고칠 때마다 버전이 쌓이는 곳. 밖으로 밀어 올리면 GitHub입니다.Git · GitHub
열두 개 중 열한 개가 여기 있습니다. 남은 하나는 이 폴더 자체를 복제하는 것 — Worktree입니다.
Git버전이 쌓이는 곳

고칠 때마다 그 시점의 폴더 전체가 한 벌씩 저장됩니다. 어제까지 잘 오던 메일이 오늘 안 오면, 되돌아갈 지점이 있습니다.

v108-18첫 버전 — 뉴스 5건 발송
v208-19금지선 추가 — "사라/팔아라" 금지
v308-20선별 기준 변경 → 엉뚱한 기사가 옴
v408-21v2 상태로 되돌림 — 다시 정상
v3에서 망가졌을 때 뭘 고쳤는지 기억해내는 게 아니라, v2를 그대로 꺼내옵니다.
Worktree폴더를 통째로 복제

지금 매일 아침 잘 돌아가는 폴더는 건드리지 않습니다. 사본을 만들어 거기서 시험하고, 되는 것만 원래 폴더에 합칩니다.

news-agent/
지금 매일 아침 도는 폴더 · 손대지 않음
news-agent-
슬랙추가/
깨져도 위는 멀쩡
news-agent-
기준변경/
안 되면 폴더째 지움
슬랙 붙이기가 성공하면 그 변경만 원래 폴더로 가져오고, 실패하면 폴더를 지우면 끝입니다.
Workflow폴더 전체를 한 번에

파일 하나씩 따로 실행하는 게 아닙니다. run.py 하나가 나머지를 순서대로 부릅니다. 고칠 때도 이 순서 단위로 고칩니다.

주식 뉴스 큐레이션 · run.py
1watchlist.md 읽기
2.mcp.json 으로 뉴스·지표 가져오기
3skills/요약.md 순서대로 요약
4agents/검수.md 로 검사
5output/2026-08-21.json 저장
6메일 · 텔레그램 발송
이 여섯 줄에 이름을 붙인 것이 워크플로입니다. launchd는 이 파일 하나만 부르면 됩니다.

결국 만드는 건 이 폴더 하나입니다. 자동화를 만든다는 건 코드를 짜는 일이 아니라 이 폴더 안의 마크다운 몇 개를 제대로 채우는 일입니다. 지시서가 비어 있으면 그만큼을 AI가 알아서 정하고, 그래서 매번 결과가 달라집니다.

02데일리 시트 자동 기입 매출·재고·진행 현황을 정해진 서식에 매일 채워 넣습니다
사람이 정해줘야 하는 것
"매일 오전 9시에 돌려"실행 시각
"주말 매출은 월요일에 몰아서"주말 처리
"전날 마감이 안 끝났으면 기다려"선행 조건
사람이 정해줘야 하는 것
"이 시트의 '일별원장' 탭만 봐"원본 위치
"빈 서식은 절대 고치지 마"템플릿 보호
"어느 칸에 뭘 넣을지는 이 규칙대로"기입 규칙
사람이 정해줘야 하는 것
"합계가 원본이랑 1원도 안 맞으면 멈춰"검산 기준
"전일 대비 30% 넘게 튀면 표시해"이상값 기준
"빈칸은 0이 아니라 공란으로"표기 규칙
사람이 정해줘야 하는 것
"표시된 칸만 볼게, 나머지는 넘겨"검토 범위
"이상값 있으면 슬랙으로 알려줘"호출 방법
사람이 정해줘야 하는 것
"덮어쓰지 말고 날짜별로 남겨"보관 방식
"월말엔 한 달치 합본도 만들어"주기 산출물
매일 오전 9시전날 마감이 끝난 뒤
원본·서식 읽기일별원장 탭 + 빈 템플릿
기입 후 검산기입 담당과 검산 담당을 나눔
표시된 칸만 확인나머지는 보지 않습니다
날짜별 사본 보관덮어쓰지 않음
자동화 트리거 환경
run.py매일 불려서 아래 순서를 실행하는 파일.
launchd맥에 내장된 예약 실행기. 맥이 켜져 있어야 돕니다.
cron서버에서 도는 예약 실행기. 맥이 꺼져 있어도 돕니다.
실패 알림안 돌았는데 아무도 모르는 게 제일 위험합니다. 실패했을 때 알림을 반드시 겁니다.
외부 데이터 연결
.mcp.json구글 시트·슬랙을 부를 통로를 적어둔 파일.
OAuth내 구글 계정을 쓰게 해주는 허락. 시트 편집 권한까지 받아야 기입이 됩니다.
.env발급받은 토큰을 코드가 아니라 여기 둡니다. 깃에 올리지 않습니다.
_서식/원본 템플릿. 읽기만 하고 절대 덮어쓰지 않습니다.
작업 지시 구조
CLAUDE.md반올림 자리 · 빈칸 표기 · 승인 전 확정 금지. 전 단계에 항상 걸립니다.
기입규칙.md어느 칸에 무엇을 넣는지. 규칙이 바뀌면 이 파일만 고칩니다.
agents/검산.md기입 담당과 대화창이 분리된 검산 담당.
JSON기입 결과를 다음 단계로 넘기는 형식.
승인 게이트
슬랙 알림이상값이 있을 때만 사람을 부릅니다. 없으면 부르지 않습니다.
확정 잠금사람이 OK 하기 전에는 확정본으로 저장되지 않습니다.
로그몇 건을 표시했고 왜 표시했는지 기록.
보관과 이력
output/날짜별 사본이 쌓이는 자리.
Git시트가 아니라 규칙 파일의 버전이 쌓입니다. 기준이 언제 바뀌었는지 남습니다.
GitHub내 컴퓨터가 죽어도 규칙과 이력이 남습니다.
이 자동화의 폴더서식을 잠그는 파일이 따로 있습니다
~/daily-sheet
daily-sheet/이 자동화 하나가 사는 폴더.폴더 구조
├── CLAUDE.md반올림 자리 · 빈칸 표기 · 승인 전 확정 금지.CLAUDE.md
├── 기입규칙.md어느 칸에 무엇을 넣는지. 규칙이 바뀌면 여기만 고칩니다.Prompt 구조
├── _서식/일별원장.xlsx — 절대 수정하지 않는 빈 템플릿.입력 자료
├── .env구글 시트·슬랙 토큰. 깃에 올리지 않습니다.OAuth
├── .mcp.json구글 시트 · 슬랙 — 부를 바깥 서비스 목록.MCP
├── .claude/agents/검산.md — 기입 담당과 분리된 검산 담당.Sub Agent
├── run.py매일 9시에 불려서 위 파일들을 순서대로 실행.Workflow
├── output/2026-08-21.xlsx — 날짜별 사본.JSON · 산출물
└── .git/규칙 파일의 버전이 쌓이는 곳.Git · GitHub
03원본 하나 → 채널별 발행 영상 하나를 스레드·인스타·링크드인용으로 바꿔 검토 후 예약 발행합니다
사람이 정해줘야 하는 것
"이 유튜브 영상으로 시작해"원본
"새 영상 올라오면 자동으로 잡아줘"자동 감지 여부
"쇼츠는 빼"대상 범위
사람이 정해줘야 하는 것
"자막만 쓰고 댓글은 보지 마"수집 범위
"10분 넘으면 앞 5분만"분량 제한
사람이 정해줘야 하는 것
"스레드는 500자씩 끊어"채널별 규칙
"존댓말, 이모지 최대 2개"
"'최고' '무조건' 같은 단정 표현 금지"금칙어
사람이 정해줘야 하는 것
"발행 전엔 무조건 내가 본다"승인 필수
"고칠 데 있으면 초안만 고치고 다시 만들지 마"수정 방식
사람이 정해줘야 하는 것
"평일 오전 11시에 올려"발행 시각
"인스타는 나중에, 스레드부터"채널 우선순위
원본 등록영상 주소를 넣습니다
자막·본문 추출핵심 내용만
채널별 변환 3벌세 담당이 동시에
발행 전 검토바깥에 나가는 글이라 반드시
예약 발행채널 세 곳에 각각
시작 방식
run.py사람이 주소를 넣고 실행합니다. 정해진 시각이 아니라 사람이 시작점입니다.
launchd자동 감지를 원하면 여기에 걸어 채널 RSS를 주기적으로 확인하게 합니다.
RSS유튜브 채널이 새 영상을 알려주는 주소.
외부 데이터 연결
.mcp.json유튜브를 부를 통로.
OAuth내 유튜브 계정을 쓰게 해주는 허락. 비공개 영상까지 보려면 필요합니다.
.env토큰 보관.
호출 한도짧은 시간에 여러 영상을 돌리면 막힙니다. 한 번에 몇 개까지를 정해둡니다.
작업 지시 구조
CLAUDE.md브랜드 톤 · 금칙어 · 해시태그 규칙. 세 채널 전부에 걸립니다.
채널규칙.md채널마다 다른 글자 수 · 줄바꿈 · 링크 형식.
skills/같은 변환 절차를 저장해두고 이름 하나로 부릅니다.
agents/채널별 담당 + 금칙어 검사 담당을 나눕니다.
승인 게이트
drafts/검토 대기 중인 초안이 쌓이는 자리. 여기 있는 동안은 절대 안 나갑니다.
발행 차단승인 표시가 없으면 발행 단계가 아예 실행되지 않습니다.
Git고친 흔적이 남습니다. 어떤 초안을 왜 반려했는지 되짚을 수 있습니다.
외부 발신 연결
.mcp.json스레드 · 인스타 · 링크드인 — 채널마다 통로가 따로입니다.
OAuth채널 세 개면 토큰도 세 개. 하나 만료되면 그 채널만 조용히 실패합니다.
예약지금 보내지 않고 지정 시각에. 실패하면 재시도할지도 정해둡니다.
이 자동화의 폴더초안이 대기하는 폴더가 따로 있습니다
~/content-repurpose
content-repurpose/이 자동화 하나가 사는 폴더.폴더 구조
├── CLAUDE.md브랜드 톤 · 금칙어 · 해시태그 규칙.CLAUDE.md
├── 채널규칙.md채널별 글자 수 · 줄바꿈 · 링크 형식.Prompt 구조
├── .env유튜브 · 스레드 · 인스타 · 링크드인 토큰 4개.OAuth
├── .mcp.json부를 바깥 서비스 목록.MCP
├── .claude/skills/스레드변환.md — 같은 변환 절차.Skill
├── .claude/agents/금칙어검사.md — 작성 담당과 분리.Sub Agent
├── run.py원본 주소를 받아 아래 순서를 실행.Workflow
├── drafts/2026-08-21/검토 대기 중인 초안 3벌.승인 게이트
└── .git/반려·수정 이력이 남는 곳.Git · GitHub
04네이버 블로그글 자동 작성 키워드와 제품 정보를 정해진 설득 구조에 넣어 본문을 만듭니다
사람이 정해줘야 하는 것
"이번 주 키워드는 '무릎보호대 추천'"주제
"제품은 KS-01 하나만"대상 범위
"경쟁 브랜드는 언급하지 마"제외 조건
사람이 정해줘야 하는 것
"상세페이지랑 리뷰 상위 20개를 봐"자료 출처
"설득 구조는 이 포맷 그대로"글 골격
사람이 정해줘야 하는 것
"문단은 3~4줄, 사진은 2문단마다"형식
"'내돈내산'은 절대 쓰지 마"금칙어
"수치를 쓰면 출처를 텍스트로 남겨"출처 규칙
사람이 정해줘야 하는 것
"사실관계는 내가 본다"검수 범위
"링크는 발행 전에 다 눌러본다"확인 항목
사람이 정해줘야 하는 것
"화·목 오전에 올려"발행 요일
"CTA 링크는 이 형식으로 고정"링크 표준
키워드 입력무엇에 대해 쓸지는 사람이
자료·포맷 읽기제품 정보 + 설득 구조
본문 작성·검사작성 담당과 검사 담당
검수사실관계와 링크를 사람이
블로그 발행확정본만
시작 방식
run.py사람이 키워드를 넣고 실행합니다.
키워드.md이번 주 쓸 키워드 목록을 미리 적어두면 한 번에 여러 편도 됩니다.
자동 실행 안 함무엇에 대해 쓸지는 자동으로 정할 수 없습니다.
외부 데이터 연결
.mcp.json네이버 검색을 부를 통로.
.env검색 API 키 보관.
호출 한도네이버는 하루 25,000회. 넘으면 그날은 더 못 가져옵니다.
제품정보/상세페이지 내용을 미리 정리해둔 자리. 매번 크롤링하지 않습니다.
작업 지시 구조
CLAUDE.md금칙어 · 출처 표기 · 문단 길이. 매번 지켜야 할 것.
skills/설득구조.md문단 순서가 정해진 골격. 글솜씨가 아니라 이 골격이 결과를 만듭니다.
agents/금칙어검사.md작성 담당과 분리된 검사 담당.
CTA링크.md발행 시 붙일 표준 링크. 형식이 바뀌면 여기만 고칩니다.
승인 게이트
drafts/검수 대기 중인 초안 자리.
검사 결과걸린 표현 목록이 초안과 함께 나옵니다. 사람은 걸린 것만 봅니다.
발행 차단검수 표시가 없으면 발행되지 않습니다.
외부 발신 연결
.mcp.json네이버 블로그로 내보내는 통로.
OAuth내 블로그 계정에 글을 쓸 권한.
output/발행한 본문을 그대로 남깁니다. 나중에 뭐가 성과가 좋았는지 대조합니다.
이 자동화의 폴더글의 골격이 파일로 고정돼 있습니다
~/blog-writer
blog-writer/이 자동화 하나가 사는 폴더.폴더 구조
├── CLAUDE.md금칙어 · 출처 표기 · 문단 길이.CLAUDE.md
├── .claude/skills/설득구조.md문단 순서가 정해진 골격.Skill
├── 제품정보/KS-01.md — 사양 · 가격 · 판매처.입력 자료
├── CTA링크.md발행 시 붙일 표준 링크 형식.Prompt 구조
├── .env네이버 검색 · 블로그 토큰.OAuth
├── .mcp.json네이버 검색 · 블로그.MCP
├── .claude/agents/금칙어검사.md — 작성 담당과 분리.Sub Agent
├── run.py키워드를 받아 아래 순서를 실행.Workflow
├── drafts/검수 대기 중인 초안.승인 게이트
└── .git/포맷과 금칙어가 언제 바뀌었는지 남는 곳.Git · GitHub
05받은 메일 → 문서 생성 → 답장 문의 메일을 분류해 필요한 파일을 만들고 답장 초안까지 준비합니다
사람이 정해줘야 하는 것
"이 주소로 온 메일만 봐"대상 편지함
"5분마다 확인해"확인 주기
"스팸함은 보지 마"제외 범위
사람이 정해줘야 하는 것
"견적 문의 / 단순 질문 / 그 외로 나눠"분류 기준
"'그 외'는 아무것도 하지 말고 나한테 알려"예외 처리
"수량이 안 적혀 있으면 추측하지 말고 되물어"결측 처리
사람이 정해줘야 하는 것
"단가는 이 표대로, 할인은 최대 10%"계산 규칙
"유효기간은 발행일 +14일"문서 규칙
"회신 톤은 존댓말, 담당자 이름 넣어"문구 규칙
사람이 정해줘야 하는 것
"금액은 무조건 내가 본다"승인 필수
"10% 넘는 할인은 대표 승인"이중 승인
"내가 이름 걸고 나가는 문서다"책임자
사람이 정해줘야 하는 것
"회신은 원래 메일 스레드에"발송 방식
"보낸 건 이 폴더에 남겨"보관
메일 도착지정 편지함 감시
분류·정보 추출유형 판별 + 수량·기간·조건
견적서·답장 초안 생성서식에 값을 채움
금액·문구 승인여기서 사람을 빼면 사고입니다
답장 발송·보관승인본만
자동화 트리거 환경
run.py5분마다 불려서 새 메일이 있는지 확인하는 파일.
launchd맥에서 5분마다 부릅니다. 맥이 꺼져 있으면 그동안 온 메일은 놓칩니다.
cron서버에 두면 24시간 돕니다. 문의가 밤에도 온다면 이쪽입니다.
처리 기록이미 처리한 메일을 또 처리하지 않도록 기록해둡니다.
외부 데이터 연결
.mcp.json메일을 읽고 보내는 통로. 같은 파일이 입구와 출구를 동시에 맡습니다.
OAuth내 메일 계정을 쓰게 해주는 허락. 읽기 권한과 보내기 권한이 따로입니다.
.env토큰 보관. 이 파일이 새면 남이 내 이름으로 메일을 보냅니다.
작업 지시 구조
CLAUDE.md단가 적용 기준 · 할인 한도 · 사람 승인 없이 발송 금지.
단가표.json계산 근거. 단가가 바뀌면 이 파일만 고칩니다.
skills/견적서.md서식에 값을 채우는 절차.
_서식/견적서 템플릿. 읽기만 하고 덮어쓰지 않습니다.
승인 게이트
발송 차단승인 표시가 없으면 발송 단계가 실행되지 않습니다.
이중 승인할인 한도를 넘으면 한 사람 더 거칩니다.
알림새 초안이 생기면 바로 알립니다. 문의는 답이 늦으면 그 자체가 손해입니다.
외부 발신 연결
.mcp.json메일 보내기. 받아올 때와 같은 파일, 방향만 반대입니다.
output/보낸 견적서가 쌓이는 자리. 누구에게 얼마로 보냈는지가 남습니다.
Git단가표와 규칙이 언제 바뀌었는지 남습니다. 과거 견적의 근거가 됩니다.
이 자동화의 폴더계산 근거가 파일로 분리돼 있습니다
~/mail-quote
mail-quote/이 자동화 하나가 사는 폴더.폴더 구조
├── CLAUDE.md단가 적용 · 할인 한도 · 승인 없이 발송 금지.CLAUDE.md
├── 단가표.json계산 근거. 단가가 바뀌면 여기만 고칩니다.JSON
├── _서식/견적서.html — 덮어쓰지 않는 템플릿.입력 자료
├── .env메일 계정 토큰. 새면 남이 내 이름으로 보냅니다.OAuth
├── .mcp.json메일 읽기 · 보내기.MCP
├── .claude/skills/견적서.md — 서식에 값 채우는 절차.Skill
├── run.py5분마다 불려서 아래 순서를 실행.Workflow
├── output/2026-08-21_OO상사.pdf — 보낸 견적서.산출물
└── .git/단가·규칙 변경 이력. 과거 견적의 근거.Git · GitHub