chore: archive completed OpenSpec changes

Archive all completed changes and create final specifications:

Archived changes (2025-11-03):
- add-application-email (8 requirements)
- add-application-management (9 requirements)
- add-application-validation (9 requirements)
- add-cover-letter-generation (13 requirements)
- add-cover-letter-pdf-conversion (7 requirements)
- add-profile-template (4 requirements)
- add-profile-validation (3 requirements)

Created specifications:
- applicant-profile: User profile management with validation
- application-email: Email generation for job applications
- application-management: Application workflow and folder structure
- application-validation: Application completeness checking
- cover-letter-generation: Tailored cover letter creation
- cover-letter-pdf-conversion: PDF export with Swiss formatting

All features are now fully documented in openspec/specs/ and ready for use.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-03 20:38:51 +01:00
co-authored by Claude
parent a05521efa8
commit 84a229c255
29 changed files with 1293 additions and 58 deletions
@@ -0,0 +1,176 @@
# Application Email Generation Specification
## ADDED Requirements
### Requirement: Email Command Invocation
The system SHALL provide a `/write-application-email` command that generates professional application emails with subject lines based on application context and profile information.
#### Scenario: Command executed in application folder
- **WHEN** user runs `/write-application-email` while in an application folder
- **THEN** the system detects the current application automatically
- **AND** generates email based on that application's data
#### Scenario: Command executed with application name parameter
- **WHEN** user runs `/write-application-email [application-name]` from any location
- **THEN** the system locates the specified application folder
- **AND** generates email based on that application's data
#### Scenario: Command executed with --help flag
- **WHEN** user runs `/write-application-email --help`
- **THEN** the system displays usage information with examples
- **AND** does not generate any email
### Requirement: Document Verification
The system SHALL verify that all required documents exist in the `attachments/` folder before generating the application email.
#### Scenario: All required documents present
- **WHEN** CV and cover letter files exist in `attachments/` folder
- **THEN** the system proceeds with email generation
- **AND** includes references to these documents in the email body
#### Scenario: Required documents missing
- **WHEN** CV or cover letter files are missing from `attachments/` folder
- **THEN** the system displays a clear error message listing missing documents
- **AND** does not generate the email
- **AND** provides guidance on where to place documents
#### Scenario: Optional certificates present
- **WHEN** certificate or diploma files exist in `attachments/` folder
- **THEN** the system includes references to these documents in the email
- **AND** mentions them in the document list
### Requirement: Email Content Generation
The system SHALL generate email content with appropriate subject line, greeting, body, and closing based on application strategy and profile information.
#### Scenario: Subject line generation
- **WHEN** generating email for an application
- **THEN** the subject line includes job title and applicant name
- **AND** follows professional email conventions
- **AND** matches the target language (German/English)
#### Scenario: Email body with document references
- **WHEN** generating email body
- **THEN** the email includes a brief introduction
- **AND** explicitly references attached documents (CV, cover letter)
- **AND** mentions certificates/diplomas if present in attachments folder
- **AND** expresses interest in the position
- **AND** includes professional closing with contact information
#### Scenario: Tone adaptation
- **WHEN** application.md specifies tone (Formal/Balanced/Casual)
- **THEN** the email adopts the appropriate language level
- **AND** matches formality to company culture
### Requirement: Language Detection
The system SHALL detect and apply the appropriate language (German or English) for the email based on application context.
#### Scenario: German language application
- **WHEN** job posting or application context indicates German
- **THEN** the email is generated in German
- **AND** uses appropriate German business email conventions
- **AND** uses formal German addressing (Sie, Herr/Frau)
#### Scenario: English language application
- **WHEN** job posting or application context indicates English
- **THEN** the email is generated in English
- **AND** uses professional English business email conventions
### Requirement: File Management
The system SHALL save generated email content to a markdown file in the application folder and handle file conflicts appropriately.
#### Scenario: New email generation
- **WHEN** `application-email.md` does not exist in application folder
- **THEN** the system creates the file with generated content
- **AND** displays success message with file location
#### Scenario: Email already exists without force flag
- **WHEN** `application-email.md` already exists
- **AND** user did not provide `--force` flag
- **THEN** the system displays error message
- **AND** does not overwrite existing file
- **AND** suggests using `--force` flag to overwrite
#### Scenario: Email overwrite with force flag
- **WHEN** `application-email.md` already exists
- **AND** user provides `--force` or `--overwrite` flag
- **THEN** the system overwrites the existing file
- **AND** displays warning about overwriting
- **AND** creates new email with generated content
### Requirement: Error Handling
The system SHALL provide clear, actionable error messages when email generation cannot proceed.
#### Scenario: Application folder not found
- **WHEN** specified application folder does not exist
- **THEN** the system displays error with list of available applications
- **AND** provides example command syntax
#### Scenario: Application data incomplete
- **WHEN** application.md is missing required fields
- **THEN** the system displays error indicating incomplete sections
- **AND** suggests running `/populate-application` or manual completion
#### Scenario: Profile data missing
- **WHEN** profile.md cannot be read or is incomplete
- **THEN** the system displays error message
- **AND** suggests running `/validate-profile`
- **AND** does not proceed with generation
### Requirement: Integration with Workflow
The system SHALL integrate seamlessly with existing application workflow commands and validation.
#### Scenario: Reads application strategy
- **WHEN** generating email
- **THEN** the system reads application.md for job details, company info, and tone
- **AND** reads profile.md for applicant contact information
- **AND** incorporates key messages from application strategy
#### Scenario: References cover letter context
- **WHEN** cover-letter.md exists in application folder
- **THEN** the system ensures email tone and messaging align with cover letter
- **AND** maintains consistency across all application documents
### Requirement: Output Format
The system SHALL generate email in markdown format with metadata and clear structure.
#### Scenario: Email file structure
- **WHEN** email is generated
- **THEN** the file includes metadata comment block (generation date, sources, language, tone)
- **AND** contains subject line as heading
- **AND** contains email body with proper paragraphs
- **AND** includes signature block with applicant information
#### Scenario: Email brevity
- **WHEN** generating email body
- **THEN** the content is concise (3-4 sentences maximum)
- **AND** mentions attached documents explicitly
- **AND** avoids redundancy with cover letter content
@@ -0,0 +1,63 @@
# Application Management Specification
## ADDED Requirements
### Requirement: Attachments Folder Creation
The system SHALL create an `attachments/` subfolder with a `.keep` file when initializing new applications to support document organization for email generation.
#### Scenario: Application folder creation includes attachments directory
- **WHEN** user runs `/new-application "Company - Job Title"`
- **THEN** the system creates folder structure: `applications/pending/[folder-name]/attachments/`
- **AND** creates an empty `.keep` file inside `attachments/` folder
- **AND** the attachments folder is ready for user to add documents
#### Scenario: Version control compatibility
- **WHEN** attachments folder is created with `.keep` file
- **THEN** the empty folder can be tracked in version control systems
- **AND** the folder structure is preserved even when empty
#### Scenario: Success message includes attachments folder
- **WHEN** new application is created successfully
- **THEN** the success message mentions the attachments folder
- **AND** provides guidance on what documents to place there
- **AND** indicates this folder is for CV, cover letter, certificates
### Requirement: Application Folder Structure
The system SHALL create a complete folder structure for each new application including metadata, input documents, and attachments.
#### Scenario: Complete folder structure created
- **WHEN** `/new-application` command is executed
- **THEN** the following structure is created:
```
applications/pending/[YYYY-MM-DD-Company-JobTitle]/
├── application.md
├── input/
└── attachments/
└── .keep
```
- **AND** application.md contains the template with metadata
- **AND** input/ folder is empty and ready for job posting documents
- **AND** attachments/ folder contains .keep file for version control
### Requirement: User Guidance for Attachments
The system SHALL provide clear guidance on the purpose and usage of the attachments folder.
#### Scenario: Attachments folder purpose explained
- **WHEN** new application is created
- **THEN** the success message explains attachments folder is for "final documents ready to send"
- **AND** distinguishes it from input/ folder (which is for "source materials and research")
- **AND** lists expected document types (CV, cover letter, certificates, diplomas)
#### Scenario: Workflow guidance includes attachments
- **WHEN** user views success message after creating application
- **THEN** the workflow guidance mentions adding documents to attachments/ after generation
- **AND** indicates attachments/ folder is checked by `/write-application-email` command