Files
Bewerbungszauberer/openspec/changes/add-cover-letter-pdf-conversion/tasks.md
T
gurixandClaude 4d1fc47f1b feat: add proposal for cover letter PDF conversion
Add OpenSpec proposal for converting markdown cover letters to PDF format using Swiss business letter standards.

The proposal includes:
- Swiss letter formatting with scrlttr2 and Swiss Norm configuration
- Environment validation for Pandoc and LaTeX
- Comprehensive error handling and user guidance
- Support for Swiss German formatting and address window positioning

This addresses step 7 "Generate PDFs" in the project workflow.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 20:14:24 +01:00

2.8 KiB

Implementation Tasks

1. Template Creation

  • 1.1 Create Swiss letter LaTeX template at src/.claude/templates/swiss-letter.tex
  • 1.2 Configure scrlttr2 with Swiss Norm (SN) settings
  • 1.3 Add proper encoding (UTF-8, T1 font encoding) for German characters
  • 1.4 Implement hyperlinks for email addresses
  • 1.5 Add Pandoc variable placeholders for all frontmatter fields
  • 1.6 Add inline comments explaining customizable sections
  • 1.7 Test template with sample data to ensure proper formatting

2. Slash Command Implementation

  • 2.1 Create command file at src/.claude/commands/convert-cover-letter.md
  • 2.2 Implement cover letter file detection logic
  • 2.3 Implement environment validation checks (Pandoc, LaTeX)
  • 2.4 Add platform-specific installation instructions
  • 2.5 Implement frontmatter parsing and validation
  • 2.6 Build Pandoc command with correct arguments
  • 2.7 Execute conversion and capture output
  • 2.8 Implement error handling for common failure scenarios
  • 2.9 Add success message with file path output

3. Error Handling & Messaging

  • 3.1 Create clear error message for missing cover letter
  • 3.2 Create error message for missing required frontmatter fields
  • 3.3 Create installation guide for Pandoc (apt, brew, winget)
  • 3.4 Create installation guide for LaTeX packages
  • 3.5 Add error handling for YAML parsing failures
  • 3.6 Add error handling for LaTeX compilation failures
  • 3.7 Add error handling for file permission issues
  • 3.8 Add timeout handling for long-running conversions

4. Testing

  • 4.1 Test with complete frontmatter and body content
  • 4.2 Test with minimal required frontmatter only
  • 4.3 Test with optional enclosures list
  • 4.4 Test with missing cover-letter.md file
  • 4.5 Test with invalid YAML frontmatter
  • 4.6 Test with missing required frontmatter fields
  • 4.7 Test with special characters (ä, ö, ü, ß) in German text
  • 4.8 Test environment validation when Pandoc is missing
  • 4.9 Test environment validation when LaTeX is missing
  • 4.10 Test error handling for file permission issues
  • 4.11 Verify Swiss address window positioning with printed output
  • 4.12 Verify date formatting follows Swiss convention

5. Documentation

  • 5.1 Document required frontmatter structure
  • 5.2 Document system requirements (Pandoc, LaTeX)
  • 5.3 Add example cover-letter.md with complete frontmatter
  • 5.4 Document troubleshooting steps for common errors
  • 5.5 Add template customization guide

6. Integration

  • 6.1 Update test directory with new command
  • 6.2 Update test directory with new template
  • 6.3 Ensure compatibility with existing cover letter generation
  • 6.4 Verify workflow integration (step 7 in project.md)