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:
2026-06-30 20:39:52 +02:00
parent 2f2b295531
commit a5f8fb49ab
1717 changed files with 447332 additions and 0 deletions
@@ -0,0 +1,90 @@
---
name: talk-intro
description: Generates speaker introductions for talks and events in three length variants.
activation: manual
---
# talk-intro
Generates speaker introductions for talks and events. Produces three length variants (short, medium, long) adapted to the event context. Outputs Markdown files to `output/intros/`.
## Activation
Activated by user request with a talk topic and event context. Example triggers:
- "write a speaker intro for my talk on [topic]"
- "generate an introduction for [event]"
- "I need a speaker bio for [conference]"
- "create a talk introduction"
## Inputs
- **Talk topic** (required): The subject of the talk or presentation.
- **Event context** (required): The type of event — technical conference, business meeting, or academic setting. Used to adapt tone and emphasis.
- **Person ID** (optional): Which profile to generate the introduction for. Defaults to the primary profile if only one exists.
- **Output filename prefix** (optional): Custom prefix for output files. Defaults to `<person-id>-<event-slug>-<date>`.
## Workflow
### 1. Load person profile
- Read the target person profile from `kb/profiles/<person-id>.yaml`
- Read `kb/graph-index.yaml` to discover related entities
- Load referenced skills from `kb/skills/`
- Load referenced experiences from `kb/experiences/`
- Load referenced projects from `kb/projects/`
### 2. Identify relevant expertise
- Use introduction generation logic (`src/intro/intro-generator.ts`) to select expertise relevant to the talk topic
- Match skills, experiences, and projects that relate to the talk subject
- Prioritize recent and high-level expertise
### 3. Determine tone
- Adapt tone based on event context:
- **Technical conference** — emphasize technical skills, open source contributions, hands-on experience, specific technologies
- **Business meeting** — emphasize leadership, strategic impact, organizational achievements, business outcomes
- **Academic setting** — emphasize research, publications, methodology, teaching, formal credentials
- Select vocabulary and sentence structure appropriate to the context
### 4. Generate length variants
- **Short** (2-3 sentences): Name, current role, and one key qualification relevant to the talk topic
- **Medium** (one paragraph): Expanded context including relevant experience, notable achievements, and connection to the talk topic
- **Long** (multiple paragraphs): Full professional narrative relevant to the talk, including career arc, specific projects, and expertise depth
### 5. Apply template
- Apply the speaker introduction template (`templates/intro-speaker.md`)
- Fill in all three length variants
- Include metadata (person, topic, event context, generation date)
### 6. Write output
- Write the generated introduction to `output/intros/<prefix>.md`
- Present all three variants to the user for selection
## Output
- Speaker introduction file: `output/intros/<prefix>.md`
- Contains short, medium, and long variants in a single file
## 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
## Rules and Constraints
1. **No fabrication** — only include information present in the knowledge base; never invent credentials or achievements
2. **Three variants required** — always produce short, medium, and long variants
3. **Length ordering** — short < medium < long in character count
4. **Topic relevance** — emphasize expertise related to the talk topic
5. **Tone adaptation** — adjust language and emphasis to match event context
6. **Markdown output** — output as Markdown suitable for direct use
7. **Template-based** — use `templates/intro-speaker.md` for consistent formatting
8. **Schema-validated sources** — only read from validated entity files in `kb/`