클로드 코드로 블로그 자동화하기 (3) 설계의 뼈대
CLAUDE.md는 클로드 코드가 그 폴더에서 일을 시작할 때 매번 먼저 읽는 기본 지침 파일이고, 스킬(skill)은 특정 작업을 시킬 때만 펼쳐 읽는 별도 설명서예요. 둘 다 클로드에게 규칙을 주는 파일인데, 막상 자동화를 설계하려고 앉으면 제일 먼저 막히는 게 바로 이 지점이더라고요. 지켜야 할 규칙이며 광고주 정보며 작업 순서를 다 어디에 넣어야 할지 감이 안 와서, 저도 처음엔 그냥 CLAUDE.md 한 파일에 전부 때려박았거든요.
결론부터 말하면 이 둘의 차이는 딱 하나, 언제 읽히느냐예요. CLAUDE.md는 세션을 열 때마다 항상 읽히고, 스킬은 그 작업을 부를 때만 읽혀요. 사소해 보이는 이 차이 하나가 자동화 전체 설계를 갈라요. 무엇을 CLAUDE.md에 두고 무엇을 스킬로 뗄지 나누는 것, 그리고 그렇게 쪼갠 단계를 명령 하나로 다시 이어 붙이는 것. 저는 이 두 가지를 따로 놓고 보다가 한참을 헤맸거든요.
2편에서 설치하면서 이 둘을 살짝 짚고 넘어갔죠. 이번 편에서는 그 차이가 정확히 뭔지부터 제대로 파고들게요. 그리고 그 이해 위에서 제 블로그 자동화를 어떻게 나눠 설계하고, 그걸 어떻게 일정에 걸어 사람 없이 돌리는지까지 그려볼게요. 개별 스킬 안을 어떻게 채우는지는 다음 편으로 미루고, 오늘은 판을 어떻게 짜는지에 집중할게요.
CLAUDE.md와 스킬, 차이는 언제 읽히느냐 하나
먼저 이 둘이 정확히 어떻게 다른지부터 짚고 갈게요. 이름은 달라도 결국 클로드에게 규칙을 건네는 파일이라는 점은 같은데, 갈리는 건 그 규칙이 언제 클로드 눈앞에 펼쳐지느냐예요.
CLAUDE.md는 세션마다 항상 읽는 지침
CLAUDE.md는 클로드 코드가 그 폴더에서 대화를 시작할 때 제일 먼저 통째로 읽고 들어가는 파일이에요. 그래서 여기 적어둔 규칙은 무슨 글을 쓰든 항상 적용돼요. 어느 글에나 지켜야 할 공통 원칙, 예를 들어 과장하는 표현을 쓰지 말라거나 출처 없는 이야기는 넣지 말라는 것들을 두기에 딱 좋은 자리죠.
다만 항상 읽힌다는 말은, 뒤집으면 매번 그 분량만큼 클로드의 머릿속 자리를 차지한다는 뜻이기도 해요. 그래서 여기에 이것저것 다 몰아넣으면 파일이 무거워지고, 그 무게를 매 대화가 고스란히 짊어진 채 시작하게 돼요. 제가 처음에 겪은 문제가 정확히 이거였고요.

스킬은 필요할 때만 펼치는 매뉴얼
스킬은 SKILL.md라는 파일 하나로 시작하는 작은 폴더예요. CLAUDE.md와 결정적으로 다른 점은, 평소엔 읽히지 않고 그 작업이 필요할 때만 클로드가 펼쳐 든다는 거예요. 앤트로픽도 스킬을 잘 정리된 매뉴얼에 빗대는데, 목차를 훑어보고 지금 필요한 챕터만 펼쳐 읽는 설명서를 떠올리면 돼요. 전권을 처음부터 끝까지 통째로 안고 다니지 않는 거죠.
그래서 초안 쓰기처럼 여러 단계를 거치는 복잡한 작업일수록 스킬로 떼어두면 좋아요. 그 작업을 시킬 때만 관련 지침이 펼쳐지니, 평소 대화의 부담을 조금도 늘리지 않거든요. CLAUDE.md가 항상 지키는 기본 규칙이라면, 스킬은 가끔 하는 복잡한 일을 통째로 묶어 서랍에 넣어둔 셈이에요.
스킬은 평소엔 이름표만 떠 있다
여기가 스킬을 이해할 때 제일 헷갈리는 지점이라 따로 짚을게요. 스킬을 아무리 많이 만들어둬도, 평소 클로드 눈에 떠 있는 건 각 스킬의 이름과 한 줄 설명뿐이에요. 본문은 아직 읽히지 않은 상태로 서랍에 들어가 있고요.
제가 “이 키워드로 초안 써줘” 하고 시키면, 클로드가 그 한 줄 설명들을 쭉 훑어보다가 “아, 이건 초안 쓰는 스킬이 맞겠다” 하고 판단해서 그때 비로소 본문을 펼쳐 읽어요. 그래서 스킬을 만들 때 맨 위 설명 한 줄을 잘 써두는 게 생각보다 중요해요. 이 한 줄이 언제 이 스킬을 꺼낼지 정하는 방아쇠라서, 두루뭉술하게 적어두면 정작 필요할 때 안 꺼내지거든요.

덕분에 스킬을 스무 개, 서른 개씩 만들어도 평소 클로드가 짊어지는 무게는 이름표 몇 줄 정도밖에 안 돼요. CLAUDE.md에 규칙을 백 개 적으면 그 백 개를 매번 이고 가야 하지만, 스킬 서른 개는 이름표만 떠 있다가 필요한 하나만 펼쳐지는 거죠. 이 차이가 다음 이야기의 전부예요.
쪼개고 잇기, 자동화의 두 조건
언제 읽히느냐가 뭐 그리 대단한 차이냐 싶을 수 있는데, 자동화를 설계할 땐 이게 전부를 갈랐어요. 봇을 여러 단계로 쪼개야 하는 이유도, 그 쪼갠 걸 다시 하나로 이어야 하는 이유도 결국 여기서 나오거든요. 이 두 가지가 맞물려야 비로소 자동화가 돼요.
쪼개는 이유는 컨텍스트 한계
1편에서도 짚었지만, AI가 한 번에 읽고 기억하는 양에는 정해진 한계가 있어요. 이 그릇을 컨텍스트 창이라고 부르는데, 클로드가 대화 하나에서 담아둘 수 있는 정보의 총량쯤으로 보면 돼요. 그릇 크기가 정해져 있으니, 시작하자마자 규칙으로 그릇을 꽉 채워버리면 정작 글을 쓸 자리가 좁아져요.
제가 처음에 딱 이 실수를 했어요. 공통 규칙에 광고주 네다섯 곳의 정보에 잘 쓴 예시 글까지 CLAUDE.md 한 파일에 다 몰아넣었더니 파일이 몇천 줄로 불어났고, 꼼꼼할수록 좋을 줄 알았는데 결과는 정반대였어요.
규칙을 잔뜩 이고 시작한 봇이 오히려 그 규칙을 더 자주 놓치더라고요. 사람도 지켜야 할 걸 백 개 주면 다 못 지키잖아요. 그릇이 규칙으로 꽉 차서 판단할 여유가 없어진 거예요. 그래서 작업을 단계로 쪼개서, 각 단계에 필요한 것만 그때그때 펼쳐지게 만들어야 해요. 스킬이 필요한 게 바로 이 대목이고요.

쪼개기만 하면 자동화가 아니라 수동 분업
그런데 여기서 제가 한참을 헤맸어요. 단계를 스킬로 잘 쪼개 놓기만 하면 자동화가 되는 줄 알았거든요. 그런데 아니더라고요. 전략 스킬에 초안 스킬에 검토 스킬을 따로 만들어 두고는, 저는 매 단계를 제 손으로 다음에 넘겼어요. “전략 짜줘” 시켜 결과를 보고, 다시 “이제 초안 써줘” 하고, 나온 걸 읽고 “이제 검토해줘” 하고, 중간마다 일일이 들여다봤죠.
단계는 깔끔하게 나뉘었는데 정작 굴리는 건 매번 제 손이었어요. 모든 단계를 하나도 빠짐없이 제가 다음으로 넘겨야 했고, 한 단계 결과가 마음에 안 들면 다섯 번 여섯 번씩 다시 시키기 일쑤였죠. 글 한 편에 이렇게 붙어 앉아 있으니, 이건 자동화라기보다 연장을 하나씩 꺼내 쓰는 거에 가까웠어요. 쪼개 놓기만 한 자동화는 사람이 매 단계를 손으로 이어 줘야 굴러가는 반쪽짜리였어요.
단계를 자동으로 이어 주는 명령 하나
그래서 방향을 바꿨어요. 쪼갠 단계들을 명령 하나로 묶어 이어 버렸죠. 저는 이걸 두 갈래로 나눠 뒀는데, 매월 초에 한 달 치 전략을 짜는 월간 명령과, 그 전략에서 오늘 쓸 글을 뽑아 구조·초안·검토·이미지까지 만드는 일간 명령이에요. 이제 “오늘치 콘텐츠 작성” 한마디면 그다음은 알아서 굴러가요.
한 단계가 끝나면 저절로 다음으로 넘어가면서 글 한 편을 통째로 완성해 줘요. 예전엔 매 단계를 붙잡고 손으로 넘기던 걸, 이제는 시켜 놓고 다른 일을 하다 완성된 결과만 받죠. 이게 어찌나 편하던지 몰라요.
여기서 깨달은 게 이 글의 핵심이에요. 스킬로 쪼개는 건 절반일 뿐이고, 그 쪼갠 단계를 명령으로 다시 하나로 이어 줘야 비로소 자동화가 되더라고요. 쪼개기만 하면 그냥 분업이고, 거기에 이음을 얹어야 자동화예요. 스킬로 나누는 일과 CLAUDE.md의 명령으로 잇는 일이 한 쌍으로 맞물려야 굴러가는 거죠.

이 축으로 나눈 블로그 자동화 전체 설계
그럼 이 축으로 제 블로그 자동화를 실제로 어떻게 갈랐는지 보여드릴게요. 크게 다섯 층으로 나뉘는데, 위로 갈수록 항상 읽히고 아래로 갈수록 필요할 때만 읽혀요.
공통 원칙은 CLAUDE.md 맨 위 한 장
맨 위엔 어떤 글에나 항상 적용될 원칙만 얇게 둬요. 과장하는 표현을 쓰지 말 것, 단정하기보다 완화해서 쓸 것, 출처 없는 이야기는 넣지 말 것, 검색한 사람이 원하는 답을 인트로에서 먼저 줄 것. 어느 광고주 글이든 제 블로그든 항상 지켜야 하는 것들이죠.
여기서 제일 신경 쓰는 건 짧게 유지하는 거예요. 이 한 장은 매번 읽히니까, 여기가 무거워지면 그 무게가 모든 작업에 그대로 얹히거든요. 그래서 이 파일은 시간이 지날수록 두꺼워지는 게 아니라 오히려 군더더기가 빠지면서 핵심만 남아요.
광고주별 정보는 폴더마다 따로
저는 광고주 여러 곳의 블로그를 굴려서, 브랜드 톤이며 서비스 설명이며 쓰면 안 되는 표현이 광고주마다 다 달라요. 이걸 맨 위 CLAUDE.md에 몽땅 넣으면 어떻게 될까요? 한 광고주 글을 쓰는데 다른 광고주 정보까지 매번 읽는 낭비가 생겨요. 그릇이 남의 정보로 채워지는 거죠.
그래서 광고주마다 폴더를 따로 나누고, 그 폴더 안에 그 광고주의 정보 파일을 둬요. 이렇게 해두면 그 폴더에서 작업할 때만 해당 광고주 정보가 읽혀요. 스킬은 아니지만 원리는 똑같아요. 필요할 때만 읽히게 자리를 내려보내는 것. 아까 그 축이 여기에도 그대로 적용돼요.
단계별 작업은 스킬 하나씩
앞에서 본 그 파이프라인이 이 층에 그대로 앉아요. 1편에서 원고 한 편이 나오기까지를 전략, 구조, 초안, 검토, 이미지로 쪼갠다고 했는데, 그 각 단계가 곧 스킬 하나죠. 저마다 지켜야 할 기준이 꽤 길어서, 스킬로 떼어 두니 초안을 쓸 땐 초안 스킬만 펼쳐지고 나머지 지침은 서랍에 그대로 있어요.
단계를 이렇게 나눠 두면 좋은 점이 하나 더 있어요. 단계마다 서로 다른 눈이 들어가서 매번 똑같은 원고가 찍혀 나오지 않는다는 거예요. 초안을 쓰는 눈과 그걸 검토하는 눈을 아예 다른 스킬로 갈라 두면, 한 봇이 제 글을 제가 고치는 것보다 문제를 훨씬 잘 잡아내더라고요.
편집 취향이 쌓이는 메모리 층
그런데 규칙도 아니고 광고주 정보도 아니고 작업 순서도 아닌 게 하나 남아요. 바로 제 편집 취향이에요. 이 소제목은 명사형으로 짧게 뽑아달라거나, 이 표현은 이렇게 바꿔달라는, 부딪히면서 하나씩 생기는 자잘한 피드백들이요.
이건 CLAUDE.md에 다 적기엔 너무 많고 잘아서, 메모리라는 또 다른 층에 쌓아요. 메모리는 제가 준 피드백을 클로드가 기억해두는 공간인데, 관련 있는 상황이 오면 알아서 꺼내 써요. 원고를 고칠 때마다 여기에 한 줄씩 남겨두면 다음 글부터 그걸 반영하고요. 규칙을 미리 백 개 적어두는 것보다, 실제로 손대며 쌓인 피드백 몇 개가 훨씬 정확한 맥락이 되더라고요.
발행처를 잇는 MCP
마지막 층은 발행이에요. 글을 다 썼으면 어딘가에 올려야 하는데, 광고주 글은 노션으로 정리하고 제 블로그는 워드프레스에 올려요. 이 발행처를 클로드가 직접 읽고 쓰게 이어주는 통로가 MCP예요. MCP는 클로드 같은 AI를 바깥 앱에 연결하는 표준 규격쯤으로 보면 되는데, 이걸 붙여두면 초안을 손으로 복붙하지 않고 클로드가 발행처까지 직접 밀어 넣어줘요.
다만 저는 여기서도 발행 버튼만큼은 항상 제 손으로 눌러요. 클로드가 초안을 발행처에 올려두면 제가 마지막으로 읽어보고 공개로 돌리는 식이죠. 1편에서 말한 사람이 손대는 지점을 여기에도 하나 남겨두는 거예요. 자동으로 이을 수 있어도 일부러 안 잇는 자리요.

부르지 않아도 도는 cron 예약
여기까지 오면 명령 한 번으로 글 한 편이 완성돼요. 그런데 저는 그 명령을 부르는 것마저 손에서 놓았어요. cron이라는 예약 기능에 맡겼거든요.
cron은 정해둔 시각에 명령을 대신 실행
cron은 원래 개발에서 쓰던 말인데, 정해둔 시각에 정해둔 작업을 알아서 실행해 주는 예약 스케줄러예요. 매월 1일 아침이나 매주 월요일처럼 시간표를 걸어 두면, 그때가 됐을 때 제가 안 시켜도 그 명령이 저절로 돌아가요. 알람을 맞춰 두면 제가 깨우지 않아도 울리는 것과 비슷하죠.
월간은 매월 1일, 일간은 발행 주기에 맞춰
저는 앞에서 나눈 두 명령을 각각 시간표에 걸어 뒀어요. 한 달 치 전략을 짜는 월간 명령은 매월 1일에 돌게 해뒀죠. 오늘 쓸 글을 만드는 일간 명령은 제가 정해둔 발행 주기에 맞춰 돌아가고요. 그래서 컴퓨터 앞에 앉아 “이제 해줘” 하고 부르지 않아도, 아침에 열어 보면 그날 초안이 이미 만들어져 있어요.
대신 여기서도 마지막 지점은 제 몫으로 남겨 뒀어요. cron이 전략을 짜고 초안까지 만들어 두되, 발행은 하지 않고 저한테 보고하는 데서 딱 멈추게 해뒀거든요. 실제 광고주 글이 제 확인 없이 나가면 안 되니까요. 시간이 알아서 명령을 부르고, 명령이 알아서 단계를 잇고, 저는 완성된 걸 검수만 하면 되는 거죠.

얇게 쪼개고, 하나로 잇기
이렇게 다섯 층으로 갈라놓고 보니, 자동화 설계라는 게 대단한 기술이 아니라 정리의 문제였다는 걸 알겠더라고요. 결국 아까 그 질문 하나로 다 수렴하거든요. 이건 매번 읽혀야 하나? 그렇다면 CLAUDE.md 맨 위에. 아니라면, 그러니까 특정 광고주나 특정 작업이나 특정 상황에서만 필요하다면 폴더 파일이나 스킬이나 메모리로 내려보내면 돼요.
항상 읽힐 것만 맨 위에 얇게 두고 나머지는 필요할 때 불려 나오게 아래로 내리는 것, 그렇게 쪼갠 층들을 명령 하나로 다시 이어 붙이는 것, 그리고 그 명령마저 시간표에 걸어 두는 것. 봇을 가볍게 만들면서도 사람 없이 굴러가게 한 건 결국 이 세 가지였어요. 처음에 CLAUDE.md 한 파일에 다 때려박고, 그다음엔 단계만 쪼개 놓고 매번 손으로 넘기며 헤맸던 걸 생각하면, 이 간단한 기준을 몰라서 몇 달을 돌아간 셈이죠.

오늘은 판을 어떻게 다섯 층으로 나눴는지까지였고, 다음 편에서는 그중 스킬 한 층 안으로 더 깊이 들어가 볼게요. 전략 스킬 하나를 통째로 뜯어보면서, 스킬 안을 실제로 어떤 순서와 어떤 방호벽으로 채우는지 하나씩 풀어볼 생각이에요.
혹시 지금 CLAUDE.md 한 파일이 수백 줄로 불어나 있다면, 그 안에서 “이건 특정 작업에서만 필요한데” 싶은 덩어리 하나를 찾아 스킬로 떼어보세요. 그 한 번만 해봐도 오늘 이야기한 감이 확 잡히실 거예요.
댓글을 남겨주세요