Que fait Spécifications et validation multi-plateforme ?
La compétence transverse de vérification avant publication — rendre un post correct sur chaque cible (champs obligatoires, règles médias, limites) et exécuter la boucle validation-avant-publication. C'est la pierre angulaire vers laquelle pointent les compétences de format. L'agent mappe les champs + corrige les violations de spécifications + valide ; WoopSocial valide et publie ; la rédaction du contenu et les décisions humaines restent ailleurs.
Le point de vue : prêt à publier, atomiquement, du premier coup
WoopSocial valide et publie atomiquement — POST /posts vérifie toutes les cibles ensemble, et si une seule échoue, rien n'est créé. Il n'y a pas d'endpoint de mise à jour, donc un post publié incorrectement ne peut pas être corrigé (modifier = supprimer + recréer). Cela fait de l'obtention correcte des champs de chaque cible avant la publication l'enjeu principal : le bon postType, les champs obligatoires par plateforme, les règles médias, et les valeurs spécifiques au compte (tableau Pinterest, confidentialité TikTok) résolues à partir de platform-inputs — puis POST /posts/validate pour capturer ce qui reste. Cette compétence est l'endroit où les compétences de format viennent s'assurer que tout passera réellement.
Le cadre : CHECK
(Profondeur : references/the-check-framework.md.)
- C — Collecter les cibles + le projet : lister les comptes sociaux ; confirmer qu'ils sont dans le même projet ; noter l'ensemble des champs de chaque plateforme.
- H — Hydrater les champs obligatoires par plateforme : remplir les champs obligatoires de chaque cible (
postTypeFB/IG ; les huit de TikTok ;title+privacyYouTube ;pinterestBoardIdPinterest) ; résoudre les valeurs de compte depuisGET /social-accounts/{id}/platform-inputs. - E — Appliquer les règles médias + contenu : FB pas de mix image+vidéo ; IG Stories nécessite un média ; Pinterest média unique ; applicabilité des champs PHOTO/VIDEO TikTok ; utiliser
contentOverrideou des posts séparés en cas de conflit de déploiement ; respecter les limites de texte. - C — Confirmer les déclarations véridiques :
isBrandedContent/isYourBrand/madeForKidssont des déclarations véridiques, pas des boutons de validation — ne jamais les modifier pour effacer une erreur ; ces décisions restent avec la personne. - K — Finaliser par la validation :
POST /posts/validate→ corriger toutes les erreurs, examiner les avertissements → créer (atomique). Pas de mise à jour → supprimer + recréer (uniquement tant queNOT_STARTED).
La spécification (vérité de référence — vérifier trimestriellement)
Énumérations postType par plateforme + matrices de champs obligatoires + règles médias + endpoint de découverte platform-inputs + faits sur le cycle de vie (création atomique, pas de mise à jour, statut de livraison, types de planification) : references/woopsocial-publish-spec.md. La boucle valider-puis-créer, le tableau complet des codes ValidationField + la liste des CreatePostErrorCode + exemples travaillés : references/validation-reference-and-recipes.md. (La spécification OpenAPI en direct / tools/integrations/woopsocial.md est la source de vérité ; les énumérations et les limites bougent.)
Périmètre honnête (ne jamais violer)
- Cette compétence garantit la disponibilité pour publication (champs/médias/spécifications corrects + validés) — elle n'écrit ni n'améliore le contenu créatif (les compétences de format/contenu le font) et ne peut pas garantir la performance.
- WoopSocial valide + publie atomiquement ; une cible défaillante fait échouer tout le post. Pas de mise à jour → supprimer + recréer (uniquement tant que
NOT_STARTED). - Les déclarations de divulgation/conformité restent véridiques (
isBrandedContent/isYourBrand/madeForKids) — ne jamais les modifier pour passer la validation ; l'intention de confidentialité + la véracité de la divulgation restent avec la personne. - Résoudre les valeurs de compte (tableau, confidentialité) depuis
platform-inputs— ne pas deviner. Ne jamais fabriquer de métriques — analyses natives uniquement. (Périmètre, distinctions + connexions :references/scope-and-connections.md.)
Distinct des compétences sœurs (router correctement)
platform-specs-and-validation (celle-ci) = la couche de validation multi-plateforme (champs/médias) qui rend un post publiable sur chaque cible · les compétences de format par plateforme (tiktok-photo-mode, tiktok-video-publishing, threads-post, youtube-publishing-and-metadata, carousel-writer, …) = créer le contenu d'une plateforme et pointer ici pour la validation · scheduling-and-queue = timing/cadence, pas exactitude · tools/integrations/woopsocial.md = le guide d'intégration partagé que cette compétence applique au niveau du post.
Où cela se connecte
Reçoit de : chaque compétence de format (contenu créé + postType choisi) et content-calendar (le plan). Résout avec : GET /social-accounts/{id}/platform-inputs (tableaux, options de confidentialité) + le guide d'intégration. Transmet à : scheduling-and-queue → WoopSocial (POST /posts après isValid), puis webhooks/statut de livraison pour confirmation. Soutient : cross-platform-repurposing (contentOverride par cible), analytics-and-reporting (lecture native de la livraison), expérimentation (variantes valides). La rédaction du contenu + les déclarations véridiques restent avec les compétences de format + la personne.
Définition de terminé
Chaque cible collectée et confirmée dans un même projet ; les champs obligatoires de chaque cible hydratés (postType / privacy / board / disclosure / title selon le cas) avec les valeurs spécifiques au compte résolues depuis platform-inputs ; les règles médias + contenu appliquées (pas de mix FB, média IG-Story, média unique Pinterest, applicabilité des champs TikTok) avec contentOverride ou posts séparés en cas de conflit de déploiement ; les déclarations de divulgation/madeForKids laissées véridiques (jamais modifiées pour passer) ; POST /posts/validate exécuté avec toutes les erreurs résolues et les avertissements examinés avant une création atomique ; les modifications gérées via suppression+recréation, rien fabriqué et aucune performance promise ; correctement distingué des compétences de format par plateforme et de scheduling-and-queue.