가이드 요약
CHANGELOG.md 항목에서 소셜 미디어 콘텐츠를 생성합니다. 기본적으로 8개의 출력물(4가지 형식 × 2개 언어)을 생성합니다.
사용 시점
/release실행 후 사회적 발표 자료를 만들 때- 주간 단위로 여러 릴리스를 요약할 때
- LinkedIn, Twitter/X, 뉴스레터 또는 Slack에 게시하기 전
사용법
/guide-recap latest # 최신 릴리스 버전
/guide-recap v3.20.5 # 특정 버전
/guide-recap week # 현재 주 (월요일 ~ 오늘)
/guide-recap week 2026-01-27 # 특정 주 (월요일 ~ 일요일)
플래그
| 플래그 | 효과 | 기본값 |
|---|---|---|
--interactive | 가이드 모드: 각도, 독자, 하이라이트 선택 | 꺼짐 (자동 초안) |
--format=X | 단일 형식: linkedin, twitter, newsletter, slack | 모든 4가지 형식 |
--lang=X | 단일 언어: fr, en | FR + EN 모두 |
--save | 출력을 claudedocs/social-posts/에 저장 | 화면에만 표시 |
--force | 유지보수 항목만 있어도 강제 생성 | 낮은 점수 건너뛰기 |
워크플로우 (7단계)
1단계: 입력 파싱
$ARGUMENTS를 파싱하여 모드 결정:
| 입력 | 모드 | 대상 |
|---|---|---|
latest | 단일 버전 | [Unreleased] 뒤 첫 번째 ## [X.Y.Z] |
vX.Y.Z 또는 X.Y.Z | 단일 버전 | 정확한 버전 일치 |
week | 주 범위 | 이번 주 월요일 → 오늘 |
week YYYY-MM-DD | 주 범위 | 해당 월요일 → 다음 일요일 |
인수가 없거나 잘못된 인수인 경우 사용법을 표시하고 종료합니다.
2단계: CHANGELOG 항목 추출
프로젝트 루트에서 CHANGELOG.md를 읽습니다.
단일 버전:
## [{version}]와 일치하는 줄 찾기- 다음
## [줄까지 모든 내용 추출 ### Added,### Changed,### Fixed섹션 파싱
주 범위:
- 날짜가 범위 내에 속하는
## [X.Y.Z] - YYYY-MM-DD항목을 모두 수집 - 일치하는 모든 버전의 모든 섹션 파싱
오류: 버전을 찾을 수 없음 → 최근 5개 버전을 나열하고 latest 제안.
오류: 주에 항목 없음 → 마지막 릴리스 날짜를 표시하고 해당 버전 제안.
3단계: 항목 분류
각 최상위 항목(### 아래 첫 번째 수준 불릿)에 대해 카테고리 할당:
| 카테고리 | 가중치 | 감지 |
|---|---|---|
NEW_CONTENT | 3 | 새 파일, 새 섹션, 새 다이어그램, 새 퀴즈 문제 |
GROWTH_METRIC | 2 | 줄 수 증가, 항목 수 변경 |
RESEARCH | 1 | 리소스 평가, 외부 소스 통합 |
FIX | 1 | ### Fixed 아래, 수정 사항 |
MAINTENANCE | 0 | README 업데이트, 배지 동기화, 랜딩 동기화, 개수 업데이트 |
자세한 분류 규칙은 references/changelog-parsing-rules.md를 참조하십시오.
4단계: 사용자 가치로 변환
references/content-transformation.md의 매핑 적용:
- 기술적 언어 → 사용자 혜택
- 구체적인 숫자 추출
- 명명된 출처 크레딧
- 관련 항목 클러스터링
references/tone-guidelines.md의 DO/DON'T 체크리스트로 검증.
4b단계: 인터랙티브 모드 (--interactive만 해당)
--interactive 플래그가 설정된 경우 4단계와 5단계 사이에 삽입:
-
점수가 있는 후보 하이라이트 표시:
하이라이트 (점수 기준): [14] 4개의 새로운 ASCII 다이어그램 (16 → 20) [NEW_CONTENT] [ 9] 30개의 새로운 퀴즈 문제 (227 → 257) [NEW_CONTENT] [ 6] Docker 샌드박스 격리 가이드 [NEW_CONTENT] [ 1] README 업데이트됨 [MAINTENANCE] -
각도 질문:
- 자동 (가장 높은 점수 = 후크)
- 사용자가 특정 항목을 후크로 선택
- 사용자 정의 각도 (사용자가 테마 제공)
-
대상 독자 질문:
devs(기술적 깊이)tech-leads(영향 중심)general(접근성 높은 언어)all(기본값, 균형)
-
주요 하이라이트 질문:
- 자동 (최고 점수)
- 사용자가 목록에서 선택
-
선택 확인 후 5단계로 진행.
5단계: 점수 산정 및 선별
각 항목의 점수 계산:
점수 = (카테고리_가중치 * 3)
+ (숫자_있음 * 2)
+ (명명된_출처 * 1)
+ (새_파일 * 1)
+ (min(영향_파일, 3))
+ (브레이킹 * 2)
점수 상위 3-4개 항목 선택. 가장 높은 점수 = 후크 라인.
모든 점수 < 3인 경우: "이 버전에는 소셜 콘텐츠를 권장하지 않습니다. 강제로 생성하려면 --force를 사용하십시오." 출력 후 종료 (--force가 아닌 경우).
6단계: 콘텐츠 생성
요청된 각 형식(기본값: 모든 4개) 및 언어(기본값: 두 언어 모두)에 대해:
assets/에서 해당 템플릿 읽기- 점수와 변환된 항목을 사용하여 템플릿 필드 채우기
- tone-guidelines.md 품질 체크리스트 적용
링크:
| 형식 | 링크 대상 |
|---|---|
| 랜딩 사이트 URL | |
| GitHub 저장소 URL | |
| 뉴스레터 | 둘 다 (랜딩 + GitHub) |
| Slack | GitHub 저장소 URL |
URL:
- 랜딩:
https://florianbruniaux.github.io/Codex-ultimate-guide-landing/ - GitHub:
https://github.com/FlorianBruniaux/Codex-ultimate-guide
7단계: 출력
생성된 각 게시물을 형식과 언어로 레이블이 지정된 펜스 코드 블록으로 표시:
## LinkedIn (FR)
```text
[내용]
LinkedIn (EN)
[내용]
Twitter/X (FR)
[내용]
...
`--save` 플래그가 있는 경우: 모든 출력을 `claudedocs/social-posts/YYYY-MM-DD-vX.Y.Z.md`(버전) 또는 `claudedocs/social-posts/YYYY-MM-DD-week.md`(주)에 씁니다. `claudedocs/social-posts/` 디렉토리가 없으면 생성합니다.
## 오류 처리
| 오류 | 응답 |
|------|------|
| 인수 없음 | 사용법 블록 표시 |
| 잘못된 인수 | 예제와 함께 사용법 블록 표시 |
| 버전을 찾을 수 없음 | 가장 최근 5개 버전 나열, `latest` 제안 |
| 주에 항목 없음 | 마지막 릴리스 날짜 표시, 버전 제안 |
| 모든 항목이 MAINTENANCE (점수 0) | "소셜 콘텐츠를 권장하지 않습니다. 재정의하려면 `--force`를 사용하십시오." |
| CHANGELOG.md를 찾을 수 없음 | "프로젝트 루트에서 CHANGELOG.md를 찾을 수 없습니다." |
## 참조 파일
- `references/tone-guidelines.md` - DO/DON'T 규칙, 이모지 예산, 언어 레지스터
- `references/changelog-parsing-rules.md` - CHANGELOG 형식, 추출, 점수 알고리즘
- `references/content-transformation.md` - 기술 → 사용자 가치 매핑 (30개 이상)
- `assets/linkedin-template.md` - ~1300자, 후크 + 불릿 + CTA + 해시태그
- `assets/twitter-template.md` - 280자 단일 또는 2-3 트윗 스레드
- `assets/newsletter-template.md` - ~500단어, 구조화된 섹션
- `assets/slack-template.md` - 간결, 이모지 풍부, Slack 서식
- `examples/version-output.md` - v3.20.5에 대한 전체 예제 출력
- `examples/week-output.md` - 2026-01-27 주에 대한 전체 예제 출력
## 팁
- `/release` 직후 `/guide-recap latest`를 실행하여 소셜 게시물 준비
- 처음 몇 번은 `--interactive`를 사용하여 점수 산정 방식 이해
- 특정 출력만 필요한 경우 `--format=linkedin --lang=fr` 사용
- `--save` 출력은 `claudedocs/` 규칙에 따라 gitignore 처리됨
- 게시 전에 검토하고 개인화하세요 (이것들은 초안일 뿐, 최종 카피가 아닙니다)