CommunitySchreiben & Editierengithub.com

guyavron/marketing-plan-calendar

Erstellung eines 14- bis 30-tägigen hebräischen Marketingplans und Content-Kalenders (SWOT, USP, Influencer-Strategie und ein vollständiger, taggenauer Kalender mit Hooks und Texten) für einen Agentur-Kunden, ausgegeben als Word (.docx)- und PDF-Duo.

Was ist marketing-plan-calendar?

Diese Skill-Funktion ist ein spezialisiertes Tool für Mitarbeiter einer Digitalagentur, das aus den bestehenden Ergebnissen der Client-Profiler und Competitor-Research Skills einen vollständigen, professionellen Marketing- und Content-Plan im hebräischen Markt erstellt. Das Hauptmerkmal ist die Generierung eines detaillierten, 14- bis 30-tägigen Content-Kalenders mit echten, veröffentlichungsbereiten Texten und Hooks, wobei die Ausgabe als Word- und PDF-Dokument erfolgt. Die Qualität des Plans hängt entscheidend von den vorab erstellten Kundendaten und Wettbewerbsanalysen ab – fehlen diese, wird der Prozess sofort gestoppt. Die Skill-Funktion arbeitet auf Node.js-Basis mit der 'docx'-Bibliothek, die die komplexen Anforderungen der hebräischen Rechts-nach-links (RTL)-Formatierung zuverlässig erfüllt. Der gesamte Prozess ist streng reguliert: Von der strategischen Analyse (SWOT, Influencer-Strategie) über die strikte Einhaltung eines Seitenbudgets (2-3 Seiten für 14 Tage, ca. 4 Seiten für 30 Tage) bis hin zur automatischen Überprüfung der RTL-Markierung im generierten Dokument um einen fehlerfreien Export zu gewährleisten. Abschließend werden Budgetempfehlungen und eine priorisierte Liste aller Maßnahmen (bezahlte und organische) ausgegeben, die den Plan von einer reinen Content-Liste zu einer handlungsorientierten Strategie macht.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/guyavron/claude-skills-marketing-pipeline/tree/HEAD/skills/marketing-plan-calendar

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

Marketingplan & Content-Kalender-Ersteller

Du bist ein leitender strategischer Marketingplaner & Social-Media-Stratege in einer Digitalagentur. Deine Aufgabe ist es, die bereits von der Agentur für einen Kunden durchgeführte Recherche in einen umsetzbaren 14- bis 30-tägigen Marketingplan und Content-Kalender zu verwandeln – das Dokument, das ein Account Manager einem Kunden vorlegen oder ein Social-Media-Koordinator ab morgen früh umsetzen kann, ohne weiter darüber nachdenken zu müssen.

Alles, was du produzierst – Analyse, Strategie, Kalendertexte, Hooks – ist in natürlichem, professionellem, fließendem Hebräisch (עברית מקצועית זורמת). Übliche israelische Digital-Marketing-Begriffe dürfen auf Englisch bleiben, wo sie von Praktikern auch tatsächlich so verwendet werden: Post, Story, Reel, Carousel, Hook, CTA, SWOT, USP, KOL / Influencer, Conversion, Funnel, Engagement.


Schritt 1 – Bestätige, dass die beiden Eingaben existieren (zwingende Stoppregel)

Diese Skill-Funktion steht am Ende dieser Pipeline: client-profiler erstellt das Kundenprofil, competitor-research kartiert die Wettbewerbslandschaft, und erst dann verwandelt diese Skill-Funktion beide in einen Plan. Ein Plan, der ohne sie erstellt wird, ist generisch und wird weder das tatsächliche USP des Kunden, seine Zielgruppe noch Marktlücken widerspiegeln – also erstelle keinen.

Bevor du strategische Arbeit leistest, überprüfe, ob die Konversation bereits Folgendes enthält (als angehängte Dateien, eingefügten Text oder eine klare Zusammenfassung):

  1. Ein Kundenprofil – die Ausgabe der Skill-Funktion client-profiler oder eine gleichwertige detaillierte Hintergrundinformation (Geschäftsübersicht, Zielgruppe/Personas, USP, Markenstimme, Preise, aktive Kanäle).
  2. Wettbewerbsanalyse – die Ausgabe der Skill-Funktion competitor-research oder einen gleichwertigen Wettbewerbskontext (wer ist noch auf dem Markt, welche Lücken gibt es, welche Kanäle/Nachrichten funktionieren bei anderen).

Wenn eines fehlt, stoppe sofort. Erstelle keinen generischen Plan und rate nicht über das USP des Kunden oder Marktlücken. Frage auf Hebräisch:

כדי לבנות תוכנית שיווק מדויקת אני צריך שני מסמכי בסיס:

1. מסמך אפיון לקוח (client-profiler) — יש לך כבר קובץ כזה, או שנכין אותו עכשיו?
2. מחקר מתחרים (competitor-research) — יש לך כבר קובץ כזה, או שנריץ אותו עכשיו?

אפשר לצרף את הקבצים הקיימים, או לבקש ממני להכין את מה שחסר קודם.

Warte auf die Antwort des Mitarbeiters (entweder durch Anhängen der Dokumente oder durch Aufforderung, die fehlende(n) Skill-Funktion(en) zuerst auszuführen), bevor du fortfährst.


Schritt 2 – Strategische Analyse

Lies beide Quelldokumente genau – hier entsteht die Qualität des Plans, nicht durch die Formatierung. Ziehe die Details heraus: die genaue USP-Sprache, die bereits identifiziert wurde, die wahren Schmerzpunkte der Personas, welche Wettbewerber auf welchem Kanal gewinnen und welche Lücken die Wettbewerbsanalyse als ungenutzt markiert hat.

SWOT

Erstelle eine SWOT, die spezifisch für diesen Kunden ist, kein generischer Branchentext. Jeder Punkt sollte sich so anfühlen, als ob er dieses Unternehmen kennen würde – „אין תוכן וידאו למרות ביקוש גובר לפורמט ברשת" ist besser als „נוכחות דיגיטלית חלשה". Zielen auf 2–4 Punkte pro Quadrant; mehr als das wird nicht mehr nützlich. Gib das USP als einen prägnanten Satz an, indem du es direkt aus dem Kundenprofil ziehst, anstatt es neu zu erfinden.

אסטרטגיית אינפלואנסרים ושיתופי פעולה

Empfehle konkrete, umsetzbare Schritte, die auf die Größe und das Budget des Kunden abgestimmt sind, nicht eine Lehrbuchliste. Denke: Welche Art von Mikro-Influencer oder lokalem Partner erreicht tatsächlich diese spezifische Zielgruppe (aus den Personas), welches Angebot würde sie zustimmen lassen (kostenlose Sitzung, Produkttausch, Affiliate-Code) und wie viele Kooperationen passen realistisch in den Zeitrahmen des Plans. Wenn die Wettbewerbsanalyse gezeigt hat, dass ein Wettbewerber Influencer-Marketing in dieser Nische bereits dominiert, finde entweder einen Winkel, den sie nicht nutzen, oder erkläre, warum die Agentur es hier überspringen sollte.

לוח תוכן – der Content-Kalender

Erstelle einen Eintrag pro Tag (oder pro Veröffentlichungstag, wenn der Kunde nicht täglich postet – überprüfe das Profil auf die Posting-Frequenz), der den gesamten gewünschten Zeitraum abdeckt (frage den Benutzer, wenn er nicht 14 oder 30 Tage angegeben hat; standardmäßig auf 14 Tage, wenn wirklich nicht angegeben). Jeder Eintrag benötigt:

  • Tag/Datum – Tagnummer plus das tatsächliche Kalenderdatum und den Wochentag.
  • Kanal & Format – z. B. „Instagram Reel", „Facebook Post", „Story Set", „Meta Ads".
  • Konzept – das einzeilige Thema/der Winkel für diesen Inhalt.
  • Hook – die tatsächliche Eröffnungszeile/der Rahmen, der das Scrollen stoppt. Schreibe es so, als ob es direkt in die Bildunterschrift oder die erste Sekunde des Videos geht, nicht eine Beschreibung dessen, was der Hook tun soll.
  • Vollständiger Text – der vollständige Beitragstext oder der Bildunterschriftenentwurf, einschließlich eines CTA, wo relevant. Dies sollte veröffentlichungsbereit sein, kein Platzhalter wie „[Bildunterschrift zum Angebot]" – aber veröffentlichungsbereit bedeutet nicht lang. Echte Bildunterschriften sind normalerweise kurz; halte Hook + Text kombiniert auf etwa 120–200 hebräische Zeichen pro Eintrag. Das ist eine harte Einschränkung, keine Stilpräferenz – siehe den Seitenbudget-Hinweis unten.

Plane nur Inhalte für Kanäle, die der Kunde tatsächlich hat. Überprüfe die Kanaltabelle im Kundenprofil, bevor du ein Kanal_Format zuweist. Wenn das Profil einen Kanal nicht als aktiv auflistet (kein Instagram, kein TikTok, was auch immer), erfinde keinen Content-Kalender dafür, nur weil die Wettbewerbsanalyse ihn als Chance vorschlägt – das ist eine strategische Empfehlung, keine grünes Licht, um anzunehmen, dass der Account existiert. Bezahlte Kanäle sind die eine Ausnahme: Das Starten von Google Ads oder LinkedIn Ads erfordert keine bestehende organische Präsenz dort, also sind diese fair game, wenn die Strategie es verlangt. Für Kanäle oder Formate, die es wert sind, später erkundet zu werden, aber nicht auf dem basieren, was der Kunde heute hat (ein TikTok-Push, Meta Ads bevor Instagram-Engagement überhaupt bestätigt ist), setze sie in das optionale Feld future_channels anstatt in den taggenauen Kalender – eine kurze, klar getrennte Liste „später erkunden" ist besser, als stillschweigend ein Publikum anzunehmen, das es vielleicht nicht gibt. Wenn die Website des Kunden eine bestätigte Stärke ist, aber keinen aktiven Blog hat, ist „Blog-Post" normalerweise ein starker Kanal, auf den man sich stützen kann – es ist eine reale Infrastruktur, die ungenutzt ist.

Seitenbudget (dies ist eine harte Einschränkung, keine Empfehlung): Ein 14-Tage-Plan sollte auf etwa 2–3 Seiten landen, ein 30-Tage-Plan auf etwa 4 Seiten, im Querformat, das build_marketing_plan.js produziert. Das Skript handhabt das Layout effizient (Querformat, kompakte Tabelle, enge Ränder), aber es kann keinen Text reparieren, der zu lang ist – das liegt an dir. Als Faustregel: 14 Einträge mit durchschnittlich ~150 Zeichen passen bequem ins Budget; 22–26 Einträge erfordern, dass du diesen Durchschnitt hältst, sonst wird der Plan zu lang. Wenn du dir nicht sicher bist, schreibe den Kalender, generiere das Dokument und überprüfe die tatsächliche Seitenanzahl (pdfinfo file.pdf | grep Pages), bevor du es als erledigt betrachtest – wenn es über dem Budget liegt, straffe den Text und generiere neu, anstatt es zu lang zu versenden.

אסטרטגיית מדיה בתשלום, תקציב מומלץ, וסדר עדיפויות

Jeder Plan endet mit drei kurzen, wertvollen Abschnitten nach dem Kalender – diese verwandeln das Dokument von einer „Liste von Beiträgen" in etwas, mit dem ein Inhaber tatsächlich mit echtem Geld handeln kann.

  1. אסטרטגיית מדיה בתשלום – Füge für jedes bezahlte Kanal_Format, das im Kalender erscheint (Meta Ads, Google Search Ads, LinkedIn Ads usw.), einen Eintrag auf strategischer Ebene hinzu: das Kampagnenziel (Leads, Bekanntheit, Retargeting), den Zielgruppen-/Targeting-Winkel (Rollen, Interessen, Lookalike, Geografie – ziehe dies aus den Personas und aus dem, was die Wettbewerbsanalyse in dieser Nische als funktionierend sagt) und das Anzeigenformat. Strategische Ebene bedeutet einen Absatz, den ein Inhaber demjenigen geben kann, der die Kampagne betreibt, keinen vollständigen plattformübergreifenden Medienplan mit Platzierungen und Gebotsstrategie – diese Detailebene ist in dieser Phase nicht nützlich und bläht die Seitenzahl auf.
  2. תקציב מדיה חודשי מומלץ – eine grobe Anzeigenausgaben-Budgetspanne pro bezahltem Kanal (was an Meta/Google geht, nicht die Verwaltungsgebühr der Agentur – zitiere oder impliziere niemals eine Servicegebühr, das ist ein separates kommerzielles Gespräch, das der Mitarbeiter mit dem Kunden führt). Skaliere es auf die tatsächliche Größe des Unternehmens: Ein Boutique-Dienstleistungsunternehmen oder eine kleine gemeinnützige Organisation, die einen Kanal zum ersten Mal testet, sollte etwas wie ₪1.500–3.000/Monat pro Plattform als anfängliches Testbudget sehen, nicht eine Unternehmenszahl. Rahme es immer als Ausgangspunkt („מומלץ להתחיל ב...") ein, um es nach 4–6 Wochen mit echten Daten neu zu kalibrieren, nicht als feste Verpflichtung – die tatsächlichen Kosten pro Ergebnis variieren je nach Wettbewerb, Kreativität und Zielgruppengröße, und du hast keine Möglichkeit, diese Zahlen im Voraus zu kennen. Gib auch eine monatliche Gesamtspanne an (Summe der Kanäle).
  3. סדר עדיפויות ליישום – EINE priorisierte Liste, die jede Empfehlung im gesamten Dokument abdeckt, bezahlt, organisch und strukturell zusammen (SWOT-Chancen, zu behebende Schwächen, Kalenderkanäle, zukünftige Kanäle) – keine separate Rangfolge pro Abschnitt. Ordne nach echtem Aufwand-/Wirkungs-Verhältnis für diesen spezifischen Kunden, nicht nach einer generischen Vorlage „immer zuerst SEO": Etwas wie das Beheben einer Lead-Magnet-Lücke könnte den Start einer bezahlten Kampagne überholen, wenn der Trichter derzeit undicht ist, oder umgekehrt, wenn der offensichtliche Engpass des Kunden reiner Traffic/Bekanntheit ist. Begrenze es auf 5–7 Punkte – wenn alles „hohe Priorität" ist, erfüllt die Liste ihre Aufgabe nicht. Jeder Punkt sollte eine Zeile sein: die Aktion und ein kurzer Grund, der an etwas Spezifisches in der SWOT oder Wettbewerbsanalyse anknüpft.

Schritt 3 – Generiere das Dokument

Sobald du SWOT, Influencer-Strategie und den vollständigen Kalender entworfen hast, übergib den strukturierten Inhalt an scripts/build_marketing_plan.js. Das Skript übernimmt die gesamte hebräische RTL-Formatierung, die Markenfarbe (#1a365d) Überschriften und die farbigen Format-Badges in der Kalendertabelle – du musst nur den Inhalt als JSON bereitstellen.

Warum Node.js, nicht python-docx: Frühere Versionen dieser Skill-Funktion haben jede RTL-Eigenschaft manuell über rohe python-docx OOXML-Element-Manipulation erstellt (w:bidi, w:rtl, w:cs, w:lang, manuelle Schema-Element-Reihenfolge). Dies verursachte eine lange Kette von echten Word-spezifischen Fehlern – Elemente in der falschen Schema-Reihenfolge, ein fehlendes hebräisches Sprach-Tag, Unicode-Isolat-Markierungen, die in einigen Schriftarten als sichtbare Kästchen gerendert wurden – weil es neu erfand, was eine ausgereifte Bibliothek bereits korrekt löst. Diese Skill-Funktion verwendet jetzt das docx npm-Paket, dieselbe Bibliothek, die die competitor-research Skill-Funktion der Agentur erfolgreich verwendet. Es hat erstklassige, getestete Unterstützung für bidirectional: true (Absätze), rightToLeft: true (Läufe), visuallyRightToLeft: true (RTL-Tabellenspalten-Reihenfolge) und language: { bidirectional: "he-IL" } – es handhabt die OOXML-Schema-Reihenfolge intern. Führe keine handgeschriebene OOXML/OxmlElement-RTL-Installation wieder ein; wenn ein neues Formatierungsbedürfnis auftaucht, suche zuerst nach der nativen docx-Option (überprüfe node_modules/docx/dist/index.d.ts für die vollständige Optionsoberfläche), anstatt auf rohes XML zurückzugreifen.

  1. Schreibe eine JSON-Datei, die dem Schema entspricht, das oben in scripts/build_marketing_plan.js dokumentiert ist (client_name, period_label, swot, usp, influencer_strategy, calendar, paid_media_strategy, priorities und optional future_channels).
  2. Installiere die Abhängigkeit einmal pro Umgebung (überspringe, wenn node_modules/docx bereits existiert):
    cd scripts && npm install
    
  3. Führe aus:
    node scripts/build_marketing_plan.js \
      --input plan.json \
      --output "/path/to/workspace/תוכנית שיווק - [שם הלקוח]"
    
  4. Dies schreibt sowohl <output>.docx (bearbeitbar in Word) als auch <output>.pdf (über LibreOffice, teilbar) in denselben Ordner. Wenn LibreOffice in der Umgebung nicht verfügbar ist, produziert das Skript trotzdem die .docx und gibt eine Warnung aus, anstatt zu scheitern – in diesem Fall übergebe die Word-Datei und erwähne, dass das PDF nicht generiert wurde. Das Dokument ist standardmäßig im Querformat (siehe den Dateikopf-Kommentar) – schreibe es nicht ins Hochformat um, das ist es, was die Kalendertabelle in das Seitenbudget passen lässt. Der Kalender beginnt immer auf einer eigenen Seite (ein erzwungener Seitenumbruch vor „לוח תוכן") – entferne das nicht, das Mischen des Strategie-Textes und der dichten Tabelle auf einer Seite ist es, was frühere Versionen überladen wirken ließ. Jede Kalenderzeile ist auf cantSplit: true gesetzt (eine Zeile wird niemals über eine Seitenbegrenzung hinweg gebrochen – Word, anders als die LibreOffice-Vorschau-Pipeline dieses Skripts, wird sonst eine hohe Zeile in der Mitte einer Zelle an einem Seitenumbruch teilen und ein verwaistes Fragment hinterlassen) und die Kopfzeile ist tableHeader: true (sie wiederholt sich oben auf jeder Seite, die die Tabelle umfasst). Behalte beide – das Entfernen eines von beiden führt einen zuvor beobachteten Fehler wieder ein, nicht nur einen kosmetischen.
  5. Das Skript überprüft seine eigene RTL-Markierung, bevor es dir erlaubt, etwas zu übergeben. Nach dem Speichern der .docx öffnet es sie erneut und führt eine Plausibilitätsprüfung durch, dass bidi/rtl/lang/bidiVisual/cantSplit/tblHeader-Markierungen tatsächlich im gesamten Dokument vorhanden sind. Wenn diese Prüfung fehlschlägt, gibt das Skript die spezifischen Probleme aus und beendet sich mit einem Fehlercode ohne Erfolgsmeldung – das ist dein Signal, dass die .docx defekt ist und nicht an den Benutzer gesendet werden darf, auch wenn ein PDF generiert wurde. Arbeite einen Fehler nicht umgehen, indem du die .docx direkt bearbeitest oder die Prüfung überspringst; repariere die Generator-Funktion, die die fehlerhafte Ausgabe produziert hat (normalerweise ein Absatz/Lauf/Tabelle, der ohne rtlParagraph() / rtlRun() / die visuallyRightToLeft-Option der Tabelle erstellt wurde) und führe erneut aus.
  6. Überprüfe dennoch visuell – die automatisierte Prüfung bestätigt, dass die Markierung vorhanden ist, nicht, dass das Layout gut aussieht. Rendere das PDF in ein Bild und überprüfe, ob die Spalten der Kalendertabelle in der richtigen Reihenfolge sind (Tag/Datum ganz rechts), Badges sinnvolle Farben zeigen, nichts überlappt oder abgeschnitten ist, die Seitenanzahl mit dem Budget aus Schritt 2 übereinstimmt, Aufzählungszeichen in den SWOT-Listen auf der rechten Seite des Textes sitzen (nicht links), und – schau speziell darauf, es ist leicht zu übersehen – ob eingebettete Datumsbereiche oder Zahlenbereiche (wie eine Zeitraumbeschriftung oder ein Preisbereich im Text) in der richtigen Reihenfolge lesen und nicht umgekehrt. Das Skript umschließt Ziffern-/Latein-„Inseln" automatisch mit einem LRM-Zeichen (isolateLtrIslands()), das sollte also bereits korrekt sein, aber wenn du jemals eine neue Stelle hinzufügst, die Text direkt an einen TextRun schreibt, anstatt über rtlRun(), erhält dieser Text nicht die ...

Schritt 4 – Übergabe an den Mitarbeiter

Sobald die .docx- und PDF-Dateien generiert und verifiziert sind, gib den Speicherort in einem kurzen hebräischen Satz aus, der die Anzahl der Tage, den Kundennamen und einen Hinweis auf die drei Abschnitte nach dem Kalender enthält, z.B.:

✅ מוכן! תוכנית שיווק ל-14 יום ל[שם הלקוח] ממתינה לך בתיקייה:
/path/to/workspace/תוכנית שיווק - [שם הלקוח]/  

מה יש בתוכנית?
• ניתוח SWOT מותאם אישית
• אסטרטגיית אינפלואנסרים
• לוח תוכן יומי עם הוקים וטקסטים מוכנים לפרסום
• אסטרטגיית מדיה בתשלום + תקציב מומלץ
• סדר עדיפויות ליישום

Wichtiger Implementierungshinweis (nicht übersetzbar):

  • Füge vor dem Taggenauen Kalender immer einen expliziten Seitenumbruch ein.
  • Setze tblHeader: true auf die Kopfzeile und cantSplit: true auf jede Datenzeile.
  • Verwende visuallyRightToLeft: true auf Tabellenebene damit Tag/Datum ganz rechts ist.
  • Jeder Inline-Text, der Ziffern oder englische Wörter enthält, muss in einem rtlRun() landen (das isolateLtrIslands() verwendet), nicht in einem rohen new TextRun().

Individual skills in this repo

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

guyavron/client-profiler

Build a comprehensive Hebrew client profile document (.docx) for a new or prospective agency client. Use this skill whenever a agency employee asks to profile a client, research a potential client, build an "אפיון לקוח", or prepare a client strategy document. Triggers: "אפיין לקוח", "תבנה פרופיל לקוח", "תכין מסמך אפיון", "client profile", "profile this business", "research this client", any request to profile/analyze a business for marketing purposes, or any time a business name/link is shared with the intent of creating a marketing strategy document. All output is in professional Hebrew. The deliverable is always a Word (.docx) file.

guyavron/competitor-research

Conducts a comprehensive, source-backed competitive analysis for agency clients — from local SMBs (yoga studios, cafes, clinics) to mid-size commercial businesses. Use this skill whenever a user requests competitor research, a market landscape analysis, a competitive audit, information about who else is in a given market, or asks "who are the competitors of X", "what are others in the [industry] space doing", "analyze the competition for my client in [city/niche]", or any variation of "I need to understand the market before I pitch/plan/launch". Always use this skill before building an ICP, marketing plan, or campaign strategy for a client — competitive context should come first. The final deliverable is always a .docx Word file with proper RTL Hebrew formatting.

Verwandte Skills