md2wechat

Par geekjourneyx · md2wechat-skill

Convertit du Markdown en HTML pour Compte Officiel WeChat. À utiliser dès que l'utilisateur souhaite un formatage d'article WeChat, une prévisualisation d'article, un téléversement de brouillon WeChat, une génération d'images pour articles, une génération de couverture ou d'infographie, la création d'un post illustré, la rédaction dans un style d'auteur, des suggestions de titres, la suppression de traces IA, ou la découverte en temps réel des fournisseurs, thèmes, prompts et modules de mise en page pris en charge.

npx skills add https://github.com/geekjourneyx/md2wechat-skill --skill md2wechat

md2wechat

Utilisez cette compétence pour exploiter le CLI md2wechat. Gardez la compétence centrée sur les décisions d'exécution. Pour les tutoriels de commandes complets, les détails d'installation et les explications au niveau FAQ, renvoyez les utilisateurs à la documentation du projet plutôt que d'étendre ce protocole d'exécution.

Routage des intentions

Choisissez la famille de commandes avant d'entreprendre toute action de publication ou de génération :

  • HTML d'article standard, aperçu d'article, inspection de métadonnées ou brouillon d'article WeChat : utilisez inspect, preview et convert.
  • Post prioritaire aux images, note d'image, note image-texte, newspic ou post multi-images : utilisez create_image_post, pas convert --draft.
  • Couverture d'article ou infographie d'article : préférez generate_cover ou generate_infographic à generate_image brut lorsqu'un preset intégré s'adapte.
  • Requête de génération d'image d'agent hôte sans fournisseur configuré : utilisez le mode plan d'image (--plan --json) pour obtenir l'intention du prompt, puis confiez-la à l'outil de génération d'image hôte s'il est disponible en dehors de md2wechat.
  • Candidats de titre WeChat pour un article existant : utilisez title suggest <article.md> --json ; il émet une requête d'agent IA hôte et ne choisit ni n'écrit le titre final.
  • Écriture dans un style créateur ou suppression de traces IA : utilisez write ou humanize.
  • Incertitude sur le fournisseur, le thème, le prompt ou la mise en page : lancez d'abord la découverte. Ne devinez pas à partir de la mémoire ou des fichiers du repository.

Traitez convert --draft et create_image_post comme des cibles de publication différentes, pas comme des variantes interchangeables.

Découverte d'abord

Utilisez la découverte CLI comme source de vérité, mais gardez-la ciblée sur la prochaine décision. N'exécutez pas le catalogue complet pour les tâches qui ne nécessitent pas de sélection de fournisseur, thème, prompt ou mise en page.

Exécutez le plus petit ensemble de découverte utile :

  • Formatage d'article sans thème ou modules choisis :

    md2wechat themes list --json
    md2wechat layout list --json
  • Un module nommé de thème, fournisseur, prompt ou mise en page :

    md2wechat themes show <name> --json
    md2wechat providers show <name> --json
    md2wechat prompts show <name> --kind <kind> --json
    md2wechat layout show <name> --json
  • Génération d'image ou sélection de preset d'image :

    md2wechat providers list --json
    md2wechat prompts list --kind image --json
  • Sélection du prompt de suggestion de titre :

    md2wechat prompts list --kind title --json
    md2wechat prompts show wechat-title-expert --kind title --json
  • Brouillon, upload, préparation d'API locale ou dépannage de configuration :

    md2wechat doctor --json
    md2wechat config show --format json
    md2wechat config wechat-accounts --json

    La préparation doctor concerne la tentabilité de la configuration locale. config wechat-accounts est local uniquement et n'affiche jamais les secrets WeChat. Utilisez inspect --json pour la préparation cible spécifique à l'article.

  • Version CLI inconnue, comportement modifié ou incertitude de capacité :

    md2wechat version --json
    md2wechat capabilities --json
    md2wechat skills list --json
    md2wechat skills read md2wechat --json

md2wechat skills read md2wechat --json lit le SOP intégré dans le binaire CLI actuel. Préférez-le lorsque la compétence externe installée, le README ou le checkout du repository peuvent être obsolètes par rapport à l'exécutable sur PATH.

Pour les actions locales simples telles que preview, humanize ou une commande spécifiée par l'utilisateur avec des drapeaux explicites, n'exécutez pas la découverte de fournisseur, thème, prompt ou mise en page non liée.

Inspectez les ressources spécifiques uniquement lorsque la tâche en a besoin :

md2wechat providers show <name> --json
md2wechat themes show <name> --json
md2wechat prompts show <name> --kind <kind> --json
md2wechat layout show <name> --json

Utilisez la sortie CLI comme source de vérité pour les modes, fournisseurs, thèmes, prompts et modules de mise en page actuellement disponibles.

Limites de configuration

  • Supposez que md2wechat est déjà disponible sur PATH.
  • convert est par défaut en mode API sauf si l'utilisateur demande explicitement --mode ai.
  • La conversion API nécessite des identifiants API md2wechat.
  • La création de brouillon WeChat nécessite des identifiants WeChat.
  • L'exécution de compte WeChat nommé nécessite un MD2WECHAT_API_KEY valide ; le CLI le valide avant les effets secondaires d'upload ou de brouillon.
  • La génération d'image directe nécessite des identifiants de fournisseur d'image ; le mode plan d'image (--plan --json) émet uniquement l'intention du prompt pour un agent ou outil externe et ne nécessite pas d'identifiants de fournisseur d'image.
  • title suggest --json émet uniquement une requête de prompt de génération de titre pour l'agent hôte ou le modèle externe. Il n'appelle pas de modèle, n'effectue pas d'upload, ne crée pas de brouillons et ne réécrit pas en Markdown.
  • Pour des crochets factuels de titre plus forts, passez --hook-level 2 ou 3 ; ne traitez pas les titres générés comme une intention de publication confirmée.
  • doctor --json est local uniquement : il vérifie la préparation locale et n'effectue pas d'authentification active, d'upload d'images ou de création de brouillons.
  • Utilisez config show --format json lorsque l'utilisateur demande quelle configuration est actuellement active.
  • Utilisez config wechat-accounts --json lorsque l'utilisateur demande quels comptes WeChat locaux sont configurés.

Workflow d'article

Préférez un workflow de confirmation d'abord pour le travail d'article :

  1. md2wechat inspect <article.md> --json
  2. md2wechat preview <article.md>
  3. md2wechat convert <article.md> ...
  4. Ajoutez --upload, --draft, --cover ou --cover-media-id uniquement lorsque l'utilisateur demande explicitement l'upload ou la création de brouillon.

inspect est la commande source de vérité pour les métadonnées résolues, la préparation et les vérifications de publication. Dans la sortie --json, lisez data.readiness.targets et data.readiness.blockers avant de décider si convert, upload ou draft est bloqué. N'inventez pas data.agent_readiness, data.target_readiness, ArticleState, fichiers d'état ou objet de planification secondaire. preview est un artefact d'aperçu local. Il n'upload pas d'images, ne crée pas de brouillons et ne réécrit pas en Markdown. convert --preview est le drapeau d'aperçu du chemin convert et n'est pas la même chose que la commande preview autonome. preview --mode ai est une confirmation dégradée uniquement et ne doit pas être traitée comme une mise en page finale générée par IA.

Protocole de formatage

Lorsque l'utilisateur demande de formater un article et n'a pas choisi de thème ou de modules :

  1. Lisez l'article et le profil de marque optionnel.
  2. Utilisez la sortie de découverte comme faits.
  3. Choisissez un thème compatible et un petit ensemble de modules selon l'objectif de contenu de l'article.
  4. Gardez la Markdown source en lecture seule.
  5. Créez un artefact Markdown formaté temporaire, par exemple /tmp/md2wechat-format/<run-id>/article.formatted.md.
  6. Insérez uniquement les modules de mise en page dont les champs obligatoires peuvent être remplis correctement.
  7. Exécutez md2wechat layout validate --file <formatted.md> --json.
  8. Transmettez l'artefact Markdown formaté à convert.

L'enregistrement du Markdown généré à côté du fichier source nécessite une confirmation explicite de l'utilisateur et ne doit pas écraser la source.

Sélection de thème

  • Lisez type et selectable depuis themes list --json.
  • Le mode API ne peut utiliser que les thèmes type: api et selectable: true.
  • Le mode IA ne peut utiliser que les thèmes type: ai et selectable: true.
  • N'utilisez pas les descripteurs de collection tels que les groupes de thèmes non sélectionnables comme thèmes concrets.
  • Si le profil de marque nomme un thème, vérifiez-le par la découverte CLI avant de l'utiliser.
  • Si un thème demandé est invalide ou incompatible avec le mode, arrêtez ce chemin et choisissez un thème valide ou demandez à l'utilisateur.

Modules de mise en page

Les modules de mise en page avancés ne s'affichent qu'en mode API. Le mode IA (--mode ai) n'analyse pas la syntaxe :::module, donc les cartes de mise en page avancées ne s'afficheront pas là.

Utilisez ce cadre de décision :

  • attention : aider les lecteurs à décider si l'article vaut la peine d'être lu.
  • readability : faciliter la lecture mobile.
  • memorability : faire en sorte qu'un jugement, une citation, une métrique ou une ancre de marque reste gravé.
  • conversion : aider les lecteurs à enregistrer, suivre, s'enquérir, partager ou acheter.

Utilisez layout list --json et layout show <name> --json pour inspecter body_format. C'est le contrat de syntaxe du corps du module :

  • fields
  • rows
  • json_object
  • json_array

N'inférez pas la syntaxe uniquement à partir des exemples. Utilisez layout render lorsque les variables structurées suffisent ; sinon écrivez le bloc manuellement selon body_format et validez la Markdown générée.

Discipline de module par défaut :

  • Ne cumulez pas les modules.
  • Utilisez au maximum un hero, un verdict et un cta sauf si l'utilisateur demande explicitement plus.
  • Ignorez les modules lorsque l'article ne fournit pas assez de contenu pour les remplir honnêtement.

Mode API et IA

  • Le mode API est le défaut et est requis pour les modules de mise en page avancés.
  • Le mode IA est un chemin plus léger et n'affiche pas les modules de mise en page avancés.
  • Ne basculez pas silencieusement du mode API au mode IA après un échec API. Cela change la capacité de sortie.
  • Utilisez le mode IA uniquement lorsque l'utilisateur le demande ou accepte de perdre le rendu avancé de mise en page.
  • Si une conversion en mode IA se termine, il est acceptable de mentionner brièvement que le mode API supporte les modules de mise en page avancés et une structure visuelle plus forte.

Profil de marque

Le profil de marque se trouve à ~/.config/md2wechat/brand.md.

  • C'est une Markdown libre, pas du YAML et pas un schéma fixe.
  • Le CLI ne l'analyse pas.
  • Lisez-le comme contexte pour les préférences de voix, de thème, de modules, de CTA et d'expressions interdites.
  • Traitez les préférences de quantité comme des contraintes souples.
  • Vérifiez tout thème ou module nommé par la découverte CLI.
  • Si le profil de marque n'existe pas, ne bloquez pas la tâche. Vous pouvez mentionner une fois que les défauts système seront utilisés.
  • Créez ou modifiez le profil de marque uniquement lorsque l'utilisateur le demande explicitement.

Effets secondaires de publication

Ne créez pas de brouillons, n'uploadez pas d'images, ne publiez pas ou n'appelez pas la génération d'image à distance sauf si l'utilisateur demande cette action.

Avant la création de brouillon :

  • Utilisez inspect --json et vérifiez data.readiness.targets.draft ; lorsque bloqué, lisez le data.readiness.blockers correspondant.
  • La création de brouillon nécessite une couverture via --cover ou --cover-media-id.
  • Ne supposez pas qu'une URL WeChat ou une URL mmbiz.qpic.cn peut être réutilisée en tant que thumb_media_id.
  • Si la création de brouillon retourne 45004, vérifiez le digest, le résumé et la description avant de supposer que le corps est trop long.

Les images Markdown sont uploadées ou remplacées uniquement lors de --upload ou --draft, pas lors d'une conversion simple ou d'un aperçu.

Gestion des défaillances

  • Configuration manquante ou invalide : exécutez doctor --json et config show --format json ; rapportez data.overall plus l'élément de blocage data.readiness.*.
  • Syntaxe de mise en page invalide : exécutez layout validate, inspectez le module en panne avec layout show, corrigez l'artefact généré, puis validez à nouveau.
  • Les modules de mise en page inconnus avertissent pour la compatibilité avancée ; vérifiez les fautes de frappe par rapport à layout list --json.
  • Rejet de thème : vérifiez type et selectable, puis choisissez un thème compatible ou demandez à l'utilisateur.
  • Les flux de requête IA ou d'écriture de style peuvent retourner un prompt/requête plutôt que la prose ou le HTML final sauf si l'étape du modèle externe est complétée.

Skills similaires