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.
7.9 KiB
7.9 KiB
name, description, activation
| name | description | activation |
|---|---|---|
| linkedin-profile | Generates optimized LinkedIn profile content, content strategy, and performance tracking from the personal knowledge base. | manual |
linkedin-profile
Generates optimized LinkedIn profile content from the knowledge base. Produces headline variants, About section, experience descriptions, a quarterly content strategy, and performance tracking reports. Outputs Markdown files to output/linkedin/.
Activation
Activated by user request for LinkedIn profile optimization, content strategy, or tracking. Example triggers:
- "optimize my LinkedIn profile"
- "generate LinkedIn headline variants"
- "create a content strategy for Q3"
- "update my LinkedIn tracking"
- "write my LinkedIn About section"
- "generate experience descriptions for LinkedIn"
Inputs
- personId (required): Reference to a Person entity ID in
kb/profiles/. Defaults to the primary profile if only one exists. - emphasis (optional): Direction for headline generation —
dual-role,ai-expert, orleadership. Defaults todual-role. - tone (optional): Tone for the About section —
nahbar,fachlich, orinspirierend. Defaults tonahbar. - includeStats (optional): Whether to include concrete numbers in the About section. Defaults to
true. - quarter (optional): Target quarter for content strategy, e.g.
2026-Q3. Required for content strategy workflow. - existingFormats (optional): Existing content formats to integrate (e.g.
podcast,column). Used in content strategy generation. - experienceIds (optional): Specific experience IDs to generate descriptions for. If omitted, generates for all experiences.
- keywords (optional): SEO keywords to include in experience descriptions.
- variants (optional): Number of headline variants to generate. Defaults to
3.
Workflows
1. Profile Generation
Generates optimized texts for Headline, About section, and Experience descriptions.
1.1 Load person profile
- Read the target person profile from
kb/profiles/<personId>.yaml - Read
kb/graph-index.yamlto discover related entities - Load referenced experiences from
kb/experiences/ - Load referenced skills from
kb/skills/ - Load referenced projects from
kb/projects/
1.2 Generate Headline
- Use headline generation logic (
src/linkedin/headline-generator.ts) - Generate multiple variants (default: 3) with different emphasis
- Ensure both roles (DB InfraGO + Data Hive Cassel) are represented
- Validate against 220-character limit
- Include differentiating elements and relevant keywords
1.3 Generate About Section
- Use About generation logic (
src/linkedin/about-generator.ts) - Structure into sections: Hook, Mission, Expertise, CTA
- Ensure hook is compelling in first 2 lines (before "mehr anzeigen")
- Include concrete stats (60+ publications, 13+ years AI, 50+ projects)
- Name three core themes (Innovation/Technology, People/Culture, Responsibility)
- Validate against 2,600-character limit
1.4 Generate Experience Descriptions
- Use experience generation logic (
src/linkedin/experience-generator.ts) - Focus on results and impact, not task descriptions
- Include relevant keywords for LinkedIn search
- Highlight measurable achievements
- Position DB InfraGO as primary role, Data Hive with founder achievements
- Frame JobSharing experiment as leadership innovation
- Position academic career as AI expertise foundation
1.5 Write Profile Output
- Combine all generated sections into
output/linkedin/profile-optimized.md - Include validation status and generation date
- Present variants to user for selection and refinement
2. Content Strategy
Generates a structured content plan for a given quarter.
2.1 Analyze profile and themes
- Read person profile and identify core expertise areas
- Map expertise to content theme clusters
- Identify existing content formats (podcast, column) for integration
2.2 Generate strategy
- Use content strategy logic (
src/linkedin/content-strategy.ts) - Define posting frequency (2 posts per week)
- Create theme clusters with weighting (Innovation 40%, People 35%, Responsibility 25%)
- Generate weekly posting plan with concrete time slots
- Define engagement routine (5+ comments/week on thought leaders)
- Specify format mix (text, carousel, video, newsletter)
- Integrate existing formats (Podcast "Almost Intelligent", Column "Kniepunkt")
2.3 Write Strategy Output
- Write generated strategy to
output/linkedin/content-strategy.md - Structure as quarterly template that can be updated
3. Tracking
Records LinkedIn metrics and generates performance reports.
3.1 Record metrics
- Use tracking logic (
src/linkedin/tracking-manager.ts) - Store tracking entries as YAML entities in
kb/tracking/ - Record profile KPIs (views, search appearances, connection requests)
- Record post KPIs (impressions, engagement rate, comments, reposts)
3.2 Generate reports
- Calculate weekly reports with week-over-week comparison
- Calculate monthly trend analysis with growth metrics
- Mark best-practice posts (above-average engagement rate)
- Derive data-driven recommendations for content optimization
3.3 Write Tracking Output
- Write generated report to
output/linkedin/tracking-report.md - Include weekly and monthly summaries
- Highlight top-performing content and recommendations
Outputs
- Profile document:
output/linkedin/profile-optimized.md— Headline variants, About section, Experience descriptions with validation status - Content strategy:
output/linkedin/content-strategy.md— Quarterly posting plan, theme clusters, engagement routine, format mix - Tracking report:
output/linkedin/tracking-report.md— Weekly/monthly metrics, trends, best practices, recommendations
Shared Modules
This skill depends on the following shared validation and utility modules:
src/schemas/validate.ts— Entity validation (validate sources before generation)src/schemas/types.ts— TypeScript type definitions for all entity typessrc/io/yaml-utils.ts— YAML serialization/deserializationsrc/io/entity-files.ts— Entity file read management
Source Modules
The skill orchestrates the following LinkedIn-specific modules:
src/linkedin/headline-generator.ts— Headline variant generation with keyword extractionsrc/linkedin/about-generator.ts— About section generation with structured sectionssrc/linkedin/experience-generator.ts— Experience description generation with achievement focussrc/linkedin/content-strategy.ts— Content strategy and posting plan generationsrc/linkedin/tracking-manager.ts— Metrics tracking, reporting, and trend analysissrc/linkedin/constraints.ts— LinkedIn-specific constraint validation (character limits)src/linkedin/types.ts— TypeScript interfaces for all LinkedIn modules
Rules and Constraints
- KB as source of truth — all profile content is generated exclusively from knowledge base entities; never invent credentials, achievements, or stats
- Character limits enforced — Headline max 220 characters, About max 2,600 characters; validated programmatically at generation time
- Dual-role representation — Headline and About must represent both roles (DB InfraGO + Data Hive Cassel)
- Results over tasks — Experience descriptions focus on impact and measurable outcomes, not job duties
- No jargon — Headline and About must be understandable for a broad business audience
- Three core themes — Content must map to Innovation/Technology, People/Culture, or Responsibility
- Markdown output — all outputs as Markdown suitable for direct use
- Schema-validated sources — only read from validated entity files in
kb/ - Tracking as YAML entities — metrics stored in
kb/tracking/following KB conventions (kebab-case keys, ISO dates) - Iterative refinement — present generated content to user for feedback and allow interactive adjustments