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.
4.7 KiB
4.7 KiB
name, description, activation
| name | description | activation |
|---|---|---|
| cv-generate | Generates tailored CVs from knowledge base data, matched against a specific job posting. | manual |
cv-generate
Generates tailored CVs from knowledge base data, matched against a specific job posting. Supports individual CVs and combined tandem CVs for job sharing applications. Outputs Markdown files to output/cvs/.
Activation
Activated by user request with a job posting as input. Example triggers:
- "generate a CV for this job posting"
- "create a CV for [job title]"
- "apply to this position"
- "generate tandem CV for this role"
Inputs
- Job posting (required): The job posting text or a file path to the posting. Used to determine which skills, experiences, and qualifications to emphasize.
- Person ID (optional): Which profile to generate a CV for. Defaults to the primary profile if only one exists.
- Tandem ID (optional): If provided, generates a full tandem application set (combined tandem CV + individual CVs for each partner).
- Output filename prefix (optional): Custom prefix for output files. Defaults to
<person-id>-<date>.
Workflow
1. Parse job posting
- Extract key requirements from the job posting: required skills, desired experience areas, qualifications, responsibilities, and keywords
- Identify the role title, organization, and domain for context
2. Load knowledge base data
- Read the target person profile from
kb/profiles/<person-id>.yaml - Read
kb/graph-index.yamlto discover related entities - Load all referenced experiences from
kb/experiences/ - Load all referenced skills from
kb/skills/ - Load all referenced projects from
kb/projects/ - Load all referenced certifications from
kb/certifications/ - Load referenced organizations from
kb/organizations/
3. Select relevant content
- Use relevance selection logic (
src/cv/relevance-selection.ts) to score and rank experiences, skills, and projects against the job posting requirements - Select entries with non-empty intersection with posting requirements
- Order selected items by relevance: matching items appear before non-matching items
- Retain a minimal set of non-matching items for completeness where appropriate
4. Generate individual CV
- Apply the individual CV template (
templates/cv-individual.md) - Structure the CV with sections ordered by relevance to the posting
- Emphasize matching skills and experiences in descriptions
- Include only information present in the knowledge base — never fabricate content
- Write output to
output/cvs/<prefix>-individual.md
5. Generate tandem CV (if tandem application)
- Load tandem entity from
kb/tandems/<tandem-id>.yaml - Load both partner profiles and their related entities
- Use tandem generation logic (
src/cv/tandem-generator.ts) to produce the combined CV - Show complementary qualifications, shared vision, and collaboration model
- Apply the tandem CV template (
templates/cv-tandem.md) - Write combined tandem CV to
output/cvs/<prefix>-tandem.md - Generate individual CVs for each partner tailored to the same posting
- Write partner CVs to
output/cvs/<prefix>-<partner-id>-individual.md
6. Review and present output
- List all generated files with a brief summary of what each contains
- Highlight which skills and experiences were emphasized
- Note any gaps where the knowledge base lacked information relevant to the posting
Output
- Individual CV:
output/cvs/<prefix>-individual.md - Tandem CV (if applicable):
output/cvs/<prefix>-tandem.md - Partner individual CVs (if tandem):
output/cvs/<prefix>-<partner-id>-individual.md
Rules and Constraints
- No fabrication — only include information present in the knowledge base; never invent skills, experiences, or qualifications
- Relevance-driven ordering — matching items always appear before non-matching items
- Tandem produces 3 documents — a tandem application always generates exactly one combined tandem CV and one individual CV per partner
- Markdown output — all CVs are output as Markdown suitable for conversion to PDF or DOCX
- Template-based — use templates from
templates/for consistent formatting - Schema-validated sources — only read from validated entity files in
kb/ - Kebab-case output naming — output file names use kebab-case
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
References
references/cv-formatting-guide.md— formatting conventions for CV output