| name | publication-cms |
| description | Utiliser pour publier une vidéo PronoClip sur les réseaux sociaux via RapidoCMS : upload, brouillon, planification, rattachement à une campagne. |
Publication CMS — vidéos PronoClip via RapidoCMS
Publie une vidéo de pronostic sur les réseaux sociaux avec le MCP
RapidoCMS : upload du média, brouillon au ton PronoClip, planification
avant le coup d'envoi, rattachement à la campagne de la compétition.
CONFIG (centralisée — plugin revendable)
Tout ce qui change d'un client à l'autre vient de
./pronoclip-data/config.json — schéma canonique et onboarding définis
dans le skill routine-matchs (Phase 0). Aucune valeur en dur dans ce
skill. Clés utilisées ici :
| Clé | Défaut à l'installation | Usage |
|---|
cms.company_id | 321 | identifiant société RapidoCMS |
cms.comptes | (découverte onboarding) | comptes cibles de publication |
fenetre_publication | H-6 → H-2 | créneau avant coup d'envoi (étape 3) |
langue_captions | fr | langue des captions (étape 2) |
Si config.json n'existe pas encore (skill invoqué hors routine) : appeler
list_connected_accounts, faire valider les comptes par l'utilisateur, et
écrire la section cms du fichier (fusionner sans écraser les autres clés).
Étape 1 — UPLOAD
⚠️ upload_file_tool exige une URL PUBLIQUE — impossible de lui passer
un binaire local. Deux chemins selon l'origine du MP4 :
a) MP4 rendu localement (cas normal, CLI HyperFrames) :
-
Exposer d'abord le fichier via une URL publique — bucket S3/objet du
projet, ou le stockage média BraindCode ;
-
puis :
upload_file_tool(type: "video", file_url: <url publique>)
b) MP4 issu du MCP HyperFrames (rendu cloud, cas premium) :
- utiliser directement la
video_url signée retournée par
get_render_status — elle passe telle quelle dans upload_file_tool,
aucun ré-hébergement nécessaire.
Étape 2 — BROUILLON
create_draft_tool avec :
post_type : "media" ;
media_type : "video" ;
media_source : TOUJOURS "biblio" (le média vient de l'upload de
l'étape 1, jamais d'une autre source) ;
caption au ton PronoClip (voir reference/charte-pronoclip.md) :
- une accroche ;
- le score pronostiqué ;
- les hashtags #PronoClip + #NomDesEquipes ;
- la mention contenu généré par IA (obligatoire, comme dans la vidéo).
Exemple de caption :
🔥 Notre prono pour PSG – Real Madrid : 2-1 ! Et toi, tu vois quoi ? ⚽
#PronoClip #PSG #RealMadrid
Pronostic — contenu généré par IA
Étape 3 — PLANIFICATION
schedule_draft_tool avec :
post_heure STRICTEMENT au format HH:MM:SS (les deux-points sont
obligatoires — 18:30:00, jamais 18h30 ni 1830) ;
- Règle métier : publier entre H-6 et H-2 avant le coup d'envoi.
- kickoff 21:00 → créneau valide entre 15:00:00 et 19:00:00 ;
- si la fenêtre est déjà dépassée (moins de 2 h avant le match), ne pas
planifier — signaler le problème et logger le KO (cohérent avec le
garde-fou du skill
routine-matchs).
Étape 4 — CAMPAGNE
-
Chercher via list_campagnes une campagne nommée :
PronoClip — {compétition} {mois}
# ex. "PronoClip — Ligue des Champions juillet"
-
Si elle existe : rattacher le post avec add_post_campagne.
-
Sinon : proposer à l'utilisateur de la créer (create_campagne) —
ne pas la créer sans son accord.
Étape 5 — LOG
Append dans ./pronoclip-logs/YYYY-MM-DD.md :
- [HH:MM] Post planifié : {match} → {réseau} {date} {heure} — OK
En cas d'échec (upload KO, fenêtre de publication dépassée…), logger la même
ligne avec — KO : {cause}.