| name | linkedin-profil-optimierung |
|---|---|
| description | Professionelle LinkedIn-Profilanalyse mit gewichtetem Scoring (0–100), Headline/About-Optimierung, Banner-Erstellung, Content-Strategie und Thought-Leader-Positionierung. Verwende diesen Skill immer wenn ein LinkedIn-Profil analysiert, bewertet, optimiert oder für ein Top Voice Badge vorbereitet werden soll. Auch bei Anfragen wie "mein LinkedIn verbessern", "Profil-Score", "LinkedIn Headline optimieren", "About-Sektion schreiben", "LinkedIn Banner erstellen", "Content-Strategie LinkedIn", "SSI verbessern", "Top Voice werden", "LinkedIn Wettbewerbsanalyse", oder wenn jemand seinen LinkedIn-Auftritt professionalisieren möchte. |
Ein evidenzbasierter 8-Phasen-Workflow zur Analyse und Optimierung von LinkedIn-Profilen. Basiert auf LinkedIn-Algorithmus-Daten 2025/2026, Engagement-Benchmarks und den offiziellen Top Voice Kriterien.
Lies die jeweilige Datei, wenn du die Phase erreichst:
| Datei | Inhalt | Wann lesen |
|---|---|---|
references/SCORING.md |
Gewichtete 10-Kategorien-Matrix mit Sub-Kriterien und Benchmarks | Phase 2 (Scoring) |
references/TEMPLATES.md |
Vorlagen für Headline, About, Content-Skill, Kommentar-Skill | Phase 4 + 6 |
references/BANNER.md |
Technische Banner-Anleitung mit Safe Zones und Viewport-Matrix | Phase 5 |
scripts/create_banner.py |
Ausführbares Banner-Skript mit Font-Fallback und Validierung | Phase 5 (ausführen) |
scripts/generate_report.js |
DOCX-Report-Template (Node.js/docx-js) — als Strukturvorlage nutzen und mit den erhobenen Daten befüllen | Phase 8 (anpassen + ausführen) |
LinkedIn blockiert web_fetch (robots.txt). Nutze daher diese Reihenfolge:
- Chrome-Plugin (primär): Navigiere mit
Claude in Chrome:navigatezum Profil, lese Daten mitget_page_text,read_pageundjavascript_tool. Falls der Benutzer eingeloggt ist, sind alle Profildaten sichtbar. - web_search (Ergänzung): Für Daten die Chrome nicht liefert (z.B. Profilbild-Qualität, Banner-Details) oder wenn Chrome nicht verfügbar ist.
- Manuell (Fallback): Wenn weder Chrome noch Suche funktionieren, frage den Kunden nach Screenshot oder PDF-Export und führe das Kontext-Interview (1.2) als Datenbasis durch. Markiere geschätzte Daten.
Navigiere zum LinkedIn-Profil und erhebe die Daten in drei Schritten:
Schritt 1 — Hauptprofil (/in/username/):
Nutze get_page_text für einen schnellen Überblick, dann read_page für die Accessibility-Tree-Struktur. Extrahiere per javascript_tool:
// Headline (exakter Wortlaut + Zeichenzahl)
const headlineEl = document.querySelector('[class*="text-body-medium"][class*="break-words"]');
const headline = headlineEl?.textContent?.trim();
// About-Sektion (vollständig, inkl. verstecktem Text)
const aboutSection = document.getElementById('about')?.closest('section');
const spans = aboutSection?.querySelectorAll('span[aria-hidden="true"]');
// Laengsten Span nehmen = vollstaendiger Text
// Wenn abgeschnitten: zweite Haelfte mit .substring(800) nachladen
// Featured Section, Creator Mode, Empfehlungen
const hasFeatured = !!document.getElementById('featured');Erfasse systematisch: Name, Headline (Wortlaut + Zeichenzahl), About (vollständiger Text), aktuelle Position + Dauer, alle Positionen, Ausbildung, Zertifikate, Follower-Anzahl, Connections, Empfehlungen (erhalten/erteilt), Skills (Anzahl), Sprachen, Newsletter, Gruppen, Interessen.
Schritt 2 — Activity-Seite (/in/username/recent-activity/all/):
Navigiere zur Activity-Seite und extrahiere die letzten Posts:
// Eindeutige Posts mit Engagement-Daten
const feedItems = document.querySelectorAll('[class*="feed-shared-update-v2"]');
const seen = new Set();
const unique = [];
feedItems.forEach(fi => {
const socialSection = fi.querySelector('[class*="social-counts"]');
const socialText = socialSection?.innerText?.trim() || '';
const txt = fi.innerText;
const zeit = txt.match(/(\d+\s*(?:Tag|Woche|Monat|Stunde)[en]*\s*[•])/)?.[0] || '';
if (!zeit) return;
const key = zeit + '|' + socialText.substring(0, 30);
if (seen.has(key)) return; // LinkedIn rendert Duplikate
seen.add(key);
const reac = socialText.match(/^(\d+)/)?.[1] || '0';
const komm = socialText.match(/(\d+)\s*Kommentar/)?.[1] || '0';
unique.push({ time: zeit, reactions: reac, comments: komm });
});Scrolle einmal nach unten (window.scrollTo(0, document.body.scrollHeight)) und lese erneut, um weitere Posts zu laden.
Schritt 3 — Fehlende Daten ergänzen:
Wenn der About-Text abgeschnitten ist (LinkedIn zeigt nur ~1600 Zeichen im DOM), lies den zweiten Teil mit .substring(800) nach. Prüfe, ob ein "mehr anzeigen"-Button existiert und klicke ihn falls nötig.
Stelle dem Kunden diese 10 Fragen:
- In welcher Nische willst du als Thought Leader wahrgenommen werden? → Topische Fokussierung
- Wer ist deine Zielgruppe? → Content-Tonalität und Format-Mix
- Wer sind deine 3–5 Nischen-Konkurrenten? → Wettbewerbsanalyse
- Welche Bücher, Podcasts, Vorträge willst du hervorheben? → Social Proof maximieren
- Welche Hashtags nutzt dein Unternehmen? → Corporate-Branding
- Was ist dein primäres Ziel? (Top Voice, Follower, Lead-Gen, Recruiting) → Strategie-Ausrichtung
- Welche Themen willst du NICHT bespielen? → Risikomanagement
- In welcher Sprache postest du primär? → Content-Lokalisierung
- Wie viel Zeit pro Woche kannst du investieren? → Frequenz dimensionieren
- Hast du Zugang zu deinem SSI-Score? (linkedin.com/sales/ssi) → Baseline
Dokumentiere den Social Selling Index (4 Säulen à 25 Punkte, Gesamt 100). Benchmark: SSI >70 = effektiv, >75 = Thought-Leader-Niveau.
Lies references/SCORING.md für die vollständige Bewertungsmatrix mit Sub-Kriterien.
Bewerte das Profil in 10 gewichteten Kategorien (jede 0–10, multipliziert mit Gewichtungsfaktor):
| Kategorie | Gewicht | Max. Beitrag |
|---|---|---|
| Content-Qualität | 15% | 15.0 |
| Engagement & Kommentare | 15% | 15.0 |
| Headline | 12% | 12.0 |
| About-Sektion | 12% | 12.0 |
| Social Proof | 10% | 10.0 |
| Posting-Frequenz | 10% | 10.0 |
| Netzwerk & Follower | 8% | 8.0 |
| Profil-Vollständigkeit | 7% | 7.0 |
| Banner | 6% | 6.0 |
| Top Voice Readiness | 5% | 5.0 |
Dokumentiere für jeden Score die Begründung anhand der Sub-Kriterien aus SCORING.md.
Identifiziere die 3 größten Score-Hebel in einer Prioritäts-Matrix (Impact × Aufwand):
- Quick Wins: Hoher Impact, niedriger Aufwand (z.B. Headline ändern, Featured befüllen)
- Strategische Hebel: Hoher Impact, hoher Aufwand (z.B. Content-Strategie, Newsletter)
- Nice-to-Have: Niedriger Impact, niedriger Aufwand (z.B. Skills ordnen, URL anpassen)
Analysiere 3–5 Konkurrenten anhand: Follower, Post-Frequenz, ø Engagement, Content-Mix, Formate, Nischen-Fokus, Social Proof, Newsletter, Video-Anteil, Top Voice Status, SSI (geschätzt).
Leite aus der Analyse ab:
- Content-Lücken: Welche Themen/Formate bedient kein Wettbewerber?
- Tonalitäts-Differenzierung: Wie kann sich der Kunde sprachlich absetzen?
- Social-Proof-Vorsprung: Welche Credentials hat nur der Kunde?
- Format-Innovation: Welches Format nutzt keiner der Wettbewerber?
Lies references/TEMPLATES.md Abschnitte 1 + 2 für Headline- und About-Templates.
Kernregeln: Max. 220 Zeichen, erste 60 Zeichen = stärkstes Signal, 3–4 SEO-Keywords, keine Emojis im DACH-Markt, Pipe-Separator (|). Liefere immer 3 Varianten mit SEO-Keywords, Zeichenzahl und Vorher/Nachher-Vergleich.
Die ersten 270 Zeichen (vor „…mehr") entscheiden über Weiterlesen. Orwell-Prinzipien anwenden: Kein überflüssiger Satz, aktiv statt passiv, konkret statt abstrakt, eigene Bilder statt Klischees. Verbotene Wörter beachten (Liste in TEMPLATES.md).
Prüfe 15 Profil-Elemente (Profilbild, Banner, Headline, About, Featured, Creator Mode, CTA, URL, Newsletter, Empfehlungen, Skills, Positionen, Publikationen, Collaborative Articles, Video-Content) und erstelle einen Maßnahmenplan.
Lies references/BANNER.md für die vollständige technische Anleitung. Nutze scripts/create_banner.py zur Erstellung.
Kritische Regeln im Überblick:
- Format: 1584×396px, PNG, sRGB
- Universell sichere Zone: x=520 bis x=1200, y=30 bis y=350
- Texte als EINEN Block zusammenhalten, nicht über volle Breite verteilen
- Dunkler Hintergrund + weiße Schrift für maximalen Kontrast
- Mindestschriftgrößen: Titel ≥48px, Untertitel ≥22px, Rolle ≥18px, Tags ≥16px
Banner erstellen:
python scripts/create_banner.py \
--background hintergrund.png \
--output banner.png \
--title1 "Zeile 1" --title2 "Zeile 2" \
--subtitle "Untertitel" \
--role "Position @ Unternehmen" \
--tags "#GenAI #EnterpriseAI"Das Skript hat Font-Fallback (DejaVuSans wenn NotoSans fehlt) und Gradient-Fallback (wenn kein Hintergrund-Bild vorhanden).
Lies references/TEMPLATES.md Abschnitte 3 + 4 für Content-Skill und Kommentar-Skill Templates.
LinkedIn-Algorithmus 2025/2026 beachten:
- Dwell Time = zentrales Signal → Texte 300–400 Wörter, Story-Struktur
- Comment Quality > Like-Volumen → CTAs die inhaltliche Antworten provozieren
- Save Rate = Qualitätssignal → Frameworks, Listen, Checklisten
- Topische Konsistenz → ≥80% Posts in max. 2 Fokusthemen
- Engagement Bait wird bestraft → Kein „What do you think?", „Agree?"
Top-performende Formate: Multi-Image 6,6%, PDF-Karussells 6,1%, Video (<60s) 5,6%, Umfragen ~5%.
Strategisches Kommentieren (5–10/Tag) steigert Profilaufrufe um 55% und eigene Content-Reichweite um 20%. Kommentare >15 Wörter haben 2,5× mehr algorithmisches Gewicht. Identifiziere 15–20 Ziel-Accounts (Top Voices, C-Level, Journalisten, Peers).
3–5 Posts/Woche, Mo–Do 8:00–8:30 CET, erste 90 Minuten nach Post aktiv kommentieren. 5–10 qualitative Kommentare/Tag auf fremde Posts. Keine Pause >7 Tage.
Maßnahmen pro SSI-Säule (je max. 25 Punkte):
- Professional Brand: Profil vollständig, regelmäßig Content, Multimedia, strategische Endorsements
- Find the Right People: 5–10 strategische Connections/Woche, persönliche Requests (+40% Akzeptanz)
- Engage with Insights: Täglich kommentieren, Collaborative Articles beitragen, eigene Standpunkte
- Build Relationships: Inbox pflegen, Kommentare <2h beantworten, Follow-ups, Empfehlungen schreiben
Ziel-SSI nach 90 Tagen: ≥75
Der Analyse-Report wird immer als professionelles Word-Dokument (.docx) geliefert. Nutze scripts/generate_report.js als Strukturvorlage. Lies das Skript, passe die Daten-Konstanten (scoringData, posts, Profilinfos) an den analysierten Kunden an, und führe es aus.
Vorgehen:
- Lies
scripts/generate_report.jsmit dem view-Tool - Kopiere das Skript in das Arbeitsverzeichnis
- Ersetze die Platzhalter-Daten durch die erhobenen Kundendaten:
scoring-Array: Alle 10 Kategorien mit Roh-Score, Gewichtung, Begründungposts-Array: Content-Aktivitäten aus Phase 1 (Schritt 2)- Profil-Metadaten: Name, Position, Unternehmen, Standort, Follower, Connections
- Headline-Varianten: Aus Phase 4.1
- About-Analyse: Verbotene Wörter, CTA-Bewertung, Hashtag-Status
- Profil-Audit: 17-Punkte-Checkliste mit Status je Element
- Roadmap: Kundenspezifisch priorisierte Maßnahmen
- Führe das Skript aus:
node report.js - Validiere das Ergebnis:
python scripts/office/validate.py output.docx
Report-Struktur (9 Kapitel, alle mit erklärenden Textpassagen):
-
Executive Summary (1 Seite): Gesamtscore mit Bewertungsstufe, Top 3 Stärken mit Erklärung warum sie Stärken sind, Top 3 Hebel mit Erklärung des Score-Impacts, 3 Quick Wins mit konkreter Auswirkung.
-
Scoring-Details (1–2 Seiten): Tabelle aller 10 Kategorien (Roh, Gewichtung, gewichtete Punkte, Max, %, Bewertung). Darunter ein erklärender Absatz, der dem Leser zeigt, wie die Tabelle zu lesen ist und was die Farben bedeuten.
-
Detailanalyse je Kategorie (3–4 Seiten): Jede der 10 Kategorien wird in einem eigenen Unterkapitel begründet. Jede Begründung nennt konkrete Befunde aus dem Profil — keine generischen Aussagen. Bei niedriger Bewertung: konkreter Verbesserungsvorschlag.
-
Content-Aktivität (1 Seite): Tabelle der letzten Posts mit Zeitpunkt, Reaktionen, Kommentaren, geschätzter Engagement-Rate. Darunter Erklärung der Methodik (worauf die Schätzung basiert, was nicht messbar war) und Bewertung der Kennzahlen (Median, Vergleich mit Benchmark).
-
Headline-Analyse (1 Seite): Aktuelle Headline mit Bewertung (was funktioniert, was nicht, warum), 3 Optimierungsvorschläge mit Zeichenzahl, ersten 60 Zeichen und Erklärung der jeweiligen Strategie.
-
About-Sektion-Analyse (1 Seite): Hook-Bewertung der ersten 270 Zeichen, gefundene verbotene Wörter mit konkreten Ersetzungsvorschlägen und Begründung, CTA-Bewertung mit Alternativvorschlag, fehlende Elemente (Hashtags, Zeichenauslastung).
-
Profil-Audit (1 Seite): 17-Punkte-Checkliste als Tabelle mit Status (Vorhanden/Fehlt/Teilweise) und konkreter Maßnahme je Element. Zusammenfassung: X von 17 erfüllt.
-
Roadmap (1 Seite): Zeitlich priorisierte Maßnahmen (Woche 1–2 Quick Wins → Monat 2–3 Skalierung → Monat 4–6 Authority Building). Erwarteter Score nach 3 Monaten mit Begründung.
-
Methodik & Einschränkungen (1 Seite): Wie die Daten erhoben wurden (Chrome/web_search/manuell), welche Scoring-Methodik verwendet wurde, welche Daten geschätzt oder nicht verfügbar waren. Transparenz schafft Vertrauen.
Formatierung des DOCX:
- Arial, 10,5pt Fließtext, Überschriften in Hierarchie (H1 16pt, H2 13pt, H3 11pt)
- Tabellen mit Kopfzeile (dunkel), alternierenden Zeilen, Farbcodierung (Grün ≥70%, Gelb 40–69%, Rot <40%)
- Header mit "LinkedIn Profil-Analyse" + Skill-Version, Footer mit Seitenzahl
- Titelseite mit Name, Position, Score-Box, Datum
- Seitenumbrüche zwischen Hauptkapiteln
Pro Quartal testen: Headline (Nische-First vs Mission), Hook-Typ, Posting-Zeit, Format, CTA-Typ, Hashtag-Anzahl. Testdauer min. 2 Wochen / 6 Posts pro Variante, Median-Vergleich.
Monatlich tracken: Follower, Profilaufrufe, Engagement-Rate (Ziel >5%), Kommentare/Post (>15), Impressions/Post (>5.000), Save-Rate (>2%), SSI (≥75), Posting-Frequenz (≥3/Woche), Newsletter-Abos.
Einladungsbasiert durch LinkedIn-Redaktion, halbjährliche Überprüfung seit Januar 2025.
| Kriterium | Messbar machen |
|---|---|
| Platform Presence | Posting ≥3×/Woche, Kommentare ≥5/Tag, seit ≥6 Monaten |
| Quality & Originality | Keine Reposts, eigene Frameworks, Storytelling |
| Subject Matter Expertise | 80%+ Posts in 1–2 Fokusthemen |
| Safety & Professionalism | Keine kontroversen Inhalte, professioneller Ton |
| Prominence | Bücher, Presse, Awards, Speaker auf Profil |
Verstärker: Newsletter, Video-Content, LinkedIn Live, hohe Save-Rate, externe Presse.
| Parameter | Tech/KI | Energie | Finance | Consulting | Healthcare |
|---|---|---|---|---|---|
| Engagement-Benchmark | 3,6% | 3,3% | 3,2% | 3,2% | 3,3% |
| Tone of Voice | Pragmatisch | Zukunftsorientiert | Reguliert | Framework-orientiert | Evidenzbasiert |
| Top-Format | Karussell + Code | Text+Bild, Video | Analyse, Charts | Frameworks, Listen | Case Studies |
| Posting-Frequenz | 4–5×/Woche | 3–4×/Woche | 2–3×/Woche | 3–4×/Woche | 2–3×/Woche |
Prüfe vor Übergabe an den Kunden:
Headline: Zeichenzahl ≤220, erste 60 Zeichen enthalten Nischen-Keyword, keine Emojis, ≥3 SEO-Keywords, keine verbotenen Wörter, Pipe-Separator.
About: Zeichenzahl ≤2.600, erste 270 Zeichen = eigenständiger Hook mit Positionierung, Orwell-Scan gegen verbotene Wörter, CTA vorhanden und konkret, 5–7 Hashtags am Ende, max. 3 Emoji-Typen, kein Absatz >4 Zeilen.
Banner: Exakt 1584×396px, <8 MB, alle Textelemente in x=520–1200 / y=30–350, Schriftgrößen eingehalten, WCAG-Kontrast ≥4.5:1.
Content-Skill: Alle 10 Hook-Typen mit kundenspezifischen Beispielen, Säulen summieren auf 100%, keine Engagement-Bait-Phrasen.
Scoring: Jede Kategorie mit Begründung, gewichtete Summe korrekt berechnet, ≥3 Hebel identifiziert.
Report: DOCX generiert und validiert (validate.py bestanden), alle 9 Kapitel vorhanden, jede Tabelle und jedes Diagramm hat einen erklärenden Textabsatz darunter, keine Scoring-Kategorie ohne Begründung.
Bei Fehlern: Automatisch korrigieren und erneut prüfen.
LinkedIn blockiert web_fetch/web_search: Das ist der Normalfall — LinkedIn blockiert robots.txt-basierte Zugriffe. Nutze IMMER das Chrome-Plugin als primäre Datenquelle. Folge der Kaskade aus Phase 1.0: Chrome → web_search → manuell.
Chrome-Plugin nicht verfügbar: Wenn der Benutzer kein Chrome-Plugin hat, informiere ihn dass die Datenqualität eingeschränkt ist. Nutze web_search für öffentlich sichtbare Snippets (Name, Headline, Unternehmen, Connections). Frage nach Screenshot oder PDF-Export für den Rest. Markiere alle geschätzten Daten im Report.
Profil nur eingeschränkt sichtbar (nicht eingeloggt): Einige Profil-Abschnitte sind ohne LinkedIn-Login nicht sichtbar (About nach 3 Zeilen, Empfehlungen, Skills, detaillierte Positionen). Bitte den Benutzer sich in Chrome bei LinkedIn einzuloggen und starte die Erhebung erneut.
About-Text abgeschnitten im DOM: LinkedIn rendert den About-Text in einem span[aria-hidden="true"] mit ca. 1600 Zeichen. Wenn abgeschnitten: Lies den zweiten Teil mit .substring(800) in einem separaten javascript_tool-Aufruf. Falls ein "mehr anzeigen"-Button existiert, klicke ihn vorher.
Activity-Seite zeigt wenige Posts: LinkedIn lädt Posts erst beim Scrollen nach (lazy loading). Scrolle mit window.scrollTo(0, document.body.scrollHeight), warte 2 Sekunden, und lese erneut. LinkedIn zeigt Duplikate im DOM — filtere per Set auf Basis von Zeitstempel + Social-Counts.
SSI nicht verfügbar: Erfordert Zugang zu linkedin.com/sales/ssi. Schätze die 4 Säulen basierend auf beobachtbaren Profil-Signalen. Markiere als "(geschätzt)" im Report.
Wettbewerber nicht abrufbar: Minimum 2 Wettbewerber für sinnvolle Matrix. Bei <2: Branchenbenchmarks aus der Tabelle oben verwenden.
Banner-Erstellung scheitert: Font-Fallback (DejaVuSans) und Gradient-Fallback sind im Skript eingebaut. Wenn Buchcover nicht in Safe Zone passt: weglassen.
DOCX-Generierung scheitert: Prüfe ob docx npm-Paket installiert ist (npm install -g docx). Validiere das Ergebnis mit python scripts/office/validate.py. Bei Syntax-Fehlern im Report-Skript: Keine typografischen Anführungszeichen (U+201E, U+201C) in JavaScript-Strings verwenden — nur ASCII-Quotes (" und '). Umlaute (ä, ö, ü, ß) und andere UTF-8-Zeichen sind dagegen problemlos möglich und sollen immer korrekt geschrieben werden — niemals als ASCII-Umschreibungen (ae, oe, ue, ss).
| Phase | Gate | Methode |
|---|---|---|
| 1. Discovery | Alle Profildaten vollständig | Checkliste |
| 2. Scoring | Jeder Score mit Begründung | Sub-Kriterien aus SCORING.md |
| 3. Wettbewerb | Min. 3 Wettbewerber | Matrix ausgefüllt |
| 4. Profil | Headline in 60-Zeichen-Preview geprüft | Zeichenzahl-Check |
| 5. Banner | Kein Overlap in Safe Zone | Skript-Validierung |
| 6. Content | 3 Test-Posts auf Tonalität geprüft | Template-Check |
| 7. SSI | Baseline dokumentiert | Score notieren |
| 8. Report | Scoring-Delta dokumentiert | Vorher/Nachher |
v2.2.2 (2026-03-09) – Template anonymisiert
├── generate_report.js: Komplett neu geschrieben mit PROFILE/EXEC/HEADLINE/ABOUT/AUDIT/ROADMAP/LIMITS-Variablen
├── Report-Body ist jetzt 100% generisch — keine Namen, Firmen oder profilspezifischen Texte im Code
├── Alle kundenspezifischen Daten stehen ausschließlich im KUNDENDATEN-Block (Zeile 80-150)
├── Platzhalter-Werte ("Max Mustermann", "[Begründung]") als Vorlage für Anpassung
└── Template von 585 auf 278 Zeilen reduziert (gleiche Report-Struktur, kompakterer Code)
v2.2.1 (2026-03-09) – Korrekte Sonderzeichen
├── generate_report.js: 137 ASCII-Umschreibungen durch echte Umlaute ersetzt (ä, ö, ü, ß)
├── Regel in Fehlerbehandlung: Umlaute immer korrekt, nur typografische Quotes (U+201E) vermeiden
└── SKILL.md Changelog: ASCII-Reste bereinigt
v2.2.0 (2026-03-09) – Chrome-First + DOCX-Pflicht
├── Phase 1: Chrome-Plugin als primaere Datenquelle (navigate, get_page_text, javascript_tool)
├── Phase 1: JS-Snippets für Headline, About, Activity-Scraping dokumentiert
├── Phase 1: Fallback-Kaskade: Chrome → web_search → manuell
├── Phase 8: DOCX-Report als Pflicht-Deliverable (statt PDF)
├── Phase 8: scripts/generate_report.js als Strukturvorlage hinzugefuegt
├── Phase 8: 9-Kapitel-Struktur mit Erklärungspflicht für jede Tabelle/Grafik
├── Fehlerbehandlung: Chrome-spezifische Szenarien (Login, About-Truncation, Lazy Loading, Duplikate)
├── Fehlerbehandlung: DOCX-Generierung (npm docx, typografische Quotes, Validierung)
└── Verifikation: Report-Check auf DOCX-Validierung und Erklärungspflicht angepasst
v2.1.0 (2026-03-09) – Anthropic Skill Standard Compliance
├── Ordnerstruktur: references/, scripts/, assets/ nach Anthropic-Standard
├── SKILL.md auf <500 Zeilen reduziert mit klaren Verweisen auf references/
├── Banner-Code als eigenständiges Skript extrahiert (scripts/create_banner.py)
├── Font-Fallback (DejaVuSans) und Gradient-Fallback eingebaut
├── Frontmatter auf name + description reduziert (Anthropic-Standard)
├── Description trigger-optimiert ("pushy") mit expliziten Trigger-Phrasen
├── Verifikations-Abschnitt hinzugefügt
├── Fehlerbehandlung hinzugefügt
├── BANNER.md Sicherheits-Check-Bug gefixt (falsche Font-Referenz)
├── Claude-Code-Referenzen generalisiert
└── Imperativ-Form konsequenter angewandt
v2.0.0 (2026-02-28)
├── Gewichtetes Scoring-System eingeführt
├── Wettbewerbsanalyse als eigenständige Phase
├── LinkedIn-Algorithmus 2025/2026 Daten
├── SSI-Optimierung als eigene Phase
├── A/B-Testing-Framework
├── KPI-Dashboard
├── Branchenspezifische Anpassungen
├── Quality Gates
└── Top Voice Badge Anforderungen aktualisiert
v1.0.0 (2026-02-28)
└── Erstversion mit 6-Phasen-Workflow