문화 트렌드 큐레이터
목적
공공 트렌드 기반으로 책, 영화, TV 프로그램을 큐레이션합니다. 개인 프로필 매칭보다는 최근 문화적 관심도, 평판 좋은 베스트셀러 목록, 장기 평점, 평가 수 신뢰도, 카테고리 다양성을 우선시합니다.
사용 시기
다음과 같은 요청에 이 스킬을 사용하세요:
- 최근 인기와 공개 목록을 바탕으로 책이나 영화를 추천합니다.
- 주간/월간/연간 도서 및 영화 다이제스트를 생성합니다.
- 최근 인기작과 장기 클래식을 비교합니다.
- 정기적인 추천 보고서나 알림 콘텐츠를 만듭니다.
- 사용자의 개인 독서/시청 기록에 의존하지 않아야 합니다.
기본 작동 모드
사용자가 별도로 지정하지 않는 한 기본 다이제스트는 주간 단위로 가정합니다:
- 시간 범위: 지난 30일 + 당해 연도 목록.
- 출력: 책 5권, 영화/TV 5편.
- 책: 중국어로 읽을 수 있는 책, 특히 중국어판, 번역판, 중국 출판/토론 신호가 있는 책 또는 중국어 사용자가 쉽게 읽을 수 있는 책을 우선시합니다. 책 섹션이 영어 목록을 단순 번역하는 것이 되지 않도록 합니다.
- 책이 신간 목록이 되어서는 안 됩니다: 신간 페이지는 발견 소스로만 활용합니다. 일반 주간 다이제스트에서는 최근 인기작과 안정적인 백리스트, 현대 클래식, 장기 고득점 작품, 미디어/커뮤니티 추천작을 혼합합니다.
- 영화/TV: 중국어 사용 맥락에서 시청 가능하거나 적극적으로 논의할 수 있는 작품을 우선시합니다. 기본적으로 글로벌 영화사 클래식 따라잡기 슬롯을 하나 유지하며, 이 슬롯은 중국어 작품일 필요는 없지만, 널리 인정받는 클래식 가치와 중국어 시청/토론이 편리한 신호가 있어야 합니다.
- 스타일: 간결한 편집 큐레이션.
- 개인 데이터: 기본적으로 공개 소스를 사용하며, 명시적으로 요청된 경우에만 개인 기록을 사용합니다.
- 출처: 공개 순위, 평판 좋은 미디어 목록, 플랫폼 차트, 교차 출처 합의를 선호합니다.
- 링크: URL을 사용할 수 있는 경우 최종 마크다운에서 클릭 가능한 출처 링크를 보존합니다.
- 아티팩트: 사용자가 게시 가능한 출력, 보고서, 기사 또는 재사용 가능한 결과물을 요청하면 인라인으로만 답변하지 말고
.md아티팩트를 생성합니다.
워크플로우
-
큐레이션 브리핑을 정의합니다.
- 콘텐츠 유형 식별: 도서, 영화, TV 또는 전체.
- 시간 범위 식별: 7일, 30일, 당해 연도, 작년, 또는 전체 클래식.
- 재정의되지 않는 한 기본 로케일 규칙을 사용합니다: 책은 중국어로 먼저 읽을 수 있어야 하고, 영화/TV는 중국어로 시청 가능하거나 토론 가능한 것을 먼저 하며, 글로벌 클래식 따라잡기 슬롯 하나를 유지합니다.
-
후보 항목을 수집합니다.
references/source_strategy.md를 읽습니다.- 하나의 플랫폼에 의존하지 않고 여러 독립적인 출처를 검색합니다.
- 제목, 제작자, 유형, 출처, URL, 평점, 평가 수, 목록/순위, 연도, 태그, 등장 이유를 캡처합니다.
- 번역된 제목과 반복된 판을 중복 제거합니다.
-
순위를 매기고 필터링합니다.
references/scoring_rules.md를 읽습니다.- 명백히 저품질인 항목을 필터링합니다: 매우 낮은 평점, 매우 적은 표본, 증거가 없는 순수 마케팅 목록.
- 최근 인기와 장기 품질의 균형을 맞춥니다.
- 다양성을 보장합니다: 한 장르, 국가, 콘텐츠 유형 또는 출처 계열만 추천하지 않도록 합니다.
- 책의 경우 신간 후보 수를 제한하고 안정적인/백리스트/클래식 선택을 명시적으로 포함하여 결과가 단순한 Douban 최신 도서 다이제스트가 되지 않도록 합니다.
-
다이제스트를 렌더링합니다.
references/output_format.md를 읽습니다.- 사용자가 게시, 게시, 플랫폼으로 보내기, 위챗 공식 계정/뉴스레터/소셜에 맞게 조정을 요청하면
references/publishing_formats.md를 읽습니다. - 후보가 JSON으로 저장된 경우
scripts/rank_items.py를 사용합니다. - 순위가 매겨진 JSON에서 마크다운을 생성하려면
scripts/render_digest.py를 사용합니다. - 각 항목에 대해 포함: 추천 사유, 지금인 이유, 출처 신호, 위험 노트.
- URL을 사용할 수 있는 경우 항목 제목, 출처 노트, 최종 참조에 클릭 가능한 마크다운 링크를 사용합니다.
- 사용자가 구체적인 아티팩트 또는 플랫폼 준비 기사를 요청하는 경우 최종 게시 가능한 초안을
.md파일로 저장합니다. - 구성된 WeCom 전송의 경우, 기사와 커버 이미지가 존재한 후에만
scripts/send_wecom_notification.sh를 사용합니다. Webhook은 무시되는 로컬 구성에 유지하며, 절대 스킬 지침, 아티팩트 또는 Git에 넣지 않습니다.
선택적 전달
사용자가 완성된 다이제스트를 구성된 WeCom 그룹으로 보내도록 요청하는 경우 references/publishing_formats.md의 전달 지침을 읽습니다. 기본 전달은 제목 알림, 커버 이미지 및 마크다운 첨부 파일입니다. 전체 기사 본문은 명시적으로 요청된 경우에만 보냅니다. 여러 그룹 메시지에 걸쳐 있을 수 있기 때문입니다.
- 적절한 경우 추천 기록을 저장합니다.
- 반복 실행하는 경우, 발행된 제목을 호출자의 프로젝트 또는 선택한 출력 디렉토리의 로컬 히스토리 JSON 파일에 저장합니다.
- 기본적으로 기록하지만, 사용자가 반복을 피하도록 명시적으로 요청하지 않는 한 기록을 사용하여 추천을 제외하거나 순위를 낮추지 않습니다.
- 정식 키와 별칭을 사용하여 중복 제거가 활성화된 경우 번역된 제목과 원본 제목이 함께 중복 제거될 수 있도록 합니다.
- 선택적 중복 제거 창: 일일 = 30일, 주간 = 8주, 월간 = 6개월, 클래식 = 90일.
후보 JSON 스키마
스크립트를 사용할 때 JSON 파일을 목록 또는 items 객체로 준비합니다:
{
"items": [
{
"title": "책 또는 영화 제목",
"creator": "저자, 감독 또는 쇼러너",
"type": "book",
"url": "https://example.com/item",
"year": 2026,
"rating": 8.7,
"rating_scale": 10,
"rating_count": 12000,
"source_count": 3,
"trend_window": "30d",
"trend_score": 0.8,
"rank": 4,
"tags": ["history", "nonfiction"],
"sources": ["Douban", "WeRead", "media list"],
"evidence": ["Appeared in a monthly list", "High rating count"],
"reason": "Why it is worth recommending",
"risk": "Possible caveat"
}
]
}
스크립트 사용법
후보 순위 매기기:
python3 scripts/rank_items.py candidates.json --out ranked.json --history recommendation_history.json --mode weekly
기본 --duplicate-policy none은 나중에 기록을 남기지만 기록을 사용하여 항목을 제외하거나 순위를 낮추지 않습니다.
명시적으로 요청된 경우에만 30일 강력 중복 제거 창을 사용하는 일일 모드:
python3 scripts/rank_items.py candidates.json --out ranked.json --history recommendation_history.json --mode daily --duplicate-policy exclude
마크다운 다이제스트를 렌더링하고 발행된 항목을 히스토리에 추가:
python3 scripts/render_digest.py ranked.json --out digest.md --books 5 --films 5 --history-out recommendation_history.json --mode weekly
품질 기준
약한 슬롯을 채우기보다는 더 적은 항목을 추천하는 것이 좋습니다. 후보에 단기 트래픽만 있고 품질 증거가 없는 경우, 제외하거나 과대 광고 관찰 대상으로 표시합니다. 출처가 충돌하는 경우, 불확실성을 간략히 설명합니다.