--- description: Initialize a new job application with organized folder structure. --- # Instructions You are creating a new job application workspace for the user. ## Input Processing ### 1. Parse User Input The user will provide information about the application in the command. Extract: - **Organization Name**: The company/organization they're applying to - **Job Title**: The position they're applying for Example inputs: - `/new-application "TechCorp - Senior Developer"` - `/new-application "Startup Inc - Product Manager"` - `/new-application "Google - Software Engineer"` If the user provides insufficient information, prompt them: ``` Please provide the organization name and job title. Format: /new-application "Organization Name - Job Title" Example: /new-application "TechCorp - Senior Developer" ``` ### 2. Generate Folder Name Create a folder name in the format: `YYYY-MM-DD-OrganizationName-JobTitle` **Date Format**: - Use today's date from the system - Format: YYYY-MM-DD (e.g., 2025-11-02) **Name Sanitization**: - Remove or replace invalid filesystem characters: `/ \ : * ? " < > |` - Replace spaces with hyphens - Remove multiple consecutive hyphens - Trim leading/trailing hyphens - Limit total length to 100 characters for filesystem compatibility - If too long, truncate job title portion first, then organization name if needed **Examples**: - Input: "Tech Corp Inc. - Senior Software Engineer" - Output: `2025-11-02-Tech-Corp-Inc-Senior-Software-Engineer` - Input: "Company/Organization - Manager: Sales & Marketing" - Output: `2025-11-02-Company-Organization-Manager-Sales-Marketing` ### 3. Handle Duplicate Folders If a folder with the generated name already exists: - Append a counter: `-2`, `-3`, etc. - Example: `2025-11-02-TechCorp-Developer-2` - Inform the user: "A folder for this application already exists. Created with suffix -2." ## Folder Creation ### 4. Create Directory Structure Create the following structure in `applications/pending/`: ``` applications/pending/[generated-folder-name]/ ├── application.md ├── input/ └── attachments/ └── .keep ``` Use these steps: 1. Create the application folder: `applications/pending/[generated-folder-name]/` 2. Create the `input/` subfolder inside it 3. Create the `attachments/` subfolder inside it 4. Create an empty `.keep` file inside `attachments/` folder for version control 5. Create `application.md` from the template ### 5. Create application.md Copy the template from `src/.claude/templates/application-template.md` to the new folder as `application.md`. **Update Metadata Section**: - Replace `[Auto-filled on creation]` in the Created field with current timestamp - Format: `YYYY-MM-DD HH:MM` (e.g., "2025-11-02 14:30") **Optional - Pre-fill Known Information**: If the user provided clear organization name and job title: - Fill in "Organization Name" field - Fill in "Job Title" field - Leave all other fields as placeholders for `/populate-application` to fill ## User Confirmation ### 6. Success Message After successfully creating the application, provide this output: ``` ✅ New application created successfully! **Location**: applications/pending/[folder-name]/ **Organization**: [Organization Name] **Position**: [Job Title] ## Next Steps: 1. **Add documents to the input folder**: ``` applications/pending/[folder-name]/input/ ``` Add any of these documents: - Job posting/advertisement (PDF, TXT, MD, DOCX) - Recruiter emails or communications - Company research notes - Any other relevant context 2. **Prepare attachments folder** (for later use): ``` applications/pending/[folder-name]/attachments/ ``` This folder is for final documents ready to send: - CV/Resume (PDF) - Cover letter (PDF) - Certificates and diplomas (PDF) Note: Documents will be generated first, then you add them here before creating the application email. 3. **Populate the application**: Once you've added your documents, run: ``` /populate-application ``` This will analyze all input files and populate application.md with: - Job requirements and keywords - Company research and culture insights - Match strategy (your relevant skills/experience) - Suggested tone and key messages 4. **Review and refine**: After population, review `application.md` and add your own insights. 5. **Generate documents**: Use the populated application to generate tailored cover letter and email: ``` /write-cover-letter /write-application-email ``` --- **Tip**: You can manually edit `application.md` at any time to add notes, ideas, or strategy thoughts. ``` ## Error Handling ### 7. Handle Edge Cases **If applications/pending/ doesn't exist**: - Create it automatically with parent directories - Inform user: "Created applications directory structure." **If template file is missing** (`src/.claude/templates/application-template.md`): - Create a basic application.md with minimal structure - Warn user: "Template file not found. Created basic application.md structure." **If filesystem errors occur**: - Provide clear error message - Suggest checking permissions or path length ## Important Notes - Always use forward slashes (/) for paths, even on Windows (handled by tools) - Preserve the YYYY-MM-DD prefix for chronological sorting - Keep folder names readable - avoid cryptic abbreviations - The input/ folder should be empty initially - it's for the user to fill