
Claude Code의 기사 작성 스킬을 2주 만에 키운 기록 ── 부족했던 것은 감상이었다, 인터뷰 기능과 세션 횡단 기능 추가 이야기
요약
Claude Code를 활용한 기사 작성 스킬(`article-writeup`)의 고도화 과정을 다룹니다. 단순 작업 로그 요약을 넘어 인간의 감상을 수집하는 인터뷰 기능과 여러 세션을 통합하는 기능을 추가하여 기사의 질을 높이는 방법을 설명합니다.
핵심 포인트
- 단순 작업 중계가 아닌 인간의 감상을 담기 위한 인터뷰 기능 도입
- 서브 에이전트의 제약을 고려한 회고-인터뷰-브리프 통합 설계
- 클러스터링 및 검색 모드를 통한 복수 세션 횡단 기사 작성 구현
- Claude Code의 개발 플로우를 활용한 효율적인 스킬 고도화
도입
이전에 Claude Code에서의 작업 세션을 그대로 Zenn 기사 초안으로 변환하는 스킬(article-writeup)을 직접 제작하여 공개까지 마쳤던 내용을 기사로 썼다. 이번에는 그 후속편에 해당한다.
공개했던 첫 번째 기사를 다시 읽어보니, 솔직히 "중계 방송 같아서 쓸쓸하다"는 느낌이 들었다. 무엇을 했는지는 쓸 수 있지만, 그때 어떻게 생각했는지는 어디에도 없다. 이 위화감이 기점이 되어, 스킬에 인터뷰 기능과 복수 세션 횡단 기능을 추가하게 되었다. 지금 이 기사 자체도 그 복수 세션 횡단 기능을 사용하여 쓰고 있다.
지난번 구현(~7/17 첫 공개까지)에 대해서는 이미 별도의 기사에 정리해 두었으므로, 본 기사에서는 이번에 추가한 두 가지 기능과 그 과정에서 얻은 깨달음을 중심으로 쓰겠다.
"기사가 쓸쓸하다"고 깨달은 지점부터
첫 번째 기사를 공개한 후, 다시 읽어보며 느낀 점은 "담담하게 중계만 하고 있을 뿐, 감상이 없다"는 것이었다. 무엇을 만들었는지, 어떻게 막혔는지는 쓸 수 있다. 하지만 그때 무엇을 재미있다고 느꼈는지, 무엇에 짜증이 났는지, 무엇에 안도했는지―― 그러한 1차 체험의 온도가 통째로 빠져 있었다.
이 관찰을 통해 스킬의 설계를 재검토하게 되었다. 도달한 결론은 심플했다. "감정은 인간에 대한 직접 인터뷰로밖에 수집할 수 없다"는 것이었다. 작업 로그나 세션 이력을 아무리 정밀하게 해석해도, 거기에 적혀 있지 않은 감정은 나오지 않는다. 당연한 이야기 같지만, 기사화를 자동화하려고 하다 보면 의외로 놓치기 쉬운 포인트였다.
서브 에이전트(Sub-agent)가 대화 이력에 접근할 수 없다는 제약
인터뷰 기능을 설계하는 데 있어 핵심이 된 것은 "서브 에이전트는 호출 측의 대화 이력에 접근할 수 없다"는 제약이었다. 기사화 작업 자체는 서브 에이전트에게 맡기고 싶은 경우가 많지만, 서브 에이전트는 이번 세션에서 실제로 어떤 일이 일어났는지 알지 못한다. 즉, 감상을 수집하는 인터뷰는 서브 에이전트가 아니라 인간(자신)에게 직접 수행해야 한다.
이 제약을 바탕으로 SKILL.md의 Step 2를 다음 3단계로 확장했다.
- 회고 (2-1)
- 인터뷰 (2-2)
- 브리프(Brief) 통합 (2-3)
작업 내용의 요약만으로 끝내지 않고, 일단 회고를 거친 뒤 인터뷰로 감상을 끌어내고, 마지막에 그것을 브리프에 통합하는 흐름으로 만들었다. 설계상으로는 소소한 변경처럼 보일 수 있지만, "감상은 인간으로부터만 얻을 수 있다"는 제약을 정면으로 받아들인 결과로서 이 형태가 되었다.
복수 세션을 횡단하여 기사화하는 기능
또 하나 추가한 것이 여러 세션을 가로질러 하나의 기사로 만드는 기능이다. 사실 이 기사 자체가 이 기능을 사용하여 작성되었다.
구현한 방식은 두 가지다.
- 제안 모드: 최근 30일간의 세션을 서브 에이전트로 클러스터링(Clustering)하여 추천하는 3개 클러스터를 제시한다.
- 검색 모드: 기사로 만들고 싶은 테마의 키워드로
rg를 사용하여 세션을 필터링한다.
인터뷰 기능이 "1개 세션 내에서 다 담을 수 없는 감상"을 보완하는 메커니즘이라면, 복수 세션 기능은 "1개 세션으로는 완결되지 않는 문맥"을 횡단적으로 포착하는 메커니즘이라고 할 수 있다. 이번처럼 지난번 구현부터 이번 기능 추가까지, 여러 차례의 세션에 걸친 개발 흐름을 하나의 기사로 정리하고 싶다는 니즈에 부응하는 것이 되었다.
구현 플로우 자체가 "좋다"는 체감
이번 일련의 기능 추가는 my-agent-toolkit 리포지토리에서 superpowers의 개발 플로우(brainstorming → writing-plans → subagent-driven-development → worktree → finishing-a-development-branch)를 사용하여 진행했다.
이 플로우 자체는 지난번 스킬 초기 구현 때도 사용했던 것이지만, 이번에는 그것을 그대로 따라가는 과정에서 코드뿐만 아니라 SKILL.md와 같은 "자연어 지시서"라는 결과물에도 일관되게 적용할 수 있음을 다시 한번 확인할 수 있었다. 특히 효과적이었던 것은 리뷰 단계로, spec-reviewer → code-quality-reviewer라는 2단계 리뷰가 자연어로 작성된 지시서에 대해서도 여러 버그를 찾아내 주었다. 설정 경로 체크가 비대칭적이었던 점, Zenn의 슬러그(Slug) 길이 요건이 누락된 점, 슬러그가 충돌했을 때 덮어써 버릴 위험이 있었던 점 등이다. 코드 리뷰와 같은 엄격함이 지시서 리뷰에서도 기능한다는 것은 소소하지만 실감이 나는 발견이었다.
또 하나 효과가 있었던 것은, style-guide.md를 처음부터 완성하지 않고 '씨앗'만 적어둔 뒤, 공개 게이트 (public gate)의 피드백을 통해 키워나가는 설계로 한 것이다. 실제로 이 기사도 그 스타일 가이드 (style guide)에 따라 작성되었다. 처음부터 완벽한 문체 규약 (writing style convention)을 미리 정해두려 하면 첫 기사 집필 시 손이 멈추기 쉽지만, '씨앗'에서 시작함으로써 막힘없이 진행할 수 있었다.
이러한 점들을 바탕으로, 기사화하기 전 단계에서 이미 "이번 접근 방식 자체가 매우 좋았다"라는 확신을 가지고 있다.
요약
이번에는 자체 제작한 기사화 스킬 article-writeup에 인터뷰 기능과 복수 세션 횡단 기능을 추가한 과정을 기술했다.
- 공개된 기사를 다시 읽어보며 "중계만 있고 감상이 없다"는 것을 깨달은 것이 출발점
- 서브 에이전트 (sub-agent)는 대화 이력에 접근할 수 없다는 제약으로부터, "감상은 인간에 대한 직접 인터뷰를 통해서만 수집할 수 있다"라는 설계 원칙에 도달함
- SKILL.md의 Step 2를 되돌아보기 → 인터뷰 → 브리프 (brief) 통합의 3단계로 확장함
- 복수 세션을 횡단하여 기사화하는 기능을 제안 모드 (proposal mode)와 검색 모드 (search mode)의 두 가지 방식으로 구현함
- superpowers의 개발 플로우 (flow)와 spec-reviewer → code-quality-reviewer의 2단계 리뷰는 코드뿐만 아니라 자연어 지시서에 대해서도 유효했음
- style-guide.md를 '씨앗'에서부터 키워나가는 설계로 함으로써, 첫 기사 집필에서도 손이 멈추지 않았음
자신의 세션 운용을 그대로 기사로 만든다는 이번 접근 방식 자체에 대해서는, 쓰기 전 단계에서 이미 확신을 느끼고 있다. 다음에 무언가 기능을 추가한다면, 또 다른 세션에서의 깨달음으로부터 시작될 것 같다.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기