Files
Orchestrator/privat/CV/.kiro/skills/cv-generate/SKILL.md
ankn a5f8fb49ab 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.
2026-06-30 20:39:52 +02:00

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.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