Files
Bewerbungszauberer/openspec/changes/add-application-management/tasks.md
T

113 lines
5.0 KiB
Markdown
Raw Normal View History

# Implementation Tasks
## 1. Create Application Folder Structure
- [x] 1.1 Create `src/applications/` directory structure
- [x] 1.2 Create `src/applications/pending/` directory for applications not yet sent
- [x] 1.3 Add `.gitkeep` file to preserve directory structure in git
## 2. Design Application Template
- [x] 2.1 Design `application.md` template 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?)
- [x] 2.2 Add helpful comments and instructions within template
- [x] 2.3 Include metadata section (date created, status, deadline if known)
## 3. Implement `/new-application` Command
- [x] 3.1 Create `src/.claude/commands/new-application.md`
- [x] 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`
- [x] 3.3 Implement folder creation logic:
- Create `src/applications/pending/[generated-name]/`
- Copy `application.md` template to new folder
- Create `input/` subfolder
- [x] 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
- [x] 4.1 Create `src/.claude/commands/populate-application.md`
- [x] 4.2 Implement current directory detection:
- Check if running from inside an application folder
- Verify `application.md` and `input/` exist
- Provide helpful error if not in correct location
- [x] 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
- [x] 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
- [x] 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
- [x] 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
- [x] 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
- [x] 5.1 Update `src/CLAUDE.md` to add application management workflow section
- [x] 5.2 Document the workflow sequence:
1. Validate profile (existing)
2. Initialize new application (`/new-application`)
3. Gather documents (user adds to input/)
4. Populate application (`/populate-application`)
5. Review and refine application.md manually if needed
6. Generate documents (future: CV, cover letter, email)
- [x] 5.3 Add command reference for `/new-application` and `/populate-application`
- [x] 5.4 Add guidance on what files to put in input/ folder
- [x] 5.5 Explain how to work with application.md after population
## 6. Handle Edge Cases
- [x] 6.1 Handle duplicate folder names (append counter if exists)
- [x] 6.2 Handle very long organization/job names (truncate with ellipsis)
- [x] 6.3 Handle missing input folder during population
- [x] 6.4 Handle corrupted or unreadable input files
- [x] 6.5 Handle running commands from wrong directory
- [x] 6.6 Handle missing profile.md during population (graceful degradation)
## 7. Create Example Application (for testing)
- [x] 7.1 Create example application folder structure manually for testing
- [x] 7.2 Add sample job posting to input/ folder
- [x] 7.3 Test population command with sample data
- [x] 7.4 Document expected output in tasks or design doc
## 8. Validation & Documentation
- [x] 8.1 Verify `/new-application` creates correct folder structure
- [x] 8.2 Verify application.md template has all required sections
- [x] 8.3 Verify input/ folder is created
- [x] 8.4 Verify `/populate-application` reads files from input/
- [x] 8.5 Verify population extracts key information correctly
- [x] 8.6 Verify profile integration works (matches skills/experience)
- [x] 8.7 Verify edge cases are handled gracefully
- [x] 8.8 Test with real job posting to validate workflow
- [x] 8.9 Update CLAUDE.md instructions are clear and complete
- [x] 8.10 Validate with `openspec validate add-application-management --strict`