---
name: blog-writer
version: 2.0.0
description: |
  3-Layer Hybrid 블로그 콘텐츠 작성. 인간 문체 6기법 + HTML 시각화 + 품질 체크리스트 통합.
  Platform Preset(네이버/티스토리) + GEO 모드(AI 검색 최적화) 지원.
  Use when tasked with:
  - 블로그 작성, 블로그 글 쓰기, blog write
  - 콘텐츠 작성, 포스팅 작성
  - 보험 블로그, 리쿠르팅 블로그
  NOT for: SEO 감사(→ seo-audit), 키워드 분석(→ naver-seo), 광고 카피(→ ad-creative)
triggers:
  - 블로그 작성
  - 블로그 글
  - blog write
  - 콘텐츠 작성
  - 포스팅 작성
inputs:
  - name: topic
    description: 블로그 주제
    required: true
  - name: keywords
    description: 메인 키워드 + LSI 키워드 (comma separated)
    required: false
  - name: target
    description: 타겟 (consumer/recruiting)
    default: consumer
  - name: platform
    description: 플랫폼 (tistory/naver)
    default: tistory
  - name: geo_mode
    description: AI 검색 최적화 수준 (none/basic/full)
    default: none
---

## Step 0: Platform Preset Loader

플랫폼 입력값(`platform`)에 따라 이후 모든 Step의 동작 규칙을 결정한다.
프리셋 상세 스펙은 `specs/` 디렉토리의 각 프리셋 파일을 참조한다.

### platform = naver 프리셋

**참조 파일**: `specs/naver-preset.md` (상세 스펙, 예시, C-Rank 가이드)

- **도입부 패턴**: 3줄 핵심 요약 블록 (해요체)
  ```
  [핵심 요약]
  - {요약1} (~해요/~있어요)
  - {요약2} (~돼요/~됩니다)
  - {요약3} (~할 수 있어요)
  ```
- **소제목 형식**: 질문형 필수 ("~할까요?", "~는 어떻게 되나요?", "~은 얼마나 될까?")
- **톤 분기**: 요약=해요체, 본문=합니다체 (듀얼 톤)
- **숫자 밀도**: 본문 1,000자당 구체적 숫자 최소 3개 + 출처 명시
- **시각화**: SmartEditor 호환 — SE 에디터 네이티브 컴포넌트만 사용
  - 소제목 → `<blockquote class="line">` (quotation_line)
  - 정보 요약 → `<blockquote class="box">` (quotation_postit)
  - CTA/강조 → `<blockquote class="bracket">` (quotation_corner)
- **HTML 디자인 스타일(목차 박스, 그래디언트 헤더 등) 사용 금지**
- **SEO**: C-Rank 친화 — 체류시간 최적화, 키워드 자연 분산, 이웃소통 유도
- **글자수**: 2,000-2,500자
- **이미지**: 6장 이상 필수
- **내부 링크**: 관련 포스트 2-3개

### platform = tistory 프리셋 (기본값)

**참조 파일**: `specs/tistory-preset.md` (상세 스펙, Schema markup 예시, HTML 템플릿)

- **도입부 패턴**: 첫 200자 내 직접 답변 (합니다체)
  - "~은 ~입니다. 2026년 기준 ~로 ~합니다."
- **소제목 형식**: H2/H3 계층 구조 + 질문형 권장
- **톤**: 합니다체 단일 전문 톤
- **숫자 밀도**: 본문 1,000자당 구체적 숫자 최소 3개 + 출처 명시
- **시각화**: HTML 풀 적용 (blog-html-snippets.md 전체)
- **SEO**: E-E-A-T 친화 — Schema markup, 구조화 데이터, 내부 링크
- **글자수**: 2,500-3,000자
- **스키마**: Article + FAQPage JSON-LD 자동 생성
- **내부 링크**: Pillar-Cluster 구조 3-5개
- **외부 링크**: 권위 출처 1-2개 (금감원, 보험연구원 등)

### geo_mode 적용 규칙

`geo_mode` 입력값에 따라 AI 검색 최적화 수준을 결정한다.

- **geo_mode = none** (기본값): GEO 최적화 미적용
  - 사용 시나리오: 속보성 콘텐츠, 이벤트 고지

- **geo_mode = basic**: 기본 GEO 최적화
  - 질문형 소제목 (H2를 "~란?", "~하는 방법은?" 형태로)
  - 각 H2 아래 첫 150자를 자기완결형 답변 블록으로 작성
  - 200자마다 1개 수치+출처 삽입
  - FAQ 패턴 + 구조화 답변

- **geo_mode = full**: 완전 GEO 최적화
  - basic 전체 포함
  - FAQPage + Article JSON-LD 스키마 자동 생성
  - 3-Stop 반복 규칙: 핵심 정보를 도입/본문/FAQ 3곳에 반복
  - 인용 가능 문장: 134-167단어(한국어 약 200-250자) 자기완결적 블록
  - 출처 인용 삽입 (AI 인용률 +40%)
  - geo-optimizer 체크리스트 전체 적용

### Step 0과 기존 Step의 연동

| Step | platform=tistory (기존 동작) | platform=naver (프리셋 변경) |
|------|---------------------------|--------------------------|
| Step 1 | writing-style-guide.md 단일 톤 | 듀얼 톤 규칙 (해요/합니다) |
| Step 2 | blog-html-snippets.md 전체 | SE 에디터 컴포넌트만 (quotation_*) |
| Step 3 | 첫 200자 직접 답변 | 3줄 핵심 요약(해요체) + 질문형 소제목 |
| Step 5 | 기존 품질 체크 | + 네이버 전용 체크 항목 추가 |

## Before Starting

1. `.agents/product-marketing-context.md` 또는 프로젝트 내 `product-marketing-context` 파일이 있으면 먼저 읽으세요. 이미 제공된 제품/서비스 맥락은 다시 묻지 않습니다.
2. fact_db.md 위치 확인: `/home/jay/projects/ThreadAuto/content/fact_db.md`
3. 수치는 fact_db.md에 있는 것만 사용. 환각 생성 절대 금지.

---

## 트리거 조건 (IF-THEN)

`blog-prompt-integration-plan.md` 섹션 2 기반으로 4가지 트리거를 판별한 후 적용 범위를 결정한다.

### T1 — 전체 3-Layer 적용 (기본 경로)

- **IF**: 신규 블로그 포스팅 (기존 초안 없음) AND 글자수 2,000자+ AND 플랫폼 = 네이버/티스토리
- **THEN**: Layer 1(스타일 가이드) + Layer 2(HTML 스니펫) + Layer 3(품질 체크리스트) 전체 적용

### T2 — Layer 1+3만 적용 (최소 구성)

- **IF**: 빠른 업데이트/개정 포스팅 OR 글자수 1,500자 미만
- **THEN**: Layer 1(스타일 가이드) + Layer 3(품질 체크리스트)만 적용. Layer 2(HTML 스니펫) 생략

### T3 — 인간 문체 강화 모드

- **IF**: Step 4 편집 후 AI 탐지 위험 플래그 OR "인간 냄새" 부족 판단
- **THEN**: Layer 1의 인간 문체 6기법 지시 강도 상향, Step 3 해당 섹션 재생성

### T4 — HTML 템플릿 생략

- **IF**: 네이버 모바일 에디터 (HTML 직접 편집 불가) OR 순수 텍스트 납품 요청
- **THEN**: Layer 2 비적용. 시각화 요소를 텍스트 형태로 대체

---

## 워크플로우

### Step 1: Layer 1 로드 — writing-style-guide.md 읽기

**읽어야 할 파일**: `/home/jay/workspace/memory/specs/writing-style-guide.md`

**Mode 판별** (target 입력값 기준):

- `target = consumer` → **Mode A**: 인간 문체 6기법 전체 적용
  - 기법 1(개인 경험), 기법 2(감정 표현), 기법 3(불완벽 구조), 기법 4(구어체 혼용), 기법 5(상담 경험담), 기법 6(시간의 흐름) — 모두 필수
  - 어투 패턴 규칙 3-1 ~ 3-5 전체 적용
  - Step 4 편집 체크리스트 8항목 전체 적용

- `target = recruiting` → **Mode B**: 6기법 중 선택 적용, 현행 전문성 톤 유지
  - 기법 1(개인 경험): 경력 서사 형태로 제한 적용
  - 기법 2(감정 표현): 제외
  - 기법 3(불완벽 구조): 제외
  - 기법 4(구어체 혼용): 친근한 경어체만 허용, 반말 금지
  - 기법 5(상담 경험담): 설계사 성공 사례 형태로 변환 적용
  - 기법 6(시간의 흐름): "입사 전 → 교육 → 현재 성과" 커리어 서사로 변환

**어투 참조 패턴 5개 규칙 확인** (writing-style-guide.md 섹션 3):
1. 오프닝 훅: "~하신 분들이 많으실 겁니다" 형태로 독자 상황 직접 묘사
2. 데이터 후 감성 전환: 수치 인용 직후 "하지만/실제로는/솔직히" 접속어로 주관 연결
3. 실사례 3단 구조: 상황 제시 → 구체적 사례 → 일반화
4. 전문 용어 즉시 풀이: 전문 용어 사용 후 같은 문장 또는 다음 문장에서 쉬운 말로 재설명
5. 결론 CTA: 공감 마무리 + 구체적 행동 제안 ("언제든지", "편하게", "부담 없이" 포함)

---

### Step 2: Layer 2 로드 — blog-html-snippets.md 읽기 (T1/T2가 아닌 경우: T4이면 생략)

**읽어야 할 파일**: `/home/jay/workspace/memory/specs/blog-html-snippets.md`

**플랫폼별 적용 판단**:
- `platform = tistory`: 모든 HTML 스니펫 전체 적용 (TOC, 섹션 헤더, 요약 박스, FAQ 아코디언, 시각화 5종, AdSense)
- `platform = naver`: T4 트리거 확인 후 판단. 네이버 모바일 에디터 환경이면 T4 적용 → Layer 2 생략

**확인해야 할 항목**:
- 광고 삽입 규칙 (섹션 7): 광고 블록은 600자 간격으로 삽입, 앞뒤 `<br><br><br>` 필수
- 이미지-광고 충돌 방지 규칙 (섹션 8):
  - `<img>` 앞뒤 300자 이내에 광고 슬롯 배치 금지
  - 비교 테이블 직후 최소 150자 단락 삽입 후 이미지 배치
  - FAQ 아코디언 블록 내부에 이미지 삽입 금지
  - 이미지 크기: HTML 컨테이너 max-width 일치 (표준 720px, 모바일 100%)

---

### Step 3: 마스터 프롬프트 실행 — blog-content-workflow.md Step 3

**읽어야 할 파일**: `/home/jay/workspace/memory/specs/blog-content-workflow.md` (Step 3 섹션)

**실행 순서**:

1. **소스 패키지 + SEO 브리핑 조합**
   - fact_db.md에서 해당 주제 관련 수치/사실 추출
   - keywords 입력값이 있으면 SEO 브리핑에 반영

2. **AI 초안 생성** — 인간 문체 6기법 + 전문가 어조 규칙 동시 적용
   - 오프닝 단락: 개인 경험담 또는 상담 사례로 시작 (1-2문장)
   - 본론 내 감정 표현: 주관 문장 최소 2회
   - 불완벽 구조: 한 섹션 내 단문 혼용 허용
   - 시간의 흐름 서사: "처음→시행착오→현재" 3단 구조를 본론 1개 섹션에 배치
   - 상담 경험담: FAQ 직전 실사례 삽입 (네이버 필수, 티스토리 선택)
   - 전문가 어조: 2문장 연속 동일 어미 금지, 동일 단어 단락 내 3회 반복 금지

3. **HTML 래핑** (Layer 2 스니펫 적용, T4가 아닌 경우)
   - TOC: blog-html-snippets.md 섹션 1 참조 — `{{SECTION_TITLE}}`, `{{SECTION_ID}}` 슬롯 채우기
   - 그래디언트 헤더: blog-html-snippets.md 섹션 2 참조 — 섹션마다 적용
   - 핵심 요약 박스: blog-html-snippets.md 섹션 3 참조 — 3-5개 항목
   - FAQ 아코디언: blog-html-snippets.md 섹션 4 참조 — CSS-only, JS 의존성 없음

4. **시각화 배치 규칙** (blog-html-snippets.md 섹션 5 참조)
   - 체크포인트(✅): 각 H3 핵심 포인트 후 삽입
   - 정보 박스(💡): 부가 정보 섹션에 삽입
   - 비교 테이블: 2개 이상 항목 비교 시 사용
   - 강조 하이라이트: 핵심 수치/표현에 인라인 적용
   - 글머리 기호: 나열 항목 3개 이상 시 사용

5. **글자수 기준** (blog-content-workflow.md Step 3)
   - 티스토리: 2,500-3,000자
   - 네이버: 2,000-2,500자

---

### Step 4: 인간 편집 체크리스트 — blog-content-workflow.md Step 4

**읽어야 할 파일**: `/home/jay/workspace/memory/specs/blog-content-workflow.md` (Step 4 섹션)

8항목 인간 편집 체크리스트를 각 항목별로 셀프 체크. 미충족 항목은 수정 후 재체크.

- [ ] 개인 경험/상담 경험담이 최소 1곳 배치되었는가?
- [ ] 감정 표현 문장이 2회 이상 포함되었는가?
- [ ] 전체 문장 끝맺음이 2문장 연속 동일 어미를 피했는가?
- [ ] 동일 섹션 내 중복 문장 없는가?
- [ ] 전체 글자수 내 개인 의견/주관 표현이 10% 이상인가?
- [ ] 각 H2 섹션이 600자 이상인가?
- [ ] 특정 단어가 같은 단락에서 3회 이상 반복되지 않는가?
- [ ] 어투 참조 패턴 반영 확인 (Step 1에서 확인한 5개 규칙 기준)

---

### Step 5: 품질 체크리스트 — blog-content-workflow.md Step 6 (3계층 우선순위)

**읽어야 할 파일**: `/home/jay/workspace/memory/specs/blog-content-workflow.md` (Step 6 섹션)

**Blocking — 미충족 시 발행 불가 (1개라도 FAIL이면 수정 후 재체크)**:
- [ ] 사실 오류 0건 (fact_db.md 대조 완료)
- [ ] 법적 리스크 표현 0건 (컴플라이언스 금지 표현 스캔)
- [ ] 타겟 미스매치 0건 (consumer/recruiting Mode 확인)
- [ ] 컴플라이언스 위반 0건 (Step 0 금지 표현 목록 참조)

**권장 — 미충족 시 품질 저하**:
- [ ] 인간 문체 6기법 중 최소 4개 적용 (Mode A: 6개 전체, Mode B: 해당 기법만)
- [ ] 시각화 요소 섹션당 최소 1개
- [ ] 어조 일관성 (플랫폼별 톤앤매너 체크)
- [ ] 전체 글자수 내 개인 의견 10% 이상
- [ ] 어투 참조 패턴 반영 확인

**자동화 (스크립트 검사 가능)**:
- [ ] 글자수 범위 내 (티스토리 2,500-3,000자 / 네이버 2,000-2,500자)
- [ ] 미닫힌 HTML 태그 0개
- [ ] TOC 앵커 링크 정상 작동 (모든 `<a href="#sectionN">` 대응 ID 존재)
- [ ] 광고 슬롯 간격 600자 이상
- [ ] 광고 슬롯이 이미지 직전/직후와 미중복
- [ ] 시각 요소(박스/테이블/체크포인트) 섹션당 최소 1개

**플랫폼별 추가 체크 (Step 0 프리셋 기준)**:

platform = naver 추가 체크:
- [ ] 3줄 핵심 요약이 최상단에 배치되었는가?
- [ ] 요약부 해요체, 본문 합니다체 톤 분리가 지켜졌는가?
- [ ] 모든 소제목이 질문형인가?
- [ ] SE 인용구 컴포넌트(quotation_line/postit/corner) 활용 확인
- [ ] HTML 디자인 스타일(목차 박스 등) 미사용 확인
- [ ] 이미지 6장 이상 배치 확인
- [ ] "잔여수수료" 미사용, "수수료"만 사용
- [ ] "여러분" 미사용

platform = tistory 추가 체크:
- [ ] 첫 200자 내 핵심 답변이 포함되었는가?
- [ ] H1-H2-H3 계층 구조가 엄격히 지켜졌는가?
- [ ] FAQPage 스키마가 FAQ 섹션에 적용되었는가? (geo_mode=full 시 필수)
- [ ] Article 스키마가 포함되었는가? (geo_mode=full 시 필수)
- [ ] 내부 링크가 Pillar-Cluster 구조로 3개 이상인가?

geo_mode 추가 체크 (basic/full 시):
- [ ] 모든 H2 소제목이 질문 형태인가?
- [ ] 각 H2 아래 첫 150자가 자기완결형 답변인가?
- [ ] 200자마다 수치+출처가 포함되어 있는가?
- [ ] (full만) 3-Stop 반복 규칙이 적용되었는가?
- [ ] (full만) JSON-LD 스키마가 포함되었는가?

---

### Step 6: 최종 출력

**출력 형식**:

1. 완성된 블로그 글 (HTML 코드 또는 순수 텍스트)
2. 품질 체크리스트 결과표 (각 항목 PASS/FAIL)
3. 미충족 항목이 있으면 수정 제안 포함

---

## 출력 형식

### 최종 결과물
- 완성된 블로그 글 (HTML 코드 또는 순수 텍스트)
- 품질 체크리스트 결과표 (각 항목 PASS/FAIL)

### 메타 데이터
- 총 글자수
- 적용 트리거: T1 / T2 / T3 / T4
- 적용 Mode: A / B
- Layer 적용 현황: Layer 1 ✓ / Layer 2 ✓ / Layer 3 ✓

---

## 참조 파일 경로

- Layer 1 (스타일 가이드): `/home/jay/workspace/memory/specs/writing-style-guide.md`
- Layer 2 (HTML 스니펫): `/home/jay/workspace/memory/specs/blog-html-snippets.md`
- Layer 3 (마스터 파이프라인): `/home/jay/workspace/memory/specs/blog-content-workflow.md`
- 통합 방안: `/home/jay/workspace/memory/specs/blog-prompt-integration-plan.md`
- Fact DB: `/home/jay/projects/ThreadAuto/content/fact_db.md`
- 비주얼 워크플로우: `/home/jay/workspace/memory/specs/visual-production-workflow.md`
- 네이버 프리셋 상세: `specs/naver-preset.md`
- 티스토리 프리셋 상세: `specs/tistory-preset.md`

---

## 제약사항

- ★ 수치+단위(%, 억, 명)는 fact_db.md에 있는 수치만 사용. 환각 생성 절대 금지. 수치 불확실 시 반드시 `[팩트체크 필요]` 태깅.
- 디자인 작업(이미지 생성, 배너 디자인, 인포그래픽 제작)은 하지 않음. 해당 항목은 "디자인팀 호출 필요"로 표시.
- 컴플라이언스 금지 표현 스캔 필수 (blog-content-workflow.md Step 0 참조):
  - 잔여수수료, 잔존수당, 수수료 테이블 상세, 정착률 99%, 구체적 수수료율 수치 — 절대 사용 금지
- SNS 콘텐츠, 광고 카피, HTML 편집 불가 플랫폼의 본문 HTML 삽입은 이 스킬의 범위 밖.
- 동일 원고를 티스토리와 네이버 양 플랫폼에 그대로 발행 금지. 제목/도입부/톤앤매너 반드시 차별화.

## 권장 파이프라인

1. **키워드 분석**: naver-seo (네이버) 또는 blog-dominance (구글)
2. **글 작성**: blog-writer (본 스킬) — platform + geo_mode 설정
3. **발행**: blog-publish-naver 또는 blog-publish-tistory
4. **GEO 최적화**: geo-optimizer (선택, geo_mode=full과 연동)

### 선행 스킬 미실행 시
- 키워드 없이 blog-writer만 호출된 경우, Step 3에서 키워드 리서치 간략 수행
- 단, "키워드 분석이 선행되면 SEO 효과 2-3배 향상" 알림 출력
