Lots of updates
This commit is contained in:
269
.claude/skills/build-resume/BUILD-RESUME-WORKFLOW.md
Normal file
269
.claude/skills/build-resume/BUILD-RESUME-WORKFLOW.md
Normal file
@@ -0,0 +1,269 @@
|
||||
# Build Resume Workflow
|
||||
|
||||
Quick reference guide for building customized resumes and cover letters for job applications.
|
||||
|
||||
---
|
||||
|
||||
## Directory Structure
|
||||
|
||||
All job applications follow this standardized structure:
|
||||
|
||||
```
|
||||
applications/
|
||||
└── company-name/
|
||||
└── position-slug/
|
||||
├── paul-halvorsen-resume.md
|
||||
├── paul-halvorsen-resume.pdf
|
||||
├── paul-halvorsen-cover-letter.md
|
||||
├── paul-halvorsen-cover-letter.pdf
|
||||
└── job-breakdown.md (analysis & strategy)
|
||||
```
|
||||
|
||||
**Examples:**
|
||||
- `applications/zapier/backend-engineer/`
|
||||
- `applications/stripe/backend-engineer/`
|
||||
- `applications/files/senior-backend-engineer/`
|
||||
|
||||
---
|
||||
|
||||
## Quick Start (2 minutes)
|
||||
|
||||
### Invoke the Skill
|
||||
|
||||
```
|
||||
/build-resume [paste job description or provide details]
|
||||
```
|
||||
|
||||
The `/build-resume` skill will:
|
||||
1. Check if you've already applied (prevents duplicates)
|
||||
2. Create the directory structure
|
||||
3. Analyze the job requirements
|
||||
4. Generate customized resume and cover letter
|
||||
5. Create `job-breakdown.md` with strategy notes
|
||||
6. Build PDFs automatically
|
||||
|
||||
---
|
||||
|
||||
## Manual Build Process
|
||||
|
||||
If creating files manually instead of using `/build-resume`:
|
||||
|
||||
### Step 1: Create Directory
|
||||
```bash
|
||||
mkdir -p applications/company/position
|
||||
```
|
||||
|
||||
### Step 2: Create Resume Markdown
|
||||
File: `applications/company/position/paul-halvorsen-resume.md`
|
||||
|
||||
Copy the YAML template from `YAML-TEMPLATE.md` and add customized content.
|
||||
|
||||
### Step 3: Create Cover Letter Markdown
|
||||
File: `applications/company/position/paul-halvorsen-cover-letter.md`
|
||||
|
||||
Use the same YAML template header.
|
||||
|
||||
### Step 4: Build PDFs
|
||||
|
||||
**Modern template (recommended for tech companies):**
|
||||
```bash
|
||||
make resume-modern FILE_NAME=applications/company/position/paul-halvorsen-resume
|
||||
make resume-modern FILE_NAME=applications/company/position/paul-halvorsen-cover-letter
|
||||
```
|
||||
|
||||
**Classic template (for traditional industries):**
|
||||
```bash
|
||||
make resume FILE_NAME=applications/company/position/paul-halvorsen-resume
|
||||
make resume FILE_NAME=applications/company/position/paul-halvorsen-cover-letter
|
||||
```
|
||||
|
||||
**Awesome-CV template (for startups/bold designs):**
|
||||
```bash
|
||||
make resume-awesome FILE_NAME=applications/company/position/paul-halvorsen-resume
|
||||
make resume-awesome FILE_NAME=applications/company/position/paul-halvorsen-cover-letter
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Customization Checklist (5 minutes)
|
||||
|
||||
Before submitting your resume:
|
||||
|
||||
### ✅ Resume Content
|
||||
- [ ] Summary tailored to role requirements
|
||||
- [ ] Work experience reordered (most relevant first)
|
||||
- [ ] Skills section includes role-specific technologies
|
||||
- [ ] Metrics and achievements highlighted
|
||||
- [ ] Length: 1 page (or 1-2 if detailed background needed)
|
||||
- [ ] **CRITICAL: No fabricated numbers** — all facts from `paul-halvorsen-resume-detailed.md`
|
||||
|
||||
### ✅ YAML Metadata
|
||||
- [ ] Contact info formatted correctly (quoted strings)
|
||||
- [ ] Keywords match job requirements
|
||||
- [ ] Email, phone, GitHub, LinkedIn all present
|
||||
- [ ] Blog link included (optional but recommended)
|
||||
|
||||
### ✅ Cover Letter
|
||||
- [ ] Addresses company mission/vision
|
||||
- [ ] Acknowledges any experience gaps honestly
|
||||
- [ ] Emphasizes transferable skills
|
||||
- [ ] Tone is professional and authentic
|
||||
- [ ] Length: 4-5 paragraphs (fits on one page)
|
||||
- [ ] Specific to the company (not generic)
|
||||
|
||||
### ✅ PDF Quality
|
||||
- [ ] Built with appropriate template for industry
|
||||
- [ ] Layout clean and readable
|
||||
- [ ] No broken formatting or overlapping text
|
||||
- [ ] Opens without errors in PDF viewer
|
||||
|
||||
---
|
||||
|
||||
## No-Fabrication Rule (CRITICAL ⚠️)
|
||||
|
||||
**BLOCKING REQUIREMENT:** All numbers and metrics must come from `paul-halvorsen-resume-detailed.md`.
|
||||
|
||||
### ✅ Allowed
|
||||
- Reordering existing information
|
||||
- Reframing for clarity
|
||||
- Removing less relevant details
|
||||
- Using exact metrics from detailed resume
|
||||
|
||||
### ❌ Not Allowed
|
||||
- Inventing metrics ("40+ engineers")
|
||||
- Making up achievements not documented
|
||||
- Exaggerating scales or customer counts
|
||||
- Creating statistics not in detailed resume
|
||||
|
||||
### Pre-Write Checklist
|
||||
For every bullet point with a number:
|
||||
- [ ] Is this in `paul-halvorsen-resume-detailed.md`?
|
||||
- [ ] If NO: remove it or rephrase without the number
|
||||
- [ ] If YES: use the exact number/metric
|
||||
|
||||
---
|
||||
|
||||
## Post-Build Checklist (After Creating Resume)
|
||||
|
||||
### ✅ File Organization
|
||||
- [ ] Files created in correct directory structure
|
||||
- [ ] PDFs generated successfully
|
||||
- [ ] Resume and cover letter both present
|
||||
- [ ] Job breakdown created if using `/build-resume`
|
||||
|
||||
### ✅ Application Tracking
|
||||
- [ ] Application logged in memory (if using `/build-resume`)
|
||||
- [ ] Company/position combination recorded to prevent duplicates
|
||||
- [ ] Application link saved for follow-up
|
||||
|
||||
### ✅ Before Submitting
|
||||
- [ ] Verify job posting still active
|
||||
- [ ] Check application deadline
|
||||
- [ ] Find company career page
|
||||
- [ ] Prepare LinkedIn connection message for hiring manager
|
||||
|
||||
---
|
||||
|
||||
## Template Selection Guide
|
||||
|
||||
| Template | Best For | Industry Examples |
|
||||
|----------|----------|------------------|
|
||||
| **jb2resume-modern** | Tech companies, startups | Stripe, GitLab, Zapier |
|
||||
| **jb2resume** | Traditional industries | Banks, gov, established corps |
|
||||
| **awesome-cv** | Growth-stage startups | Series A-C companies, design-forward |
|
||||
|
||||
---
|
||||
|
||||
## Useful Commands
|
||||
|
||||
### View Help
|
||||
```bash
|
||||
make help
|
||||
```
|
||||
|
||||
### Clean Build Artifacts
|
||||
```bash
|
||||
make clean # Remove LaTeX logs
|
||||
make cleanpaper # Remove specific PDF
|
||||
make cleanall # Remove everything
|
||||
```
|
||||
|
||||
### Build from Detailed Resume
|
||||
All customized resumes draw facts from:
|
||||
```
|
||||
/home/paul/Public/resume/paul-halvorsen-resume-detailed.md
|
||||
```
|
||||
|
||||
This is your source of truth for metrics, roles, and achievements.
|
||||
|
||||
---
|
||||
|
||||
## Finding Job Postings
|
||||
|
||||
See: `JOB-BOARDS-TO-SEARCH.md` (in parent resume directory)
|
||||
|
||||
Quick reference:
|
||||
- **Daily:** WeWorkRemotely, RemoteOK, Built In
|
||||
- **Weekly:** LinkedIn, Indeed, Cord.co, specialized boards
|
||||
- **Monthly:** Secondary boards, target company careers pages
|
||||
|
||||
---
|
||||
|
||||
## Application Follow-Up
|
||||
|
||||
After building and submitting:
|
||||
|
||||
1. **LinkedIn connection:** Connect with hiring manager, mention your application
|
||||
2. **Calendar reminder:** Set 1-week follow-up for non-responses
|
||||
3. **Track responses:** Update job search dashboard with status
|
||||
4. **Interview prep:** Review job-breakdown.md talking points
|
||||
5. **Salary expectations:** Reference notes in job-breakdown.md
|
||||
|
||||
---
|
||||
|
||||
## Common Customizations
|
||||
|
||||
### Reordering Work Experience
|
||||
Move most relevant role to top. Example: For Zapier backend engineer role, list Abnormal AI before Binary Defense because K8s/API experience is more directly relevant.
|
||||
|
||||
### Emphasizing Specific Skills
|
||||
If role requires Kubernetes: mention "10 auto-scaling K8s clusters" in summary and relevant bullet. If role emphasizes API design: lead with REST API experience.
|
||||
|
||||
### Addressing Gaps
|
||||
Use cover letter to honestly address missing technologies:
|
||||
- "I haven't worked with [tech], but I'm fluent in [similar tech] and have quickly mastered new frameworks."
|
||||
- Example: Django gap → "Python expert, REST APIs are my core strength, DRF is learnable"
|
||||
|
||||
### Metrics Worth Highlighting
|
||||
From your background:
|
||||
- 10 K8s clusters (Abnormal AI)
|
||||
- 90% CPU reduction (Binary Defense)
|
||||
- 80% network optimization (Binary Defense)
|
||||
- Thousands of Fortune 500 endpoints (Binary Defense)
|
||||
- Thousands of records at scale (NSA)
|
||||
- 15+ years API development (career)
|
||||
|
||||
---
|
||||
|
||||
## File Locations Reference
|
||||
|
||||
- **Skill directory:** `/home/paul/Public/resume/.claude/skills/build-resume/`
|
||||
- **Resume source:** `/home/paul/Public/resume/paul-halvorsen-resume-detailed.md`
|
||||
- **Job boards:** `/home/paul/Public/resume/JOB-BOARDS-TO-SEARCH.md`
|
||||
- **LinkedIn guide:** `/home/paul/Public/resume/LINKEDIN-OPTIMIZATION.md`
|
||||
- **Job search dashboard:** `/home/paul/Public/resume/job_search.html`
|
||||
- **Application tracker:** `/home/paul/.claude/projects/-home-paul-Public-resume/memory/applications_tracker.md`
|
||||
|
||||
---
|
||||
|
||||
## Quick Links
|
||||
|
||||
- **Your GitHub:** https://github.com/malwhile
|
||||
- **Your Blog:** https://flow.halvo.me
|
||||
- **Detailed Resume:** `/home/paul/Public/resume/paul-halvorsen-resume-detailed.md`
|
||||
|
||||
---
|
||||
|
||||
## Last Updated
|
||||
|
||||
March 18, 2026
|
||||
122
.claude/skills/build-resume/README.md
Normal file
122
.claude/skills/build-resume/README.md
Normal file
@@ -0,0 +1,122 @@
|
||||
# build-resume Skill
|
||||
|
||||
Local project skill for generating tailored resumes and cover letters for job applications.
|
||||
|
||||
## Files in This Directory
|
||||
|
||||
- **skill.md** — Skill definition, documentation, and guidelines
|
||||
- **BUILD-RESUME-WORKFLOW.md** — Step-by-step workflow and checklists
|
||||
- **YAML-TEMPLATE.md** — Copy-paste YAML metadata template with examples
|
||||
- **README.md** — This file
|
||||
|
||||
## Quick Start
|
||||
|
||||
```
|
||||
/build-resume [paste job description or provide details]
|
||||
```
|
||||
|
||||
## How to Use
|
||||
|
||||
### Automatic (Recommended)
|
||||
```
|
||||
/build-resume [job description]
|
||||
```
|
||||
|
||||
The skill will:
|
||||
1. Check for duplicate applications (prevents re-applying to same role)
|
||||
2. Create directory structure: `company/position/`
|
||||
3. Generate customized resume and cover letter
|
||||
4. Create job analysis with fit assessment and strategy
|
||||
5. Build PDFs automatically
|
||||
|
||||
### Manual
|
||||
1. Create `company/position/` directory
|
||||
2. Copy YAML template from `YAML-TEMPLATE.md`
|
||||
3. Customize resume and cover letter markdown files
|
||||
4. Build PDFs with make commands
|
||||
|
||||
See `BUILD-RESUME-WORKFLOW.md` for detailed steps and checklists.
|
||||
|
||||
## Key Files and Locations
|
||||
|
||||
```
|
||||
/home/paul/Public/resume/
|
||||
├── paul-halvorsen-resume-detailed.md ← Source of truth for all facts
|
||||
├── JOB-BOARDS-TO-SEARCH.md ← Where to find job postings
|
||||
├── LINKEDIN-OPTIMIZATION.md ← Profile optimization guide
|
||||
├── job_search.html ← Job dashboard (35+ positions)
|
||||
├── .gitignore ← Includes applications/
|
||||
├── .claude/
|
||||
│ └── skills/
|
||||
│ └── build-resume/ ← This skill
|
||||
│ ├── skill.md
|
||||
│ ├── BUILD-RESUME-WORKFLOW.md
|
||||
│ ├── YAML-TEMPLATE.md
|
||||
│ └── README.md (you are here)
|
||||
└── applications/ ← All job applications (not committed)
|
||||
└── [company]/
|
||||
└── [position]/
|
||||
├── paul-halvorsen-resume.md
|
||||
├── paul-halvorsen-resume.pdf
|
||||
├── paul-halvorsen-cover-letter.md
|
||||
├── paul-halvorsen-cover-letter.pdf
|
||||
└── job-breakdown.md
|
||||
```
|
||||
|
||||
## Important Rules
|
||||
|
||||
### ⚠️ No Fabrication
|
||||
**All numbers and metrics must come from `paul-halvorsen-resume-detailed.md`**
|
||||
|
||||
Examples of violations:
|
||||
- ❌ "$9 trillion in assets" (not in detailed resume)
|
||||
- ❌ "40+ engineers" (not in detailed resume)
|
||||
- ✓ "10 auto-scaling K8s clusters" (IS in detailed resume)
|
||||
- ✓ "90% CPU reduction" (IS in detailed resume)
|
||||
|
||||
### YAML Formatting
|
||||
- All contact info must be quoted: `"Email: paul.halvorsen@pm.me"`
|
||||
- Keywords are comma-separated
|
||||
- Use exact contact info (no variations)
|
||||
|
||||
### Cover Letter
|
||||
- Be honest about gaps ("I haven't worked with X, but...")
|
||||
- Address company mission
|
||||
- Focus on transferable skills
|
||||
- Professional and authentic tone
|
||||
|
||||
## Template Selection
|
||||
|
||||
| Template | Best For |
|
||||
|----------|----------|
|
||||
| `jb2resume-modern` | Tech companies, startups |
|
||||
| `jb2resume` | Traditional industries |
|
||||
| `awesome-cv` | Growth-stage startups |
|
||||
|
||||
## Workflow
|
||||
|
||||
1. Find job posting (see `JOB-BOARDS-TO-SEARCH.md`)
|
||||
2. Use `/build-resume [description]`
|
||||
3. Review job-breakdown.md for fit and strategy
|
||||
4. Customize resume/cover letter if needed
|
||||
5. Verify position on company careers page
|
||||
6. Apply directly on company website
|
||||
7. Connect with hiring manager on LinkedIn
|
||||
|
||||
## Making Changes
|
||||
|
||||
To update skill documentation:
|
||||
1. Edit files in this directory: `/home/paul/Public/resume/.claude/skills/build-resume/`
|
||||
2. Changes are local to this project
|
||||
3. Git will track changes to `.claude/skills/`
|
||||
|
||||
## Need Help?
|
||||
|
||||
- **Workflow steps?** See `BUILD-RESUME-WORKFLOW.md`
|
||||
- **YAML format?** See `YAML-TEMPLATE.md`
|
||||
- **Full skill docs?** See `skill.md`
|
||||
- **Detailed background?** See `/home/paul/Public/resume/paul-halvorsen-resume-detailed.md`
|
||||
|
||||
---
|
||||
|
||||
**Last Updated:** March 18, 2026
|
||||
185
.claude/skills/build-resume/YAML-TEMPLATE.md
Normal file
185
.claude/skills/build-resume/YAML-TEMPLATE.md
Normal file
@@ -0,0 +1,185 @@
|
||||
# YAML Metadata Template
|
||||
|
||||
Copy this template into the top of every customized resume and cover letter markdown file.
|
||||
|
||||
## Standard Template
|
||||
|
||||
```yaml
|
||||
---
|
||||
name: Paul Halvorsen
|
||||
keywords: backend engineer, api design, python, [ADD ROLE-SPECIFIC KEYWORDS]
|
||||
left-column:
|
||||
- "Email: paul.halvorsen@pm.me"
|
||||
- "Phone: +1-410-236-4665"
|
||||
right-column:
|
||||
- "GitHub: github.com/malwhile"
|
||||
- "LinkedIn: linkedin.com/in/paul-halvorsen"
|
||||
- "Blog: flow.halvo.me"
|
||||
fontsize: 10pt
|
||||
fontenc: T1
|
||||
urlcolor: blue
|
||||
linkcolor: magenta
|
||||
numbersections: false
|
||||
---
|
||||
```
|
||||
|
||||
## Important Notes
|
||||
|
||||
### Quoted Strings (CRITICAL)
|
||||
- **All contact info must be quoted** to avoid YAML parsing issues
|
||||
- Format: `"Label: value"`
|
||||
- ✓ Correct: `- "Email: paul.halvorsen@pm.me"`
|
||||
- ❌ Wrong: `- Email: paul.halvorsen@pm.me`
|
||||
|
||||
### Keywords
|
||||
- Add role-specific keywords to improve ATS matching
|
||||
- Examples:
|
||||
- Backend role: `backend engineer, python, api design, rest api, distributed systems, kubernetes`
|
||||
- Full-stack role: `full-stack engineer, python, react, javascript, frontend, backend`
|
||||
- Security role: `security engineer, python, cryptography, authentication, oauth`
|
||||
- Aim for 8-12 keywords
|
||||
|
||||
### Contact Info Guidelines
|
||||
- Email: Always include (paul.halvorsen@pm.me)
|
||||
- Phone: Always include (+1-410-236-4665)
|
||||
- GitHub: Always include (github.com/malwhile)
|
||||
- LinkedIn: Always include (linkedin.com/in/paul-halvorsen)
|
||||
- Blog: Optional but recommended (flow.halvo.me)
|
||||
- DO NOT include: "Citizen of the United States", generic titles like "Remote"
|
||||
|
||||
### Font & Color Options
|
||||
These are sensible defaults. Rarely need to change:
|
||||
- `fontsize: 10pt` — standard resume font size
|
||||
- `fontenc: T1` — font encoding for special characters
|
||||
- `urlcolor: blue` — hyperlink color
|
||||
- `linkcolor: magenta` — cross-reference link color
|
||||
- `numbersections: false` — don't number resume sections
|
||||
|
||||
### Optional: Add Name Color
|
||||
```yaml
|
||||
name-color: DarkSlateGray
|
||||
```
|
||||
SVG color names work: `DarkSlateGray`, `Tomato`, `DodgerBlue`, etc.
|
||||
|
||||
### Optional: Add Section Header Color
|
||||
```yaml
|
||||
section-color: Tomato
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Example Customizations
|
||||
|
||||
### Backend Engineer Focus
|
||||
```yaml
|
||||
---
|
||||
name: Paul Halvorsen
|
||||
keywords: backend engineer, python, api design, rest apis, oauth, authentication, distributed systems, kubernetes, docker, aws
|
||||
left-column:
|
||||
- "Email: paul.halvorsen@pm.me"
|
||||
- "Phone: +1-410-236-4665"
|
||||
right-column:
|
||||
- "GitHub: github.com/malwhile"
|
||||
- "LinkedIn: linkedin.com/in/paul-halvorsen"
|
||||
- "Blog: flow.halvo.me"
|
||||
fontsize: 10pt
|
||||
fontenc: T1
|
||||
urlcolor: blue
|
||||
linkcolor: magenta
|
||||
numbersections: false
|
||||
---
|
||||
```
|
||||
|
||||
### Security Engineer Focus
|
||||
```yaml
|
||||
---
|
||||
name: Paul Halvorsen
|
||||
keywords: security engineer, cryptography, authentication, oauth, python, golang, c, penetration testing, secure systems
|
||||
left-column:
|
||||
- "Email: paul.halvorsen@pm.me"
|
||||
- "Phone: +1-410-236-4665"
|
||||
right-column:
|
||||
- "GitHub: github.com/malwhile"
|
||||
- "LinkedIn: linkedin.com/in/paul-halvorsen"
|
||||
- "Blog: flow.halvo.me"
|
||||
fontsize: 10pt
|
||||
fontenc: T1
|
||||
urlcolor: blue
|
||||
linkcolor: magenta
|
||||
numbersections: false
|
||||
---
|
||||
```
|
||||
|
||||
### Full-Stack Engineer Focus
|
||||
```yaml
|
||||
---
|
||||
name: Paul Halvorsen
|
||||
keywords: full-stack engineer, python, react, typescript, javascript, rest apis, distributed systems, kubernetes
|
||||
left-column:
|
||||
- "Email: paul.halvorsen@pm.me"
|
||||
- "Phone: +1-410-236-4665"
|
||||
right-column:
|
||||
- "GitHub: github.com/malwhile"
|
||||
- "LinkedIn: linkedin.com/in/paul-halvorsen"
|
||||
- "Blog: flow.halvo.me"
|
||||
fontsize: 10pt
|
||||
fontenc: T1
|
||||
urlcolor: blue
|
||||
linkcolor: magenta
|
||||
numbersections: false
|
||||
---
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Validation Checklist
|
||||
|
||||
Before using the template:
|
||||
- [ ] All contact info is quoted with "Label: value" format
|
||||
- [ ] Keywords are comma-separated
|
||||
- [ ] Email is paul.halvorsen@pm.me
|
||||
- [ ] Phone is +1-410-236-4665
|
||||
- [ ] GitHub is github.com/malwhile
|
||||
- [ ] LinkedIn is linkedin.com/in/paul-halvorsen (no https://)
|
||||
- [ ] Blog is flow.halvo.me (if including)
|
||||
- [ ] No "Citizen of the United States" in right-column
|
||||
- [ ] No generic "Remote" keyword unless job-specific
|
||||
- [ ] fontsize, fontenc, urlcolor, linkcolor match defaults
|
||||
|
||||
---
|
||||
|
||||
## Date Formatting
|
||||
|
||||
Use the `\resumedate{}` macro for smaller dates under section headers:
|
||||
|
||||
```markdown
|
||||
### Software Engineer | Abnormal AI
|
||||
\resumedate{**January 2026 – Present**}
|
||||
```
|
||||
|
||||
This makes dates visually distinct from section headers while keeping them readable.
|
||||
|
||||
---
|
||||
|
||||
## After YAML Metadata
|
||||
|
||||
Start your resume or cover letter content immediately after the closing `---`:
|
||||
|
||||
```yaml
|
||||
---
|
||||
name: Paul Halvorsen
|
||||
...
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
[Your summary content here]
|
||||
|
||||
## Technical Skills
|
||||
|
||||
[Skills content here]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Last Updated: March 18, 2026
|
||||
204
.claude/skills/build-resume/skill.md
Normal file
204
.claude/skills/build-resume/skill.md
Normal file
@@ -0,0 +1,204 @@
|
||||
---
|
||||
name: build-resume
|
||||
description: Generate tailored resumes and cover letters for specific job applications using Paul's detailed resume as context
|
||||
type: skill
|
||||
arguments:
|
||||
- name: job_description
|
||||
description: Job posting text or details (paste job description, link, or brief details)
|
||||
required: true
|
||||
output:
|
||||
- resume_md: Customized resume in markdown with YAML metadata
|
||||
- resume_pdf: Compiled PDF resume
|
||||
- cover_letter_md: Customized cover letter in markdown
|
||||
- cover_letter_pdf: Compiled PDF cover letter
|
||||
- job_breakdown_md: Analysis, fit assessment, and strategy notes
|
||||
---
|
||||
|
||||
# build-resume Skill
|
||||
|
||||
Generate tailored resumes and cover letters for specific job applications.
|
||||
|
||||
## Quick Start
|
||||
|
||||
```
|
||||
/build-resume [paste job description or provide details]
|
||||
```
|
||||
|
||||
## Output Structure
|
||||
|
||||
Creates organized directory structure:
|
||||
```
|
||||
applications/
|
||||
└── company-name/
|
||||
└── job-title/
|
||||
├── paul-halvorsen-resume.md
|
||||
├── paul-halvorsen-resume.pdf
|
||||
├── paul-halvorsen-cover-letter.md
|
||||
├── paul-halvorsen-cover-letter.pdf
|
||||
└── job-breakdown.md (analysis)
|
||||
```
|
||||
|
||||
Examples: `applications/zapier/backend-engineer/`, `applications/stripe/senior-backend-engineer/`
|
||||
|
||||
## YAML Metadata Format
|
||||
|
||||
**IMPORTANT:** Use quoted strings for contact info to avoid YAML parsing issues.
|
||||
|
||||
### Template
|
||||
|
||||
```yaml
|
||||
---
|
||||
name: Paul Halvorsen
|
||||
keywords: key1, key2, key3
|
||||
left-column:
|
||||
- "Email: paul.halvorsen@pm.me"
|
||||
- "Phone: +1-410-236-4665"
|
||||
right-column:
|
||||
- "GitHub: github.com/malwhile"
|
||||
- "LinkedIn: linkedin.com/in/paul-halvorsen"
|
||||
- "Blog: flow.halvo.me"
|
||||
fontsize: 10pt
|
||||
fontenc: T1
|
||||
urlcolor: blue
|
||||
linkcolor: magenta
|
||||
numbersections: false
|
||||
---
|
||||
```
|
||||
|
||||
### Contact Info Guidelines
|
||||
- Always include email and phone
|
||||
- Include GitHub link
|
||||
- Include LinkedIn (preferred over "Remote" keyword)
|
||||
- Blog link is optional
|
||||
- Do NOT include "Citizen of the United States" in right-column for job resumes
|
||||
- Use format: `"Label: value"` (quoted entire string)
|
||||
|
||||
## Dates Formatting
|
||||
|
||||
Use the `\resumedate{}` macro to make dates smaller than headers:
|
||||
|
||||
```markdown
|
||||
### Job Title | Company
|
||||
\resumedate{**January 2026 – Present**}
|
||||
```
|
||||
|
||||
## Building PDFs
|
||||
|
||||
### Classic Template
|
||||
```bash
|
||||
make resume FILE_NAME=company/job-title/paul-halvorsen-resume
|
||||
make resume FILE_NAME=company/job-title/paul-halvorsen-cover-letter
|
||||
```
|
||||
|
||||
### Modern Template (Recommended)
|
||||
```bash
|
||||
make resume-modern FILE_NAME=company/job-title/paul-halvorsen-resume
|
||||
make resume-modern FILE_NAME=company/job-title/paul-halvorsen-cover-letter
|
||||
```
|
||||
|
||||
### Awesome-CV Template
|
||||
```bash
|
||||
make resume-awesome FILE_NAME=company/job-title/paul-halvorsen-resume
|
||||
make resume-awesome FILE_NAME=company/job-title/paul-halvorsen-cover-letter
|
||||
```
|
||||
|
||||
## Resume Customization Strategy
|
||||
|
||||
1. **Lead with relevant technical skills** from job description
|
||||
2. **Reorder work experience** (most relevant first)
|
||||
3. **Highlight metrics** from roles that match JD requirements
|
||||
4. **Frame gaps honestly** in cover letter (e.g., "I haven't worked with X, but...")
|
||||
5. **De-emphasize Sr/Staff titles** when applying to mid-level roles
|
||||
|
||||
## CRITICAL: No Fabrication Rule
|
||||
|
||||
**BLOCKING REQUIREMENT:** All numbers and metrics must come from `paul-halvorsen-resume-detailed.md`.
|
||||
|
||||
### Pre-Write Checklist
|
||||
For every bullet point with a number:
|
||||
- [ ] Is this in `paul-halvorsen-resume-detailed.md`?
|
||||
- [ ] If NO: remove it or rephrase without the number
|
||||
- [ ] If YES: use the exact number/metric
|
||||
|
||||
### Allowed
|
||||
- Reordering existing information
|
||||
- Reframing for clarity
|
||||
- Removing less relevant details
|
||||
- Using exact metrics from detailed resume
|
||||
|
||||
### Not Allowed
|
||||
- Inventing metrics
|
||||
- Making up achievements
|
||||
- Exaggerating scales or customer counts
|
||||
- Creating statistics not documented
|
||||
|
||||
### Examples
|
||||
- ✓ "Performance improvements: reduced CPU usage ~90%" (IS in detailed resume)
|
||||
- ✓ "10 auto-scaling clusters" (IS in detailed resume)
|
||||
- ✓ "Customers: thousands of Fortune 500 endpoints" (IS in detailed resume)
|
||||
- ❌ "$9 trillion in assets" (NOT in detailed resume)
|
||||
- ❌ "40+ engineers" (NOT in detailed resume)
|
||||
|
||||
## Cover Letter Approach
|
||||
|
||||
- **Be upfront about gaps** (e.g., "I haven't worked professionally with C#")
|
||||
- **Emphasize transferable skills** and learning ability
|
||||
- **Address company mission** (e.g., travel industry, fintech, etc.)
|
||||
- **Frame intentional career moves** (e.g., moving away from on-call work to sustainable roles)
|
||||
- Keep tone professional, confident, and honest—not defensive
|
||||
|
||||
## Key Clarifications from Paul's Background
|
||||
|
||||
### CompTIA Security+ Certification
|
||||
- **Status:** Expired 04/04/2024 (no longer active)
|
||||
- **Note:** Do NOT list as active in resumes
|
||||
|
||||
### NSA Experience - Database Scale
|
||||
- **Database:** Thousands of records (not hundreds of thousands)
|
||||
- Use in resume: "thousands of records" or similar
|
||||
|
||||
### Language Learning Capability
|
||||
- Paul has mastered 5+ languages (Rust, Python, C, GoLang, Java)
|
||||
- Use when applying to roles with unfamiliar tech stacks
|
||||
- Frame as evidence of quick learning ability
|
||||
|
||||
### Tech Stack Preferences
|
||||
- **Primary:** Backend, systems programming, security
|
||||
- **Secondary:** Full-stack if learning opportunity (new languages/frameworks)
|
||||
- **Avoid:** Emphasis on junior mentoring, heavy management
|
||||
|
||||
## ATS Optimization
|
||||
|
||||
- Aim for 75-85% keyword match with job description
|
||||
- Include role-specific technologies in skills section
|
||||
- Use exact terminology from JD where possible
|
||||
- Avoid creative formatting that breaks ATS parsing
|
||||
|
||||
## Application Workflow
|
||||
|
||||
1. Use `/build-resume [job description]` to generate customized documents
|
||||
2. Review job-breakdown.md for fit assessment and strategy
|
||||
3. Update applications_tracker.md to log the application
|
||||
4. Build PDFs using appropriate template
|
||||
5. Verify position on company careers page
|
||||
6. Submit through company site (not job board)
|
||||
7. Connect with hiring manager on LinkedIn
|
||||
|
||||
## File Locations
|
||||
|
||||
- **Resume source:** `/home/paul/Public/resume/paul-halvorsen-resume-detailed.md`
|
||||
- **This skill:** `/home/paul/Public/resume/.claude/skills/build-resume/`
|
||||
- **Workflow guide:** `/home/paul/Public/resume/.claude/skills/build-resume/BUILD-RESUME-WORKFLOW.md`
|
||||
- **Job boards:** `/home/paul/Public/resume/JOB-BOARDS-TO-SEARCH.md`
|
||||
- **LinkedIn guide:** `/home/paul/Public/resume/LINKEDIN-OPTIMIZATION.md`
|
||||
- **Job search dashboard:** `/home/paul/Public/resume/job_search.html`
|
||||
- **Application tracker:** `/home/paul/.claude/projects/-home-paul-Public-resume/memory/applications_tracker.md`
|
||||
|
||||
## Notes for Implementation
|
||||
|
||||
- Update `paul-halvorsen-resume-detailed.md` with any role clarifications (scale, tech, responsibilities)
|
||||
- Detailed resume serves as source of truth for customized versions
|
||||
- LinkedIn URL: linkedin.com/in/paul-halvorsen (without https://)
|
||||
- GitHub URL: github.com/malwhile
|
||||
- Email: paul.halvorsen@pm.me
|
||||
- Phone: +1-410-236-4665
|
||||
Reference in New Issue
Block a user