CommunityRédaction et éditiongithub.com

publora/bluesky-post

Utilisez cette compétence lorsque l'utilisateur souhaite publier ou programmer un message sur Bluesky via Publora. Elle gère la limite de 300 caractères, les hashtags et liens détectés automatiquement, jusqu'à 4 images et les vidéos. Le texte alternatif ne peut pas être défini via l'API. Nécessite un mot de passe d'application Bluesky, jamais le mot de passe principal. Pas pour Mastodon (utiliser social-post).

Qu'est-ce que bluesky-post ?

Cette compétence permet aux agents IA (comme Claude Code, Cursor, Codex, etc.) de créer et programmer des publications sur Bluesky via le serveur MCP Publora. Elle gère automatiquement les limites de la plateforme : 300 caractères, détection automatique des hashtags et URLs, jusqu'à 4 images par publication (format JPEG imposé, taille maximale de 2 000 000 octets exactement), et vidéos jusqu'à 3 minutes (limite quotidienne de 25 vidéos). L'agent peut soit publier immédiatement, soit planifier une publication à une date ultérieure (format ISO 8601 UTC), soit créer un brouillon. Un flux alternatif via l'API REST est documenté en cas d'indisponibilité du serveur MCP. Les fonctionnalités incluent également la récupération des statistiques des publications (réactions, commentaires, republications), la gestion des profils (abonnés, abonnements) et la gestion complète des publications (CRUD). Une limitation importante : le texte alternatif des images ne peut pas être défini via l'API — l'utilisateur doit le faire manuellement après publication dans l'application Bluesky. La compétence utilise un identifiant de plateforme au format `bluesky-did:plc:xxx` (plutôt qu'un ID numérique) et nécessite un mot de passe d'application Bluesky (jamais le mot de passe principal). Publora fonctionne sur le plan Starter gratuit, avec des limites actuelles indiquées sur leur site de tarification.

Compatible avec✓Claude Code✓Codex CLI✓Cursor
npx skills add https://github.com/publora/skills/tree/main/skills/bluesky-post

Installed? Explore more Rédaction et édition skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Demander à votre IA préférée

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

Documentation

Publication Bluesky

Créez et programmez des publications sur Bluesky en utilisant le serveur MCP Publora. Prend en charge les publications textuelles avec hashtags et URLs détectés automatiquement, les images et les vidéos.

Prérequis

Forfaits : Fonctionne sur le plan Starter gratuit. Limites et tarifs actuels : publora.com/pricing.

Pour commencer

  1. Créez un compte sur publora.com/register (gratuit)
  2. Générez un mot de passe d'application dans Paramètres Bluesky > Mots de passe d'application (PAS votre mot de passe principal)
  3. Connectez Bluesky dans le Tableau de bord Publora en utilisant votre identifiant + mot de passe d'application
  4. Obtenez une clé API sur app.publora.com/dashboard/api
  5. Connectez votre agent au serveur MCP à l'adresse https://mcp.publora.com, en vous authentifiant avec Authorization: Bearer sk_YOUR_API_KEY. Dans Claude Code :
claude mcp add publora --transport http https://mcp.publora.com \
  --header "Authorization: Bearer sk_YOUR_API_KEY"

Claude Desktop, Cursor, Codex, OpenClaw et le connecteur claude.ai nécessitent chacun un fichier de configuration ou un flux différent : voir configuration client pour le chemin exact et l'extrait.

API REST de secours

Si le serveur MCP est indisponible ou renvoie des erreurs, utilisez l'API REST directement :

URL de base : https://api.publora.com/api/v1

Authentification : Utilisez l'en-tête x-publora-key (PAS Authorization: Bearer) :

# Obtenez vos plateformes connectées
curl -X GET "https://api.publora.com/api/v1/platform-connections" \
  -H "x-publora-key: sk_your_api_key"

# Créez une publication
curl -X POST "https://api.publora.com/api/v1/create-post" \
  -H "x-publora-key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "platforms": ["bluesky-did:plc:abc123xyz"],
    "content": "Le contenu de votre publication ici",
    "scheduledTime": "2026-03-25T10:00:00Z"
  }'

Format de l'ID de plateforme : bluesky-{did} où {did} provient de la réponse /platform-connections.

Exemples d'IDs : bluesky-did:plc:abc123xyz, bluesky-did:plc:def456uvw

📖 Documentation complète de l'API : docs.publora.com

Limites de la plateforme

FonctionnalitéLimite
Caractères300
ImagesJusqu'à 4 par publication
Taille des imagesExactement 2 000 000 octets (décimal, pas 2 Mio)
Durée vidéo3 minutes
Taille vidéo50-100 Mo (selon la durée)
Vidéos par jour25
Texte alternatif2 000 caractères sur Bluesky lui-même, mais non définissable via cette API (voir ci-dessous)

Niveaux de taille vidéo

DuréeTaille max
Moins de 60 s50 Mo
60 s - 3 min100 Mo

Facettes de texte enrichi

Bluesky utilise un système de texte enrichi unique. Publora gère la complexité automatiquement :

  • Hashtags : #hashtag détecté automatiquement et rendu cliquable
  • URLs : Toute URL détectée automatiquement et rendue cliquable
  • Décalages d'octets : Calculés correctement pour les caractères multi-octets (emojis, CJK)

Aucun formatage spécial nécessaire - écrivez simplement naturellement.

Outils disponibles

create_post

Créez une nouvelle publication Bluesky.

Paramètres :

  • platforms : Tableau avec votre ID de connexion Bluesky (ex. ["bluesky-did:plc:abc123xyz"])
  • content : Texte de la publication (jusqu'à 300 caractères)
  • scheduledTime : Date/heure ISO 8601 UTC. Optionnel : omettez-le et la publication est créée en tant que brouillon. Envoyez une heure future pour programmer. Une heure de cinq minutes ou plus dans le passé est rejetée avec SCHEDULED_TIME_IN_PAST, donc pour une publication immédiate, utilisez l'heure actuelle plus une minute.
  • mediaUrls : Jusqu'à 10 URLs https publiques d'images ou de vidéos. Publora les télécharge côté serveur et les attache avant la validation, donc les médias et la programmation se font en un seul appel. C'est l'alternative en un seul coup au flux brouillon puis get_upload_url puis complete_media. L'ingestion est limitée à 60 URLs par heure.

get_upload_url

Obtenez une URL pré-signée pour les téléchargements de médias.

Paramètres :

  • postGroupId : ID de la publication à laquelle attacher le média
  • fileName : Nom du fichier (ex. "photo.jpg")
  • contentType : image/jpeg, image/png, video/mp4
  • type : "image" ou "video"

complete_media

Finalisez un fichier téléchargé via get_upload_url, après la réussite du PUT pré-signé. Optionnel, car la programmation finalise également les médias en attente, mais l'appeler tôt révèle les erreurs de format et de sondage avant la publication. Non nécessaire pour les médias attachés avec mediaUrls.

Paramètres :

  • mediaId : l'ID retourné par get_upload_url

list_connections

Listez vos comptes connectés avec leurs IDs de plateforme. Appelez ceci en premier et copiez les IDs textuellement ; ils ne sont jamais devinables.

post_stats

Compteurs d'engagement pour une publication Bluesky publiée : réactions, commentaires, republications, citations et favoris. En direct au moment de la demande, mis en cache pendant environ deux heures.

Paramètres :

  • platform : bluesky
  • platformId : votre ID de connexion Bluesky
  • postedIds : les IDs des publications publiées à rechercher

profile_stats

Nombre d'abonnés, d'abonnements et de publications pour le compte connecté.

Paramètres :

  • platform : bluesky
  • platformId : votre ID de connexion Bluesky

list_posts / get_post / update_post / delete_post

Gérez les publications programmées et les brouillons. update_post modifie également content et platforms sur un brouillon ou une publication programmée, donc corriger une faute de frappe ou recibler ne signifie plus supprimer et recréer. delete_media et prune_media_reference nettoient les fichiers téléchargés.

Exemples

Publication simple avec hashtags

Publiez ceci sur Bluesky :
"Nous venons de lancer notre nouvelle documentation API ! Consultez-la sur https://docs.example.com #devtools #api"

Les hashtags et URLs sont automatiquement rendus cliquables.

Publication avec image

Publiez ceci sur Bluesky avec une capture d'écran du tableau de bord :
"Notre nouvelle vue analytique est en ligne ! #buildinpublic"

Images multiples

Créez une publication Bluesky avec des images de comparaison avant/après :
"Rénovation du bureau terminée ! Quelle transformation."

Remarque : Jusqu'à 4 images autorisées par publication.

Publication vidéo

Publiez cette vidéo de démonstration de 60 secondes sur Bluesky :
"Visite rapide des nouvelles fonctionnalités de notre application mobile"

Publication programmée

Programmez ceci pour demain à 10h :
"Bonjour ! Voici votre astuce de productivité quotidienne..."

Restrictions importantes

  1. Le texte alternatif ne peut pas être défini via l'API. L'éditeur Bluesky lit une propriété alt sur les médias, mais rien ne la persiste : ni le flux de téléchargement pré-signé ni mediaUrls ne la stocke, et une valeur altTexts envoyée à create-post est silencieusement ignorée. platformSettings n'aide pas non plus, puisque Bluesky y est rejeté avec 400 PLATFORM_SETTING_UNKNOWN. Publiez l'image, puis ajoutez le texte alternatif dans l'application Bluesky. Ne dites pas à l'utilisateur que son texte alternatif a été publié.

  2. Mot de passe d'application requis : Vous devez utiliser un mot de passe d'application Bluesky, PAS votre mot de passe principal. Générez-en un dans Paramètres > Mots de passe d'application.

  3. Toutes les images converties en JPEG : Quel que soit le format d'entrée (PNG, WebP, GIF), toutes les images sont converties en JPEG avant le téléchargement.

  4. Limite stricte de 2 000 000 octets pour les images : le protocole AT impose un plafond exact en octets décimaux, pas un 2 Mio arrondi. Compressez à une qualité JPEG de 80-85 % et vérifiez le nombre d'octets.

  5. ID de plateforme basé sur DID : Contrairement à d'autres plateformes utilisant des IDs numériques, Bluesky utilise le format did:plc:xxx.

  6. Vérification des e-mails pour les vidéos : Vous devez vérifier votre e-mail dans Bluesky avant de télécharger des vidéos.

  7. Limite quotidienne de 25 vidéos : Maximum 25 vidéos OU 10 Go par jour.

Bonnes pratiques

Contenu

  1. Publications concises : 300 caractères, c'est plus court que Twitter - soyez percutant
  2. Hashtags naturels : 1-2 hashtags pertinents fonctionnent bien
  3. Texte alternatif : ça vaut la peine d'être ajouté, mais vous devez le faire dans l'application Bluesky après la publication ; l'API ne peut pas le transporter
  4. Les URLs fonctionnent : Les liens sont cliquables (contrairement à certaines plateformes)

Calendrier

  • Plateforme en croissance : Moins fréquentée que X, plus facile de se faire remarquer
  • Audience férue de technologie : Beaucoup de développeurs et d'adopteurs précoces
  • Fréquence : 1 à 3 publications par jour

Engagement

  • Bluesky favorise la conversation authentique
  • Répondez aux commentaires pour construire une communauté
  • Suivez les utilisateurs pertinents pour développer votre réseau

Dépannage

ErreurCauseSolution
"Identifiants invalides"Mauvais type de mot de passeUtilisez un mot de passe d'application, pas le mot de passe principal
"Image trop volumineuse"Plus de 2 000 000 octetsCompressez à une qualité JPEG de 80-85 %
"Contenu trop long"Plus de 300 caractèresRaccourcissez le contenu (pas de publication automatique en fil)
"Limite quotidienne de vidéos"25 vidéos atteintesAttendez 24 heures
"E-mail non vérifié"Tentative de téléchargement de vidéoVérifiez votre e-mail dans les paramètres Bluesky

Individual skills in this repo

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

publora/instagram-post

Use when the user wants to post or schedule to Instagram through Publora: a single image, a 2-10 image carousel, a Reel or a Story. Requires a Business account and an image or video; text-only posts are rejected by the API. Not for Threads (use threads-post).

publora/linkedin-analytics

Analyze LinkedIn performance and manage engagement through Publora. Use when the user asks how a LinkedIn post or account performed (impressions, reach, reactions, comments, reshares, follower growth) or wants to react, comment, reshare or resolve an @mention. Statistics run over the REST API, engagement over MCP tools. Not for creating posts (use linkedin-post).

publora/linkedin-post

Use when the user wants to publish or schedule a LinkedIn post through Publora: text, a multi-image grid, a video, a PDF document, or @mentions. Not for analytics, reactions, comments or reshares (use linkedin-analytics), and not for other platforms.

publora/social-post

Use when the user wants to post or schedule to YouTube, a Facebook Page or Mastodon through Publora. YouTube needs a video on every post, Facebook publishes to Pages only, Mastodon caps at 500 characters. Not for the platforms that have their own skill.

publora/telegram-post

Use when the user wants to post or schedule to a Telegram channel or group through Publora, using a bot. Covers Telegram markdown, silent delivery, link previews and forward protection. Bot API caps media captions at 1,024 characters and videos at 50 MB. Not for other platforms (each has its own skill).

publora/threads-post

Create and schedule Threads posts with image carousels and reply control via Publora MCP. Use when the user wants to post to Meta's Threads. Multi-part threading is currently disabled by the platform, so long content stays a single post. Not for Instagram (use instagram-post) or X threads (use x-post).

publora/tiktok-post

Use when the user wants to upload or schedule a TikTok video through Publora, with privacy, comment, duet, stitch and commercial-disclosure settings. Video runs 3 seconds to 10 minutes at 23+ FPS; carousels take up to 35 images. Unaudited apps can publish private videos only. Not for Reels (use instagram-post).

publora/x-post

Use when the user wants to post or schedule to X (Twitter) through Publora, including threads auto-split past 280 characters, up to 4 images, or a video up to 140 seconds. X needs a paid Publora plan. Not for Threads or Bluesky (each has its own skill).

Skills associés