180 lines
5.4 KiB
Markdown
180 lines
5.4 KiB
Markdown
---
|
|||
|
|
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
|