.claude/skills/weekly-newsletter/SKILL.md
Obsidian vault에서 이번 주(토~금) 작성/수정된 글들을 모아 뉴스레터 생성. 서브 에이전트 기반 병렬 처리로 메인 컨텍스트 절약. 기술적, 리더십적으로 외부에 공유할 만한 내용을 선별하여 정리. "뉴스레터 만들어줘", "이번 주 글 정리해줘", "weekly digest" 등의 요청 시 자동 적용.
npx skillsauth add msbaek/dotfiles weekly-newsletterInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
매주 토요일 오전 실행하여 기술적, 리더십적으로 외부 공유할 만한 내용을 뉴스레터로 작성하는 skill.
서브 에이전트 기반 병렬 처리로 메인 에이전트의 컨텍스트를 최소화합니다.
┌─────────────────────────────────────────────────────────────┐
│ Main Agent (Orchestrator) │
│ - 날짜 범위 계산 (Phase 1) │
│ - 서브 에이전트 병렬 실행 (Phase 2) │
│ - 결과 통합 및 뉴스레터 작성 (Phase 3) │
└─────────────────────────────────────────────────────────────┘
│
┌───────────────┼───────────────┐
│ │ │
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ SubAgent 1 │ │ SubAgent 2 │ │ SubAgent 3 │
│ Daily Notes │ │ Coffee-time │ │ Weekly Docs │
│ Analyzer │ │ Analyzer │ │ Analyzer │
└─────────────┘ └─────────────┘ └─────────────┘
│ │ │
└───────────────┼───────────────┘
▼
┌─────────────────┐
│ 뉴스레터 작성 │
│ (Main Agent) │
└─────────────────┘
| 인수 | 설명 | 기본값 | |------|------|--------| | 주차 | 분석할 주차 (YYYY-WXX 형식) | 금주 |
사용 예시:
/weekly-newsletter - 금주 뉴스레터 생성/weekly-newsletter 2026-W03 - 2026년 3주차 뉴스레터 생성중요: 이 스킬에서 주(week)는 토요일~금요일 기준입니다.
| 주차 | 시작일 (토) | 종료일 (금) | |------|------------|------------| | 2026-W01 | 2025-12-27 | 2026-01-02 | | 2026-W02 | 2026-01-03 | 2026-01-09 | | 2026-W03 | 2026-01-10 | 2026-01-16 |
newsletters/YYYY-WXX-newsletter.md| 항목 | 경로 |
|------|------|
| vault | $VAULT_ROOT/ |
| coffee-time | $VAULT_ROOT/coffee-time |
| dailies | $VAULT_ROOT/notes/dailies/ |
| newsletters | $VAULT_ROOT/newsletters/ |
| 사용자 프로필 | ~/git/aboutme/AI-PROFILE.md |
| 소스 | 경로 | 담당 서브 에이전트 |
|------|------|------------------|
| Daily Notes | notes/dailies/ (토~금) | SubAgent 1 |
| coffee-time | coffee-time/ (해당 주) | SubAgent 2 |
| 주간 작성 문서 | vault 전체 (해당 주 수정) | SubAgent 3 |
# 인수로 주차가 주어진 경우
if [ -n "$1" ]; then
WEEK_NUM="$1" # 예: 2026-W03
else
# 금주 계산 (ISO 주차 기준)
WEEK_NUM=$(date +%G-W%V)
fi
# ISO 주차의 월요일 구하기
ISO_MONDAY=$(date -j -f "%G-W%V-%u" "${WEEK_NUM}-1" +%Y-%m-%d 2>/dev/null)
# 토요일 = ISO 월요일 - 2일 (주의 시작)
SATURDAY=$(date -j -v-2d -f "%Y-%m-%d" "$ISO_MONDAY" +%Y-%m-%d)
# 금요일 = 토요일 + 6일 (주의 끝)
FRIDAY=$(date -j -v+6d -f "%Y-%m-%d" "$SATURDAY" +%Y-%m-%d)
# 다음날 (검색 종료 경계)
NEXT_DAY=$(date -j -v+1d -f "%Y-%m-%d" "$FRIDAY" +%Y-%m-%d)
echo "주차: $WEEK_NUM"
echo "대상 기간: $SATURDAY (토) ~ $FRIDAY (금)"
예시:
2026-W03 → ISO 월요일: 2026-01-13 → 토요일: 2026-01-11 → 금요일: 2026-01-17
참고: macOS
date명령어 사용. GNU date와 문법이 다름.
OUTPUT_FILE="$VAULT_ROOT/newsletters/${WEEK_NUM}-newsletter.md"
중요: 아래 3개의 Task를 단일 메시지에서 동시에 호출하여 병렬 실행합니다. 각 서브 에이전트는 분석 결과를 마크다운 형식의 텍스트로 반환합니다. 비용/속도 최적화를 위해 haiku 모델을 사용합니다.
Task 호출 파라미터: | 파라미터 | 값 | |---------|-----| | description | "Daily Notes 분석" | | subagent_type | "general-purpose" | | model | "haiku" |
프롬프트 (SATURDAY, FRIDAY, NEXT_DAY 치환 필요):
당신은 Daily Notes 분석 전문가입니다. 코드를 작성하지 말고 분석만 수행하세요.
## 작업
{SATURDAY} (토) ~ {FRIDAY} (금) 기간의 Daily Notes를 분석하여 주간 업무 하이라이트를 추출합니다.
## 경로
- Daily Notes: $VAULT_ROOT/notes/dailies/
## 실행 단계
1. Bash로 해당 주 Daily Notes 찾기 (macOS 호환):
find $VAULT_ROOT/notes/dailies -name "*.md" -type f \
-exec stat -f "%Sm %N" -t "%Y-%m-%d" {} \; 2>/dev/null | \
awk -v start="{SATURDAY}" -v end="{FRIDAY}" '$1 >= start && $1 <= end {print $2}'
2. 각 Daily Note 읽기 (Read 도구 사용)
3. 추출할 내용:
- 주요 업무 하이라이트
- 기술 학습 내용
- 해결한 문제들
- 외부 공유에 적합한 인사이트
## 필터링 기준
**포함**: 기술 트렌드, 학습 방법론, 팀 운영 인사이트
**제외**: 내부 업무 세부사항, 개인 일정, 고객/파트너 정보
## 출력 형식 (마크다운으로 반환)
### 주간 업무 하이라이트
- **[날짜]**: 주요 작업 및 성과
- **[날짜]**: 주요 작업 및 성과
### 기술 학습
- 학습 내용 1
- 학습 내용 2
(Daily Notes가 없으면 "해당 주에 Daily Notes 없음" 반환)
Task 호출 파라미터: | 파라미터 | 값 | |---------|-----| | description | "Coffee-time 분석" | | subagent_type | "general-purpose" | | model | "haiku" |
프롬프트 (SATURDAY, FRIDAY, NEXT_DAY 치환 필요):
당신은 Coffee-time 노트 분석 전문가입니다. 코드를 작성하지 말고 분석만 수행하세요.
## 작업
{SATURDAY} (토) ~ {FRIDAY} (금) 기간의 coffee-time 노트를 분석하여 핵심 인사이트를 추출합니다.
## 경로
- Coffee-time: $VAULT_ROOT/coffee-time/
## 파일명 패턴
- `YYYY. M. DD. 커피타임.md`
- 예: `2026. 1. 14. 커피타임.md`
## 실행 단계
1. Bash로 해당 주 coffee-time 노트 찾기 (macOS 호환):
find $VAULT_ROOT/coffee-time -name "*.md" -type f \
-exec stat -f "%Sm %N" -t "%Y-%m-%d" {} \; 2>/dev/null | \
awk -v start="{SATURDAY}" -v end="{FRIDAY}" '$1 >= start && $1 <= end {print $2}'
2. 각 커피타임 노트 읽기 (Read 도구 사용)
3. 추출할 내용:
- 기술 인사이트 (트렌드, 도구, 방법론)
- 리더십/팀 운영 토론
- 업계 동향 분석
- 핵심 인용문/교훈
## 출력 형식 (마크다운으로 반환)
### 커피타임 하이라이트
#### [날짜] - [주제]
- 핵심 논의: ...
- 주요 인사이트: ...
- 교훈: ...
#### [날짜] - [주제] (있는 경우)
- 핵심 논의: ...
(커피타임 노트가 없으면 "해당 주에 커피타임 노트 없음" 반환)
Task 호출 파라미터: | 파라미터 | 값 | |---------|-----| | description | "주간 문서 분석" | | subagent_type | "general-purpose" | | model | "haiku" |
프롬프트 (SATURDAY, FRIDAY, NEXT_DAY 치환 필요):
당신은 Obsidian Vault 문서 분석 전문가입니다. 코드를 작성하지 말고 분석만 수행하세요.
## 작업
{SATURDAY} (토) ~ {FRIDAY} (금) 기간에 생성/수정된 기술 문서들을 분석하여 외부 공유 적합 내용을 추출합니다.
## 경로
- Vault: $VAULT_ROOT/
- 분석 대상: 001-INBOX/, 003-RESOURCES/, 000-SLIPBOX/
## 실행 단계
1. Bash로 해당 주에 수정된 .md 파일 찾기 (macOS 호환):
find $VAULT_ROOT \( -path "*/001-INBOX/*" -o -path "*/003-RESOURCES/*" -o -path "*/000-SLIPBOX/*" \) \
-name "*.md" -type f -exec stat -f "%Sm %N" -t "%Y-%m-%d" {} \; 2>/dev/null | \
awk -v start="{SATURDAY}" -v end="{FRIDAY}" '$1 >= start && $1 <= end {print $2}'
2. 발견된 파일 중 중요 문서 읽기 (Read 도구 사용, 최대 10개)
3. 분류 기준:
- 기술 트렌드 (AI, 아키텍처, 개발 방법론)
- 리더십/조직 인사이트
- 학습 방법론
- 업계 동향
## 필터링 기준
**포함**: SDD, AI 코딩 도구, 새로운 아키텍처 패턴, 효과적인 매니저 특징, AI 활용 학습법
**제외**: 내부 업무 세부사항, 회사 고유 프로세스, 개인 일정, 고객/파트너 정보
## 출력 형식 (마크다운으로 반환)
### 기술 트렌드
- **[문서명]**: 핵심 내용 요약 (2-3줄)
### 리더십 & 조직 인사이트
- **[문서명]**: 핵심 내용 요약
### 학습 방법론
- **[문서명]**: 핵심 내용 요약
(수정된 문서가 없으면 "해당 주에 수정된 기술 문서 없음" 반환)
3개 서브 에이전트 결과 수집
사용자 프로필 읽기
~/git/aboutme/AI-PROFILE.md 확인뉴스레터 작성
Write 도구를 사용하여 newsletters/{WEEK_NUM}-newsletter.md 생성:
---
id: {WEEK_NUM}-newsletter
aliases:
- {YEAR}년 {WEEK}주차 뉴스레터
tags:
- newsletter
- weekly-digest
created_at: {TODAY}
period: {SATURDAY} ~ {FRIDAY}
---
# Weekly Digest - {YEAR}년 {WEEK}주차
> "핵심 인용문" - 출처
**기간**: {SATURDAY_DISPLAY} (토) ~ {FRIDAY_DISPLAY} (금)
---
## 이번 주 커피타임 하이라이트
{SubAgent 2 결과 - 커피타임 분석}
---
## 기술 트렌드
{SubAgent 3 결과 - 기술 트렌드 부분}
---
## 리더십 & 조직 인사이트
{SubAgent 3 결과 - 리더십 부분}
{SubAgent 2 결과 - 리더십 관련 내용}
---
## 주간 업무 하이라이트
{SubAgent 1 결과}
---
## 이번 주 핵심 교훈
1. 교훈 1 (위 내용에서 추출)
2. 교훈 2
3. 교훈 3
---
## 다음 주 포커스
- [ ] 포커스 영역 1
- [ ] 포커스 영역 2
---
## Related Notes
- [[관련 노트 1]]
- [[관련 노트 2]]
{WEEK_NUM} 뉴스레터가 생성되었습니다: newsletters/{WEEK_NUM}-newsletter.md
단일 응답에서 3개 Task 동시 호출: 메인 에이전트는 Phase 2에서 하나의 응답에 3개의 Task 도구 호출을 포함해야 합니다.
haiku 모델 사용: 비용과 속도 최적화를 위해 서브 에이전트는 haiku 모델을 사용합니다.
결과만 반환: 각 서브 에이전트는 마크다운 형식의 분석 결과 텍스트만 반환합니다.
메인 에이전트 역할 최소화:
| 구분 | 기존 방식 | 서브 에이전트 방식 | |------|----------|-------------------| | 메인 에이전트 컨텍스트 | 모든 파일 내용 로드 | 최종 결과만 수신 | | 병렬 처리 | 불가 | 3개 작업 동시 실행 | | 실패 격리 | 전체 실패 | 개별 서브 에이전트만 재시도 |
포함 (외부 공유 적합): | 분류 | 예시 | |------|------| | 기술 트렌드 | SDD, AI 코딩 도구, 새로운 아키텍처 패턴 | | 리더십 인사이트 | 효과적인 매니저 특징, 팀 운영 노하우 | | 학습 방법론 | 조각 지식 전략, AI 활용 학습법 | | 업계 동향 분석 | 하이프 사이클, 재본스 역설 |
제외: | 분류 | 이유 | |------|------| | 내부 업무 세부사항 | 민감한 비즈니스 정보 | | 회사 고유 프로세스 | 내부 전용 | | 개인 일정/TODO | 공유 부적합 | | 고객/파트너 정보 | 기밀 사항 |
daily-work-logger (매일)
↓
dailies/YYYY-MM-DD.md
↓
weekly-newsletter (토요일) ← 이 skill
↓
newsletters/YYYY-WXX-newsletter.md
daily-work-logger: 매일 업무 내역 정리 (이 skill의 입력 소스)obsidian-vault: vault 작업 기본 가이드tools
Vault Intelligence System (vis) CLI를 활용한 Obsidian vault 시맨틱 검색, 자동 태깅, MOC 생성, 관련 문서 연결, 주제별 문서 연결, 주제 수집, 태그 통계, 지식 공백 분석, 중복 감지, 학습 리뷰 등 vault 지식 관리 전반을 지원하는 skill. vault 검색, 문서 정리, 태그, MOC, 관련 문서, 주제 수집, 중복 검사, 학습 리뷰, 지식 공백, 클러스터링, 인덱싱, 주제별 문서 연결, 태그 통계 관련 작업 시 자동 적용.
data-ai
Load context from vault memory. Temporal queries (yesterday, last week, session history) use agf (history.jsonl) for fast session lookup. Topic queries use vis semantic search. "recall graph" generates interactive temporal graph of sessions and files. Every recall ends with "One Thing" - the single highest-leverage next action synthesized from results. Use when user says "recall", "what did we work on", "load context about", "remember when we", "prime context", "yesterday", "what was I doing", "last week", "session history", "recall graph", "session graph".
development
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
development
프롬프트 작성, brainstorming, planning, design, 설계, 기능 개발 시 Prompt Contracts 프레임워크 적용. Goal/Constraints/Format/Failure Conditions 4요소로 명확한 명세 작성. "바이브 코딩" 방지. brainstorming, writing-plans, 설계, 기능 구현 관련 작업 시 자동 적용.