Commit Graph
24 Commits
Author SHA1 Message Date
gurix fa309911db Fixed wrong path 2026-01-13 08:42:43 +01:00
gurixandClaude Sonnet 4.5 c91999d78c chore: archive fix-coverletter-template-path change
Archived completed OpenSpec change after successful deployment.
The template path fix has been applied to specs and is now in production.

Change archived as: 2026-01-12-fix-coverletter-template-path

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-12 21:51:51 +01:00
gurixandClaude Sonnet 4.5 01b7d5b7a9 fix: use explicit relative path for swiss-letter.tex template
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>
2026-01-12 21:47:20 +01:00
gurix 7db8c46e1f Antigravity adapdations 2025-12-08 22:25:33 +01:00
gurix 39ae41ed9a Merge branch 'main' of ssh://codeberg.org/gurix/Bewerbungszauberer 2025-12-08 21:53:00 +01:00
gurix 1c1a8362b1 Updadating openspec and add antigravity as tool to support. 2025-12-08 21:52:00 +01:00
gurixandClaude 84a229c255 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>
2025-11-03 20:38:51 +01:00
gurixandClaude a05521efa8 Merge branch 'feature/cover-letter-pdf-conversion'
Add cover letter PDF conversion with Swiss business letter standards.

Features:
- Convert markdown cover letters to PDF using Pandoc + LaTeX
- Swiss business letter formatting (scrlttr2 with Swiss Norm)
- Conditional German language support (Telefon, Anlagen labels)
- Environment validation with helpful installation instructions
- No page numbering on output documents

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 20:33:55 +01:00
gurixandClaude 2c61ccccb0 fix: improve Swiss letter template localization and formatting
- Disable page numbering (pagenumber=false) to remove "Page 2" footer
- Add conditional German language support (babel with ngerman/german)
- German labels (Telefon, Anlagen) when texlive-lang-german is installed
- Graceful fallback to English labels when language package unavailable
- Update documentation to clarify language package as recommended

This addresses user feedback about English labels in German letters and unwanted page numbers on multi-page letters.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 20:29:41 +01:00
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
gurix 8e1fd25fe1 Merge branch 'feature/add-application-email' 2025-11-03 16:58:55 +01:00
gurixandClaude d9af86e2cf feat: implement application email generation command
Implement /write-application-email command and update folder structure:

Changes:
- Add /write-application-email command with document verification
- Update /new-application to create attachments/ subfolder with .keep file
- Update CLAUDE.md with comprehensive workflow documentation
- Add Example 5 showing email generation usage

Features:
- Verifies CV, cover letter exist in attachments/ before generation
- Generates brief professional email (3-4 sentences)
- Supports German/English language detection
- Adapts tone (Formal/Balanced/Casual) from application.md
- Professional subject line format
- Explicit document references
- Flags: --skip-validation, --force

File structure now includes:
applications/pending/[app-name]/
  ├── application.md
  ├── input/
  └── attachments/
      └── .keep

OpenSpec: add-application-email

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 16:46:13 +01:00
gurixandClaude a4d390aa03 feat: add proposal for application email generation
Add OpenSpec proposal for /write-application-email command that:
- Generates professional application emails with subject lines
- Verifies documents exist in attachments/ folder before generation
- Updates /new-application to create attachments/ subfolder
- Follows similar pattern to /write-cover-letter command

Specs:
- application-email: 9 requirements for email generation
- application-management: 3 requirements for folder structure

OpenSpec: add-application-email

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 16:41:44 +01:00
gurixandClaude f85db4a2be fix: improve cover letter naturalness and authenticity
Update /write-cover-letter command to generate more natural, less
pompous cover letters. Changes:

- Add comprehensive "Natural Writing Style" principles section
- Avoid exaggerated/pompous language (no superlatives, no marketing speak)
- Use modest, factual tone instead of self-promotional language
- Include 1-2 subtle imperfections for human authenticity
- Update all examples to demonstrate natural, conversational tone
- Emphasize being specific over making generic claims
- Encourage understatement rather than overstatement

Generated cover letters will now sound like they were written by a real
person, not AI or a marketing agency.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 22:14:47 +01:00
gurixandClaude f529dea015 feat: add cover letter generation command
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>
2025-11-02 21:42:47 +01:00
gurixandClaude 2b13cc4e69 feat: add application validation command
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>
2025-11-02 21:00:05 +01:00
gurixandClaude f1ba0dd98d feat: implement application management system
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>
2025-11-02 19:04:49 +01:00
gurixandClaude 751af9e310 Merge feature/profile-validation into main
Add profile validation mechanism to ensure completeness before application generation.

- Created /validate-profile slash command with placeholder detection
- Updated CLAUDE.md to require automatic validation before applications
- Validation checks required sections and provides clear feedback
- Allows explicit skip with warning for edge cases
- All 15 implementation tasks completed

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 13:19:53 +01:00
gurixandClaude 7bf0dd65cb feat: implement profile validation mechanism
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>
2025-11-02 12:23:50 +01:00
gurixandClaude 06d50ba45c feat: add proposal for profile validation mechanism
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>
2025-11-02 10:34:02 +01:00
gurixandClaude 01f29c32fc Merge feature/profile-template into master
Add applicant profile template framework in src/ directory.
This is the first foundational piece of the job application framework.

- Created OpenSpec proposal for profile template
- Implemented src/profile.md template with 8 sections
- Implemented src/CLAUDE.md with Claude Code instructions
- All tasks completed and validated

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 10:24:31 +01:00
gurixandClaude 08e1715d88 feat: implement applicant profile template framework
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>
2025-11-02 10:20:53 +01:00
gurixandClaude 01ca895baa feat: add proposal for applicant profile template
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>
2025-11-02 10:09:20 +01:00
gurix e2c3603c86 Initial Commit 2025-11-01 21:49:22 +01:00