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,102 @@
|
||||
---
|
||||
name: cv-generate
|
||||
description: Generates tailored CVs from knowledge base data, matched against a specific job posting.
|
||||
activation: 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.yaml` to 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
|
||||
|
||||
1. **No fabrication** — only include information present in the knowledge base; never invent skills, experiences, or qualifications
|
||||
2. **Relevance-driven ordering** — matching items always appear before non-matching items
|
||||
3. **Tandem produces 3 documents** — a tandem application always generates exactly one combined tandem CV and one individual CV per partner
|
||||
4. **Markdown output** — all CVs are output as Markdown suitable for conversion to PDF or DOCX
|
||||
5. **Template-based** — use templates from `templates/` for consistent formatting
|
||||
6. **Schema-validated sources** — only read from validated entity files in `kb/`
|
||||
7. **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 types
|
||||
- `src/io/yaml-utils.ts` — YAML serialization/deserialization
|
||||
- `src/io/entity-files.ts` — Entity file read management
|
||||
|
||||
## References
|
||||
|
||||
- `references/cv-formatting-guide.md` — formatting conventions for CV output
|
||||
Reference in New Issue
Block a user