Initial release: AI-powered job application framework

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
AI Job Search
2026-03-23 08:34:06 +01:00
committed by Mads Lorentzen
co-authored by Claude Opus 4.6
commit c66d599d75
73 changed files with 6539 additions and 0 deletions
@@ -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