Culture Trend Curator
Objectif
Curater des recommandations de livres, films et séries basées sur les tendances publiques. Prioriser la chaleur culturelle récente, les listes de meilleurs ventes réputées, les notes à long terme, la confiance basée sur le nombre de notes et la diversité des catégories plutôt que la correspondance avec le profil personnel.
Quand l'utiliser
Utilisez cette compétence pour des demandes telles que :
- Recommander des livres ou des films basés sur la popularité récente et les listes publiques.
- Produire des digests hebdomadaires/mensuels/annuels de livres et de films.
- Comparer des articles récents très en vogue avec des classiques à long terme.
- Créer des rapports de recommandations programmés ou du contenu pour notifications.
- Éviter de se fier à l'historique de lecture/visionnage personnel de l'utilisateur.
Mode de fonctionnement par défaut
Supposons que le digest par défaut soit hebdomadaire sauf si l'utilisateur spécifie autre chose :
- Fenêtre temporelle : les 30 derniers jours plus les listes de l'année en cours.
- Sortie : 5 livres et 5 films/séries.
- Livres : privilégier les livres lisibles en chinois, en particulier les éditions chinoises, les traductions, les signaux de publication/discussion chinois, ou les livres facilement lisibles par un public chinois. Évitez de transformer la section livres en une traduction directe d'une liste anglaise.
- Les livres ne doivent pas devenir une liste de nouveautés : traitez les pages de nouveaux livres uniquement comme des sources de découverte. Dans un digest hebdomadaire normal, mélangez les livres récents très en vogue avec des fonds de catalogue stables, des classiques modernes, des œuvres à long terme à haute note et des choix des médias/communautés.
- Films/Séries : privilégier les œuvres qui sont regardables ou activement discutables dans des contextes chinois. Gardez par défaut un créneau de rattrapage sur un classique mondial de l'histoire du cinéma ; il n'a pas besoin d'être une œuvre en chinois, mais elle doit avoir une valeur classique largement reconnue et des signaux pratiques de visionnage/discussion en chinois.
- Style : curation éditoriale concise.
- Données personnelles : par défaut, sources publiques ; n'utilisez les enregistrements personnels que lorsque cela est explicitement demandé.
- Sources : privilégier les classements publics, les listes de médias réputés, les classements des plateformes et le consensus multi-sources.
- Liens : conservez les liens cliquables vers les sources dans le Markdown final dès qu'une URL est disponible.
- Artefacts : lorsque l'utilisateur demande une sortie publiable, un rapport, un article ou un résultat réutilisable, créez un artefact
.mdau lieu de répondre uniquement en ligne.
Flux de travail
-
Définir le brief de curation.
- Identifier les types de contenu : livres, films, séries, ou tout.
- Identifier la fenêtre temporelle : 7 jours, 30 jours, année en cours, année passée ou classiques de tous les temps.
- Utiliser la règle de locale par défaut sauf indication contraire : les livres doivent d'abord être lisibles en chinois ; les films/séries doivent d'abord être regardables ou discutables en chinois, avec un créneau pour un classique mondial.
-
Collecter les éléments candidats.
- Lire
references/source_strategy.md. - Rechercher plusieurs sources indépendantes au lieu de se fier à une seule plateforme.
- Capturer le titre, le créateur, le type, la source, l'URL, la note, le nombre de notes, la liste/classement, l'année, les tags et la raison de son apparition.
- Dédupliquer les titres traduits et les éditions répétées.
- Lire
-
Classer et filtrer.
- Lire
references/scoring_rules.md. - Filtrer les éléments de qualité manifestement faible : note très basse, échantillon très petit, listes purement marketing sans preuve.
- Équilibrer la chaleur récente avec la qualité à long terme.
- Appliquer la diversité : éviter de ne recommander qu'un seul genre, pays, type de contenu ou famille de sources.
- Pour les livres, plafonner les candidats nouveautés et inclure explicitement des choix stables/fonds de catalogue/classiques afin que le résultat ne soit pas simplement un digest des derniers livres de Douban.
- Lire
-
Générer le digest.
- Lire
references/output_format.md. - Si l'utilisateur demande de publier, poster, envoyer vers une plateforme, ou adapter pour un compte WeChat Official Account/newsletter/social, lire
references/publishing_formats.md. - Utiliser
scripts/rank_items.pylorsque les candidats sont sauvegardés en JSON. - Utiliser
scripts/render_digest.pypour générer le Markdown à partir du JSON classé. - Inclure pour chaque élément : la raison de la recommandation, pourquoi maintenant, le signal source et une note de risque.
- Utiliser des liens Markdown cliquables pour les titres des éléments, les notes sources et les références finales lorsque des URL sont disponibles.
- Sauvegarder le brouillon publiable final en tant que fichier
.mdlorsque l'utilisateur demande un artefact concret ou un article prêt pour une plateforme. - Pour la livraison WeCom configurée, utiliser
scripts/send_wecom_notification.shuniquement après que l'article et la couverture existent. Garder le Webhook dans la configuration locale ignorée ; ne jamais le mettre dans les instructions de la compétence, les artefacts ou Git.
- Lire
Livraison optionnelle
Lorsque l'utilisateur demande d'envoyer un digest terminé vers un groupe WeCom configuré, lisez les instructions de livraison dans references/publishing_formats.md. La livraison par défaut est une notification de titre, une image de couverture et une pièce jointe Markdown. N'envoyez le corps complet de l'article que lorsqu'il est explicitement demandé, car il peut s'étendre sur plusieurs messages de groupe.
- Sauvegarder l'historique des recommandations lorsque cela est approprié.
- En cas d'exécution répétée, stocker les titres émis dans un fichier JSON d'historique local dans le projet de l'appelant ou le répertoire de sortie choisi.
- Enregistrer l'historique par défaut, mais ne pas l'utiliser pour exclure ou déclasser les recommandations sauf si l'utilisateur demande explicitement d'éviter les répétitions.
- Utiliser des clés canoniques et des alias afin que les titres traduits et les titres originaux puissent se dédupliquer ensemble lorsque la déduplication est activée.
- Fenêtres de duplication optionnelles : quotidien = 30 jours, hebdomadaire = 8 semaines, mensuel = 6 mois, classique = 90 jours.
Schéma JSON des candidats
Lors de l'utilisation des scripts, préparez un fichier JSON soit sous forme de liste, soit sous forme d'objet avec items :
{
"items": [
{
"title": "Titre du livre ou du film",
"creator": "Auteur, réalisateur ou showrunner",
"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": "Pourquoi cela vaut la peine d'être recommandé",
"risk": "Mise en garde éventuelle"
}
]
}
Utilisation des scripts
Classer les candidats :
python3 scripts/rank_items.py candidates.json --out ranked.json --history recommendation_history.json --mode weekly
La politique par défaut --duplicate-policy none enregistre l'historique plus tard mais n'utilise pas l'historique pour exclure ou déclasser les articles.
Mode quotidien avec une fenêtre de duplication forte de 30 jours, uniquement sur demande explicite :
python3 scripts/rank_items.py candidates.json --out ranked.json --history recommendation_history.json --mode daily --duplicate-policy exclude
Générer le digest Markdown et ajouter les éléments émis à l'historique :
python3 scripts/render_digest.py ranked.json --out digest.md --books 5 --films 5 --history-out recommendation_history.json --mode weekly
Barre de qualité
Recommandez moins d'éléments plutôt que de remplir des emplacements faibles. Si un candidat n'a qu'un trafic à court terme et aucune preuve de qualité, excluez-le ou étiquetez-le comme un coup de hype. Si les sources sont en conflit, expliquez brièvement l'incertitude.