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,previewetconvert. - Post prioritaire aux images, note d'image, note image-texte,
newspicou post multi-images : utilisezcreate_image_post, pasconvert --draft. - Couverture d'article ou infographie d'article : préférez
generate_coverougenerate_infographicàgenerate_imagebrut 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
writeouhumanize. - 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 --jsonLa préparation
doctorconcerne la tentabilité de la configuration locale.config wechat-accountsest local uniquement et n'affiche jamais les secrets WeChat. Utilisezinspect --jsonpour 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
md2wechatest déjà disponible surPATH. convertest 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_KEYvalide ; 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 --jsonest 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 jsonlorsque l'utilisateur demande quelle configuration est actuellement active. - Utilisez
config wechat-accounts --jsonlorsque 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 :
md2wechat inspect <article.md> --jsonmd2wechat preview <article.md>md2wechat convert <article.md> ...- Ajoutez
--upload,--draft,--coverou--cover-media-iduniquement 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 :
- Lisez l'article et le profil de marque optionnel.
- Utilisez la sortie de découverte comme faits.
- Choisissez un thème compatible et un petit ensemble de modules selon l'objectif de contenu de l'article.
- Gardez la Markdown source en lecture seule.
- Créez un artefact Markdown formaté temporaire, par exemple
/tmp/md2wechat-format/<run-id>/article.formatted.md. - Insérez uniquement les modules de mise en page dont les champs obligatoires peuvent être remplis correctement.
- Exécutez
md2wechat layout validate --file <formatted.md> --json. - 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
typeetselectabledepuisthemes list --json. - Le mode API ne peut utiliser que les thèmes
type: apietselectable: true. - Le mode IA ne peut utiliser que les thèmes
type: aietselectable: 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 :
fieldsrowsjson_objectjson_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 --jsonet vérifiezdata.readiness.targets.draft; lorsque bloqué, lisez ledata.readiness.blockerscorrespondant. - La création de brouillon nécessite une couverture via
--coverou--cover-media-id. - Ne supposez pas qu'une URL WeChat ou une URL
mmbiz.qpic.cnpeut être réutilisée en tant quethumb_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 --jsonetconfig show --format json; rapportezdata.overallplus l'élément de blocagedata.readiness.*. - Syntaxe de mise en page invalide : exécutez
layout validate, inspectez le module en panne aveclayout 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
typeetselectable, 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.