Files
llm-wiki/harness/source/skills/blogify.md
T

50 lines
3.6 KiB
Markdown

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.md`**Read 한 결과가 SSOT** — 인라인 목록을 두지 않는다(이미 한 번 drift 됨). 명령 고유 규칙(아래 ## 규칙)만 여기 유지.
5. **초안은 사람이 작성**
- 이 명령은 **template scaffold + canonical Sources 채움** 만. 본문 초안 자동 생성 X.
- Parent/부모 섹션의 canonical wikilink 는 자동 채움 (Step 1 에서 식별된 소스, 헤더는 template Read 결과를 따름).
- 본문은 사람이 쓰고, 필요 시 다시 `/lint`로 검증.
- 본문은 한국어로 쓰고 개발 용어만 원문(영어)을 유지한다. 문장 단위 윤문은 여기서 하지 않고, 작성이 끝난 뒤 im-not-ai(`/humanize-korean`)로 묶어서 처리한다(`rules/prose-style.md` §3).
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` 직전 채워야 함 (게시 전).