skills/linkedin-engagement/SKILL.md
LinkedIn Content-Erstellung, Engagement und Monitoring für B2B/Manufacturing. Regionale Anpassung (US/EU/Asien), Artikel mit Teasern, Bildgenerierung via Gemini, Kommentar-Monitoring.
npx skillsauth add svenja-dev/claude-code-skills linkedin-engagementInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
LinkedIn-Profil: Lara Knuth (echtes Profil) Unternehmen: fabrikIQ / Dresden AI Insights Fokus: MES, OEE, Fertigungsdatenanalyse, KMU-Digitalisierung
Ziel-Regionen:
Fokus-Hashtags:
Zweck: Generiert regionsspezifischen LinkedIn-Post
Parameter:
region: us | eu | asia (default: eu)type: text | article-teaser | poll (default: text)image: true | false (default: false)Workflow:
Ausgabeformat:
## LinkedIn Post [Region: EU]
### Post-Text:
[Generierter Text]
### Hashtags (5):
#Hashtag1 #Hashtag2 ...
### Bild-Prompt (falls angefordert):
[Gemini-Prompt für Bildgenerierung]
### Beste Posting-Zeit:
[Region-spezifische Empfehlung]
### Checkliste:
- [ ] Kein AI-Slop?
- [ ] Erste 2 Zeilen = Hook?
- [ ] CTA vorhanden?
Zweck: Erstellt LinkedIn-Artikel MIT Teaser-Post
Workflow:
Ausgabeformat:
## LinkedIn Artikel: [Titel]
### Teaser-Post (für Feed):
[Hook-Text, max 300 Zeichen]
[Link zum Artikel]
#Hashtags
---
### Artikel-Inhalt:
**Titel:** [SEO-optimiert]
**Intro:** [Hook, 2-3 Sätze]
**Hauptteil:**
[Strukturierter Content mit Zwischenüberschriften]
**Fazit:** [Call-to-Action]
---
### Header-Bild Prompt:
[Gemini-Prompt für 1200x627 Header]
### SEO-Daten:
- Titel: [max 60 Zeichen]
- Beschreibung: [max 160 Zeichen]
- Keywords: [...]
Zweck: Generiert Value-First Kommentar für fremden Post
Workflow:
Regeln:
Ausgabeformat:
## Kommentar für: [Post-Titel/Autor]
**Autor-Region:** [geschätzt: US/EU/Asia]
**Ton-Empfehlung:** [Direct/Sachlich/Respektvoll]
### Vorgeschlagener Kommentar:
[Text, 50-150 Wörter]
### Alternative (kürzer):
[Text, 20-50 Wörter]
Zweck: Scannt relevante Hashtags/Influencer nach Engagement-Opportunities
Workflow:
Ausgabeformat:
## LinkedIn Scan: [Datum]
### Engagement-Opportunities (Top 10)
1. **[Autor]** - [Titel/Hook]
Reichweite: [geschätzt] | Engagement: [Likes/Comments]
Region: [US/EU/Asia]
→ Kommentar-Empfehlung: [Kurz-Idee]
2. ...
### Trending Topics diese Woche:
- [Topic 1]: [Warum relevant]
- [Topic 2]: ...
Zweck: Überwacht eigene Posts auf neue Kommentare, schlägt Antworten vor
Workflow:
Ausgabeformat:
## LinkedIn Monitor: [Datum]
### Neue Kommentare (seit letztem Check)
**Post:** [Post-Titel/Hook]
**Gepostet:** [Datum]
**Aktuelle Stats:** ♥ [Likes] | 💬 [Comments] | 🔄 [Shares]
#### Neuer Kommentar von [Name] ([Position]):
> "[Kommentar-Text]"
**Autor-Analyse:**
- Region: [US/EU/Asia]
- Relevanz: [Potentieller Lead/Peer/Troll]
- Ton: [Positiv/Neutral/Kritisch]
**Antwort-Vorschlag:**
[Generierte Antwort, regional angepasst]
**Alternative (kürzer):**
[Kürzere Version]
---
### Antwort-Priorität:
1. 🔴 DRINGEND: [Kritische Fragen, potentielle Leads]
2. 🟡 WICHTIG: [Fachliche Diskussionen]
3. 🟢 OPTIONAL: [Einfache Zustimmungen]
Zweck: Generiert LinkedIn-optimiertes Bild via Gemini
Integration mit gemini-image-gen Skill:
# Verwendet GEMINI_API_KEY aus .env.local
from google import genai
from google.genai import types
from dotenv import load_dotenv
load_dotenv('.env.local')
client = genai.Client(api_key=os.environ.get("GEMINI_API_KEY"))
# Modelle (funktionieren in DE!):
# - gemini-2.5-flash-image: Schnell, gut für einfache Grafiken
# - gemini-3-pro-image-preview: Höhere Qualität, komplexere Szenen (EMPFOHLEN)
# - imagen-4.0-generate-001: Fotorealistische Bilder
response = client.models.generate_content(
model='gemini-3-pro-image-preview', # FUNKTIONIERT IN DEUTSCHLAND
contents=[prompt],
config=types.GenerateContentConfig(
response_modalities=['IMAGE']
)
)
LinkedIn Bild-Formate: | Typ | Größe | Verwendung | |-----|-------|------------| | Post-Bild | 1200x1200 | Quadratisch, Feed-optimiert | | Artikel-Header | 1200x627 | 1.91:1 Ratio | | Carousel-Slide | 1080x1080 | PDF-Upload |
Optimierte Prompts für Manufacturing:
"Clean, professional infographic showing [TOPIC].
Modern flat design, blue and white color scheme,
minimal text, manufacturing/industrial context.
LinkedIn business style, 1200x1200px"
Ausgabeformat:
## LinkedIn Bild generiert
**Prompt verwendet:**
[Optimierter Prompt]
**Modell:** gemini-2.5-flash-image
**Format:** 1200x1200 (Post) / 1200x627 (Article)
**Datei:** [Pfad zur generierten Datei]
**Verwendung:**
- [ ] Als Post-Bild hochladen
- [ ] Als Artikel-Header
- [ ] Für Carousel (weitere Slides nötig?)
Zweck: Zeigt Performance-Übersicht der geposteten Inhalte
Metriken:
Ausgabeformat:
## LinkedIn Analytics: [Zeitraum]
### Top Performer
| Post | Datum | 👁 Impressions | ♥ Likes | 💬 Comments | ER% |
|------|-------|---------------|---------|-------------|-----|
| [Titel] | [Datum] | [X] | [Y] | [Z] | [%] |
### Insights:
- Beste Posting-Zeit: [Tag/Uhrzeit]
- Beste Content-Art: [Text/Artikel/Poll]
- Beste Hashtags: [Top 3]
### Empfehlungen:
- [Konkrete Handlungsempfehlung basierend auf Daten]
Stil: Direct, Story-driven, Personal Brand Sprache: Englisch Hashtags: 3-5, am Ende
Struktur:
[Hook - kontrovers oder überraschend, 1 Zeile]
[Leerzeile - wichtig für Mobile!]
[Personal Story mit konkreten Zahlen, 2-3 Sätze]
[Insight/Lesson, Bullet Points OK aber nicht genau 3]
[Vulnerable Admission - was ging schief]
[Soft CTA - Frage an Community]
#Manufacturing #MES #OEE #DigitalTransformation
Verboten:
Funktioniert:
Stil: Sachlich, Fakten-basiert, Understatement Sprache: Deutsch oder Englisch (je nach Zielgruppe) Hashtags: 3-5, DE-Varianten
Struktur:
[Sachliche Eröffnung - Thema klar benennen]
[Kontext mit Daten/Zahlen aus echten Projekten]
[Pragmatischer Insight - was funktioniert, was nicht]
[Optional: Normen-Referenz (DIN, ISO, VDI)]
[Offene Frage - keine rhetorische]
#Fertigung #OEE #Industrie40 #MES #Digitalisierung
Verboten:
Funktioniert:
Stil: Respektvoll, Beziehungs-first, indirekt Sprache: Englisch (international) Hashtags: 3-4, konservativ
Struktur:
[Höfliche Einleitung - Beobachtung, nicht Belehrung]
[Gemeinsames Lernen - "I noticed...", "I was impressed by..."]
[Eigene Erfahrung als Angebot, nicht als Expertise]
[Respektvolle Frage - Interesse an lokaler Perspektive]
#Manufacturing #Industry40 #QualityManagement
Verboten:
Funktioniert:
Typische KI-Signale die VERMIEDEN werden müssen:
| Merkmal | KI-typisch | Menschlich | |---------|-----------|------------| | Satzlänge | Gleichmäßig 15-20 Wörter | Variiert stark: 3 bis 40+ Wörter | | Absätze | Identische Länge | Chaotisch, unterschiedlich | | Satzzeichen | Perfekt, viele Em-Dashes (—) | Gelegentlich falsch, Kommafehler | | Vokabular | "Furthermore", "Moreover", "Delve" | Umgangssprache, Füllwörter | | Struktur | Immer Hook-Body-CTA | Manchmal kein Fazit, abrupt | | Emotion | "I'm excited", "I'm thrilled" | Nüchtern oder echt frustriert | | Listen | Exakt 3 oder 5 Punkte | 2, 4, 7 - ungerade Zahlen OK | | Formatierung | Perfekte Markdown-Struktur | Inkonsistent |
Gezielt menschliche Marker setzen (subtil, nicht übertrieben):
Rechtschreibung/Tippfehler (max 1-2 pro Post, natürlich):
Zeichensetzung-Varianten:
Grammatik-Abweichungen (natürlich, nicht falsch):
Strukturelle Unperfektion:
KEINE dieser Elemente in Posts verwenden:
ERLAUBT (sehr sparsam):
Deutsche KI-Marker:
Englische KI-Marker:
Em-Dash Überverwendung (—):
| KI-Phrase | Menschliche Alternative | |-----------|------------------------| | "I'm thrilled to announce" | "Endlich fertig:" oder direkt ins Thema | | "Here are 5 key takeaways" | "Was hat funktioniert?" | | "Let me share my journey" | "Kurze Geschichte dazu:" | | "This changed everything" | "Hat geholfen" | | "You won't believe" | "Überraschend war:" | | "In der heutigen Zeit" | "Momentan" / "Gerade" / weglassen | | "Zusammenfassend" | "Also:" / "Heißt:" | | "Darüber hinaus" | "Außerdem" / "Und noch:" | | "Key learnings" | "Was wir gelernt haben" | | "Moving forward" | weglassen oder "als nächstes" | | "It's worth noting" | einfach direkt sagen | | "I'm excited to" | weglassen, direkt zur Sache |
KI-generiert (SCHLECHT):
I'm thrilled to announce that we've successfully implemented a new OEE tracking system!
Here are 5 key takeaways:
Punkt 1 Real-time visibility
Punkt 2 23% efficiency gain
Punkt 3 Data-driven decisions
Punkt 4 Seamless integration
Punkt 5 Team empowerment
This truly changed everything for us. What's your experience with OEE?
#Manufacturing #Industry40 #OEE #DigitalTransformation #SmartFactory
Menschlich geschrieben (GUT):
Letzte Woche endlich unser OEE-Tracking live geschaltet.
Ehrlich gesagt war der Weg dahin holprig - erste Excel-Version hat keiner benutzt, zu kompliziert. Jetzt simpler und die Schichtleiter tragen tatsächlich ein.
23% weniger Stillstand seit dem. Ob das so bleibt weiß ich nicht, Anfangs-Effekt vielleicht
Was mich interessiert: wie kriegt ihr eure Leute dazu, sowas auch wirklich zu nutzen.
#Fertigung #OEE #MES
Phrasen:
Strukturen:
Emojis:
Sprachlich:
Inhaltlich:
Strukturell:
| Reichweite | Hashtags | |------------|----------| | Hoch (>100k) | #Industrie40 #Digitalisierung #KMU | | Mittel (10-100k) | #Fertigung #OEE #MES #Produktion | | Nische (<10k) | #Qualitaetssicherung #Maschinendaten #SmartFactory |
Empfehlung: 1 Hoch + 2 Mittel + 2 Nische = 5 Hashtags
| Reichweite | Hashtags | |------------|----------| | Hoch (>500k) | #Manufacturing #Industry40 #DigitalTransformation | | Mittel (50-500k) | #SmartFactory #LeanManufacturing #OEE | | Nische (<50k) | #MES #ManufacturingExcellence #ShopFloor |
| Region | Beste Tage | Beste Zeiten (lokal) | |--------|-----------|---------------------| | DACH | Di-Do | 08:00-09:00, 17:00-18:00 | | USA East | Di-Do | 08:00-10:00, 17:00-18:00 | | USA West | Di-Do | 07:00-09:00, 16:00-17:00 | | UK | Di-Do | 08:00-09:00, 17:00-18:00 | | Asien | Mi-Fr | 09:00-11:00 (lokale Zeit) |
[Provokante These oder überraschende Zahl]
[1 Satz Kontext]
[Neugier wecken: "Im Artikel zeige ich..." oder "3 Dinge, die wir gelernt haben:"]
85% der OEE-Implementierungen liefern nicht den erwarteten ROI.
Wir haben 12 Projekte analysiert und die 3 häufigsten Fehler identifiziert.
Im Artikel: Konkrete Zahlen und wie ihr sie vermeidet 👇
[LINK]
#OEE #Manufacturing #Fertigung
| Datum | Typ | Titel/Hook | Region | URL | Status | |-------|-----|------------|--------|-----|--------| | [Datum] | Post/Artikel | [Kurztitel] | EU/US | [URL] | ✅ Gepostet |
| Datum | Post | 👁 Impressions | ♥ Likes | 💬 Comments | 🔄 Shares | ER% | |-------|------|---------------|---------|-------------|-----------|-----| | [Datum] | [Titel] | [X] | [Y] | [Z] | [W] | [%] |
| Post | Neuer Kommentar von | Inhalt (Kurz) | Beantwortet? | |------|--------------------|--------------:|--------------| | [Titel] | [Name] | [Kurzzitat] | ⏳/✅ |
# Environment Variable setzen
export GOOGLE_AI_API_KEY="your-key-here"
# Dependencies
pip install google-genai pillow python-dotenv
Infografik (OEE/Daten):
Professional infographic showing OEE calculation breakdown.
Clean flat design, blue (#0077B5 LinkedIn blue) and white.
Icons for Availability, Performance, Quality.
Minimal text, data visualization style.
1200x1200px, white background.
Header für Artikel:
Modern manufacturing facility abstract visualization.
Digital data overlay, blue tones, professional look.
No text, suitable for article header.
1200x627px, LinkedIn article format.
Carousel-Slide:
Single slide for LinkedIn carousel about [TOPIC].
Large bold headline area, clean infographic style.
Blue and white, professional B2B manufacturing.
1080x1080px square format.
/linkedin-image [Thema]LinkedIn-Profil:
Authentizitäts-Elemente:
Schreibstil LinkedIn:
Problem: WebFetch wird von vielen Plattformen blockiert Lösung: Browser-Automatisierung oder curl mit User-Agent
| Aspekt | Reddit | LinkedIn |
|--------|--------|----------|
| Öffentliche API | ✅ /new.json | ❌ Keine |
| Scraping erlaubt | ⚠️ Rate-Limited | ❌ Streng verboten (ToS) |
| Auth erforderlich | Nur für Posts | Für fast alles |
| Bot-Detection | Moderat | Aggressiv |
Vorteile:
Schritt-für-Schritt Workflows:
1. tabs_context_mcp (createIfEmpty: true)
→ Prüft ob Tab-Gruppe existiert
2. tabs_create_mcp
→ Neuen Tab erstellen
3. navigate (url: "https://www.linkedin.com/feed/hashtag/manufacturing")
→ Hashtag-Feed öffnen
4. browser_wait_for (time: 3)
→ Warten bis Feed geladen
5. read_page (tabId: X, filter: "all")
→ Accessibility-Tree extrahieren
6. find (query: "post with reactions", tabId: X)
→ Posts mit Engagement finden
7. Analyse und Kommentar-Empfehlungen generieren
1. navigate (url: "[POST-URL]")
→ Direkt zum Post navigieren
2. read_page (tabId: X)
→ Post-Inhalt und Autor extrahieren
3. get_page_text (tabId: X)
→ Volltext für Kontext
4. Kommentar generieren (siehe Templates)
5. find (query: "comment input field", tabId: X)
→ Kommentarfeld finden (für manuelle Eingabe)
1. navigate (url: "https://www.linkedin.com/in/lara-knuth/recent-activity/")
→ Eigene Aktivitäten öffnen
2. read_page → Posts mit Kommentar-Counts finden
3. Für jeden Post mit neuen Kommentaren:
- navigate → Post öffnen
- read_page → Kommentare extrahieren
- Antwort-Vorschläge generieren
1. navigate (url: "https://www.linkedin.com/analytics/")
→ Analytics-Dashboard öffnen
2. computer (action: "screenshot", tabId: X)
→ Screenshot für visuelle Analyse
3. read_page → Zahlen extrahieren
4. Performance-Report generieren
Wenn Claude-in-Chrome nicht verfügbar:
User: Hier ist der Post-Inhalt: [PASTE]
Claude: Analysiert und generiert Kommentar
Funktioniert NUR für öffentliche Artikel (nicht Feed):
# Öffentlicher LinkedIn-Artikel (ohne Login sichtbar)
curl -s -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" \
"https://www.linkedin.com/pulse/[article-slug]" | head -1000
Limitierung: Feed-Posts, Kommentare, Analytics = NICHT zugänglich ohne Login
# Prüfen ob LinkedIn-Token vorhanden
echo $LINKEDIN_ACCESS_TOKEN
# API-Aufruf (nur mit gültiger OAuth-App)
curl -H "Authorization: Bearer $LINKEDIN_ACCESS_TOKEN" \
"https://api.linkedin.com/v2/me"
Status: Aktuell NICHT konfiguriert. LinkedIn API erfordert:
| Command | Beste Methode | Fallback |
|---------|--------------|----------|
| /linkedin-scan | Claude-in-Chrome | Manuell (User zeigt Feed) |
| /linkedin-comment [url] | Claude-in-Chrome → URL öffnen | User pastet Post-Text |
| /linkedin-monitor | Claude-in-Chrome → eigene Posts | User berichtet Kommentare |
| /linkedin-analytics | Claude-in-Chrome → Analytics-Tab | User teilt Screenshot |
Post-Inhalt extrahieren:
// Via mcp__claude-in-chrome__javascript_tool
const posts = document.querySelectorAll('[data-urn*="activity"]');
const postData = Array.from(posts).map(p => ({
author: p.querySelector('.update-components-actor__name')?.innerText,
text: p.querySelector('.feed-shared-update-v2__description')?.innerText,
reactions: p.querySelector('.social-details-social-counts__reactions-count')?.innerText
}));
return JSON.stringify(postData, null, 2);
Hashtag-Feed laden:
// mcp__claude-in-chrome__navigate
url: "https://www.linkedin.com/feed/hashtag/manufacturing"
Der Skill generiert nur Vorschläge. Das tatsächliche Posten/Kommentieren:
development
Protects design and theme files from unintended changes. Locks tailwind.config, global CSS, and theme variables. Requires explicit confirmation before modifying UI components. Activate on changes to CSS, theme config, or layout components.
tools
Proactive token budget assessment and task chunking strategy. Use this skill when queries involve multiple large file uploads, requests for comprehensive multi-document analysis, complex multi-step workflows with heavy research (10+ tool calls), phrases like "complete analysis", "full audit", "thorough review", "deep dive", or tasks combining extensive research with large output artifacts. This skill helps assess token consumption risk early and recommend chunking strategies before beginning work.
development
Erzwingt striktes Test-Driven Development mit Red-Green-Refactor Zyklus. Blockiert Code-Generierung ohne vorherige Tests. Dokumentiert 13 ungueltige Rationalisierungen. Aktivieren bei neuen Features, Bug Fixes, Refactoring.
development
Enforces TypeScript best practices when writing code. Automatically enables strict typing for TypeScript projects, prevents `any` usage, and recommends generic constraints. Activate on TS/TSX files, new features, code reviews.