Plugin:skill pairs now read as noun:verb commands instead of repeating the plugin name. Also added concise descriptions to all SKILL.md frontmatter. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
210 lines
7.2 KiB
Markdown
210 lines
7.2 KiB
Markdown
# Resume Tailoring - Workflow Phases
|
|
|
|
## Phase 0: Library Initialization
|
|
|
|
**Always runs first - builds fresh resume database**
|
|
|
|
1. **Locate resume directory** (user provides path or default `./resumes/`)
|
|
2. **Scan for markdown files** using Glob tool
|
|
3. **Parse each resume:** Extract roles, bullets, skills, education
|
|
4. **Build experience database:**
|
|
|
|
```json
|
|
{
|
|
"roles": [
|
|
{
|
|
"role_id": "company_title_year",
|
|
"company": "Company Name",
|
|
"title": "Job Title",
|
|
"dates": "YYYY-YYYY",
|
|
"bullets": [
|
|
{
|
|
"text": "Full bullet text",
|
|
"themes": ["leadership", "technical"],
|
|
"metrics": ["17x improvement", "$3M revenue"],
|
|
"source_resumes": ["resume1.md"]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"skills": { "technical": [], "product": [], "leadership": [] },
|
|
"education": [],
|
|
"user_preferences": {
|
|
"typical_length": "1-page|2-page",
|
|
"section_order": ["summary", "experience", "education"],
|
|
"bullet_style": "pattern"
|
|
}
|
|
}
|
|
```
|
|
|
|
5. **Auto-tag content:** themes, metrics, keywords
|
|
|
|
**Output:** In-memory database ready for matching
|
|
|
|
---
|
|
|
|
## Phase 1: Research Phase
|
|
|
|
**Goal:** Build comprehensive "success profile" beyond just the job description
|
|
|
|
**1.1 Job Description Parsing:**
|
|
Extract requirements, keywords, implicit preferences, red flags, role archetype (see `research-prompts.md`)
|
|
|
|
**1.2 Company Research:**
|
|
WebSearch for mission/values/culture, engineering blog, recent news
|
|
|
|
**1.3 Role Benchmarking:**
|
|
WebSearch LinkedIn profiles for common backgrounds, skills, terminology
|
|
|
|
**1.4 Success Profile Synthesis:**
|
|
Combine into structured profile: core requirements, valued capabilities, cultural fit signals, narrative themes, terminology map, risk factors + mitigations
|
|
|
|
**Checkpoint:** Present success profile to user for validation before proceeding.
|
|
|
|
**Output:** Validated success profile document
|
|
|
|
---
|
|
|
|
## Phase 2: Template Generation
|
|
|
|
**Goal:** Create resume structure optimized for this specific role
|
|
|
|
**2.1 Analyze resume library** for role archetypes, experience clusters, career narrative
|
|
|
|
**2.2 Role Consolidation Decision:**
|
|
- **Consolidate when:** Same company, similar responsibilities, page space constrained
|
|
- **Keep separate when:** Different companies (ALWAYS), dramatically different responsibilities
|
|
|
|
**2.3 Title Reframing Principles:**
|
|
|
|
Stay truthful to what you did, emphasize aspect most relevant to target:
|
|
1. **Emphasize different aspects:** "Graduate Researcher" → "Research Software Engineer" (if coding-heavy)
|
|
2. **Use industry-standard terminology:** "Scientist III" → "Senior Research Scientist"
|
|
3. **Add specialization when truthful:** "Engineer" → "ML Engineer" (if ML work substantial)
|
|
|
|
**Constraints:** Never claim work not done. Never inflate seniority beyond defensible. Company name and dates MUST be exact.
|
|
|
|
**2.4 Generate Template Structure:**
|
|
|
|
```markdown
|
|
## Professional Summary
|
|
[GUIDANCE: {X} sentences emphasizing {themes from success profile}]
|
|
|
|
## Key Skills
|
|
[STRUCTURE: {2-4 categories based on JD structure}]
|
|
|
|
## Professional Experience
|
|
### [ROLE 1 - Most Recent/Relevant]
|
|
[TITLE OPTIONS: A/B with rationale]
|
|
[BULLET ALLOCATION: {N} bullets based on relevance + recency]
|
|
Bullet 1: [SEEKING: {requirement type}]
|
|
...
|
|
|
|
## Education
|
|
[PLACEMENT: top if required/recent, bottom if experience-heavy]
|
|
```
|
|
|
|
**Checkpoint:** Present template with consolidation decisions, title options, and bullet allocation for user approval.
|
|
|
|
**Output:** Approved template skeleton
|
|
|
|
---
|
|
|
|
## Phase 2.5: Experience Discovery (OPTIONAL)
|
|
|
|
**Goal:** Surface undocumented experiences through conversational discovery
|
|
|
|
**Trigger after template approval if gaps identified:**
|
|
```
|
|
"I've identified {N} gaps or areas where we have weak matches.
|
|
Would you like a structured brainstorming session? (10-15 minutes)"
|
|
```
|
|
|
|
**Branching Interview Process** (see `branching-questions.md`):
|
|
|
|
1. **Open probe** per gap: "Have you worked with {skill}?" / "Tell me about times you've {demonstrated_skill}"
|
|
2. **Branch on answer:** YES → deep dive (scale, challenges, metrics) | INDIRECT → explore transferability | ADJACENT → explore related | NO → broader category or move on
|
|
3. **Follow-up systematically:** what, how, why → quantify → contextualize → validate
|
|
4. **Capture immediately** as structured experience with gap mapping
|
|
|
|
**Integration Options per discovery:**
|
|
1. ADD TO CURRENT RESUME
|
|
2. ADD TO LIBRARY ONLY
|
|
3. REFINE FURTHER
|
|
4. DISCARD
|
|
|
|
**Important:** Keep truthfulness bar high. Time-box to 10-15 minutes. User can skip entirely.
|
|
|
|
**Output:** New experiences integrated into library
|
|
|
|
---
|
|
|
|
## Phase 3: Assembly Phase
|
|
|
|
**Goal:** Fill approved template with best-matching content, with transparent scoring
|
|
|
|
**3.1 For Each Template Slot:**
|
|
|
|
1. Extract all candidate bullets from library + discovered experiences
|
|
2. Score each candidate (see `matching-strategies.md`):
|
|
- Direct match (40%): Keywords, domain, technology, outcome
|
|
- Transferable (30%): Same capability, different context
|
|
- Adjacent (20%): Related tools, methods, problem space
|
|
- Impact (10%): Achievement type alignment
|
|
3. Rank by score, group by confidence band: DIRECT (90-100%), TRANSFERABLE (75-89%), ADJACENT (60-74%), WEAK (<60%)
|
|
4. Present top 3 matches with analysis and recommendation
|
|
|
|
**3.2 Handle Gaps (confidence <60%):**
|
|
Options: reframe best available, acknowledge in cover letter, omit bullet slot, use best available with disclosure
|
|
|
|
**3.3 Content Reframing** (when >60% match but terminology misaligned):
|
|
Show before/after with truthfulness justification
|
|
|
|
**Checkpoint:** Present complete mapping with coverage summary, reframings applied, gaps identified. Wait for user approval.
|
|
|
|
**Output:** Complete bullet-by-bullet mapping with confidence scores
|
|
|
|
---
|
|
|
|
## Phase 4: Generation Phase
|
|
|
|
**Goal:** Create professional multi-format outputs
|
|
|
|
**4.1 Markdown Generation:**
|
|
Compile mapped content using user's formatting preferences (style, bullet structure, section order, length).
|
|
|
|
**Output:** `{Name}_{Company}_{Role}_Resume.md`
|
|
|
|
**4.2 DOCX Generation:**
|
|
Use `document-skills:docx` sub-skill. Professional fonts (Calibri 11pt), proper spacing, clean bullet formatting, header with contact info.
|
|
|
|
**Output:** `{Name}_{Company}_{Role}_Resume.docx`
|
|
|
|
**4.3 PDF Generation (Optional):**
|
|
Convert DOCX to PDF if requested.
|
|
|
|
**Output:** `{Name}_{Company}_{Role}_Resume.pdf`
|
|
|
|
**4.4 Generation Summary Report:**
|
|
Metadata file with target role summary, success profile, content mapping summary, reframings applied, source resumes used, gaps addressed, interview prep recommendations.
|
|
|
|
**Output:** `{Name}_{Company}_{Role}_Resume_Report.md`
|
|
|
|
**Present all files to user with quality metrics (JD coverage %, direct matches %, newly discovered experiences).**
|
|
|
|
---
|
|
|
|
## Phase 5: Library Update (CONDITIONAL)
|
|
|
|
**After user reviews generated resume:**
|
|
|
|
**Option 1 - Save to library:** Move files to library directory, rebuild database, preserve generation metadata.
|
|
|
|
**Option 2 - Need revisions:** Collect feedback, make changes, re-present.
|
|
|
|
**Option 3 - Save but don't add to library:** Keep files in current directory only.
|
|
|
|
**Benefits of library update:** Grows library with each resume, new bullet variations available, reframings reusable, discovered experiences permanently captured.
|
|
|
|
**Output:** Updated library database + metadata preservation (if Option 1)
|