소개 (시도한 것과 그 이유)
저는 펀드매니저출신, 겸임교수로 유튜브 '부엉이리포트'를 운영합니다. 평소엔 제가 쓴 리포트를 확장해 콘텐츠를 만드는데, 확장할 원천이 없는 날이면 "오늘 뭘 쓰지"에서 막힙니다. 그 빈 날을 메울 글감 대시보드를 만들어봤습니다.
스터디의 다른 사례들, 특히 이안님의 파이프라인(키워드 하나로 상위노출까지)에서 많이 배웠습니다. 다만 제 채널은 목적이 조금 다릅니다. 이안님 방식은 대중 검색 트래픽을 키우는 데 최적화돼 있고 실제로 큰 성과를 내셨는데, 저는 이미 있는 구독자에게 심층 관점을 전하는 쪽이라 대중 급등 키워드가 잘 맞지 않았습니다. 그래서 같은 뼈대를 다른 소스에 얹어보기로 했어요 — 검색 트렌드 대신 제가 옵시디언에 쌓아둔 자료에서 글감을 찾는 방식으로요.
🛠️ 진행 방법 — 고쳐가며 만든 과정
1) 무엇부터 정할지 막혀서, AI에게 선택지를 묻게 했습니다. 빈 화면부터 만들지 않고, 소스와 형태를 좁히는 것부터 했습니다.
(내가 준 지시)글감이 마른 날 뭘 쓸지 정하는 대시보드를 만들고 싶어.
바로 만들지 말고, 소스를 어디서 끌어올지 / 어떤 형태로 만들지
선택지로 먼저 물어봐줘.
→ 결과: 소스는 내 축적물 + 시장 이벤트, 형태는 가벼운 스킬 먼저로 정했습니다.
2) 카드에 "왜 지금"과 "왜 내가"를 나눠 담게 했습니다. 키워드만 나열하면 다시 "그래서 뭘 쓰지"로 돌아가더라고요(이건 이안님 사례에서 배운 점). 그래서 스킬 출력 형식을 이렇게 고정했습니다.
[글감 제목 — 한 줄]· 왜 지금 (시의성): …
· 부엉이 각도 (회계·펀드매니저 시각): …
· 채널: 페북 단발 / 블로그 심층 / 쇼츠
· 원천: {내 노트명 또는 이벤트}
· 상태: 지금 쓰기 / 후보 / 보류
3) 결과물을 눈에 보이는 대시보드로 만들었습니다. 채널 브랜드 컬러(네이비 #0A1628 + 민트 #00C9B1)를 입히고, "오늘의 추천 2장"을 맨 위에 크게, 나머지 후보는 아래 카드로 배치했습니다(결론부터 보여주는 배치도 사례들에서 배운 점이에요). 외부 라이브러리 없이 HTML 한 파일로 만들어, 그냥 열면 바로 보이고 모바일에선 1열로 접힙니다.
화면에는 이런 장치를 넣었습니다.
정직 표기 시각화 — 근거 없는 시의성은
[근거 확인 중], 단일 소스는[축적물 얇음]으로 표시상태 배지 — 🟢 지금 쓰기 / 후보 / 🔴 보류
맨 아래 원칙 문구 — "여기까지는 씨앗(후보)까지, 초안과 최종 발행은 사람이"
4) 소스 폴더를 실제 볼트에 맞게 고쳤습니다. 처음엔 제가 폴더를 몇 개만 넣었는데, 볼트를 보니 strategy(투자 프레임워크) 폴더가 빠져 있었어요. 이건 오히려 제 관점의 원료라 추가하고, 사례 아카이브 폴더는 글감이 아니니 제외하도록 고쳤습니다.
5) 회계 함정 하나를 고쳤습니다 (중요). 카드에 재무 숫자를 자동으로 붙이려다, DART 표준 재무제표는 '전사' 숫자만 준다는 걸 확인했습니다. 삼성 파운드리 같은 사업부 손익은 DART에 없어요. 전사 숫자를 사업부 얘기 옆에 붙이면 잘못된 정보가 됩니다. 그래서 스킬에 아래 규칙을 넣었습니다.
⚠️ 층위 가드 — 각도의 층위와 데이터의 층위가 같아야 한다- 각도가 특정 사업부인데 DART엔 전사 숫자만 있으면
→ 전사 숫자를 붙이지 않고 "회사 미공시"로 표기
- 사업부 숫자가 필요하면 회사 공식 IR 자료에서 가져온다
그리고 사업부 숫자는 IR에서 가져오는 별도 스킬을 따로 만들었습니다.
6) 실제 회사로 검증했습니다 (현대차 2026 2분기). 공식 IR 페이지가 다운로드 링크를 자바스크립트로 숨겨둬서, 브라우저에서 PDF 주소를 직접 뽑았습니다.
// IR 페이지의 다운로드 함수에서 실제 PDF 경로 추출document.querySelectorAll('a,button').forEach(el=>{
const call = el.getAttribute('onclick') || '';
if (/fileDownload/.test(call))
console.log(el.textContent.trim(), call);
});
// → q2-2026-earnings-call-pt-final-ko.pdf 확보
받은 PDF(20쪽)에서 목표 페이지만 찾도록 텍스트를 훑었습니다.
python -c "import pypdf; r=pypdf.PdfReader('q2.pdf');[print(i+1, [k for k in ['지역','영업이익'] if k in (p.extract_text() or '')])
for i,p in enumerate(r.pages)]"
→ 확인 결과: 현대차는 지역별 영업이익을 공시하지 않았습니다. 여기서 숫자를 지어내지 않고 "미공시"로 보고한 뒤, 회사가 실제로 주는 부문별 영업이익(자동차 1,993 / 금융 759 / 기타 121십억원, 출처 p.12)으로 대신 답하게 했습니다.
💡 결과와 배운 점
배운 점
① 목적이 다르면 같은 도구도 다르게 만들어야 합니다. 좋은 사례를 그대로 따라 하기보다, 뼈대는 배우고 소스는 제 상황에 맞게 바꾼 게 이번의 핵심이었어요.
② 없는 숫자를 정직하게 말하는 게 더 신뢰를 줍니다. 현대차 지역별 영업이익이 없다는 사실 자체가 오히려 글감이 됐습니다 — "영업이익 감소의 원인은 지역이 아니라 물량·믹스이고, 회사는 이걸 지역별로 공개하지 않는다."
③ 데이터는 '층위'(전사/사업부)를 맞춰야 합니다. 층 위가 어긋나면 정확한 숫자도 틀린 말이 됩니다. 도구를 전사용(DART)·사업부용(IR)으로 나눈 이유입니다.
④ 작게, 고쳐가며. 한 번에 완성하려 하지 않고 소스→형식→화면→함정 순으로 하나씩 고쳤습니다.
나만의 꿀팁
시작할 때 "바로 만들지 말고 선택지로 물어봐"라고 하면 범위가 빠르게 잡힙니다. 빈 화면부터 만들면 헤매요.
재무 숫자를 붙이기 전에 "이 각도가 전사인가, 사업부인가"부터 확인하세요. 층위가 안 맞으면 정확한 숫자도 틀린 말이 됩니다.
"회사가 그 숫자를 안 준다"는 사실 자체가 전문가용 글감이 됩니다. 없는 걸 억지로 채우지 마세요.
과정 중 시행착오
소스 폴더를 몇 개 빠뜨렸습니다(투자 프레임워크 폴더 누락) → 볼트 실제 구조를 보고 수정.
처음엔 삼성전자로 IR을 테스트하려 했는데, 파운드리 손익은 회사가 공시하지 않아 부적합 → 부문 숫자를 실제로 주는 현대차로 교체.
현대차 IR 페이지가 다운로드 링크를 자바스크립트로 숨겨둬 목록에서 안 보였습니다 → 브라우저에서 다운로드 함수(onclick)를 뒤져 실제 PDF 경로를 추출.
대시보드 자동 스크린샷이 안 잡혀(브라우저 창 미표시) 수동 캡처로 대체.
도움이 필요한 부분
회사마다 IR 페이지 구조가 달라 자동 탐색이 항상 성공하진 않습니다. 최신 실적자료 위치를 더 안 정적으로 찾는 방법을 고민 중입니다.
중소형주는 IR 자료 자체가 없거나 불규칙합니다. 이럴 때 DART 공정공시 폴백만으로 충분한지 검증이 더 필요합니다.
앞으로의 계획
매일 자동이 아니라 '막힌 날 꺼내 쓰는' 온디맨드로 운영합니다("글감 뽑아줘" 한마디).
반응이 좋았던 콘텐츠를 다음 카드 선정에 반영하도록, 기존 파이프라인 현황판과 연결할 계획입니다.
사업부 숫자가 꼭 필요할 때만 IR에서 앵커로 붙이는 방식을 유지·개선하겠습니다.
✅ Do / ❌ Don't
Do
좋은 사례에서 뼈대(구조)를 배우고, 소스는 내 상황에 맞추기
"왜 지금"과 "왜 내가"를 나눠서 답하기
확인 안 된 값은
[확인 필요], 없는 값은[미공시]로 정직하게재무 숫자는 각도의 층위에 맞는 소스에서 가져오기
Don't
내 목적과 안 맞는 방식을 억지로 따라 하기
전사 숫자를 사업부 얘기에 붙이기
없는 숫자를 그럴듯하게 채우기
처음부터 완성형으로 크게 만들기
📚 도움받은 것
이안님의 사례글과 참고 프롬프트, GPTers 콘텐츠발행자동화 사례글을 저에게 맞게 수정하여 반영했습니다.