Communitygithub.com

sultanlive/instagram-post

Poste und plane Instagram-Beiträge, Reels und Karussells von OpenClaw, Hermes, Claude Code oder Codex aus. Veröffentlicht auf dem eigenen Instagram-Konto über den 1Social MCP-Server (OAuth, kein API-Key), prüft zuerst die Instagram-Regeln für Bildunterschriften, Hashtags, Seitenverhältnisse und Medien, plant bis zu 30 Tage im Voraus und gibt eine Zustellungsquittung aus.

Was ist instagram-post?

Diese Fähigkeit (Skill) ermöglicht es KI-Agenten wie Claude Code, OpenClaw, Hermes und Codex, direkt aus dem Chat Beiträge auf Instagram zu veröffentlichen oder zu planen. Sie nutzt den 1Social MCP-Server, der eine OAuth-Anmeldung im Browser erfordert, aber keinen API-Key speichert. Der Skill stellt sicher, dass alle Instagram-Regeln eingehalten werden, bevor ein Beitrag veröffentlicht wird: Er prüft die Länge der Bildunterschrift (maximal 2.200 Zeichen), die Anzahl der Hashtags (maximal 30) und das Seitenverhältnis von Bildern (zwischen 4:5 und 1,91:1). Er unterstützt Einzelbilder, Reels und Karussells, plant Beiträge bis zu 30 Tage im Voraus und gibt eine detaillierte Zustellungsquittung zurück. Nach der Veröffentlichung können Beiträge überprüft, geplant, geändert oder gelöscht werden – wobei Einschränkungen beachtet werden (z. B. dass Instagram keine Lösch-API für veröffentlichte Beiträge bereitstellt). Der Skill kann auch für andere Netzwerke wie TikTok, LinkedIn, X, Threads, Facebook-Seiten, YouTube Shorts und Bluesky verwendet werden.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/sultanlive/1social-skills/tree/main/plugins/instagram-by-1social/skills/instagram-post

In Ihrer bevorzugten KI fragen

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

Dokumentation

Instagram mit 1Social

1Social veröffentlicht auf dem eigenen Instagram-Konto und meldet, was tatsächlich angekommen ist.

Einrichtung (einmalig)

Diese Schritte konfigurieren den 1Social MCP-Server. Wenn Tools wie list_accounts nicht verfügbar sind, verbinden Sie ihn zuerst. Die Anmeldung erfolgt per OAuth im Browser; es gibt keinen API-Key, der gespeichert werden muss. Fragen Sie den Benutzer, bevor Sie diese Befehle ausführen – der Anmeldeschritt öffnet eine Seite, auf der er sich selbst bei 1Social anmeldet.

  • OpenClaw: openclaw mcp set 1social '{"url":"https://mcp.1social.dev/mcp","transport":"streamable-http","auth":"oauth"}', dann openclaw mcp login 1social. Überprüfen mit openclaw mcp doctor 1social --probe.
  • Hermes: zur ~/.hermes/config.yaml hinzufügen:
    mcp_servers:
      1social:
        url: "https://mcp.1social.dev/mcp"
        auth: oauth
    
    dann hermes mcp login 1social (auf einem headless Host: hermes mcp login 1social --flow device).
  • Claude Code: claude mcp add --transport http 1social https://mcp.1social.dev/mcp
  • Jeder andere Client: https://1social.dev/mcp listet die Einrichtung für jeden auf.

Der Benutzer benötigt ein 1Social-Konto. Neue Konten starten mit einer kostenlosen Testphase; nach Ablauf ist für die Veröffentlichung ein kostenpflichtiger Plan erforderlich (https://1social.dev/pricing).

Arbeitsablauf

  1. Konto finden. Rufen Sie list_accounts auf. Es gibt die verbundenen Kanäle mit ihren IDs, die Live-Limits jedes Netzwerks, den Plan und das verbleibende monatliche Kontingent zurück. Wenn kein Instagram-Konto verbunden ist, teilen Sie dem Benutzer mit, dass er unter https://1social.dev/app eines verbinden muss – das Verbinden erfordert einen Browser und kann nicht aus dem Chat heraus erfolgen. Wenn list_accounts ein Limit meldet, das von diesem Skill abweicht, vertrauen Sie list_accounts.
  2. Entwurf für das Netzwerk erstellen. Schreiben Sie den Beitrag gemäß den folgenden Regeln. Ein Beitrag ist eine Liste von Segments; jedes Segment ist { text, mediaIds? }.
  3. Medien anhängen.
    • Der Benutzer hat eine Datei im Chat angehängt → legen Sie sie in media ab.
    • Sie haben einen öffentlichen https-Link → legen Sie ihn in mediaUrls ab.
    • Sie haben nur eine Datei auf der Festplatte (OpenClaw, Hermes, Claude Code, Codex oder ein anderer CLI-Agent) → rufen Sie upload_media auf und befolgen Sie die Upload-Schritte, die in dessen Beschreibung angegeben sind, dann legen Sie die zurückgegebene publicUrl in mediaUrls ab. Eine localhost-URL funktioniert nie. Zeigen Sie dem Benutzer vorher genau, welche Dateien Sie hochladen werden, und warten Sie auf ein Ja: Ein Upload erhält sofort einen öffentlichen Link, und eine spätere Ablehnung des Beitrags entfernt die Datei nicht.
  4. Vorschau. Rufen Sie preview_post mit den Kanal-IDs und dem Entwurf auf. Es ist kostenlos und veröffentlicht nichts. Beheben Sie jedes gemeldete Problem und zeigen Sie es erneut an.
  5. Mit dem Benutzer bestätigen. Zeigen Sie den endgültigen Text, das Konto, an das es geht, die Medien und wann es veröffentlicht wird. Die Veröffentlichung ist öffentlich und einige Netzwerke können einen Beitrag nicht wieder entfernen, warten Sie daher auf ein klares Ja.
  6. Veröffentlichen oder planen. Rufen Sie publish_post auf. scheduledAt: null veröffentlicht sofort; ein UTC-ISO-8601-Zeitstempel wie 2026-11-03T07:00:00Z plant ihn (in der Zukunft, höchstens 30 Tage im Voraus). Konvertieren Sie die Ortszeit des Benutzers selbst in UTC, und wenn er eine Uhrzeit ohne Zeitzone angibt, fragen Sie nach. Legen Sie einen idempotencyKey fest (eine stabile Zeichenfolge mit 8–128 Zeichen für diesen Entwurf), damit ein wiederholter Aufruf nicht zweimal veröffentlichen kann.
  7. Ehrlich berichten. Das Ergebnis ist eine Quittung pro Netzwerk. Berichten Sie jedes Netzwerk genau so, wie es zurückgegeben wurde. unknown bedeutet, dass 1Social wirklich nicht sagen konnte, ob der Beitrag veröffentlicht wurde – sagen Sie das so, nennen Sie es niemals einen Erfolg oder einen Fehlschlag.

Instagram-Regeln

  • Jeder Beitrag benötigt ein Bild oder ein Video. Eine Bildunterschrift allein wird abgelehnt – bitten Sie den Benutzer vor dem Verfassen um Medien.
  • Zeichenlimit der Bildunterschrift: 2.200 Zeichen. Bis zu 30 Hashtags; 3–5 relevante Hashtags sind in der Regel besser als eine Flut von Tags.
  • Das Seitenverhältnis von Bildern muss zwischen 4:5 (Hochformat) und 1,91:1 (Querformat) liegen. Quadratisch 1:1 ist sicher. Breite Banner werden von Instagram mit einem Fehler zum „Seitenverhältnis“ abgelehnt.
  • PNG und JPEG funktionieren beide.
  • Keine Threads: Wenn der Entwurf mehrere Segmente enthält, fügt 1Social sie zu einer Bildunterschrift zusammen. Schreiben Sie stattdessen eine Bildunterschrift.
  • Links in Bildunterschriften sind auf Instagram nicht anklickbar. Wenn der Benutzer Traffic wünscht, schlagen Sie „Link in Bio“ anstelle einer rohen URL vor.
  • Ein veröffentlichter Instagram-Beitrag kann nicht über 1Social gelöscht werden – Instagram hat keine Lösch-API dafür. Stellen Sie sicher, dass der Benutzer mit der Bildunterschrift zufrieden ist, bevor Sie veröffentlichen.

Tipps zum Schreiben

  • Beginnen Sie mit einem Haken in den ersten 125 Zeichen – das ist, was vor „mehr“ angezeigt wird.
  • Setzen Sie Hashtags am Ende der Bildunterschrift, nach einem Zeilenumbruch.

Auch an andere Netzwerke posten

Dasselbe 1Social-Konto kann einen Beitrag gleichzeitig an Instagram, TikTok, LinkedIn, X, Threads, Facebook-Seiten, YouTube Shorts und Bluesky veröffentlichen: Listen Sie mehrere Kanal-IDs aus list_accounts auf. preview_post prüft den Entwurf gegen jedes ausgewählte Netzwerk.

Nach der Veröffentlichung

  • Status prüfen: list_posts (geben Sie eine postId für einen einzelnen Beitrag an). Es enthält gespeicherte Engagement-Metriken, wo die Netzwerke sie melden.
  • Geplanten Beitrag ändern: update_post. Funktioniert nur, bevor der Beitrag veröffentlicht wurde.
  • Planung aufheben: cancel_post. Verwenden Sie dies, nicht delete_post, für einen Beitrag, der noch nicht veröffentlicht wurde.
  • Veröffentlichten Beitrag löschen: delete_post, nur nach Bestätigung durch den Benutzer. Melden Sie pro Netzwerk, was tatsächlich gelöscht wurde: Instagram-, TikTok-, Threads- und YouTube-Beiträge bleiben online und nur der Benutzer kann sie entfernen.
  • Eine Zustellung ist fehlgeschlagen: retry_delivery wiederholt einen Versuch für ein Netzwerk und verbraucht erneut Kontingent. Es wird bei dauerhaften Fehlern wie einer widerrufenen Verbindung abgelehnt – dann muss der Benutzer unter https://1social.dev/app erneut verbinden.
  • Eine Zustellung ist unknown: Bitten Sie den Benutzer, im Netzwerk nachzusehen. Nur wenn er Ihnen sagt, ob der Beitrag live ist, rufen Sie confirm_delivery mit seiner Antwort auf. Raten Sie niemals und verwenden Sie retry_delivery niemals mit force ohne zu fragen – es könnte eine zweite Kopie veröffentlichen.

Verwandte Skills