Files
ankn a5f8fb49ab Migrate all repos into monorepo context folders
Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
      Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
      Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)

Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
2026-06-30 20:39:52 +02:00

200 lines
9.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Implementation Plan: LinkedIn-Profil-Revamp
## Overview
Implementierung eines neuen Kiro Skills `linkedin-profile` zur automatisierten Generierung und Optimierung von LinkedIn-Profilinhalten. Der Skill nutzt die bestehende Knowledge Base als Datenquelle und erzeugt optimierte Texte für Headline, About-Section, Experience-Beschreibungen, eine Content-Strategie sowie ein Tracking-System für LinkedIn-Metriken. Die Implementierung folgt den etablierten Mustern der bestehenden Skills (consultant-profile, cv-generate, talk-intro).
## Tasks
- [x] 1. Constraint-Validator und Typen erstellen
- [x] 1.1 LinkedIn-spezifische TypeScript-Interfaces in `src/linkedin/constraints.ts` definieren
- `ConstraintValidation`, `ConstraintError`, `ConstraintWarning` Interfaces
- Validierungsfunktionen: `validateHeadline(text)`, `validateAbout(text)`, `validateExperience(text)`
- Headline-Limit: 220 Zeichen, About-Limit: 2.600 Zeichen
- _Requirements: 1.3, 2.5_
- [x] 1.2 LinkedIn-Modul-Interfaces und Typen in `src/linkedin/types.ts` definieren
- `HeadlineOptions`, `HeadlineResult`, `HeadlineVariant`
- `AboutOptions`, `AboutResult`
- `ExperienceOptions`, `ExperienceResult`
- `ContentStrategyOptions`, `ContentStrategy`, `ThemeCluster`, `WeeklySlot`
- `TrackingEntry`, `PostMetric`, `WeeklyReport`, `MonthlyTrend`
- _Requirements: 1.11.5, 2.12.7, 3.13.6, 5.15.7, 8.18.7_
- [x] 1.3 Unit-Tests für Constraint-Validator schreiben
- Teste Headline-Validierung (unter/über 220 Zeichen)
- Teste About-Validierung (unter/über 2.600 Zeichen)
- Teste Experience-Validierung
- Teste Edge Cases (leere Strings, exakt am Limit)
- _Requirements: 1.3, 2.5_
- [x] 2. Headline Generator implementieren
- [x] 2.1 `src/linkedin/headline-generator.ts` erstellen
- Funktion `generateHeadlines(options: HeadlineOptions): HeadlineResult`
- KB-Entities lesen (Profile, Experiences) via `src/io/entity-files.ts`
- Mehrere Varianten generieren (default: 3)
- Beide Rollen (DB InfraGO + Data Hive Cassel) einbinden
- Constraint-Validierung via `constraints.ts` anwenden
- Keywords und differenzierende Elemente extrahieren
- _Requirements: 1.1, 1.2, 1.3, 1.4, 1.5_
- [x] 2.2 Unit-Tests für Headline Generator schreiben
- Teste korrekte Extraktion beider Rollen aus KB
- Teste Zeichenlimit-Einhaltung
- Teste Variantengenerierung
- _Requirements: 1.11.5_
- [x] 3. About Section Generator implementieren
- [x] 3.1 `src/linkedin/about-generator.ts` erstellen
- Funktion `generateAbout(options: AboutOptions): AboutResult`
- KB-Entities lesen (Profile, Projects) via `src/io/entity-files.ts`
- Strukturierte Sektionen: Hook, Mission, Expertise, CTA
- Hook-Preview (erste 2 Zeilen) separat bereitstellen
- Konkrete Belege einbinden (60+ Publikationen, 13+ Jahre KI, 50+ Projekte)
- Drei Kernthemen benennen (Innovation/Technologie, Mensch/Kultur, Verantwortung)
- Constraint-Validierung (max. 2.600 Zeichen)
- _Requirements: 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7_
- [x] 3.2 Unit-Tests für About Generator schreiben
- Teste Zeichenlimit-Einhaltung
- Teste Vorhandensein aller Sektionen (hook, mission, expertise, cta)
- Teste Hook-Preview-Extraktion
- _Requirements: 2.12.7_
- [x] 4. Checkpoint — Kernmodule validieren
- Ensure all tests pass, ask the user if questions arise.
- [x] 5. Experience Generator implementieren
- [x] 5.1 `src/linkedin/experience-generator.ts` erstellen
- Funktion `generateExperiences(options: ExperienceOptions): ExperienceResult[]`
- KB-Entities lesen (Experiences, Skills, Projects) via `src/io/entity-files.ts`
- Ergebnisorientierte Beschreibungen statt Aufgabenlisten
- Keywords für LinkedIn-Suche einbinden
- Messbare Erfolge hervorheben (50+ Projekte, 15+ Kunden, ROI > 2)
- DB InfraGO als primäre Position, Data Hive mit Gründer-Achievements
- JobSharing-Experiment als Führungsinnovation positionieren
- Akademische Laufbahn als KI-Expertise-Fundament
- _Requirements: 3.1, 3.2, 3.3, 3.4, 3.5, 3.6_
- [x] 5.2 Unit-Tests für Experience Generator schreiben
- Teste korrekte Zuordnung von Experiences aus KB
- Teste Keyword-Einbindung
- Teste Ergebnis-Struktur (title, organization, description, achievements)
- _Requirements: 3.13.6_
- [x] 6. Content Strategy Generator implementieren
- [x] 6.1 `src/linkedin/content-strategy.ts` erstellen
- Funktion `generateContentStrategy(options: ContentStrategyOptions): ContentStrategy`
- Posting-Frequenz: 2 Beiträge/Woche
- Themen-Cluster mit Gewichtung (Innovation 40%, Mensch 35%, Verantwortung 25%)
- Wochenplan mit konkreten Slots
- Engagement-Routine (5+ Kommentare/Woche bei Thought Leadern)
- Format-Mix (Text, Carousel, Video, Newsletter)
- Bestehende Formate einbinden (Podcast "Almost Intelligent", Kolumne "Kniepunkt")
- _Requirements: 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7_
- [x] 6.2 Unit-Tests für Content Strategy Generator schreiben
- Teste Struktur des generierten Plans
- Teste Themen-Cluster-Vollständigkeit
- Teste Format-Mix-Abdeckung
- _Requirements: 5.15.7_
- [ ] 7. Tracking Manager implementieren
- [x] 7.1 `src/linkedin/tracking-manager.ts` erstellen
- Funktion `addTrackingEntry(entry: TrackingEntry): void`
- Funktion `getWeeklyReport(weekOf: string): WeeklyReport`
- Funktion `getMonthlyTrend(month: string): MonthlyTrend`
- YAML-Entities in `kb/tracking/` lesen/schreiben via `src/io/yaml-utils.ts`
- Best-Practice-Markierung bei überdurchschnittlicher Engagement-Rate
- Trend-Berechnung über Zeiträume
- Empfehlungen für Content-Optimierung ableiten
- _Requirements: 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7_
- [x] 7.2 KB-Verzeichnis `kb/tracking/` anlegen und Graph-Index erweitern
- Verzeichnis `kb/tracking/` mit `.gitkeep` erstellen
- Entity-Typ `linkedin-tracking` in `kb/graph-index.yaml` dokumentieren
- _Requirements: 8.6_
- [-] 7.3 Unit-Tests für Tracking Manager schreiben
- Teste YAML-Serialisierung/Deserialisierung von Tracking-Entries
- Teste Weekly-Report-Aggregation
- Teste Monthly-Trend-Berechnung
- Teste Best-Practice-Markierung
- _Requirements: 8.18.7_
- [x] 8. Checkpoint — Alle Module validieren
- Ensure all tests pass, ask the user if questions arise.
- [ ] 9. Kiro Skill erstellen und Module verdrahten
- [-] 9.1 `SKILL.md` für linkedin-profile Skill erstellen
- Datei: `.kiro/skills/linkedin-profile/SKILL.md`
- Skill-Metadaten (name, description, activation: manual)
- Workflow-Beschreibung: Profil-Generierung, Content-Strategie, Tracking
- Inputs dokumentieren (personId, emphasis, quarter, etc.)
- Outputs dokumentieren (profile-optimized.md, content-strategy.md, tracking-report.md)
- Shared Modules referenzieren
- Rules und Constraints definieren
- Muster von `talk-intro/SKILL.md` folgen
- _Requirements: 1.11.5, 2.12.7, 3.13.6, 4.14.5, 5.15.7, 9.19.6_
- [x] 9.2 Output-Verzeichnis `output/linkedin/` anlegen
- Verzeichnis mit `.gitkeep` erstellen
- _Requirements: 2.5, 5.7, 8.3_
- [x] 9.3 Profil-Output-Generierung verdrahten
- Headline, About und Experience Generatoren zu `output/linkedin/profile-optimized.md` zusammenführen
- Markdown-Template mit strukturierten Sektionen
- Generierungsdatum und Validierungsstatus einbinden
- _Requirements: 1.11.5, 2.12.7, 3.13.6_
- [x] 9.4 Content-Strategy-Output-Generierung verdrahten
- Content Strategy Generator zu `output/linkedin/content-strategy.md` zusammenführen
- Quartalsweise Template-Struktur
- _Requirements: 5.15.7_
- [x] 9.5 Tracking-Report-Output-Generierung verdrahten
- Tracking Manager zu `output/linkedin/tracking-report.md` zusammenführen
- Wöchentliche und monatliche Reports
- _Requirements: 8.18.7_
- [x] 10. Integration und Abschluss
- [x] 10.1 Export in `src/index.ts` ergänzen
- LinkedIn-Module exportieren
- _Requirements: alle_
- [x] 10.2 Integrationstests schreiben
- Teste End-to-End-Flow: KB lesen → Generierung → Output schreiben
- Teste Constraint-Validierung im Gesamtfluss
- Teste Tracking-Persistenz
- _Requirements: 1.11.5, 2.12.7, 3.13.6, 8.18.7_
- [x] 11. Final Checkpoint — Alle Tests und Integration validieren
- Ensure all tests pass, ask the user if questions arise.
## Notes
- Tasks marked with `*` are optional and can be skipped for faster MVP
- Each task references specific requirements for traceability
- Checkpoints ensure incremental validation
- Unit tests validate specific examples and edge cases
- The design has no Correctness Properties section, so no property-based tests are included
- All modules follow the existing project patterns (see `src/intro/`, `src/cv/`)
- YAML conventions from `.kiro/steering/kb-conventions.md` apply to tracking entities
## Task Dependency Graph
```json
{
"waves": [
{ "id": 0, "tasks": ["1.1", "1.2"] },
{ "id": 1, "tasks": ["1.3", "2.1", "7.2", "9.2"] },
{ "id": 2, "tasks": ["2.2", "3.1", "5.1", "6.1"] },
{ "id": 3, "tasks": ["3.2", "5.2", "6.2", "7.1"] },
{ "id": 4, "tasks": ["7.3", "9.1"] },
{ "id": 5, "tasks": ["9.3", "9.4", "9.5"] },
{ "id": 6, "tasks": ["10.1"] },
{ "id": 7, "tasks": ["10.2"] }
]
}
```