Files
Orchestrator/privat/CV/.kiro/specs/personal-knowledge-base/requirements.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

9.5 KiB

Requirements Document

Introduction

A personal knowledge base system that stores structured information about the user (Andre Knie) and job sharing partners (e.g., Claudia Froldi) in a knowledge graph. The system enables generation of tailored CVs for specific job openings, talk introductions, and other professional documents. It supports iterative knowledge collection through short interview sessions, provides Kiro skills for common tasks, and uses Git for version control and automatic deployment.

Glossary

  • Knowledge_Base: The structured data store containing all personal and professional information about registered persons, organized as a knowledge graph
  • Knowledge_Graph: A graph-based data structure representing entities (persons, skills, experiences, organizations, roles) and their relationships
  • Person_Profile: A complete record of a person's professional and personal information within the Knowledge_Base
  • Job_Sharing_Tandem: A pair of persons who apply jointly for positions, sharing responsibilities and presenting combined qualifications
  • Kiro_Skill: A reusable Kiro skill file (.md in .kiro/skills/) that automates a specific task such as CV generation or interview collection
  • Interview_Session: A structured, short conversational interaction to collect or update information from the user
  • Document_Generator: The component responsible for producing tailored output documents (CVs, introductions) from Knowledge_Base data
  • Source_Document: An existing file (PDF, DOCX) containing information to be extracted and integrated into the Knowledge_Base
  • Deployment_Pipeline: The Git-based mechanism that enables automatic deployment of the knowledge base and skills upon push

Requirements

Requirement 1: Knowledge Graph Data Model

User Story: As a user, I want my professional information stored in a structured knowledge graph, so that relationships between people, skills, experiences, and roles are explicitly represented and queryable.

Acceptance Criteria

  1. THE Knowledge_Graph SHALL represent persons, skills, experiences, organizations, roles, projects, and certifications as distinct entity types
  2. THE Knowledge_Graph SHALL represent relationships between entities including "has_skill", "worked_at", "collaborated_with", "applied_for", and "partners_with"
  3. WHEN a new entity is added to the Knowledge_Graph, THE Knowledge_Base SHALL validate that required attributes for the entity type are present
  4. THE Knowledge_Graph SHALL store temporal information (start date, end date) for time-bound entities such as experiences and roles
  5. THE Knowledge_Graph SHALL support multiple Person_Profiles within a single Knowledge_Base instance

Requirement 2: Person Profile Management

User Story: As a user, I want to maintain detailed profiles for myself and my job sharing partners, so that complete and accurate information is available for document generation.

Acceptance Criteria

  1. THE Knowledge_Base SHALL store the following attributes for each Person_Profile: name, contact details, professional summary, education history, work experience, skills, certifications, languages, and publications
  2. WHEN a Person_Profile is updated, THE Knowledge_Base SHALL preserve the full history of changes via Git version control
  3. THE Knowledge_Base SHALL support linking two Person_Profiles as a Job_Sharing_Tandem with shared attributes such as joint competencies and combined experience narrative
  4. WHEN a Job_Sharing_Tandem is defined, THE Knowledge_Base SHALL store tandem-specific information including shared vision, complementary skills, and collaboration model

Requirement 3: Source Document Ingestion

User Story: As a user, I want to import information from existing CVs and documents, so that I do not have to re-enter information already available in files.

Acceptance Criteria

  1. WHEN a Source_Document in PDF format is provided, THE Knowledge_Base SHALL extract text content and map it to Knowledge_Graph entities
  2. WHEN a Source_Document in DOCX format is provided, THE Knowledge_Base SHALL extract text content and map it to Knowledge_Graph entities
  3. WHEN information is extracted from a Source_Document, THE Knowledge_Base SHALL present the extracted entities to the user for confirmation before persisting
  4. IF a Source_Document cannot be parsed, THEN THE Knowledge_Base SHALL report the parsing failure with a descriptive error message

Requirement 4: Interview Skill for Knowledge Collection

User Story: As a user, I want a Kiro skill that conducts short interview sessions with me, so that I can iteratively add and refine information in my knowledge base through conversation.

Acceptance Criteria

  1. THE Interview_Session Kiro_Skill SHALL ask focused questions covering one topic area per session (e.g., a single role, a single project, a single skill cluster)
  2. THE Interview_Session Kiro_Skill SHALL limit each session to a maximum of 10 questions to keep interactions short
  3. WHEN an Interview_Session is completed, THE Kiro_Skill SHALL update the Knowledge_Graph with the collected information
  4. THE Interview_Session Kiro_Skill SHALL identify gaps in existing Person_Profiles and prioritize questions that fill those gaps
  5. WHEN the user provides information that contradicts existing Knowledge_Graph data, THE Kiro_Skill SHALL highlight the conflict and ask the user to resolve it

Requirement 5: CV Generation Skill

User Story: As a user, I want a Kiro skill that generates CVs tailored to specific job openings, so that my applications highlight the most relevant qualifications for each position.

Acceptance Criteria

  1. WHEN a job posting is provided, THE Document_Generator Kiro_Skill SHALL analyze the posting requirements and select relevant entries from the Person_Profile
  2. THE Document_Generator Kiro_Skill SHALL produce a CV that emphasizes skills and experiences matching the job posting requirements
  3. WHERE a Job_Sharing_Tandem applies jointly, THE Document_Generator Kiro_Skill SHALL generate a combined tandem CV showing complementary qualifications
  4. WHERE a Job_Sharing_Tandem applies jointly, THE Document_Generator Kiro_Skill SHALL also generate individual CVs for each partner tailored to the same posting
  5. THE Document_Generator Kiro_Skill SHALL output CVs in Markdown format suitable for conversion to PDF or DOCX
  6. WHEN generating a CV, THE Document_Generator Kiro_Skill SHALL include only information present in the Knowledge_Base without fabricating content

Requirement 6: Talk Introduction Generation Skill

User Story: As a user, I want a Kiro skill that generates speaker introductions for talks and events, so that I have context-appropriate introductions ready.

Acceptance Criteria

  1. WHEN a talk topic and event context are provided, THE Document_Generator Kiro_Skill SHALL generate a speaker introduction highlighting relevant expertise from the Person_Profile
  2. THE Document_Generator Kiro_Skill SHALL produce introductions in three length variants: short (2-3 sentences), medium (one paragraph), and long (multiple paragraphs)
  3. THE Document_Generator Kiro_Skill SHALL adapt the tone and emphasis based on the event context (technical conference, business meeting, academic setting)

Requirement 7: Iterative Enhancement Workflow

User Story: As a user, I want a structured workflow for regular knowledge base enhancement sessions, so that my information stays current and grows over time.

Acceptance Criteria

  1. THE Knowledge_Base SHALL provide a Kiro_Skill that initiates a review session summarizing recent changes and identifying stale or incomplete information
  2. WHEN a review session is initiated, THE Kiro_Skill SHALL present a prioritized list of areas needing updates based on time since last review and completeness score
  3. THE Knowledge_Base SHALL track a completeness score for each Person_Profile based on the proportion of filled attributes and relationship coverage
  4. WHEN new skills or experiences are added, THE Kiro_Skill SHALL suggest related entities and relationships to maintain graph consistency

Requirement 8: Git-Based Version Control and Deployment

User Story: As a user, I want all knowledge base data and skills stored in Git, so that changes are tracked and deployment happens automatically on push.

Acceptance Criteria

  1. THE Knowledge_Base SHALL store all data files, skill files, and configuration in a Git-compatible directory structure
  2. THE Knowledge_Base SHALL use human-readable file formats (Markdown, YAML, or JSON) for all stored data to enable meaningful Git diffs
  3. WHEN changes are committed and pushed, THE Deployment_Pipeline SHALL make the updated knowledge base and skills available without manual intervention
  4. THE Knowledge_Base SHALL include a README documenting the directory structure, available skills, and usage instructions

Requirement 9: Knowledge Base File Organization

User Story: As a user, I want a clean and predictable file structure, so that I can navigate and manually edit the knowledge base when needed.

Acceptance Criteria

  1. THE Knowledge_Base SHALL organize data into separate directories for profiles, graph relationships, skills, templates, and generated outputs
  2. THE Knowledge_Base SHALL use consistent naming conventions across all files (kebab-case for file names, defined schema for data files)
  3. WHEN a new Kiro_Skill is created, THE Knowledge_Base SHALL place it in the .kiro/skills/ directory following Kiro skill file conventions
  4. THE Knowledge_Base SHALL maintain an index file listing all entities in the Knowledge_Graph for quick reference