113 lines
5.0 KiB
Markdown
113 lines
5.0 KiB
Markdown
# 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`
|