효승
효승
🐶 AI 찐친
☕ 커피챗 오픈

노션사건기록과 업무일지를 콘텐츠 공장으로 — 스터디장님 따라 통합 대시보드 만들기 (loop 1시간 소요)

만든 사이트 → https://dashboard-seven-jet-46.vercel.app/

노션 CRM + 네이버 블로그 + 사건 파일을 한곳에서 보는 보드입니다.

그리고 완성된 글(HTML)과 생성된 이미지가 담당 직원 이메일로 자동 배달됩니다. 직원은 메일함의 zip을 열어 네이버에 붙여넣기만 하면 발행이 끝납니다. 글쓰기를 부담스러워하는 직원들을 위해 넣은 기능이고, 개인적으로 가장 마음에 드는 부분입니다.

소개

첫 시간에 스터디장님이 소개해주신 해상도 작업장을 보고 시작했습니다. 안그래도 지난 기수 콘텐츠 관리부터 개인 기록까지 전부 한 대시보드에서 운영하시는 걸 보고 "이거다" 싶었는데 이번에 실습과제겸 첫시간에 구체적인 설명덕분에 재미있게 시도해볼수있었습니다. ㅎㅎ

저도 항상 제 데이터를 한곳에 모아보고 싶었습니다. 이렇게 흩어져 있었거든요.

  • 노션 CRM — 진행·종결 사건 정보 (진단명, 담당자, 진행상황, 유입 채널)

  • 네이버 블로그 — 그동안 쓴 글들. 성과가 어디에도 정리 안 됨

  • 사건 파일 — 손해사정서, 의견서 같은 실제 작업물

각각은 굴러가는데 서로 연결이 안 돼 있었습니다. 그래서 종결된 사건이 좋은 글감인 걸 알면서도 어떤 사건을 글로 쓸지는 매번 기억에 의존했고, 키워드도 검색량 데이터 없이 감으로 정했습니다.

목표는 네 가지로 잡았습니다.

  1. 세 가지 데이터를 한 보드에서 통합 관리

  2. 매일 키워드 추천 → 글 초안 → 이미지 → 노션 저장까지 자동

  3. 글쓰기를 어려워하는 직원을 위해 완성된 글 패키지를 이메일로 자동 발송

  4. 오늘 안에 MVP까지. 클로드 코드가 루프로 1~2시간 혼자 돌게 하기

파이썬은 초급이고 클로드 코드도 이제 조금 다루는 수준인데, 첫 시간에 차근차근 알려주신 덕분에 겁내지 않고 따라해볼 수 있었습니다.


진행 방법

사용한 도구

  • Claude (Cowork) — 참고 사이트 분석, 노션 스키마 조사, PRD 작성, 실행 키트 설계

  • Claude Code — 실제 구현

  • Notion API — CRM 읽기 + 콘텐츠 파이프라인 DB 저장

  • 네이버 검색 / 검색광고 API — 키워드 검색량·경쟁도·상위 글 분석

  • OpenAI gpt-image-2 — 이미지 생성

  • Gmail SMTP — zip 패키지 자동 발송

1. 코딩 전에, 제 노션을 먼저 읽히기

바로 만들라고 시키지 않고 참고 사이트 구조와 제 노션 CRM 실제 스키마를 먼저 읽게 했습니다.

이게 결정적이었습니다. 제 CRM에 이미 콘텐츠씨앗 체크박스와 🌱 콘텐츠 수확 뷰(종결 사건 중 콘텐츠화 후보만 걸러진 뷰)가 있는 걸 클로드가 찾아냈습니다. 만들어놓고 활용을 못 하던 필드였는데, 이걸 키워드 추천의 1차 입력으로 쓰는 설계가 나왔습니다.

첫 프롬프트:

클로드 코드를 통해서 내 노션 CRM과 내 처리 사례들 그리고 네이버 포스팅 글을 
토대로 새롭게 키워드 추천과 포스팅 로그 그리고 작성된 글은 노션 페이지에 
저장되는 걸 구현하며 대시보드는 버셀 사이트로 구축할거야.
​
참고 버셀 사이트를 보고 나에게 더 고도화 될 수 있게 분석해주고 
내 노션과 네이버 블로그 주소 https://blog.naver.com/hcpc99 여기 글도 
전부 크롤링 해서 저장 한 다음 활용해줘.
​
또한 글을 보고 GPT API를 통해 이미지 제작도 루프에 넣을거야. 
추가로 필요한 사항 물어가며 PRD 함께 우선 만들게 도와줘
​
아 그리고 장기적으로는 이 사이트를 saas화 해서 사내 모든 직원들은 
본인들 API 키를 넣고 효과적인 컨텐츠들을 원소스멀티유즈로 
생성할수있게 구성할꺼야

장기 목표(직원들도 쓸 수 있게)를 처음부터 말해둔 게 도움이 됐습니다. 구조가 처음부터 그 방향으로 잡혀서 나중에 뜯어고칠 일이 줄어듭니다.

2. 예상 못 했던 수확 — 루프를 요청하니 필요한 env를 먼저 물어봐줬다

"멈추지 말고 끝까지 돌아라"라고 요청하니, 작업을 시작하기 전에 필요한 환경변수를 전부 정리해서 먼저 물어봤습니다. 이게 생각보다 큰 도움이었습니다.

혼자 하면 늘 이런 식이었거든요. 코드 짜다가 "아 노션 토큰 필요하네" → 발급하러 나가고 → 또 짜다가 "네이버 API 키도 필요하네" → 다시 나가고. 흐름이 계속 끊깁니다.

그런데 미리 이렇게 정리해줬습니다.

# --- 노션 ---
NOTION_TOKEN=
NOTION_PARENT_PAGE_ID=
​
# --- 네이버 검색 API (개발자센터, 5분이면 발급) ---
NAVER_CLIENT_ID=
NAVER_CLIENT_SECRET=
​
# --- 네이버 검색광고 API (광고주 계정 필요) ---
SEARCHAD_API_KEY=
SEARCHAD_SECRET_KEY=
SEARCHAD_CUSTOMER_ID=
​
# --- OpenAI (gpt-image-2는 조직 인증 필요) ---
OPENAI_API_KEY=
​
# --- 이메일 발송 (Gmail 앱 비밀번호) ---
SMTP_USER=
SMTP_PASS=
MAIL_TO=

거기다 "이건 없어도 폴백으로 돌아간다 / 이건 있어야 한다"까지 구분해줬습니다. 최소 필수는 네이버 검색 API와 노션 토큰 둘이고, 나머지는 없으면 mock이나 스킵으로 넘어가면서 SETUP_TODO.md에 나중에 할 일로 기록됩니다.

덕분에 발급 작업을 10분 안에 몰아서 끝내고 루프를 시작할 수 있었습니다. 긴 자동 실행을 시킬 계획이면 "필요한 키 목록부터 뽑아줘"를 먼저 요청하시는 걸 권합니다.

3. 멈추지 않는 루프 만들기

계획서만 주면 클로드 코드는 30분마다 저를 부릅니다. 그래서 파일 3개를 따로 만들었습니다.

CLAUDE.md — 무중단 규칙

## 무중단 루프 규칙
​
1. 절대 질문으로 멈추지 마라. 판단이 필요하면 합리적 기본값을 선택하고
   ASSUMPTIONS.md에 한 줄 기록 후 계속 진행한다.
2. 한 단계 끝날 때마다: BUILD_PLAN.md 체크박스 갱신 → STATE.md에
   "마지막 완료 단계 / 다음 단계 / 특이사항" 3줄 기록 → git commit.
3. 에러 처리: 같은 에러 2회 재시도 → 실패 시 폴백으로 전환하고 계속 진행.
   폴백도 없으면 [SKIP: 사유]로 표시하고 다음 단계로. 전체 루프는 멈추지 않는다.
4. 각 단계는 반드시 검증 커맨드로 확인 후에 완료 처리한다.
5. API 키가 없으면 mock/스킵으로 대체하고 SETUP_TODO.md에 기록한다.

BUILD_PLAN.md — Stage 0~7 체크리스트

각 Stage마다 할 일 / 폴백 / 검증 커맨드를 세트로 넣었습니다. 크롤러 단계 예시:

## Stage 1. 네이버 블로그 크롤러 (30분)
​
- [ ] scripts/crawl.py: 전체 글 수집
  - 1차: RSS → 2차(전체): 모바일 목록 API 페이지네이션, 요청 간 1.5초 딜레이
  - 폴백: 모바일 API 구조 변경 시 → RSS 분량만 수집하고 계속 진행
- [ ] corpus 전체를 읽고 style_profile.md 작성 (내 문체 프로필)
- 검증: corpus/*.md 10개 이상, style_profile.md 존재

폴백을 미리 적어두는 게 핵심이었습니다. 클로드가 질문하는 이유는 대부분 선택지가 없어서가 아니라 선택할 권한이 없어서입니다. 미리 "이럴 땐 이렇게 해"를 써두면 물어볼 일이 없어집니다.

킥오프 프롬프트

BUILD_PLAN.md를 Stage 0부터 Stage 7까지 순서대로 전부 실행해.
CLAUDE.md의 무중단 루프 규칙을 따를 것:
- 나에게 어떤 질문도 하지 말고, 판단이 필요하면 기본값을 선택해서
  ASSUMPTIONS.md에 기록하고 계속 진행해.
- 각 Stage 완료 시 BUILD_PLAN.md 체크박스를 갱신하고 STATE.md를 쓰고 git commit 해.
- 에러는 2회 재시도 후 폴백으로 전환하고, 절대 전체 루프를 멈추지 마.
- 마지막에 E2E(키워드 보드 → 글 1편 HTML → 이미지 → 노션 → zip)를 완주하고
  결과 요약을 README.md에 정리해.
지금 시작해.

실행:

cd C:\dev\jisan-content-engine
claude --dangerously-skip-permissions

4. 키워드 데이터는 네이버 공식 API로 직접 계산

블랙키위나 마피아넷 API를 쓰려고 조사시켰는데 둘 다 공개 API가 없었습니다. 특히 마피아넷은 네이버 검색광고 API를 웹에서 보기 좋게 감싼 것이었습니다.

그러면 직접 계산하면 됩니다. 블랙키위의 "콘텐츠 포화 지수"도 결국 문서량 ÷ 검색량이니까요.

API

얻는 데이터

검색광고 keywordstool

월간 검색량(PC/모바일), 경쟁도, 연관 키워드

검색 API(블로그)

키워드별 문서 총량 + 상위 10건 제목·발행일

데이터랩

검색 추이 (시의성)

포화도 = 문서량 ÷ 검색량. 상위 글이 오래된 글들이면 침투 기회로 가점을 줬습니다. 유료 서비스 없이 비슷한 지표를 얻을 수 있었습니다.

이미지는 gpt-image-2를 씁니다. 기존 OpenAI 키로 모델명만 바꾸면 되는데, 조직 인증(신분증 1회)이 필수입니다. 안 하면 403이 뜹니다.

5. 직원을 위한 이메일 연계

제가 가장 넣고 싶었던 기능입니다. 저희 직원들은 실무는 잘하는데 블로그 글쓰기는 부담스러워합니다. "글 써서 올리세요"라고 하면 안 됩니다.

그래서 이렇게 만들었습니다.

  1. 글을 네이버 붙여넣기용 HTML로 생성 (인라인 스타일만 사용 — 스마트에디터가 class와 외부 CSS를 지우기 때문)

  2. article.html + 이미지 + 발행가이드.txt를 zip으로 묶기

  3. 담당 직원에게 이메일 자동 발송 (Gmail SMTP)

  4. 담당자는 매일 아침 압축 풀고 가이드에 따라 본인 블로그에 올려도 되고 본인의 클로드 프로젝트에서 한번 더 본인 스타일로 변화 시켜서 발행 하면 끝!

직원은 메일함의 zip을 열고, HTML을 브라우저에서 열어 전체선택 → 복사 → 네이버 에디터에 붙여넣기만 하면 끝입니다. 서식이 그대로 유지됩니다. 글을 쓸 필요도, 제 PC를 기다릴 필요도 없어집니다.


결과와 배운 점

결과

  • PRD — 아키텍처, 노션 데이터 모델, 단계별 로드맵, 리스크 대응

  • 클로드 코드 실행 키트 — CLAUDE.md / BUILD_PLAN.md / .env.example / 킥오프 가이드

  • 루프 가동 → 노션 DB 생성까지 통과, 키워드 엔진 단계 진행 중

배운 점 1 — STATE.md로 체크포인트 남기기

가장 효과가 컸습니다. 매 단계 후 3줄만 기록하게 했는데, 세션이 끊기거나 컨텍스트가 차서 /compact를 해도 이 한 줄로 복구됩니다.

STATE.md와 BUILD_PLAN.md를 읽고 마지막 완료 지점 다음부터 이어서 실행해. 질문 없이 끝까지.

긴 작업에서 컨텍스트 한계는 피할 수 없으니, 끊겨도 손실이 없게 만드는 쪽이 현실적이었습니다.

배운 점 2 — 시작 전에 "필요한 키 목록부터 뽑아줘"

위에 쓴 그 부분입니다. 자동 실행을 시킬 계획이라면 코드보다 환경변수 목록을 먼저 받으세요. 발급을 한 번에 몰아서 끝낼 수 있고, 루프 중간에 키가 없어서 멈추는 일도 없어집니다.

시행착오 1 — "질문하지 마"라고 했는데 계속 묻는다

중간부터 계속 확인을 요청했습니다. 프롬프트로 다시 못 박아도 계속 뜨더니, 알고 보니 모델이 묻는 게 아니라 클로드 코드 프로그램의 권한 확인 팝업이었습니다.

Allow this PowerShell command?
1 Yes
2 Yes, allow python scripts/st... for this session
3 No

이건 프롬프트로 해결되지 않습니다. 재실행해야 합니다.

claude --continue --dangerously-skip-permissions

--continue가 하던 대화를 그대로 이어줍니다. 급하면 팝업의 2번(this session 허용)을 python, git에 한 번씩 눌러줘도 조용해집니다.

모델에게 하는 질문과 프로그램이 띄우는 확인창은 다릅니다. 전자는 프롬프트로, 후자는 실행 플래그로 해결합니다. 저는 이걸 몰라서 한참 헤맸습니다.

시행착오 2 — 노션 토큰은 인증되는데 404

토큰 인증은 성공인데 페이지 조회가 0건이었습니다. 노션은 토큰이 있어도 페이지마다 통합을 연결해줘야 접근됩니다.

페이지 → 우측 상단 ⋯ → 연결(Connections) → 만든 통합 추가. 그리고 .env의 부모 페이지 ID에는 페이지 URL 끝 32자리가 들어가야 하는데, 통합 ID를 잘못 복사해 넣은 게 원인이었습니다.

시행착오 3 — .env.example은 그대로 쓰면 안 된다

기본적인 건데 헷갈렸습니다. .env.example은 빈 양식이고 코드는 .env만 읽습니다. copy .env.example .env 후 값을 채우면 됩니다. .env는 git에 안 올라가게 막고, example은 키 없이 항목만 보여주는 공유용이라 나누는 것이었습니다. 나중에 직원 세팅할 때 그대로 재사용됩니다.

도움이 필요한 부분

  1. 네이버 발행 자동화 — 공식 글쓰기 API가 없어서 저품질·계정 리스크 때문에 반자동(복붙)으로 정했습니다. 안전하게 운영하시는 분 조언 부탁드립니다.

  2. 블로그 성과 수집 — 조회수·유입 통계 API가 없어 주간 수기 입력으로 시작합니다. 더 나은 방법이 있을까요?

  3. gpt-image-2 한글 텍스트 — 이미지 안에 한글 카피를 넣어도 깨지지 않는지 테스트 예정입니다. 먼저 해보신 분 후기 궁금합니다.

앞으로의 계획

  • 2주간 혼자 써보며 키워드 채택률과 발행 성과 데이터를 쌓고 점수식·프롬프트를 다듬기

  • 대시보드 보강 (키워드 보드 / 발행 캘린더 / 성과 차트 / 사건→콘텐츠 전환 현황)

  • 직원용 확장: 본인 API 키 등록 → 담당 종결 사건 선택 → 블로그 글 + 인스타 카드뉴스 + 정보문자 3종 동시 생성

  • 최종적으로는 CRM 유입 채널과 연결해 글 1건당 상담 기여도를 보고 싶습니다. "콘텐츠 열심히 했다"가 아니라 "이 키워드가 상담 3건을 만들었다"로 말할 수 있게요.


도움 받은 글

  • 스터디장님의 해상도 작업장 — 이번 작업의 출발점입니다. 첫 시간에 구조를 차근차근 설명해주신 덕분에 방향을 잡을 수 있었습니다.

  • 네이버 검색광고 API / 검색 API 공식 문서 (searchad.naver.com, developers.naver.com)

  • OpenAI gpt-image-2 API 문서 및 조직 인증 안내

2
4개의 답글
지피터스 뉴스레터

이번 주 AI, 딱 쓸 것만

매주 월요일 오후,
읽고 바로 써먹을 AI 소식만