mirror of
https://github.com/MadsLorentzen/ai-job-search.git
synced 2026-09-17 08:36:25 +00:00
Initial release: AI-powered job application framework
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
committed by
Mads Lorentzen
co-authored by
Claude Opus 4.6
commit
c66d599d75
@@ -0,0 +1,60 @@
|
||||
# Candidate Profile
|
||||
|
||||
<!-- SETUP: This file is populated by running /setup -->
|
||||
<!-- After running /setup, all sections will be filled with your actual information -->
|
||||
|
||||
## Identity
|
||||
- **Name:** [YOUR_NAME]
|
||||
- **Location:** [YOUR_ADDRESS]
|
||||
- **Phone:** [YOUR_PHONE]
|
||||
- **Email:** [YOUR_EMAIL]
|
||||
- **LinkedIn:** [YOUR_LINKEDIN_URL]
|
||||
- **GitHub:** [YOUR_GITHUB_URL]
|
||||
- **Languages:** [YOUR_LANGUAGES with proficiency levels]
|
||||
- **Status:** [YOUR_EMPLOYMENT_STATUS]
|
||||
- **Constraints:** [YOUR_COMMUTE_OR_LOCATION_CONSTRAINTS]
|
||||
|
||||
## Education
|
||||
|
||||
| Degree | Period | Institution | Key Topics |
|
||||
|--------|--------|-------------|------------|
|
||||
| [DEGREE] | [YEARS] | [INSTITUTION] | [TOPICS] |
|
||||
|
||||
## Professional Experience
|
||||
|
||||
### [JOB_TITLE] - [COMPANY] ([START] - [END])
|
||||
[LOCATION]
|
||||
- [RESPONSIBILITY_OR_ACHIEVEMENT_1]
|
||||
- [RESPONSIBILITY_OR_ACHIEVEMENT_2]
|
||||
- [RESPONSIBILITY_OR_ACHIEVEMENT_3]
|
||||
|
||||
<!-- Add more roles as needed -->
|
||||
|
||||
## Independent Projects
|
||||
<!-- Projects outside of employment: freelance, open source, personal -->
|
||||
- **[PROJECT_NAME]**: [DESCRIPTION]
|
||||
|
||||
## Technical Skills
|
||||
|
||||
### Programming & ML
|
||||
- **[LANGUAGE]** ([PROFICIENCY]): [FRAMEWORKS_AND_LIBRARIES]
|
||||
- [OTHER_SKILLS]
|
||||
|
||||
### Domain Expertise
|
||||
- [DOMAIN_1]
|
||||
- [DOMAIN_2]
|
||||
|
||||
### Software & Tools
|
||||
- [TOOL_LIST]
|
||||
|
||||
## Publications
|
||||
<!-- List peer-reviewed publications, if any -->
|
||||
1. [AUTHOR_LIST] ([YEAR]). [TITLE]. [JOURNAL]. [DOI_LINK]
|
||||
|
||||
## Awards
|
||||
- [AWARD] - [EVENT] ([YEAR])
|
||||
|
||||
## References
|
||||
- [NAME], [TITLE], [COMPANY] ([EMAIL], [PHONE])
|
||||
|
||||
More references available upon request.
|
||||
@@ -0,0 +1,50 @@
|
||||
# Behavioral Profile
|
||||
|
||||
<!-- SETUP: This file is populated by running /setup -->
|
||||
<!-- You can use results from PI, DISC, Myers-Briggs, StrengthsFinder, or a self-assessment -->
|
||||
|
||||
## Overview
|
||||
[YOUR_NAME]'s behavioral assessment identifies them as a **[PROFILE_TYPE]** pattern. [1-2 SENTENCE_SUMMARY].
|
||||
|
||||
## Core Behavioral Drives
|
||||
|
||||
| Drive | Level | Meaning |
|
||||
|-------|-------|---------|
|
||||
| [DRIVE_1] | [LEVEL] | [DESCRIPTION] |
|
||||
| [DRIVE_2] | [LEVEL] | [DESCRIPTION] |
|
||||
| [DRIVE_3] | [LEVEL] | [DESCRIPTION] |
|
||||
| [DRIVE_4] | [LEVEL] | [DESCRIPTION] |
|
||||
|
||||
## Strongest Behaviors
|
||||
- **[BEHAVIOR_1]:** [DESCRIPTION]
|
||||
- **[BEHAVIOR_2]:** [DESCRIPTION]
|
||||
- **[BEHAVIOR_3]:** [DESCRIPTION]
|
||||
|
||||
## How You Work Best
|
||||
- [ENVIRONMENT_PREFERENCE_1]
|
||||
- [ENVIRONMENT_PREFERENCE_2]
|
||||
- [ENVIRONMENT_PREFERENCE_3]
|
||||
|
||||
## Growth Areas (frame positively in applications)
|
||||
- **[AREA_1]:** [HOW_TO_FRAME_IT_POSITIVELY]
|
||||
- **[AREA_2]:** [HOW_TO_FRAME_IT_POSITIVELY]
|
||||
|
||||
## Mapping to Job Posting Language
|
||||
|
||||
When a job posting mentions these keywords, it's a **strong behavioral fit**:
|
||||
- [KEYWORD_OR_PHRASE_THAT_MATCHES_YOUR_STYLE]
|
||||
- [ANOTHER_KEYWORD]
|
||||
|
||||
When a job posting mentions these, flag as **potential friction** (not deal-breaker):
|
||||
- [KEYWORD_OR_PHRASE_THAT_MIGHT_CLASH]
|
||||
- [ANOTHER_KEYWORD]
|
||||
|
||||
## Management Style Preferences
|
||||
- [WHAT_MANAGEMENT_STYLE_WORKS_FOR_YOU]
|
||||
- [WHAT_DOESN'T_WORK]
|
||||
|
||||
## Using This in Applications
|
||||
- **Cover letters:** [HOW_TO_WEAVE_IN_BEHAVIORAL_STRENGTHS]
|
||||
- **CV:** [WHAT_TO_EMPHASIZE]
|
||||
- **Interviews:** [WHAT_STAR_EXAMPLES_TO_USE]
|
||||
- **Don't overstate:** [WHAT_NOT_TO_CLAIM]
|
||||
@@ -0,0 +1,106 @@
|
||||
# Writing Style Guide
|
||||
|
||||
## Critical Rules
|
||||
|
||||
1. **NO em-dashes (--).** Use commas, periods, or restructure the sentence instead.
|
||||
2. **NO cliches or filler phrases.** Cut: "I am passionate about", "I believe I would be a great fit", "leverage my skills", "hit the ground running", "drive results", "synergies".
|
||||
3. **NO generic buzzwords** without concrete backing. Every claim must be supported by a specific example or fact.
|
||||
4. **NO apologetic or overly humble language.** Not "I think I could contribute" but "I bring X, demonstrated by Y."
|
||||
5. **NO unverified company claims.** Every company-specific statement in a cover letter (partnerships, product names, technology descriptions, expansions) must be independently verified via WebFetch or WebSearch before inclusion. Do not trust reviewer agent research at face value. If a claim cannot be verified, rephrase it in general terms or omit it.
|
||||
6. **Reframe emphasis, not substance.** Some framing of experience toward the target role is expected. But apply the **interview backtrack test**: could the candidate comfortably explain this bullet in an interview without backtracking? If they'd have to say "well, what I actually meant was..." then it's too far. Specifically:
|
||||
- **OK:** Reordering experience to lead with what's most relevant; using natural synonyms for the target domain; emphasizing one aspect of a broad role.
|
||||
- **Flag it:** Combining academic + industry experience into a single claim that implies it was all industry; describing work using the posting's specific terminology when the actual work was adjacent but not the same.
|
||||
- **Never:** Claiming experience the candidate doesn't have; implying they worked in a domain they haven't.
|
||||
When a bullet falls in the "flag it" zone, present it to the user after drafting with: "This bullet is a stretch because X. Keep, soften, or drop?" If the evaluation experience match score is below 50, warn before proceeding to drafting that extensive reframing would be needed.
|
||||
|
||||
## Tone
|
||||
- **Warm but direct.** Friendly and approachable, but confident without arrogance.
|
||||
- **Conversational professional.** Not stiff corporate-speak, not casual chat. Think: how a confident person talks in a good job interview.
|
||||
- **First person, active voice.** "I built" not "a system was developed by the candidate."
|
||||
- **Demonstrate, don't state.** Instead of "I am a team player", write a specific example of teamwork and its outcome.
|
||||
|
||||
## Application Headline (Best Practice)
|
||||
|
||||
The subject line / headline of the application should be engaging and specific, not generic.
|
||||
|
||||
**Bad:** "Application for Sales Engineer Position" / "Ansogning til stilling som ingeniør"
|
||||
**Good:** "[Your specialty] specializing in [relevant keyword from posting]"
|
||||
|
||||
Formula: **[Title/education] + [relevant keyword from the job posting]**
|
||||
|
||||
## Scannable Structure (Best Practice)
|
||||
|
||||
Employers scan applications quickly. Structure for easy reading:
|
||||
- Use descriptive subheadings that reflect content (not just "Introduction" / "Body")
|
||||
- Include industry-specific keywords in headings where natural
|
||||
- Write concisely - eliminate filler language
|
||||
- One page maximum (hard rule)
|
||||
|
||||
## Forward-Looking Framing (Best Practice)
|
||||
|
||||
The cover letter is **not a CV repetition**. It should be forward-looking:
|
||||
- Focus on **tasks you can solve for the employer**, not just what you've done before
|
||||
- Describe your approach: methods, tools, knowledge you'll bring
|
||||
- Explain what positive outcomes the employer can expect from hiring you
|
||||
- Use 1-2 brief past examples only to back up forward-looking claims
|
||||
|
||||
## Cover Letter Structure
|
||||
|
||||
### Opening Paragraph
|
||||
- State the role and why you're writing (1 sentence)
|
||||
- Immediately connect your background to the role (1-2 sentences)
|
||||
- Make it specific to this company/role, not a template opener
|
||||
|
||||
### Body Paragraphs - Task-Solving Focus
|
||||
- Lead with the most relevant experience for this specific role
|
||||
- Frame content around **which of their tasks you can solve and how**
|
||||
- Describe your approach: methods, tools, and knowledge you'll bring
|
||||
- Use bullet lists for concrete skills/achievements when appropriate (3-5 bullets)
|
||||
- Each bullet should be specific and outcome-oriented
|
||||
- Include at least one example that shows initiative
|
||||
- Include 1-2 brief examples of past success, but keep the focus forward-looking
|
||||
|
||||
### Motivation / Why This Company (place early)
|
||||
- The **first section** after the opening should explain why you're applying to *this specific company*
|
||||
- Use language and themes from the job posting and company website
|
||||
- Focus on how you'll contribute to their goals, not what you gain from employment
|
||||
- If you spoke with someone at the company, reference the conversation naturally
|
||||
|
||||
### Company-Specific Paragraph
|
||||
- Show you've researched the company (mention specific projects, values, or market position)
|
||||
- Explain why this company specifically, not just "a company like yours"
|
||||
- Connect domain knowledge to their business context
|
||||
|
||||
### Closing
|
||||
- Brief, confident, forward-looking
|
||||
- "I look forward to hearing from you" or "I would welcome the opportunity to discuss..."
|
||||
- No begging or over-enthusiasm
|
||||
|
||||
## Bullet Point Style
|
||||
- Start with action verb or bold category label
|
||||
- Be specific: numbers, tools, outcomes
|
||||
- Vary the structure (not every bullet starts the same way)
|
||||
|
||||
## Language for Different Role Types
|
||||
|
||||
### Technical/ML roles
|
||||
- Lead with programming languages, ML frameworks, specific model architectures
|
||||
- Mention datasets, data volumes, pipeline complexity
|
||||
- Include independent projects
|
||||
|
||||
### Domain-specific roles
|
||||
- Lead with domain expertise and specific methods
|
||||
- Frame technical skills as tools that enhance domain analysis
|
||||
|
||||
### Consulting/Advisory roles
|
||||
- Lead with stakeholder communication, project coordination, client interaction
|
||||
- Emphasize ability to bridge technical and business perspectives
|
||||
|
||||
### Leadership/Senior roles
|
||||
- Lead with project management, mentoring, course development
|
||||
- Frame advanced degrees as evidence of independent project delivery
|
||||
|
||||
## Multi-language Applications
|
||||
- Default to the language of the job posting
|
||||
- Cover letters in the posting's language should feel natural, not translated
|
||||
- Slightly warmer, more personal tone may be acceptable in some languages
|
||||
@@ -0,0 +1,173 @@
|
||||
# Job Evaluation Framework
|
||||
|
||||
<!-- SETUP: Skill match areas and career goals are personalized by running /setup -->
|
||||
|
||||
## Scoring Dimensions
|
||||
|
||||
Evaluate each job posting against these five dimensions:
|
||||
|
||||
### 1. Technical Skills Match (0-100)
|
||||
How well do the required/preferred skills align with the candidate's capabilities?
|
||||
|
||||
| Score | Meaning |
|
||||
|-------|---------|
|
||||
| 80-100 | Core requirements are primary skills |
|
||||
| 60-79 | Most requirements match, 1-2 gaps that are learnable |
|
||||
| 40-59 | Partial match, significant upskilling needed |
|
||||
| 0-39 | Fundamental mismatch |
|
||||
|
||||
**Strong match areas:** [YOUR_PRIMARY_SKILLS]
|
||||
**Moderate match areas:** [YOUR_SECONDARY_SKILLS]
|
||||
**Weak match areas:** [SKILLS_YOU_LACK]
|
||||
|
||||
### 2. Experience Match (0-100)
|
||||
Does work history align with what they're looking for?
|
||||
|
||||
| Score | Meaning |
|
||||
|-------|---------|
|
||||
| 80-100 | Direct experience in the same domain and role type |
|
||||
| 60-79 | Related experience, transferable skills clear |
|
||||
| 40-59 | Adjacent experience, would need to make the case |
|
||||
| 0-39 | Unrelated experience |
|
||||
|
||||
**Strong:** [YOUR_DIRECT_EXPERIENCE_DOMAINS]
|
||||
**Moderate:** [YOUR_ADJACENT_EXPERIENCE]
|
||||
**Entry-level:** [ROLES_WITH_LIMITED_EXPERIENCE]
|
||||
|
||||
### 3. Behavioral/Culture Fit (0-100)
|
||||
Does the role and company culture match the behavioral profile?
|
||||
|
||||
| Score | Meaning |
|
||||
|-------|---------|
|
||||
| 80-100 | Culture strongly matches behavioral preferences |
|
||||
| 60-79 | Mixed signals but mostly compatible |
|
||||
| 40-59 | Some friction areas |
|
||||
| 0-39 | Significant culture mismatch |
|
||||
|
||||
**Red flags to research:** Department disorganization, work dominated by maintenance over development, poor chemistry with leadership, culture mismatches. Check reviews, media coverage, LinkedIn connections, and network contacts for insider perspective.
|
||||
|
||||
### 4. Location & Logistics (Pass/Fail + Notes)
|
||||
- Within commute range: PASS
|
||||
- Remote with occasional office: PASS
|
||||
- Requires relocation: FAIL (deal-breaker)
|
||||
- Frequent international travel: FLAG (discuss with user)
|
||||
|
||||
### 5. Career Alignment & Motivation (0-100)
|
||||
Does this role advance career goals and contain tasks that energize?
|
||||
|
||||
| Score | Meaning |
|
||||
|-------|---------|
|
||||
| 80-100 | Strongly aligned with career direction, clear growth path |
|
||||
| 60-79 | Good role but only partially aligned with long-term goals |
|
||||
| 40-59 | Decent job but doesn't build toward career goals |
|
||||
| 0-39 | Dead end or backwards step |
|
||||
|
||||
**Career goals:**
|
||||
- [YOUR_CAREER_GOAL_1]
|
||||
- [YOUR_CAREER_GOAL_2]
|
||||
- [YOUR_CAREER_GOAL_3]
|
||||
|
||||
**Motivation filter:** Evaluate not just whether you *can* do the tasks, but whether the tasks will *energize* you. Consider:
|
||||
- Tasks that energize: [YOUR_ENERGIZING_TASKS]
|
||||
- Tasks that drain: [YOUR_DRAINING_TASKS]
|
||||
- Non-task factors: leadership style, department culture, company values, degree of autonomy
|
||||
|
||||
**Life situation alignment:** Consider personal constraints:
|
||||
- **Security**: [YOUR_FINANCIAL_SITUATION_CONTEXT]
|
||||
- **Flexibility**: [YOUR_SCHEDULE_CONSTRAINTS]
|
||||
- **Professional development**: [YOUR_GROWTH_PRIORITIES]
|
||||
|
||||
### 6. Salary Benchmark (Optional)
|
||||
|
||||
If the salary lookup tool is configured (`salary_data.json` exists), look up the company:
|
||||
```
|
||||
python salary_lookup.py "<Company Name>" --json
|
||||
```
|
||||
|
||||
If a city is known from the posting, add `--city "<City>"` to narrow results.
|
||||
|
||||
Present findings as:
|
||||
```
|
||||
### Salary Benchmark
|
||||
| Metric | Value |
|
||||
|--------|-------|
|
||||
| [Category] index | XX.X (+/-X.X% vs baseline) |
|
||||
| Overall index | XX.X (+/-X.X% vs baseline) |
|
||||
```
|
||||
|
||||
Interpret results relative to the baseline defined in the data file's metadata. For index-based data, higher typically means above-market compensation.
|
||||
|
||||
If the salary tool is not configured, skip this section.
|
||||
|
||||
## Output Format
|
||||
|
||||
Present the evaluation as:
|
||||
|
||||
```
|
||||
## Job Fit Evaluation: [Role] at [Company]
|
||||
|
||||
| Dimension | Score | Notes |
|
||||
|-----------|-------|-------|
|
||||
| Technical Skills | XX/100 | [brief note] |
|
||||
| Experience Match | XX/100 | [brief note] |
|
||||
| Behavioral Fit | XX/100 | [brief note] |
|
||||
| Location | PASS/FAIL | [brief note] |
|
||||
| Career Alignment | XX/100 | [brief note] |
|
||||
|
||||
**Overall Score: XX/100** (weighted average of scored dimensions)
|
||||
|
||||
### Verdict: [Strong Fit / Good Fit / Moderate Fit / Weak Fit / Poor Fit]
|
||||
|
||||
### Key Strengths for This Role
|
||||
- [bullet points]
|
||||
|
||||
### Gaps to Address
|
||||
- [bullet points]
|
||||
|
||||
### Recommendation
|
||||
[1-2 sentences: apply/skip/apply with caveats]
|
||||
|
||||
### Company Research Checklist
|
||||
- [ ] Checked company website (mission, values, recent news)
|
||||
- [ ] Checked review sites (Glassdoor, Jobindex, etc.)
|
||||
- [ ] Checked LinkedIn for team size, recent hires, connections
|
||||
- [ ] Checked media for restructuring, growth, or workplace issues
|
||||
- [ ] Identified network contacts who may know the team/manager
|
||||
```
|
||||
|
||||
## Weighting
|
||||
- Technical Skills: 30%
|
||||
- Experience Match: 25%
|
||||
- Behavioral Fit: 15%
|
||||
- Career Alignment: 30%
|
||||
|
||||
(Location is pass/fail, not weighted)
|
||||
|
||||
## Thresholds
|
||||
- **Strong Fit** (75+): Definitely apply, tailor everything
|
||||
- **Good Fit** (60-74): Apply, address gaps in cover letter
|
||||
- **Moderate Fit** (45-59): Consider carefully, discuss with user
|
||||
- **Weak Fit** (30-44): Probably skip unless strategic reasons
|
||||
- **Poor Fit** (<30): Skip
|
||||
|
||||
## Pre-Application: Call the Employer (Best Practice)
|
||||
|
||||
Before writing the application, consider whether the candidate should call the contact person listed in the posting. **Only call if there are substantive questions** - never call just to "be remembered."
|
||||
|
||||
### When to Suggest Calling
|
||||
- The posting has unclear or ambiguous requirements
|
||||
- It's unclear which competencies are essential vs. nice-to-have
|
||||
- The role description is vague about day-to-day tasks
|
||||
- There's a named contact person who invites questions
|
||||
|
||||
### Good Questions to Ask
|
||||
- "What are the primary challenges in this role?"
|
||||
- "How is time typically divided across the listed responsibilities?"
|
||||
- "Which competencies are most critical for success in this position?"
|
||||
- "What does success look like in the first 6-12 months?"
|
||||
|
||||
### Rules for the Call
|
||||
- Prepare a 30-second "elevator pitch" about your background in case they ask
|
||||
- The call's purpose is **gathering information**, not delivering a pitch
|
||||
- Take notes - use what you learn to tailor the application
|
||||
- Reference the conversation naturally in the cover letter ("After speaking with [name], I was especially drawn to...")
|
||||
@@ -0,0 +1,141 @@
|
||||
# CV Templates and Tailoring Guide
|
||||
|
||||
<!-- SETUP: Profile statements and section ordering are personalized by running /setup -->
|
||||
|
||||
## Template: LaTeX moderncv (Banking Style)
|
||||
|
||||
All CVs use the moderncv LaTeX package with the "banking" style and "blue" color scheme.
|
||||
|
||||
**Output file:** `cv/main_<company>.tex`
|
||||
**Compile with:** pdflatex (not xelatex)
|
||||
**Master reference:** `cv/main_example.tex` (comprehensive CV with all competencies, experience, and achievements - use as source when building targeted CVs)
|
||||
|
||||
## Document Structure
|
||||
|
||||
```latex
|
||||
\documentclass[11pt,a4paper,sans]{moderncv}
|
||||
\moderncvstyle{banking}
|
||||
\moderncvcolor{blue}
|
||||
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{hyperref}
|
||||
\hypersetup{
|
||||
colorlinks=true,
|
||||
linkcolor=blue,
|
||||
filecolor=magenta,
|
||||
urlcolor=blue,
|
||||
pdftitle={[YOUR_NAME] - CV},
|
||||
pdfpagemode=FullScreen,
|
||||
}
|
||||
\usepackage[scale=0.77]{geometry}
|
||||
\usepackage{import}
|
||||
|
||||
% Personal data
|
||||
\name{[FIRST_NAME]}{[LAST_NAME]}
|
||||
\address{[YOUR_ADDRESS]}{}{}
|
||||
\phone[mobile]{[YOUR_PHONE]}
|
||||
\email{[YOUR_EMAIL]}
|
||||
\extrainfo{\href{[YOUR_LINKEDIN_URL]}{LinkedIn}, \href{[YOUR_GITHUB_URL]}{GitHub}}
|
||||
|
||||
\begin{document}
|
||||
\makecvtitle
|
||||
|
||||
% 1. Profile statement (1-3 sentences, tailored per role)
|
||||
% 2. Skills section
|
||||
% 3. Education section
|
||||
% 4. Professional Experience section
|
||||
% 5. Selected Publications (if applicable)
|
||||
% 6. Honors and Awards (if applicable)
|
||||
% 7. References
|
||||
|
||||
\end{document}
|
||||
```
|
||||
|
||||
## Section-by-Section Tailoring
|
||||
|
||||
### Profile Statement / Elevator Pitch (Best Practice)
|
||||
This is the most important section to customize. It appears right after `\makecvtitle`.
|
||||
|
||||
Write 5-7 lines that function as an "elevator pitch": a concise, compelling introduction explaining why you're qualified for *this specific role*. Focus on what the employer gains from hiring you.
|
||||
|
||||
**Create 2-3 profile statement templates for your main role types:**
|
||||
|
||||
<!-- SETUP: These are populated based on your background -->
|
||||
**For [YOUR_PRIMARY_ROLE_TYPE] roles:**
|
||||
> [YOUR_PROFILE_STATEMENT_TEMPLATE_1]
|
||||
|
||||
**For [YOUR_SECONDARY_ROLE_TYPE] roles:**
|
||||
> [YOUR_PROFILE_STATEMENT_TEMPLATE_2]
|
||||
|
||||
### Core Competencies / Skills Section (Best Practice)
|
||||
Reorder and emphasize based on the role. Use bold category labels.
|
||||
|
||||
List **5-7 key competencies** in bullet format, tailored to the specific job. For each competency, briefly explain how it adds value to the position.
|
||||
|
||||
### Education
|
||||
- Always include your highest degrees
|
||||
- For senior roles, keep education brief (dates and titles only)
|
||||
- Include thesis topics when relevant to the target role
|
||||
|
||||
### Professional Experience
|
||||
- Rewrite bullet points to emphasize aspects most relevant to the target role
|
||||
- Use 4-6 bullets for most recent role, 3-4 for previous, 2-3 for older
|
||||
- **Emphasize measurable results** where possible: "Reduced processing time by X%", "Model adopted by the team"
|
||||
|
||||
### Handling Employment Gaps (Best Practice)
|
||||
If there is a gap in your employment history:
|
||||
- The gap should be explained matter-of-factly if needed
|
||||
- Describe how professional development continued during the gap
|
||||
- Frame as deliberate skill-building and career repositioning
|
||||
|
||||
### Publications
|
||||
- Include Google Scholar link if applicable
|
||||
- Select 3-4 most relevant publications (not always all of them)
|
||||
- For non-academic roles, keep brief
|
||||
|
||||
### Honors and Awards
|
||||
- Keep format brief, one line each
|
||||
|
||||
### References
|
||||
- List 2-4 references with name, title, company, and contact
|
||||
- End with: "More references are available upon request."
|
||||
- **Do not attach reference letters** - employers typically contact references directly
|
||||
|
||||
## Page Budget - Hard 2-Page Limit
|
||||
|
||||
The CV **must** fit on exactly 2 pages when compiled. Use these content limits as a guide:
|
||||
|
||||
| Section | Max budget |
|
||||
|---------|-----------|
|
||||
| Profile statement | 3-4 lines |
|
||||
| Skills | 5 items, each 1-2 lines |
|
||||
| Most recent role | 4-5 bullets |
|
||||
| Previous role | 2-3 bullets |
|
||||
| Older roles | 2 bullets (1 line each) |
|
||||
| Education | 2-3 entries |
|
||||
| Publications | 2-3 entries |
|
||||
| Awards | 3 entries, single line each |
|
||||
| References | "Available upon request." (single line) |
|
||||
|
||||
**If in doubt, cut rather than squeeze.** Reducing `\vspace` or geometry scale to force-fit content makes the CV look cramped.
|
||||
|
||||
## Recommended Section Order
|
||||
|
||||
The section order varies by role type:
|
||||
|
||||
**For technical / data science / ML roles:**
|
||||
1. Profile statement / elevator pitch
|
||||
2. Core competencies / Skills
|
||||
3. Professional Experience (reverse chronological)
|
||||
4. Education (reverse chronological)
|
||||
5. Languages
|
||||
6. Publications & Awards
|
||||
7. References
|
||||
|
||||
**For domain-specific / specialist roles:**
|
||||
1. Profile statement / elevator pitch
|
||||
2. Core competencies / Skills
|
||||
3. Education (reverse chronological) - credentials are a key qualifier
|
||||
4. Professional Experience (reverse chronological)
|
||||
5. Publications & Awards
|
||||
6. References
|
||||
@@ -0,0 +1,126 @@
|
||||
# Cover Letter Templates and Tailoring Guide
|
||||
|
||||
## Template: Custom cover.cls (XeLaTeX)
|
||||
|
||||
Cover letters use a custom LaTeX document class (`cover.cls`) with Lato/Raleway fonts.
|
||||
|
||||
**Output file:** `cover_letters/cover_<company>_<role>.tex`
|
||||
**Compile with:** XeLaTeX (not pdflatex)
|
||||
**Font directory:** `cover_letters/OpenFonts/fonts/`
|
||||
|
||||
## Document Structure
|
||||
|
||||
```latex
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Cover Letter - [Company], [Role]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\documentclass[]{cover}
|
||||
\usepackage{fancyhdr}
|
||||
|
||||
\pagestyle{fancy}
|
||||
\fancyhf{}
|
||||
|
||||
\rfoot{Page \thepage \hspace{0pt}}
|
||||
\thispagestyle{empty}
|
||||
\renewcommand{\headrulewidth}{0pt}
|
||||
\begin{document}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% TITLE NAME
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\namesection{}{\Huge{[YOUR_NAME]}}{ \href{mailto:[YOUR_EMAIL]}{[YOUR_EMAIL]} | [YOUR_PHONE] | \urlstyle{same}\href{[YOUR_LINKEDIN_URL]}{LinkedIn}
|
||||
}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% MAIN COVER LETTER CONTENT
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\currentdate{\today}
|
||||
\lettercontent{Dear [Name/Team],}
|
||||
|
||||
\lettercontent{[Opening paragraph - role, connection to background, 2-3 sentences]}
|
||||
|
||||
\lettercontent{[Body paragraph - most relevant experience, then bullet list]
|
||||
|
||||
\begin{itemize}
|
||||
\item [Concrete achievement/skill 1]
|
||||
\item [Concrete achievement/skill 2]
|
||||
\item [Concrete achievement/skill 3]
|
||||
\end{itemize}
|
||||
|
||||
[Connection to company - why this role, why this company specifically]}
|
||||
|
||||
\lettercontent{[Personal fit paragraph - behavioral strengths, team contribution, 2-3 sentences]}
|
||||
|
||||
\lettercontent{I look forward to hearing from you.}
|
||||
|
||||
\begin{flushright}
|
||||
\closing{Kind regards,\\}
|
||||
|
||||
\signature{[YOUR_NAME]}
|
||||
\end{flushright}
|
||||
\end{document}
|
||||
```
|
||||
|
||||
## Key Commands Reference
|
||||
|
||||
| Command | Purpose |
|
||||
|---------|---------|
|
||||
| `\namesection{}{Name}{contact info}` | Header with name and contact |
|
||||
| `\currentdate{date}` | Date field (use `\today` or explicit date) |
|
||||
| `\lettercontent{text}` | Body paragraph (adds spacing after) |
|
||||
| `\closing{text}` | Closing line |
|
||||
| `\signature{name}` | Printed name below signature |
|
||||
|
||||
## Tailoring Guidelines
|
||||
|
||||
### Salutation
|
||||
- If you know the hiring manager's name: "Dear [First Last],"
|
||||
- If you know the team: "Dear [Company] hiring team,"
|
||||
- Generic: "Dear [Company]," (avoid "To whom it may concern")
|
||||
|
||||
### Length - Hard 1-Page Limit
|
||||
- Target: 1 page including signature block
|
||||
- Maximum: **never exceed 1 page**
|
||||
- **Word budget: 250-300 words** of body text (not counting LaTeX markup). This is the safe maximum. 350 words will overflow.
|
||||
- **Always count**: opening paragraph + bullet list paragraph + closing paragraph = 3 blocks. Add a 4th only if the others are short.
|
||||
- When adding company-specific content, trim other content to compensate rather than adding net length
|
||||
|
||||
### Line Spacing
|
||||
- Add `\usepackage{setspace}` and `\setstretch{1.0}` if the letter is long and needs to fit on one page
|
||||
- Use `\vspace{.5cm}` between major sections for readability (only if space permits)
|
||||
|
||||
### Bullet Lists
|
||||
- Use `\begin{itemize}...\end{itemize}` inside a `\lettercontent{}` block
|
||||
- 3-5 bullets is ideal
|
||||
- Start each bullet with bold label or action verb
|
||||
- Use `\textbf{Label:}` for category-style bullets
|
||||
|
||||
### LaTeX Special Characters
|
||||
- Underscore: `\_`
|
||||
- Ampersand: `\&`
|
||||
|
||||
### Non-English Cover Letters
|
||||
- Same template structure, just write content in the posting's language
|
||||
- Adjust date format to local convention
|
||||
- Adjust closing to local convention (e.g. "Med venlig hilsen," for Danish)
|
||||
|
||||
## Checklist Before Finalizing
|
||||
- [ ] No em-dashes (use commas or periods instead)
|
||||
- [ ] No cliches or empty filler
|
||||
- [ ] Every claim backed by specific example
|
||||
- [ ] Forward-looking framing: focuses on tasks you'll solve, not just past duties
|
||||
- [ ] Motivation section references this specific company's mission/values
|
||||
- [ ] Company name and role are correct throughout
|
||||
- [ ] Date is current
|
||||
- [ ] Fits on one page
|
||||
- [ ] Language matches the job posting language
|
||||
- [ ] Salutation is appropriate (named person if possible)
|
||||
- [ ] Headline is engaging and specific, not generic
|
||||
|
||||
## Submission Guidelines (Best Practice)
|
||||
- Submit only the documents the employer requests
|
||||
- Export as PDF to preserve formatting
|
||||
- Name files clearly: "[Your Name] CV" and "[Your Name] Cover Letter"
|
||||
- Follow all employer instructions regarding anonymity or specific materials
|
||||
@@ -0,0 +1,109 @@
|
||||
# Interview Preparation Guide
|
||||
|
||||
<!-- SETUP: STAR examples are personalized by running /setup based on your actual experience -->
|
||||
|
||||
## STAR Format
|
||||
|
||||
Structure answers as: **Situation** (context), **Task** (your responsibility), **Action** (what you did), **Result** (outcome).
|
||||
|
||||
Keep answers to 1-2 minutes. Be specific. End with what you learned or would do differently.
|
||||
|
||||
## Ready-Made STAR Examples
|
||||
|
||||
<!-- These are populated by /setup from your actual experience. Below are templates showing the format. -->
|
||||
|
||||
### 1. [PROJECT_NAME] ([SKILL_DEMONSTRATED])
|
||||
**S:** [CONTEXT - what was happening, what was the problem]
|
||||
**T:** [YOUR RESPONSIBILITY - what you specifically needed to do]
|
||||
**A:** [WHAT YOU DID - specific actions, tools, methods]
|
||||
**R:** [OUTCOME - measurable results, adoption, impact]
|
||||
**Use for:** "[QUESTION_TYPE_1]", "[QUESTION_TYPE_2]"
|
||||
|
||||
### 2. [PROJECT_NAME] ([SKILL_DEMONSTRATED])
|
||||
**S:** [CONTEXT]
|
||||
**T:** [YOUR RESPONSIBILITY]
|
||||
**A:** [WHAT YOU DID]
|
||||
**R:** [OUTCOME]
|
||||
**Use for:** "[QUESTION_TYPE_1]", "[QUESTION_TYPE_2]"
|
||||
|
||||
### 3. [PROJECT_NAME] ([SKILL_DEMONSTRATED])
|
||||
**S:** [CONTEXT]
|
||||
**T:** [YOUR RESPONSIBILITY]
|
||||
**A:** [WHAT YOU DID]
|
||||
**R:** [OUTCOME]
|
||||
**Use for:** "[QUESTION_TYPE_1]", "[QUESTION_TYPE_2]"
|
||||
|
||||
<!-- Add more STAR examples as needed. Aim for 4-6 covering different competencies. -->
|
||||
|
||||
## Common Tough Questions
|
||||
|
||||
### "Why did you leave [previous company]?"
|
||||
> [PREPARE YOUR ANSWER - be honest, forward-looking, no negativity about former employer]
|
||||
|
||||
### "You don't have [specific skill/experience]."
|
||||
> [PREPARE YOUR ANSWER - acknowledge the gap, bridge to adjacent experience, show willingness to learn]
|
||||
|
||||
### "Where do you see yourself in 5 years?"
|
||||
> [PREPARE YOUR ANSWER - show ambition aligned with the role's growth path]
|
||||
|
||||
### "What's your biggest weakness?"
|
||||
> [PREPARE YOUR ANSWER - genuine weakness with concrete mitigation strategy]
|
||||
|
||||
### "Why this company specifically?"
|
||||
> Customize per company. Must reference: specific projects, company values, market position, or team structure. Never give a generic answer.
|
||||
|
||||
## Questions You Should Ask Interviewers
|
||||
|
||||
### About the Role
|
||||
- "What does a typical week look like in this role?"
|
||||
- "What would success look like in the first 6 months?"
|
||||
- "What's the biggest challenge the team is facing right now?"
|
||||
|
||||
### About the Team
|
||||
- "How big is the team, and how do you divide work?"
|
||||
- "What does the development/project lifecycle look like, from idea to production?"
|
||||
- "How do you onboard new team members?"
|
||||
|
||||
### About Tech & Growth
|
||||
- "What's your current tech stack for [relevant area]?"
|
||||
- "Is there room to grow into more architectural or strategic decisions?"
|
||||
- "How does the team stay current with new tools and methods?"
|
||||
|
||||
### About Culture (use these to prevent disappointment)
|
||||
- "How would you describe the team culture?"
|
||||
- "What does professional development look like here?"
|
||||
- "Is there flexibility for remote/hybrid work?"
|
||||
- "What's the balance between development/new projects and maintenance work?"
|
||||
- "How would you describe the leadership style in this team?"
|
||||
- "What do people who thrive here have in common?"
|
||||
|
||||
## Phone/Video Interview Tips
|
||||
- Have STAR examples written out (use this file)
|
||||
- Keep a glass of water nearby
|
||||
- Smile when speaking (it changes your tone)
|
||||
- Ask for clarification if a question is vague
|
||||
- It's OK to take 5 seconds to think before answering
|
||||
- End with: "Is there anything else you'd like to know about my background?"
|
||||
|
||||
## After the Application (Best Practice)
|
||||
|
||||
### Follow-Up Etiquette
|
||||
- **Don't call to "stand out"** or to learn more about the role post-submission - this risks a negative impression
|
||||
- If the employer specified a timeline, respect it and wait
|
||||
- If no timeline was given and significant time has passed (2+ weeks), a brief call to ask about status is acceptable
|
||||
- If you have genuinely new, relevant information to share, a short follow-up is fine
|
||||
|
||||
### Thank-You Notes
|
||||
- When you receive any update (interview invitation, rejection, or status update), send a brief thank-you message
|
||||
- Express appreciation for their time and the process
|
||||
- Keep it short (2-3 sentences)
|
||||
|
||||
## Roleplay Guidelines
|
||||
When the user asks for interview practice:
|
||||
1. Ask which role/company to simulate
|
||||
2. Start with easy warm-up questions ("Tell me about yourself")
|
||||
3. Progress to role-specific technical questions
|
||||
4. Include 1-2 behavioral questions using the competencies from the job posting
|
||||
5. End with a tough question or curveball
|
||||
6. After each answer, give brief feedback: what worked, what to sharpen
|
||||
7. Suggest which STAR example would work best for each question
|
||||
@@ -0,0 +1,63 @@
|
||||
# Job Application Assistant
|
||||
|
||||
**name:** job-application-assistant
|
||||
**description:** Assists with job applications: evaluating job postings, tailoring CVs, writing cover letters, and preparing for interviews. Triggers on keywords like: job posting, job application, CV, cover letter, resume, interview prep, job fit, career, application, apply, ansøgning, stilling
|
||||
**allowed-tools:** Read, Glob, Grep, WebFetch, WebSearch, Edit, Write, AskUserQuestion
|
||||
|
||||
---
|
||||
|
||||
## Workflow
|
||||
|
||||
When the user provides a job posting (URL or text), follow this workflow:
|
||||
|
||||
### Step 1: Research & Evaluate Fit
|
||||
- Fetch the job posting content (use WebFetch for URLs)
|
||||
- Analyze the posting for required competencies, keywords, and priorities
|
||||
- Research the company (website, LinkedIn, mission, recent news)
|
||||
- Score the posting against the candidate's profile using the framework in `04-job-evaluation.md`
|
||||
- Present the evaluation table and verdict
|
||||
- Suggest whether the candidate should call the employer before applying (see `04-job-evaluation.md` for guidance)
|
||||
- Ask the user if they want to proceed with an application
|
||||
|
||||
### Step 2: Tailor CV
|
||||
- Read the most relevant existing CV variant from `cv/` as a starting point
|
||||
- Follow the guidelines in `05-cv-templates.md`
|
||||
- Create `cv/main_<company>.tex` with tailored content
|
||||
- Adjust: profile statement, skills section, experience bullet emphasis, section order
|
||||
|
||||
### Step 3: Write Cover Letter
|
||||
- Follow the writing style rules in `03-writing-style.md` (critical: no em-dashes, no cliches)
|
||||
- Follow the template structure in `06-cover-letter-templates.md`
|
||||
- Create `cover_letters/cover_<company>_<role>.tex`
|
||||
- Ensure the letter connects specific experience to the role requirements
|
||||
|
||||
### Step 4: Interview Preparation
|
||||
- Follow the framework in `07-interview-prep.md`
|
||||
- Prepare STAR-format answers for likely questions
|
||||
- Identify role-specific talking points
|
||||
- Draft questions the candidate should ask the interviewer
|
||||
|
||||
---
|
||||
|
||||
## Reference Files
|
||||
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| `01-candidate-profile.md` | Education, experience, skills, publications, awards |
|
||||
| `02-behavioral-profile.md` | Behavioral assessment, strengths, ideal environments |
|
||||
| `03-writing-style.md` | Tone, structure, do's and don'ts |
|
||||
| `04-job-evaluation.md` | Scoring framework for job fit |
|
||||
| `05-cv-templates.md` | LaTeX CV structure and tailoring rules |
|
||||
| `06-cover-letter-templates.md` | LaTeX cover letter structure and tailoring rules |
|
||||
| `07-interview-prep.md` | STAR examples, tough questions, roleplay guidelines |
|
||||
|
||||
---
|
||||
|
||||
## Quick Commands
|
||||
|
||||
The user may also ask for individual steps without the full workflow:
|
||||
- "Evaluate this job posting" - Step 1 only
|
||||
- "Write a CV for [company]" - Step 2 only
|
||||
- "Write a cover letter for [role] at [company]" - Step 3 only
|
||||
- "Help me prepare for an interview at [company]" - Step 4 only
|
||||
- "What jobs should I look for?" - Career strategy discussion using profile + evaluation framework
|
||||
Reference in New Issue
Block a user