Files
llm-wiki/.claude/commands/blogify.md
T

3.7 KiB

description, argument-hint
description argument-hint
wiki 내용을 블로그 글감/초안 구조로 변환 <wiki 문서 경로 또는 주제>

wiki 내용을 블로그 글감과 초안 구조로 변환합니다.

대상: $ARGUMENTS

작업 절차

  1. 소스 식별 (canonical만)

    • 인자가 경로면 wiki/concepts/ 또는 wiki/projects/ 허용. 다른 경로 입력 시 중단.
    • 인자가 주제면 /query로 canonical 문서 수집. raw 직접 참조 금지.
    • raw/blog-topics/raw/job-postings/가 출발점이면 먼저 /ingest 또는 수동 정제로 canonical 문서를 만든 뒤 진행.
  2. 상태 게이트 (차단)

    • 소스 문서 status가 reviewed | verified | published-ready 중 하나가 아니면 중단.
    • 사용자에게 안내: "원천 문서를 reviewed 이상으로 승급한 후 다시 실행하세요."
  3. /lint 사전 검증

    • 출처 없는 단정, 공식/사례 혼동, 과장 표현 사전 점검
    • 발견되면 변환 전에 보고
  4. blog 문서 생성templates/blog-template.md 적용 (자체 inline template 금지)

    • 대상 경로: wiki/blog/<제목-slug>-YYYY-MM-DD.md (날짜 suffix 권장 — drafts vs published 구분)
    • templates/blog-template.md 를 Read 후 그대로 사용. placeholder ({{title}}, <...>) 만 사용자 입력으로 치환.
    • frontmatter 필수 필드 (template 명세 그대로):
      • source_type: blog (NOT llm-generated — blog 는 derived canonical 의 status_label 로 outline → drafting → review → ready → published 로 진화)
      • status: draft (시작값)
      • status_label: outline (시작값)
      • audience: backend-engineer | senior-engineer | tech-lead | general (사용자 입력 또는 default backend-engineer)
      • canonical_sources: [] — 게시 전 채워야 함 (Step 5 게시 체크리스트)
      • tags: [blog, ...] — L1 tag 로 blog 명시, 그 외는 taxonomy 따름
      • target_publish: (선택, 게시 예정일)
    • 본문 섹션 구성은 templates/blog-template.mdRead 한 결과가 SSOT — 인라인 목록을 두지 않는다(이미 한 번 drift 됨). 명령 고유 규칙(아래 ## 규칙)만 여기 유지.
  5. 초안은 사람이 작성

    • 이 명령은 template scaffold + canonical Sources 채움 만. 본문 초안 자동 생성 X.
    • Parent/부모 섹션의 canonical wikilink 는 자동 채움 (Step 1 에서 식별된 소스, 헤더는 template Read 결과를 따름).
    • 본문은 사람이 쓰고, 필요 시 다시 /lint로 검증.
    • 본문을 쓸 때 문체·윤문 기준은 rules/prose-style.md 를 따른다 (존댓말, 적당히 긴 길이, 개발 용어만 영어, 전문 용어 첫 등장 시 한 줄 풀이, 쉬운 요약 먼저).
  6. 로그 기록

    • wiki/log.md: YYYY-MM-DD HH:mm /blogify — <소스> → <blog 경로>

규칙

  • template 파일 그대로 사용. inline template 작성 금지 (templates/blog-template.md 와 drift 발생 위험).
  • 프로젝트 사실은 actually-implemented / locally-verified / prod-verified만 사용.
  • 공식 개념과 내 해석을 분리해서 글 구조에 반영 (template 의 "사실 vs 의견 구분" 섹션 활용 — 정확한 헤더는 template Read 결과를 따름).
  • 글 제목 후보는 과장 표현(완벽한, 궁극의, X배 빠른) 사용 금지.
  • 새 blog 문서의 Parent/부모 와 Sources/근거 섹션(정확한 헤더는 template Read 결과)에 반드시 [[wiki/concepts/...]] 또는 [[wiki/projects/...]] canonical 링크 포함. /lint가 이를 검사.
  • frontmatter canonical_sources 배열은 사용자가 status_label: ready 직전 채워야 함 (게시 전).