Communitygithub.com

Dnnecessary/skills

Moteur de mise en page pour articles WeChat Official Account, convertissant le Markdown en HTML prêt à être collé directement dans l'éditeur du compte. Thèmes sélectionnables depuis la bibliothèque de thèmes personnalisés enregistrée dans references/theme-index.md, avec numérotation automatique des sections, surlignage des mots-clés, cartes de citations, table des matières, blocs de code, images/GIF et signature d'auteur.

Qu'est-ce que skills ?

Ce skill est un moteur de mise en page spécialisé pour les articles de la plateforme WeChat Official Account (公众号). Il prend en entrée du Markdown (ou du Word .docx, PDF, texte brut) et produit un fragment HTML qui peut être copié-collé directement dans l'éditeur du compte sans perte de style. Il s'appuie sur une bibliothèque de thèmes composants, chacun définissant des variables de design (couleurs, polices, bordures) et des blocs HTML complets pour les différents éléments d'un article (titres, citations, listes, code, images, signature auteur). Le skill gère la sélection automatique ou assistée du thème selon le sujet de l'article (tutoriel, analyse, liste, etc.), l'extraction et la numérotation des sections, le surlignage intelligent des mots-clés dans chaque paragraphe, la génération d'une table des matières avec les 3 points forts, et la création d'une signature auteur personnalisable. Il inclut également un mode automatique complet ("一键排版") où l'utilisateur n'a qu'à fournir son contenu et le skill gère toute la mise en page sans questions intermédiaires. Une fonction de génération de thèmes personnalisés est disponible sur demande (à partir d'une description textuelle ou d'une image de référence), permettant d'enrichir la bibliothèque de thèmes pour des utilisations futures. Le respect des contraintes de la plateforme (pas de <style>, <script>, <div>, classes, IDs, etc.) est garanti par un script de validation systématique.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Dnnecessary/skills/tree/HEAD/gzh-design

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Aperçu

Depuis le README du skill

description
skills preview
description
skills preview

Documentation

Compétence de mise en page d'articles pour公众号 (WeChat Official Account)

Convertir un article Markdown en HTML prêt à être copié-collé dans l'éditeur du compte WeChat sans perte de style.

L'actif principal est la bibliothèque de thèmes composants dans references/ (chaque thème : variables de design + HTML complet de chaque composant + squelette de modèle + règles de mappage) ainsi qu'1 bibliothèque incrémentale commune (blocs de code, images/GIF, titres à petite étiquette, partagés par tous les thèmes). La liste des thèmes provient uniquement de references/theme-index.md. Ce fichier SKILL.md ne gère que le flux et les décisions ; le code HTML spécifique provient toujours de la bibliothèque de composants, ne l'écrivez pas de mémoire.

Flux de travail

0. Entrée et normalisation de format

L'utilisateur peut fournir : du texte Markdown ou un chemin .md (direct vers l'étape 1), .docx, .pdf, .txt/texte brut sans balise, ou HTML enrichi. Toute entrée non Markdown doit d'abord lire references/format-normalize.md et suivre ses règles pour la convertir en brouillon Markdown et effectuer une vérification de structure (docx avec scripts/extract_docx.py, PDF avec Read page par page + nettoyage, texte brut infère la structure basée sur les titres de manière heuristique). Si rien n'est fourni, demander à l'utilisateur.

Si l'utilisateur dit « Directement / Automatiquement / En un clic / Pas besoin de demander », passer en mode entièrement automatique : sauter la vérification de structure et la sélection de thème, inférer automatiquement la structure, choisir un thème en fonction du sujet, valider la mise en page, et fournir une explication de la décision (structure de section, titre présumé, raison du choix).

1. Sélection de thème (système de recommandation automatique)

Lire references/theme-index.md (source unique des informations sur les thèmes). Recommander activement le thème le plus adapté en fonction du sujet de l'article, puis laisser l'utilisateur confirmer en une étape — recommander mais ne pas imposer :

  • L'utilisateur a déjà spécifié un thème dans sa demande → l'utiliser directement, ne pas demander.
  • Le sujet correspond clairement → Demander une confirmation unique : « Suggéré : XX (raison), confirmer ou en changer ? » Les options incluent la recommandation + 1-2 alternatives + « Voir tout ». Référence sujet→thème selon la colonne « Scénario applicable » de l'index des thèmes :
    • Tutoriel / Test / Liste / Inventaire d'outils / Organisation de connaissances / Décomposition méthodologique (haute densité d'information) → Vert Poisson
    • Analyse approfondie / Opinion / Sujets puissants → Rouge & Blanc
    • Design / Critique technologique / Opinion professionnelle / Marque haut de gamme → Minimaliste Graphite
    • Zen / Vie minimaliste / Essai profond → Zen Blanc
    • Comparaison d'outils / Test créatif (métaphore visuelle de facture) → Facture Poisson
    • Journal interne / Test approfondi / Analyse de cas → Carnet Olive
  • Aucune tendance claire → Utiliser par défaut la première ligne de l'index des thèmes (Vert Poisson) comme recommandation placée en premier, et utiliser AskUserQuestion pour laisser l'utilisateur choisir parmi plusieurs (si plus de 4 thèmes, d'abord regrouper par ambiance et demander, puis demander le thème dans ce groupe).
  • Mode entièrement automatique (l'utilisateur dit explicitement « Directement / En un clic / Pas besoin de demander ») → Ne pas demander, choisir automatiquement le thème le plus adapté au sujet ou le premier par défaut, et fournir la raison du choix lors de la livraison.
  • L'utilisateur n'est satisfait d'aucun thème existant / veut un nouveau style → Aller dans le flux « Génération de thème personnalisé » (voir section ci-dessous), générer et enregistrer, puis revenir à cette étape pour sélectionner.
  • L'index des thèmes est vide → Arrêter la mise en page, informer l'utilisateur qu'il faut d'abord ajouter un thème (peut passer par « Génération de thème personnalisé »).

Une fois le thème choisi par l'utilisateur, entrer dans la phase de sélection des composants de ce thème (étapes 3, 4 : déterminer le type d'article → sélectionner la combinaison de composants selon la recette du thème).

2. Lecture de la bibliothèque de composants (deux parties)

(1) Selon la colonne « Fichier de la bibliothèque de composants » du thème dans l'index, lire la bibliothèque de composants spécifique au thème references/theme-{identifiant}.md (contenant les composants spécifiques au thème : cartes de citation, titres de section, marquages de texte, signature, etc.). (2) Lire en même temps la bibliothèque incrémentale commune references/common-components.md — blocs de code, images/GIF, titres à petite étiquette, tous partagés par tous les thèmes, à adapter avec la couleur principale du thème actuel.

La génération ultérieure s'appuie entièrement sur ces deux bibliothèques de composants ; le HTML provient toujours de celles-ci, ne pas l'écrire manuellement.

3. Analyse de la structure Markdown

ÉlémentRègle d'identification
Titre de l'article# Titre ou frontmatter title
Citation d'ouvertureBloc > Citation au tout début de l'article
Titre de section## Titre
Sous-section### Titre
Gras / Surlignage / Souligné**texte** / ==texte== / <u>texte</u> ou ++texte++
Paragraphe de citation> texte autre que l'ouverture
Image / GIF![description](URL), ![](xxx.gif) (GIF traité comme image)
Code / Commande / Prompt``` bloc de code ```, en ligne `code`
Ligne de séparation / Liste---, *** / - élément ou 1. élément
TableauTableau Markdown séparé par `

Après avoir analysé la structure, déterminer le type d'article (prendre le type dominant, possiblement composite) : Tutoriel / guide d'opération, Inventaire / Liste d'outils, Opinion / Analyse approfondie, Interview / Portrait de personnalité, Analyse de données / Rapport, Essai de vie / émotionnel, Cas pratique. Base de détermination : présence d'étapes et de commandes → Tutoriel ; éléments parallèles nombreux → Inventaire ; récits et citations de personnes nombreux → Interview ; chiffres et comparaisons nombreux → Données ; argumentation et déduction nombreuses → Opinion.

4. Sélection de la combinaison de composants selon la recette → Assemblage HTML

D'abord consulter le tableau « Type d'article → Combinaison de composants (recette) » de la bibliothèque de thèmes sélectionnée, déterminer la combinaison de composants de base et les composants d'embellissement pour cet article en fonction de son type — ne pas sélectionner les composants au hasard paragraphe par paragraphe ; la recette garantit une ambiance de mise en page cohérente pour des articles du même type. Les éléments en dehors de la recette sont ensuite complétés selon les règles de mappage de la bibliothèque de thèmes.

Ensuite, assembler selon la section « Squelette de modèle d'article complet » de la bibliothèque de thèmes, en remplaçant chaque élément Markdown par le composant correspondant :

  • L'ordre du squelette est celui de la bibliothèque de thèmes ; différents thèmes peuvent avoir des squelettes différents, ne pas utiliser le squelette d'un autre thème.
  • Les marquages en ligne sont mappés sémantiquement au composant correspondant dans la bibliothèque de thèmes sélectionnée (les numéros de composants ne sont pas uniformes entre les bibliothèques, toujours se baser sur la sémantique) : **gras** → gras de la couleur principale ; ==surlignage== → surlignage de couleur claire ; <u>texte</u> ou ++texte++ → soulignement ; ~~texte~~ → surligneur (couleur claire) ; >citation → bloc de citation surligné.
  • Composants de la bibliothèque incrémentale commune : ``` bloc de code ``` → 1a bloc sombre / 1b bloc clair, en ligne `code` → 1c ; ![description](url) → 2a image (ajouter composant de description seulement si description présente), .gif → 2b GIF ; sous-titre/emphase nécessitant mise en avant → 3a sous-titre à barre verticale gauche ou 3b étiquette pilule, phrase clé → 3d, note contextuelle → 3e. Priorité : d'abord consulter les règles de mappage de la bibliothèque de thèmes — si le thème a un composant sémantique équivalent (ex. sa propre phrase clé ou bloc de note), utiliser la version du thème pour une ambiance cohérente ; si le thème n'a pas de composant correspondant, utiliser les composants 3x de la bibliothèque commune en appliquant leurs règles de changement de couleur pour les adapter à la couleur du thème.
  • Un seul article utilise l'ensemble de composants d'un seul thème sélectionné, ne pas mélanger les thèmes.
  • Pour les emphase et sous-titres, utiliser « petite étiquette / barre verticale gauche », ne pas utiliser de cadre pointillé : pour mettre en avant un sous-titre ou un contenu, utiliser le sous-titre à barre verticale gauche (3a), l'étiquette pilule (3b), la phrase clé/bloc de note à barre verticale gauche (3d/3e) ; ne pas utiliser de cadre pointillé (dashed border) autour d'un titre, cela est lourd et détourne l'attention.

5. Vérification de conformité (obligatoire)

Après avoir écrit le HTML généré dans le fichier cible, exécuter obligatoirement le script de validation, s'assurer qu'il n'y a aucune ERROR avant de terminer :

# Utiliser le chemin absolu du script dans le répertoire du skill, le paramètre HTML doit également être son chemin réel (les deux répertoires sont généralement différents)
<SKILL_ROOT>/scripts/validate_gzh_html.py <chemin réel du .html généré>

Il vérifie de manière déterministe les éléments interdits par la plateforme et l'encapsulation <span leaf>. En cas d'ERROR, revenir à l'étape 4 pour corriger ; les WARNING de ponctuation demi-largeur doivent également être réduits à 0 avant livraison (c'est le point de reprise le plus fréquent en utilisation réelle).

Les WARNING de fond dégradé doivent être traités un par un : le fond des surlignages de texte, citations, cartes de données/guidage doit par défaut être changé en couleur unie du thème ou rgba unie ; si l'utilisateur demande explicitement de conserver, notifier lors de la livraison que cela peut déclencher la popup darkmode-no-gradient. Les dégradés purement décoratifs sont également notifiés, mais non encore confirmés comme ne déclenchant pas de popup ; si conservés, expliquer le risque.

6. Sortie

Format du livrable : fragment de corps <section>…</section> pur, commençant à partir du conteneur global, ne pas encapsuler avec <!DOCTYPE>/<html>/<head>/<body> — l'éditeur WeChat n'accepte que des fragments de corps, les enveloppes de document supplémentaires seront ignorées ou perturberont le collage.

  1. Fichier de corps propre : HTML sauvegardé dans le répertoire de travail actuel, nom de fichier {nom_original}_排版_{nom_chinois_du_thème}({identifiant_anglais}).html (identifiant anglais = nom du fichier de la bibliothèque de thèmes sans le préfixe theme- et suffixe .md). Ce fichier sert pour la validation et le collage manuel de secours.
  2. Page de prévisualisation avec bouton « Copier » (pour que l'utilisateur copie en un clic, sans avoir à tout sélectionner manuellement) :
    <SKILL_ROOT>/scripts/wrap_preview.py <chemin du corps propre.html>
    
    Produit {...}_预览.html — une fois ouverte dans le navigateur, un bouton « Copier dans le compte » apparaît en haut à droite ; un clic copie le contenu riche rendu dans le presse-papiers (équivalent Ctrl+A/Ctrl+C), puis Ctrl/⌘+V dans l'éditeur du compte. Le bouton et le script sont uniquement dans l'enveloppe de prévisualisation, pas dans la section à copier, donc ce qui est collé dans le compte reste un fragment de corps propre et conforme.
  3. Informer l'utilisateur : Ouvrir {...}_预览.html → cliquer sur « Copier » en haut à droite → coller dans l'éditeur du compte ; et fournir le chemin du fichier de corps propre comme secours. Joindre la conclusion du script de validation (réussi / warning restants).

Traitements intelligents lors de la génération (caractéristiques de ce skill, à faire impérativement)

  1. Numérotation automatique des sections : attribuer 01/02/03… selon l'ordre d'apparition des ## ; si la dernière section est de type conclusion/résumé, utiliser la variante de numérotation spécifiée par la bibliothèque de thèmes pour la conclusion (ex. ∞) ; si non spécifiée, utiliser la numérotation numérique.
  2. Étiquette anglaise : générer une étiquette anglaise à partir du titre de section chinois (pratique → TEST, tutoriel → TUTORIAL, résumé → SUMMARY, réflexion → THOUGHTS…) ; utiliser si le thème dispose d'un emplacement correspondant.
  3. Soulignement des mots-clés du corps (caractéristique principale) : pour chaque paragraphe du corps, trouver activement 1–3 phrases les plus importantes et les marquer avec le CSS de soulignement du thème (voir l'index des thèmes). Prioriser les idées principales, conclusions, données clés, noms propres ; phrases de 4–15 caractères ; si aucun point essentiel, ne pas marquer. Même si le texte original n'a pas de gras, ajouter activement le soulignement — c'est le marquage de base le plus fréquent.
  4. Surlignage des mots-clés de la citation d'ouverture : identifier les mots-clés dans la phrase d'ouverture et les marquer avec le composant de surlignage.
  5. Extraction de la table des matières : prendre les 3 premiers ## comme points de lecture/table des matières (si la bibliothèque de thèmes a un composant de table des matières).
  6. Signature dans la carte de citation d'ouverture : déterminée par l'auteur ou le thème de l'article — si l'article a une signature, écrire « — Nom de l'auteur » ; sinon, utiliser une brève attribution liée au thème ou omettre simplement. Ne pas écrire systématiquement « Jiamo » (la zone de signature finale utilise également le placeholder {{nom_auteur}}, voir point 7).
  7. Zone de signature d'auteur en fin d'article (à remplir par l'auteur, unique en fin) : par défaut, ne pas inscrire de nom fixe, utiliser un placeholder de signature que l'utilisateur remplacera par le sien.
    • Première phrase (présentation de l'auteur) : Je suis {{nom_auteur}}, {{brève description, ex. : passionné par le partage d'observations sur l'IA et de contenus utiles}} — si l'utilisateur a fourni un nom ou une description dans la demande/les préférences, insérer directement ; sinon, conserver le placeholder {{nom_auteur}} / {{description}} et inviter l'utilisateur à le remplacer lors de la livraison.
    • Deuxième phrase (appel à l'interaction, générale, peut rester telle quelle) : Si vous avez trouvé cet article utile, n'hésitez pas à cliquer sur **J'aime, Regarder, Partager** — à la prochaine !
    • Si l'original contient déjà une signature d'auteur (ex. « Je suis XXX… ») → conserver directement la signature originale, ne pas la remplacer par un placeholder.
  8. Conversion des listes : traiter selon les règles de mappage de la bibliothèque de thèmes ; si aucun composant de liste spécifique, convertir en paragraphes indentés du corps.
  9. Ponctuation pleine largeur chinoise : la ponctuation du corps doit toujours être en pleine largeur(,。!?:;""''()—— …),ne pas utiliser la demi-largeur , . ! ? : ni les guillemets droits anglais " '. Lors de la génération du HTML, écrire directement les guillemets courbes ""'' , ne pas écrire d'abord les guillemets droits puis les remplacer — les guillemets droits dans le texte original sont convertis sur-le-champ. Exception : les blocs de code, le code en ligne, les noms propres anglais/URL/identifiants de code à l'intérieur restent inchangés.

Hiérarchie visuelle (3 niveaux progressifs, communs à tous les thèmes)

NiveauRôleFréquenceMoyen
Niveau d'ancrageAncrage le plus fort : nom de produit/étape/CTA/phrase clé≤ 5 emplacements dans l'articleGras de la couleur principale, citation fond blanc texte sombre
Niveau de marquageMots-clés du corps, 1–3 par paragrapheHaute fréquenceMarquage par soulignement
Niveau de conteneurBlocs de citation, étiquettes de concept, emphase de phrases longuesAu besoinCitation fond clair, surligneur, badge

Lignes rouges de la plateforme (essentiel, vérification complète par le script de validation)

  • Interdit : <style>/<script>/<div>, attributs class/id, position:fixed/absolute/sticky, float, @media/@keyframes, display:grid, variables CSS, polices/CSS externes.
  • Obligatoire : tous les styles en style inline ; tous les nœuds de texte doivent être encapsulés par <span leaf="">texte</span> (sinon le style est perdu après collage).
  • Autorisé : display:flex (limité), border-radius, box-shadow, <section>/<p>/<span>/<strong>/<img>/<h3>.
  • Compatibilité des fonds dégradés : le dégradé peut être rendu, mais peut déclencher la détection de structure darkmode-no-gradient du compte ; le fond des textes et cartes doit par défaut être uni, sans ajout de dégradé. Les anciens composants/thèmes personnalisés rencontrant ce cas sont également traités comme à l'étape 5.

Gotchas (pièges rencontrés en mise en page réelle)

  • Oubli d'encapsuler avec <span leaf> est l'erreur fatale la plus courante — le style est entièrement perdu après collage dans le compte. Le script de validation de l'étape 5 sert de filet de sécurité, ne pas sauter.
  • Soulignement : appliquer paragraphe par paragraphe, 1–3 phrases par paragraphe. Ne pas souligner tout un paragraphe (perd le focus), ni sauter certains paragraphes ; les descriptions clés dans les éléments de liste doivent également être marquées.
  • Numérotation de section incorrecte : respecter strictement l'ordre des ##, ne pas sauter de numéro ; la variante de numérotation de conclusion uniquement pour la dernière section, pas pour les sections intermédiaires.
  • Zone de signature unique en fin : utiliser le texte fixe, ne pas apparaître au milieu ou plusieurs fois ; si l'original contient déjà une signature d'auteur / un paragraphe de type « Aimez, regardez, partagez, trois gestes », l'intégrer dans cette unique zone de signature/carte CTA, ne pas conserver le paragraphe original tout en en générant un nouveau.
  • Description d'image artificielle : ne générer le composant de description que si ![description](url) contient réellement du texte de description ; ne pas inventer de description pour ![](url) avec alt vide.
  • Image adaptative, non pleine largeur : pour <img>, toujours max-width:100%;height:auto;display:block;margin:0 auto — l'image s'affiche à sa taille native, centrée ; les grandes images se réduisent à la largeur du conteneur, les petites images conservent leur taille. Ne pas utiliser width:100% (cela étire les petites images et les rend floues) ; uniquement les éléments de mise en page comme les tableaux, cartes de couverture, diagrammes utilisent width:100%.
  • Mélange de composants entre thèmes : un seul article utilise les composants du thème sélectionné + la bibliothèque commune, ne pas emprunter de composants d'autres thèmes.
  • Abus du niveau d'ancrage : emphase forte ≤ 5 emplacements dans l'article, trop de gras équivaut à aucun point clé.
  • Omission de contenu original : chaque paragraphe, chaque image doit être converti, sans omission ; ne pas ajouter ou supprimer de contenu substantiel de l'original.
  • Placeholders d'image résiduels : si la zone de signature/CTA contient des placeholders d'image de carte de visite (ex. <img src="...URL de carte de visite ou image de guidage">), supprimer toute la ligne s'il n'y a pas de véritable URL d'image, ne pas laisser de placeholder dans le livrable.
  • Table des matières : sélectionnée, pas exhaustive : le composant de préface/table des matières affiche 3 points forts sélectionnés, pas la liste complète des sections ; si plus de 3 sections, choisir les 3 plus importantes, ne pas en forcer davantage ni induire en erreur en laissant croire qu'il n'y a que 3 sections.
  • Ne pas utiliser de cadre pointillé : pour mettre en avant un titre/emphase, utiliser une petite étiquette ou une barre verticale gauche (bibliothèque commune 3a–3e), ne pas utiliser de cadre pointillé border:…dashed autour d'un titre. Exception : les composants pointillés clairement définis par la bibliothèque de thèmes (ex. le bloc de citation quote-box du thème Vert Poisson, la carte de point fort oneliner-card) sont des caractéristiques stylistiques du thème, à utiliser normalement selon les usages de la bibliothèque.
  • Ne pas mélanger la ponctuation demi-largeur : remplacer les virgules et points demi-largeur, les guillemets droits anglais " ' par la pleine largeur ; mais dans les blocs de code/code en ligne, les symboles demi-largeur restent inchangés, ne pas « pleine largeuriser » le code.
  • Code/Prompt doivent être dans des blocs de code : le code, les commandes, les prompts dans l'article doivent utiliser le composant bloc de code de la bibliothèque commune (1a/1b), ne pas les mettre dans des paragraphes normaux ou des blocs de citation, sinon l'indentation et la largeur fixe seront perdues.
  • Blocs de code compacts, éviter les grands espaces blancs : utiliser l'écriture « un <p style="margin:0"> par ligne » des 1a/1b de la bibliothèque commune, jamais white-space:pre — cela rend l'indentation avant le span et les sauts de ligne entre les lignes du code source HTML comme une grande indentation gauche et des lignes vides ; l'indentation utilise uniquement les espaces pleine largeur  , l'espacement des lignes repose sur line-height:1.6.
  • Placeholders de matériau à insérer centrés : les placeholders comme 【Insérer…】, captures d'écran/GIF/vidéo/illustrations de résultats à venir, utiliser le composant 2c de la bibliothèque commune : bloc de placeholder de matériau centré (cadre pointillé doux fond clair + icône et description centrés), ne pas utiliser de bloc de note aligné à gauche.

Génération de thème personnalisé (deuxième flux de travail)

Si l'utilisateur souhaite un nouveau style en dehors des thèmes intégrés (dit « Générer un nouveau thème / style personnalisé / créer une bibliothèque de composants basée sur cette image de référence », ou n'est satisfait d'aucun thème existant), lire references/theme-generator.md et exécuter strictement selon son flux :

  1. Collecter les préférences : description du thème obligatoire (ou image de référence), nom/ID/cinq couleurs/police/trois types de TAG/coins ronds/ombre peuvent être laissés vides pour être automatiquement complétés ; demander tout en une fois, ne pas demander champ par champ.
  2. Générer la bibliothèque de blocs HTML : exécuter exactement le 【Prompt de génération】 à la fin du theme-generator.md, produire une bibliothèque complète de 45~75 blocs, sauvegardée dans assets/theme-previews/{theme-id}.html — tous les blocs disposés en continu sur une même page, l'utilisateur ouvre la page entière en une fois pour confirmer le style, pas de confirmation bloc par bloc.
  3. Conversion + enregistrement : une fois le style confirmé par l'utilisateur, le convertir en references/theme-{identifiant}.md standard (ajouter obligatoirement l'encapsulation <span leaf="">, supprimer les id de prévisualisation, compléter les cinq chapitres, règles détaillées dans l'étape 3 du theme-generator.md), enregistrer dans theme-index.md, exécuter component_lint.py jusqu'à 0 ERROR.
  4. Après livraison, ce thème devient un thème permanent sélectionnable pour les mises en page futures, avec les mêmes droits que les thèmes intégrés.

Pendant la phase de génération, suivre les règles du prompt ; pendant la phase de conversion dans la bibliothèque de thèmes, suivre les « Lignes rouges de la plateforme » et les « Normes d'ajout de nouveau thème » de ce fichier (en cas de conflit, ces dernières priment car la bibliothèque de thèmes détermine directement le livrable de mise en page).

Normes d'ajout de nouveau thème

Le nouveau thème est nommé references/theme-{identifiant_anglais}.md, le contenu doit inclure :

  1. Tableau de référence des variables de design (couleur principale/fond clair/texte sombre/couleur de titre/couleur de corps/couleur de séparation, etc.)
  2. HTML complet de chaque composant (styles inline + encapsulation <span leaf="">, respect des « Lignes rouges de la plateforme » ci-dessus)
  3. Squelette de modèle d'article complet (ordre d'assemblage des composants ; si un composant de table des matières/navigation existe, préciser sa position relative par rapport à la couverture/l'introduction)
  4. Tableau Type d'article → Combinaison de composants (recette) (combinaison de composants de base + composants d'embellissement pour chaque type d'article, la recette est la clé de la stabilité de l'ambiance de mise en page)
  5. Tableau de règles de mappage Markdown → Composant

Après ajout, enregistrer une ligne dans references/theme-index.md (nom du thème / couleur principale / scénario applicable / fichier de la bibliothèque de composants / CSS de soulignement du corps), et exécuter python3 scripts/component_lint.py . pour confirmer l'absence d'anti-patron dans la bibliothèque de composants (0 ERROR).

Les cas de test de retour pour le déclenchement et la sélection de thème se trouvent dans references/eval-cases.md (utilisé pour la vérification de régression lors de la maintenance, n'affecte pas la génération unique).

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Dnnecessary/skills

MUST USE when user wants to 调研/research/搜索/search/查/找/look up anything on the internet — e.g. 全网调研 X / 帮我调研一下 X / 查一下 X / 搜搜 X / 看看大家怎么评价 X / X 上有什么讨论 / research this topic。 Also MUST USE when user mentions any platform or shares any URL/链接: 小红书/xiaohongshu/xhs, Twitter/推特/X, B站/bilibili, Reddit, Facebook, Instagram, V2EX, LinkedIn/领英/Boss直聘/招聘/求职/jobs, YouTube, GitHub code search, 小宇宙播客, 雪球/股票行情, RSS feeds, or any web URL. 16 platforms, multi-backend routing (OpenCLI / per-platform CLIs / APIs). Zero config for 6 channels. Run `agent-reach doctor --json` to see which backend serves each platform right now. NOT for: 写报告/数据分析/翻译等内容加工(本 skill 只负责从互联网获取内容); 发帖/评论/点赞等写操作;已有专门 skill 的平台(先用专门 skill)。 【路由方式】SKILL.md 包含路由表和常用命令,复杂场景需按需阅读对应分类的 references/*.md。 分类:search / social (小红书/推特/B站/V2EX/Reddit/Facebook/Instagram) / career(LinkedIn/Boss直聘) / dev(github) / web(网页/文章/RSS) / video(YouTube/B站/播客) / finance(雪球/股票)。

Dnnecessary/skills

基于多篇作者、博主、公众号或品牌内容的正文,进行全面、可解释、可复核的数据分析,覆盖样本质量、发布节奏、选题结构、关键词概念、标题策略、篇章结构、论证方式、证据体系、案例实体、语言风格、情绪立场、读者收益、行动引导、视觉使用、时间演化和维度关联,并进一步提炼作者定位、内容资产、选题系统、分析框架、判断标准、表达模板、案例库、金句风格、内容机会和写作 SOP。默认生成本地 Markdown 报告、独立文案框架、HTML 看板并同步飞书;只有用户明确关闭时才跳过 HTML 或飞书。

Skills associés