
Claude Code와의 대화를 Zenn 기사로 자동 정리하기 — 스킬 × GitHub 연동으로 게시까지 자동화했다
요약
Claude Code의 '스킬(skill)' 기능과 Zenn의 GitHub 연동 기능을 결합하여, 대화 내용을 기술 기사로 자동 변환하고 게시하는 자동화 워크플로우를 소개합니다. 보안 사고를 방지하기 위해 초안 상태 유지 및 기밀 정보 제거 절차를 설계에 반영했습니다.
핵심 포인트
- Claude Code의 슬래시 명령어로 대화 내용을 Zenn 기사로 자동 정리
- GitHub push를 통해 Zenn에 기사를 자동 배포하는 공식 기능 활용
- 자연어 기반의 SKILL.md를 사용하여 코드 없이 자동화 구현
- 기밀 정보 유출 방지를 위한 초안 고정 및 기밀 체크 절차 설계
만든 것
Claude Code로 작업하다 보면, "막혔던 원인을 알게 되었다", "이 메커니즘은 이렇게 동작하는 것이었구나"와 같은 배움이 세션마다 생겨납니다. 하지만 세션을 닫으면 그 배움은 흘러가 버리고 사라집니다. 그래서, 슬래시 명령어(slash command) 한 번으로 해당 세션의 대화 내용을 Zenn 기사로 정리하여 게시까지 해주는 자동화 플로우를 만들었습니다.
사용법은 이것뿐입니다.
/zenn-article
이렇게 하면 Claude Code가
- 현재 대화 중인 세션을 되돌아보며 "기사로 만들 가치가 있는 배움"을 추출하고
- 기밀 정보를 제거한 기사 markdown을 생성하며
- 내용을 확인시켜 준 후, GitHub의 기사 리포지토리(repository)에 push
까지 해줍니다. push된 기사는 Zenn의 GitHub 연동을 통해 자동으로 Zenn에 반영됩니다. 참고로 이 기사 자체가 이 플로우로 생성된 것입니다.
구조는 두 가지 부품으로 이루어져 있다
부품 1: Zenn의 GitHub 연동 (공식 기능)
Zenn에는 "GitHub 리포지토리를 연동하면, articles/*.md를 push하는 것만으로 기사가 게시/갱신된다"라는 공식 기능이 있습니다. 즉, 기사 게시를 git push로 환원할 수 있다는 점입니다. 이것이 자동화의 토대입니다.
셋업은 다음과 같습니다.
- 기사용 리포지토리 만들기 (private로도 연동 가능합니다)
mkdir zenn-content && cd zenn-content npm init --yes npm install zenn-cli npx zenn init # articles/ books/ 등의 틀을 생성 git init -b main gh repo create zenn-content --private --source . --push
- Zenn의 배포 설정(deploy settings)에서 GitHub 인증을 하고, 이 리포지토리에만 액세스 권한을 주어 연동합니다.
이후 articles/ 하위의 markdown을 push할 때마다 Zenn로 자동 배포됩니다. npx zenn preview로 로컬 프리뷰도 가능합니다.
부품 2: Claude Code의 "스킬" (단순한 markdown)
Claude Code에는 **스킬(skill)**이라는 구조가 있어, ~/.claude/skills/<스킬명>/SKILL.md에 절차서를 markdown으로 두면 /<스킬명>으로 호출할 수 있게 됩니다. 코드는 한 줄도 쓰지 않습니다. 자연어로 된 절차서가 그대로 자동화가 된다는 점이 포인트입니다.
~/.claude/skills/zenn-article/SKILL.md의 골자는 다음과 같은 형태입니다 (일부 발췌·일반화).
---
name: zenn-article
description: 세션에서 배운 것을 Zenn 기사로 정리하고,
...
설계에서 가장 신경 쓴 점: "자동"과 "사고"의 경계선
이 플로우의 무서운 점은, push하는 순간 Zenn에 반영된다는 것입니다. 게다가 대화 세션에는 업무 코드나 사내 정보가 보통 섞여 있습니다. 아무 생각 없이 완전 자동화로 만들면 "사내 정보가 포함된 기사가 갑자기 공개되는" 사고가 일어날 수 있습니다.
그래서 일부러 완전 자동화로 하지 않는 안전장치를 3가지 넣었습니다.
- 초안 고정 — 스킬이 생성하는 기사는 반드시
published: false입니다. push되어도 Zenn 상에서는 초안 상태이며, 자신에게만 보입니다. 공개는/zenn-article publish <slug>라는 별도의 모드로만 가능하며, 거기서도 "공개됩니다"라는 확인 절차를 거칩니다. - 기밀 체크를 절차에 명문화 — "사명, 리포지토리 이름, 내부 URL을 포함하지 않는다. 코드 예시는 일반적인 주제로 다시 쓴다. 망설여지면 포함하지 않는 쪽을 택한다"를 SKILL.md에 적어둡니다. LLM에 대한 지시는 암묵적인 기대가 아니라 절차서에 적힌 것만이 안정적으로 실행됩니다.
- push 전 사용자 확인 — 생성된 기사를 사람이 읽은 후 push합니다. "자동화"의 목적은 수고를 없애는 것이지, 확인을 없애는 것이 아니라고 단호하게 결정했습니다.
즉, 자동화되는 것은 "되돌아보기 → 집필 → 게시 작업"이며, "공개 판단"만은 마지막까지 인간에게 남기는 설계입니다.
요약
- Zenn의 GitHub 연동을 통해, 기사 게시를 「git push」로 환원할 수 있다
- Claude Code의 스킬(SKILL.md)은 markdown 형식의 절차서만으로 만들 수 있으므로, 「세션 회고 → 기사화 → push」를 하나의 명령어로 통합할 수 있다
- 단, 공개 관련 자동화는 사고의 위험이 늘 존재한다.
초안 고정·기밀 체크 명문화·push 전 확인과 같은 안전장치를 시스템 측면에 심어두면 안심하고 운영할 수 있다
세션의 배움이 「흘러가며 사라지는 로그」에서 「축적되는 기사」로 바뀌었기에, Claude Code를 사용하는 동기부여가 한 단계 높아졌습니다. 같은 작업을 하고자 하는 분들에게 참고가 된다면 기쁘겠습니다.
Discussion

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