The /convert-cover-letter command was using a placeholder syntax
[path-to-swiss-letter.tex] which caused inconsistent template discovery.
Claude Code would sometimes skip the template or fail to find it, resulting
in cover letters using Pandoc's default template instead of Swiss Norm formatting.
This fix replaces the placeholder with an explicit relative path
(../../../src/.claude/templates/swiss-letter.tex) that reliably resolves
from the typical execution location (applications/pending/[job-folder]/)
to the project root and then to the template directory.
Changes:
- Updated src/.claude/commands/convert-cover-letter.md with explicit template path
- Enhanced specification with template path resolution requirement
- Added clarification about path resolution relative to execution location
Testing:
- Verified PDF generation with Swiss letter template from application folders
- Confirmed consistent template discovery across different working directories
- Validated Swiss Norm formatting (address window positioning, KOMA-Script)
Related: openspec/changes/fix-coverletter-template-path
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Implement the add-readme OpenSpec proposal with complete user-facing
documentation covering setup, workflow, and all implemented features.
Documentation includes:
- Framework introduction and feature overview
- Prerequisites (Claude Code required, Pandoc/LaTeX optional)
- Step-by-step setup instructions with profile shortcut
- Complete 12-step workflow (numbered 1-12)
- Detailed commands reference for all 7 slash commands
- Directory structure visualization with explanations
- Maintenance guidance for updates and archiving
Changes from initial draft:
- Removed Quick Start section for simplicity
- Renumbered workflow steps starting from 1 instead of 0
- Removed Example Workflow section to keep documentation concise
- Removed Best Practices section (redundant with workflow guidance)
- Removed Troubleshooting section (detailed help in CLAUDE.md)
All content focuses exclusively on implemented features. No mention of
unimplemented features like automated CV generation.
Closes OpenSpec change: add-readme
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Create OpenSpec proposal to add comprehensive user-facing documentation
that explains setup, configuration, and usage of implemented features.
The proposal includes:
- Framework introduction and feature overview
- Prerequisites and setup instructions
- Complete workflow documentation (all 7 slash commands)
- Quick start guide for experienced users
- Directory structure explanation
- Profile setup shortcut (using Claude to help populate from docs)
Focuses only on implemented features, excludes aspirational/unimplemented
functionality like automated CV generation.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
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>
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>
Add /write-cover-letter slash command that generates tailored cover
letters based on application strategy (application.md) and applicant
profile (profile.md). Features:
- Auto-validates application before generation (stops if incomplete)
- Protects existing cover-letter.md (requires --force to overwrite)
- Generates 300-400 word cover letter with standard structure
- Applies tone from application.md (Formal/Balanced/Casual)
- Infers language from context (German/English)
- Uses match strategy to emphasize relevant experiences
- Incorporates company research and key messages
- Supports flags: --skip-validation, --force, --help
This is the first document generation command in the workflow.
OpenSpec: add-cover-letter-generation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add /validate-application slash command to ensure application.md files
are complete before document generation. Validates required sections
(Organization Info, Job Info, Job Description), detects placeholders
like [To be filled], warns if input/ folder is empty, and provides
structured pass/fail output consistent with /validate-profile.
This acts as a quality gate in the application workflow, preventing
placeholder text from appearing in generated documents.
OpenSpec: add-application-validation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add structured workflow for managing job applications with /new-application and /populate-application commands. Users can now organize applications in dated folders, store job documents, and have AI analyze requirements to populate strategy documents. Includes bug fix for src/ path references and safe update documentation.
OpenSpec: add-application-management
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add /validate-profile slash command and automatic validation before application generation.
Implementation:
- Created src/.claude/commands/validate-profile.md with validation logic
- Detects placeholder patterns like [Your name], [Company], etc.
- Checks required sections: Personal Info, Summary, Work Experience
- Allows optional sections to be empty (Projects, Certifications)
- Provides clear pass/fail feedback with actionable guidance
- Updated src/CLAUDE.md to require validation before applications
- Added Profile Validation section with validation process
- Integrated validation as step 0 in workflow
- Documented explicit skip validation option with warning
- Added /validate-profile to Available Commands
- All 15 tasks completed and validated
Implements: add-profile-validation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Create OpenSpec proposal to add profile validation before application generation.
- Add /validate-profile slash command to check profile completeness
- Detect placeholder patterns like [Your name], [Company], etc.
- Update CLAUDE.md to require validation before applications
- Define required vs optional sections
- Allow explicit validation skip with warning
Proposal validated and ready for implementation.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Create distributable job application framework in src/ directory:
- Add src/profile.md template with 8 sections (Personal Info, Summary, Experience, Education, Skills, Projects, Certifications, Languages)
- Add src/CLAUDE.md with comprehensive instructions for Claude Code
- Include helpful comments, examples, and formatting guidelines
- Update tasks.md to mark all implementation tasks complete
Users can now copy src/ to any location and use the framework immediately.
Implements: add-profile-template
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Create OpenSpec proposal to add profile.md template and framework structure under src/ directory.
- Add src/ directory for distributable framework files
- Create profile.md template with all required sections
- Add CLAUDE.md instructions for Claude Code integration
- Ensure framework can be copied and used independently
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>