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>
5.0 KiB
5.0 KiB
Implementation Tasks
1. Create Application Folder Structure
- 1.1 Create
src/applications/directory structure - 1.2 Create
src/applications/pending/directory for applications not yet sent - 1.3 Add
.gitkeepfile to preserve directory structure in git
2. Design Application Template
- 2.1 Design
application.mdtemplate structure with sections:- Organization Information (name, website, contact person)
- Job Information (title, level, department)
- Job Description Summary (key points from posting)
- Research Notes (company culture, values, recent news)
- Match Strategy (which experiences/skills to emphasize)
- Key Messages (main points to convey in application)
- Tone of Voice (formal/balanced/casual assessment)
- Document Checklist (CV needed? Cover letter? Application form?)
- 2.2 Add helpful comments and instructions within template
- 2.3 Include metadata section (date created, status, deadline if known)
3. Implement /new-application Command
- 3.1 Create
src/.claude/commands/new-application.md - 3.2 Implement folder name generation logic:
- Get current date in YYYY-MM-DD format
- Parse user input for organization name and job title
- Sanitize names (remove/replace invalid filesystem characters)
- Combine into format:
YYYY-MM-DD-OrgName-JobTitle
- 3.3 Implement folder creation logic:
- Create
src/applications/pending/[generated-name]/ - Copy
application.mdtemplate to new folder - Create
input/subfolder
- Create
- 3.4 Add user guidance:
- Confirm successful creation with folder path
- Explain next steps (add files to input/, run /populate-application)
- Provide examples of useful input files
4. Implement /populate-application Command
- 4.1 Create
src/.claude/commands/populate-application.md - 4.2 Implement current directory detection:
- Check if running from inside an application folder
- Verify
application.mdandinput/exist - Provide helpful error if not in correct location
- 4.3 Implement input file discovery:
- List all files in
input/folder - Filter by supported formats (PDF, TXT, MD, DOCX, EML)
- Warn about unsupported files
- List all files in
- 4.4 Implement document analysis:
- Read each supported file
- Extract key information (job requirements, company info, contact details)
- Identify keywords and skills mentioned
- Analyze tone and company culture from language
- 4.5 Implement profile cross-reference:
- Read
src/profile.md - Match job requirements to applicant's experience
- Identify which projects/skills/achievements to emphasize
- Suggest relevant stories or examples from profile
- Read
- 4.6 Implement application.md population:
- Update each section with extracted/analyzed information
- Preserve any existing manual entries
- Mark auto-populated sections with timestamp
- Leave sections empty if no relevant information found
- 4.7 Implement interactive prompts:
- Ask user for missing critical information
- Confirm before overwriting existing content
- Provide summary of changes made
5. Update Framework Instructions
- 5.1 Update
src/CLAUDE.mdto add application management workflow section - 5.2 Document the workflow sequence:
- Validate profile (existing)
- Initialize new application (
/new-application) - Gather documents (user adds to input/)
- Populate application (
/populate-application) - Review and refine application.md manually if needed
- Generate documents (future: CV, cover letter, email)
- 5.3 Add command reference for
/new-applicationand/populate-application - 5.4 Add guidance on what files to put in input/ folder
- 5.5 Explain how to work with application.md after population
6. Handle Edge Cases
- 6.1 Handle duplicate folder names (append counter if exists)
- 6.2 Handle very long organization/job names (truncate with ellipsis)
- 6.3 Handle missing input folder during population
- 6.4 Handle corrupted or unreadable input files
- 6.5 Handle running commands from wrong directory
- 6.6 Handle missing profile.md during population (graceful degradation)
7. Create Example Application (for testing)
- 7.1 Create example application folder structure manually for testing
- 7.2 Add sample job posting to input/ folder
- 7.3 Test population command with sample data
- 7.4 Document expected output in tasks or design doc
8. Validation & Documentation
- 8.1 Verify
/new-applicationcreates correct folder structure - 8.2 Verify application.md template has all required sections
- 8.3 Verify input/ folder is created
- 8.4 Verify
/populate-applicationreads files from input/ - 8.5 Verify population extracts key information correctly
- 8.6 Verify profile integration works (matches skills/experience)
- 8.7 Verify edge cases are handled gracefully
- 8.8 Test with real job posting to validate workflow
- 8.9 Update CLAUDE.md instructions are clear and complete
- 8.10 Validate with
openspec validate add-application-management --strict