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.
This commit is contained in:
@@ -0,0 +1,167 @@
|
||||
---
|
||||
name: linkedin-profile
|
||||
description: Generates optimized LinkedIn profile content, content strategy, and performance tracking from the personal knowledge base.
|
||||
activation: 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`, or `leadership`. Defaults to `dual-role`.
|
||||
- **tone** (optional): Tone for the About section — `nahbar`, `fachlich`, or `inspirierend`. Defaults to `nahbar`.
|
||||
- **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.yaml` to 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 types
|
||||
- `src/io/yaml-utils.ts` — YAML serialization/deserialization
|
||||
- `src/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 extraction
|
||||
- `src/linkedin/about-generator.ts` — About section generation with structured sections
|
||||
- `src/linkedin/experience-generator.ts` — Experience description generation with achievement focus
|
||||
- `src/linkedin/content-strategy.ts` — Content strategy and posting plan generation
|
||||
- `src/linkedin/tracking-manager.ts` — Metrics tracking, reporting, and trend analysis
|
||||
- `src/linkedin/constraints.ts` — LinkedIn-specific constraint validation (character limits)
|
||||
- `src/linkedin/types.ts` — TypeScript interfaces for all LinkedIn modules
|
||||
|
||||
## Rules and Constraints
|
||||
|
||||
1. **KB as source of truth** — all profile content is generated exclusively from knowledge base entities; never invent credentials, achievements, or stats
|
||||
2. **Character limits enforced** — Headline max 220 characters, About max 2,600 characters; validated programmatically at generation time
|
||||
3. **Dual-role representation** — Headline and About must represent both roles (DB InfraGO + Data Hive Cassel)
|
||||
4. **Results over tasks** — Experience descriptions focus on impact and measurable outcomes, not job duties
|
||||
5. **No jargon** — Headline and About must be understandable for a broad business audience
|
||||
6. **Three core themes** — Content must map to Innovation/Technology, People/Culture, or Responsibility
|
||||
7. **Markdown output** — all outputs as Markdown suitable for direct use
|
||||
8. **Schema-validated sources** — only read from validated entity files in `kb/`
|
||||
9. **Tracking as YAML entities** — metrics stored in `kb/tracking/` following KB conventions (kebab-case keys, ISO dates)
|
||||
10. **Iterative refinement** — present generated content to user for feedback and allow interactive adjustments
|
||||
Reference in New Issue
Block a user