CommunitySchreiben & Editierengithub.com

Bluesky Post (Publora)

Erstelle und plane Beiträge für Bluesky über den Publora MCP-Server. Unterstützt Text, Hashtags, URLs, Bilder und Videos.

Was ist Bluesky Post (Publora)?

Diese Skill ermöglicht es KI-Agenten (wie Claude Code, Cursor oder Codex), Beiträge auf Bluesky zu erstellen und zeitlich zu planen, und zwar über den Publora MCP-Server. Sie ist ideal für Entwickler:innen, die Social-Media-Workflows automatisieren möchten, ohne Bluesky manuell öffnen zu müssen. Die Skill behandelt automatisch das 300-Zeichen-Limit von Bluesky, erkennt Hashtags und URLs im Text, und unterstützt bis zu 4 Bilder pro Beitrag sowie Videos (max. 3 Minuten, 50–100 MB). Wichtig: Alternativtext kann nicht über die API gesetzt werden, sondern muss nach dem Posten in der Bluesky-App ergänzt werden. Die Plattform-ID basiert auf dem dezentralen DID-Format (`bluesky-did:plc:xxx`). Ein App-Passwort (nicht das Hauptpasswort) ist zwingend erforderlich. Zusätzlich zum MCP-Server steht eine REST-API als Fallback bereit. Die Skill umfasst Tools zum Erstellen, Abrufen, Aktualisieren und Löschen von Beiträgen, zum Hochladen von Medien und zum Abfragen von Statistiken.

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

Installed? Explore more Schreiben & Editieren skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Bluesky Post

Erstelle und plane Beiträge für Bluesky mit dem Publora MCP-Server. Unterstützt Textbeiträge mit automatisch erkannten Hashtags und URLs, Bilder und Videos.

Voraussetzungen

Tarife: Funktioniert mit dem kostenlosen Starter-Plan. Aktuelle Limits und Preise: publora.com/pricing.

Erste Schritte

  1. Konto erstellen unter publora.com/register (kostenlos)
  2. App-Passwort generieren in den Bluesky-Einstellungen unter App-Passwörter (NICHT dein Hauptpasswort)
  3. Bluesky verbinden im Publora-Dashboard mit deinem Handle + App-Passwort
  4. API-Schlüssel abrufen unter app.publora.com/dashboard/api
  5. Deinen Agenten mit dem MCP-Server unter https://mcp.publora.com verbinden und mit Authorization: Bearer sk_YOUR_API_KEY authentifizieren. In Claude Code:
claude mcp add publora --transport http https://mcp.publora.com \
  --header "Authorization: Bearer sk_YOUR_API_KEY"

Claude Desktop, Cursor, Codex, OpenClaw und der claude.ai-Connector benötigen jeweils eine andere Konfigurationsdatei oder einen anderen Ablauf: siehe Client-Setup für den genauen Pfad und Code-Ausschnitt.

REST-API-Fallback

Falls der MCP-Server nicht verfügbar ist oder Fehler zurückgibt, nutze die REST-API direkt:

Basis-URL: https://api.publora.com/api/v1

Authentifizierung: Verwende den x-publora-key-Header (NICHT Authorization: Bearer):

# Deine verbundenen Plattformen abrufen
curl -X GET "https://api.publora.com/api/v1/platform-connections" \
  -H "x-publora-key: sk_your_api_key"

# Einen Beitrag erstellen
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": "Dein Beitragstext hier",
    "scheduledTime": "2026-03-25T10:00:00Z"
  }'

Plattform-ID-Format: bluesky-{did} wobei {did} aus der /platform-connections-Antwort stammt.

Beispiele: bluesky-did:plc:abc123xyz, bluesky-did:plc:def456uvw

📖 Vollständige API-Dokumentation: docs.publora.com

Plattform-Limits

FunktionLimit
Zeichen300
BilderBis zu 4 pro Beitrag
Bildgrößeexakt 2.000.000 Bytes (dezimal, nicht 2 MiB)
Videolänge3 Minuten
Videogröße50–100 MB (je nach Länge)
Videos pro Tag25
Alternativtext2.000 Zeichen auf Bluesky selbst, aber über diese API nicht setzbar (siehe unten)

Video-Größenstufen

DauerMax. Größe
Unter 60 s50 MB
60 s – 3 min100 MB

Rich-Text-Facetten

Bluesky verwendet ein einzigartiges Rich-Text-System. Publora erledigt die Komplexität automatisch:

  • Hashtags: #hashtag wird automatisch erkannt und klickbar gemacht
  • URLs: Jede URL wird automatisch erkannt und klickbar gemacht
  • Byte-Offsets: Korrekt für mehrbyte Zeichen (Emojis, CJK) berechnet

Keine spezielle Formatierung nötig – schreibe einfach natürlich.

Verfügbare Werkzeuge

create_post

Erstelle einen neuen Bluesky-Beitrag.

Parameter:

  • platforms: Array mit deiner Bluesky-Verbindungs-ID (z. B. ["bluesky-did:plc:abc123xyz"])
  • content: Beitragstext (maximal 300 Zeichen)
  • scheduledTime: ISO 8601 UTC-Datumszeit. Optional: Wenn nicht angegeben, wird der Beitrag als Entwurf erstellt. Sende eine zukünftige Zeit, um eine Zeitplanung vorzunehmen. Eine Zeit, die fünf oder mehr Minuten in der Vergangenheit liegt, wird mit SCHEDULED_TIME_IN_PAST abgelehnt; für sofortige Veröffentlichung verwende die aktuelle Zeit plus eine Minute.
  • mediaUrls: bis zu 10 öffentliche https-Bild- oder Video-URLs. Publora lädt sie serverseitig herunter und fügt sie vor der Validierung an, sodass Medien und Zeitplanung in einem Aufruf erfolgen. Dies ist die einmalige Alternative zum Ablauf Entwurf → get_upload_url → complete_media. Der Import ist auf 60 URLs pro Stunde begrenzt.

get_upload_url

Rufe eine vorab signierte URL für Medien-Uploads ab.

Parameter:

  • postGroupId: Beitrags-ID, an die Medien angehängt werden
  • fileName: Dateiname (z. B. "photo.jpg")
  • contentType: image/jpeg, image/png, video/mp4
  • type: "image" oder "video"

complete_media

Schließe eine über get_upload_url hochgeladene Datei ab, nachdem der vorab signierte PUT erfolgreich war. Optional, da die Zeitplanung auch ausstehende Medien abschließt, aber ein frühzeitiger Aufruf zeigt Format- und Probe-Fehler vor der Veröffentlichung. Nicht erforderlich für Medien, die über mediaUrls angehängt wurden.

Parameter:

  • mediaId: die von get_upload_url zurückgegebene ID

list_connections

Liste deine verbundenen Konten mit ihren Plattform-IDs auf. Rufe dies zuerst auf und kopiere die IDs wörtlich; sie sind nie erratbar.

post_stats

Engagement-Zähler für einen veröffentlichten Bluesky-Beitrag: Reaktionen, Kommentare, Reposts, Zitate und Lesezeichen. Live zum Zeitpunkt der Anfrage, für etwa zwei Stunden zwischengespeichert.

Parameter:

  • platform: bluesky
  • platformId: deine Bluesky-Verbindungs-ID
  • postedIds: die IDs der veröffentlichten Beiträge, die abgefragt werden sollen

profile_stats

Follower, Gefolgte und Beitragszahl für das verbundene Konto.

Parameter:

  • platform: bluesky
  • platformId: deine Bluesky-Verbindungs-ID

list_posts / get_post / update_post / delete_post

Verwalte geplante Beiträge und Entwürfe. update_post korrigiert auch content und platforms bei einem Entwurf oder geplanten Beitrag, sodass die Behebung eines Tippfehlers oder eine Neuausrichtung nicht mehr Löschen und Neuerstellen bedeutet. delete_media und prune_media_reference räumen hochgeladene Dateien auf.

Beispiele

Einfacher Beitrag mit Hashtags

Poste dies auf Bluesky:
"Gerade unsere neue API-Dokumentation veröffentlicht! Schau vorbei unter https://docs.example.com #devtools #api"

Hashtags und URLs werden automatisch klickbar.

Beitrag mit Bild

Poste dies mit einem Dashboard-Screenshot auf Bluesky:
"Unsere neue Analyseansicht ist live! #buildinpublic"

Mehrere Bilder

Erstelle einen Bluesky-Beitrag mit Vorher-Nachher-Vergleichsbildern:
"Bürosanierung abgeschlossen! Was für eine Verwandlung."

Hinweis: Bis zu 4 Bilder pro Beitrag erlaubt.

Video-Beitrag

Poste dieses 60-Sekunden-Demo-Video auf Bluesky:
"Kurzer Rundgang durch unsere neuen Mobile-App-Funktionen"

Geplanter Beitrag

Plane dies für morgen um 10 Uhr:
"Guten Morgen! Hier ist dein täglicher Produktivitätstipp..."

Wichtige Einschränkungen

  1. Alternativtext kann nicht über die API gesetzt werden. Der Bluesky-Publisher liest eine alt-Eigenschaft von Medien, aber nichts speichert sie: weder der vorab signierte Upload-Flow noch mediaUrls speichert sie, und ein altTexts-Wert, der an create-post gesendet wird, wird stillschweigend ignoriert. platformSettings hilft auch nicht, da Bluesky dort mit 400 PLATFORM_SETTING_UNKNOWN abgelehnt wird. Poste das Bild und füge dann den Alternativtext in der Bluesky-App hinzu. Sage dem Benutzer nicht, dass sein Alternativtext veröffentlicht wurde.

  2. App-Passwort erforderlich: Du musst ein Bluesky-App-Passwort verwenden, NICHT dein Hauptkontopasswort. Erstelle eines unter Einstellungen > App-Passwörter.

  3. Alle Bilder werden in JPEG konvertiert: Unabhängig vom Eingabeformat (PNG, WebP, GIF) werden alle Bilder vor dem Hochladen in JPEG konvertiert.

  4. Hartes 2.000.000-Byte-Bildlimit: das AT-Protokoll erzwingt eine exakte dezimale Byte-Obergrenze, keine gerundeten 2 MiB. Komprimiere auf 80-85 % JPEG-Qualität und überprüfe die Byte-Anzahl.

  5. DID-basierte Plattform-ID: Im Gegensatz zu anderen Plattformen, die numerische IDs verwenden, verwendet Bluesky das Format did:plc:xxx.

  6. E-Mail-Verifizierung für Videos: Du musst deine E-Mail in Bluesky bestätigen, bevor du Videos hochladen kannst.

  7. 25-Video-Tageslimit: Maximal 25 Videos ODER 10 GB pro Tag.

Best Practices

Inhalt

  1. Kurze Beiträge: 300 Zeichen sind kürzer als Twitter – sei prägnant
  2. Natürliche Hashtags: 1-2 relevante Hashtags funktionieren gut
  3. Alternativtext: lohnt sich, aber du musst ihn nach dem Posten in der Bluesky-App hinzufügen; die API kann ihn nicht transportieren
  4. URLs funktionieren: Links sind klickbar (anders als bei manchen Plattformen)

Timing

  • Wachsende Plattform: Weniger überlaufen als X, leichter wahrgenommen zu werden
  • Technik-affines Publikum: Viele Entwickler:innen und Early Adopter
  • Häufigkeit: 1-3 Beiträge pro Tag

Engagement

  • Bluesky bevorzugt authentische Unterhaltungen
  • Antworte auf Kommentare, um eine Community aufzubauen
  • Folge relevanten Nutzer:innen, um dein Netzwerk zu erweitern

Fehlerbehebung

FehlerUrsacheLösung
"Invalid credentials"Falscher Passwort-TypApp-Passwort verwenden, nicht das Hauptpasswort
"Image too large"Über 2.000.000 BytesAuf 80–85 % JPEG-Qualität komprimieren
"Content too long"Über 300 ZeichenText kürzen (kein automatisches Threading)
"Video daily limit"25 Videos erreicht24 Stunden warten
"Email not verified"Versuch, Video hochzuladenE-Mail in Bluesky-Einstellungen bestätigen

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).

Verwandte Skills