/setup-build-kb
Synthesize completed extractions into the knowledge base files needed for resume generation
$ npx -y skills add ARPeeketi/claude-resume-kit --skill setup-build-kb --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/setup-build-kb
Context preview
The summary Claude sees to decide when to auto-load this skill.
Synthesize completed extractions into the knowledge base files needed for resume generation
SKILL.md
setup-build-kb.SKILL.mddescription: Synthesize completed extractions into the knowledge base files needed for resume generation
user-invocable: true
/setup-build-kb
**User input:** `$ARGUMENTS`
Parse `$ARGUMENTS`:
- Empty → full build (all phases)
- Phase number (e.g., `3`) → resume from that phase
- "experience" / "bundles" / "skills" / "pubs" / "reframing" / "significance" → run only that component
- "status" → show what's built and what's missing
---
Startup
1. Read `CLAUDE.md` — check KB Corrections Log 2. Read `config.md` — load:
- Personal Info (positions, institutions, dates)
- Role Types table (defines which bundles to create)
- Provenance Flags (propagate to all KB files)
- Document Preferences (bullet variant defaults)
3. Read `knowledge_base/extractions/_INVENTORY.md` — verify extractions exist 4. Scan `resume_builder/` to see what's already built
**Pre-flight check:**
- If `_INVENTORY.md` is empty or has no entries: "No extractions found. Run `/setup-extract` first." Stop.
- If fewer than 2 extractions: warn "Only [N] extraction(s) found. KB quality improves with more papers. Continue anyway?"
Progress: "Found [N] extractions across [M] positions. Config has [K] role types defined."
---
Phase 1: Build Experience Files
**Goal:** Create one experience file per position, containing all achievements organized for resume generation.
**Read:** All extraction files listed in `_INVENTORY.md`
**For each position** (from `config.md` or inferred from extraction metadata):
1. Group extractions by the position they belong to (based on dates, institution, or user clarification) 2. Ask the user to confirm grouping if ambiguous: "I've grouped these papers under [Position]. Correct?"
**Experience file format** (`resume_builder/experience/experience_<position_key>.md`):
# Experience: [Position Title] — [Institution]
## [Date Range]
### Cross-Position Section
[Brief narrative connecting this position's work to the user's broader trajectory]
[CL framing content — how this position fits the career arc]
---
### Achievement [ID]: [Short Title]
**Source:** [extraction filename]
**Paper:** [citation or "internal"/"unpublished"]
**User's role:** [first author / contributing / sole developer]
**Status:** [published / under review / draft / internal]
**Context:** [1-2 sentences — what problem, why it matters]
**Bullet variants:**
- **2L:** [Full 2-line bullet text — STAR format, ~180-210 rendered characters]
- **3L:** [Full 3-line bullet text — for CV use, ~270-310 rendered characters]
- **1L:** [Condensed 1-line version — ~90-110 rendered characters, for tight budgets]
**Key skills:** [comma-separated list of skills this achievement demonstrates]
**ATS keywords:** [domain-specific terms an ATS might scan for]
**Reframing notes:** [how to emphasize different aspects for different role types]
---
[Repeat for each achievement]
>>>>>> MANDATORY STOP — DO NOT PROCEED <<<<<<
Present the experience file(s) — show achievement count per position, total bullet variants. Ask user to review: "Are the groupings correct? Any achievements missing or misattributed?" **You MUST wait for the user's explicit text response before continuing.**
---
Phase 2: Build Skills Taxonomy
**Goal:** Create a categorized inventory of all technical skills from extractions.
**Read:** All extraction files (Methods & Tools sections) + experience files from Phase 1
**Build** `resume_builder/support/skills_taxonomy.md`:
# Skills Taxonomy
## Summary Stats
- Total unique skills: [N]
- Publications: [N] ([breakdown by status])
- Top methods: [ranked list]
## Categories
### [Category 1: e.g., Computational Methods]
| Skill | Proficiency | Evidence | Resume Weight |
|-------|-----------|----------|---------------|
| [skill] | [expert/proficient/familiar] | [paper IDs] | [HIGH/MED/LOW] |
### [Category 2: e.g., Programming & Software]
[same table format]
### [Category 3: e.g., Machine Learning]
[same table format]
[Continue for all categories — typically 4-7 categories]
**Proficiency levels:**
- **Expert:** Multiple first-author papers, developed custom tools
- **Proficient:** Used extensively in published work, comfortable teaching
- **Familiar:** Used in one project, or contributed to someone else's implementation
Progress: "Built taxonomy — [N] skills across [M] categories"
---
Phase 3: Build Publication Metadata
**Goal:** Structured pub data for resume/CV generation.
**Build** `resume_builder/support/pub_metadata.md`:
# Publication Metadata
## Summary
- Total publications: [N]
- First-author: [N] | Co-first: [N] | Contributing: [N]
- Published: [N] | Under review: [N] | In preparation: [N]
## Publication List
### First-Author / Co-First
| # | Citation (et al. format) | Journal | Year | Status | Key Topic |
|---|-------------------------|---------|------|--------|-----------|
| 1 | [Author et al., Journal, Year] | [journal] | [year] | [status] | [topic] |
### Contributing Author
[same table format]
### Under Review / In Preparation
[same table format, with provenance notes]
Progress: "Pub metadata — [N] first-author, [M] contributing, [K] under review"
---
Phase 4: Build Achievement Reframing Guide
**Goal:** Per-achievement significance lines + framing directives for each role type.
**Read:** Experience files + `config.md` Role Types
**Build** `resume_builder/support/achievement_reframing_guide.md`:
# Achievement Reframing Guide
## How to Use
For each achievement, `Significance:` provides a one-line framing cue.
The role-type table shows how to emphasize/de-emphasize for each target audience.
---
### [Achievement ID]: [Title]
**Significance:** [One sentence — why this matters broadly]
| Role Type | Emphasis | Lead Verb | Framing Angle |
|-----------|----------|-----------|---------------|
| [role 1] | HIGH | Developed | [emphasize X aspect] |
| [role 2] | MEDIUM | Applied | [bridge to Y domain] |
| [role 3] |
Read more
description: Synthesize completed extractions into the knowledge base files needed for resume generation user-invocable: true
/setup-build-kb
**User input:** `$ARGUMENTS`
Parse `$ARGUMENTS`:
- Empty → full build (all phases)
- Phase number (e.g., `3`) → resume from that phase
- "experience" / "bundles" / "skills" / "pubs" / "reframing" / "significance" → run only that component
- "status" → show what's built and what's missing
---
Startup
1. Read `CLAUDE.md` — check KB Corrections Log 2. Read `config.md` — load:
- Personal Info (positions, institutions, dates)
- Role Types table (defines which bundles to create)
- Provenance Flags (propagate to all KB files)
- Document Preferences (bullet variant defaults)
3. Read `knowledge_base/extractions/_INVENTORY.md` — verify extractions exist 4. Scan `resume_builder/` to see what's already built
**Pre-flight check:**
- If `_INVENTORY.md` is empty or has no entries: "No extractions found. Run `/setup-extract` first." Stop.
- If fewer than 2 extractions: warn "Only [N] extraction(s) found. KB quality improves with more papers. Continue anyway?"
Progress: "Found [N] extractions across [M] positions. Config has [K] role types defined."
---
Phase 1: Build Experience Files
**Goal:** Create one experience file per position, containing all achievements organized for resume generation.
**Read:** All extraction files listed in `_INVENTORY.md`
**For each position** (from `config.md` or inferred from extraction metadata):
1. Group extractions by the position they belong to (based on dates, institution, or user clarification) 2. Ask the user to confirm grouping if ambiguous: "I've grouped these papers under [Position]. Correct?"
**Experience file format** (`resume_builder/experience/experience_<position_key>.md`):
# Experience: [Position Title] — [Institution] ## [Date Range] ### Cross-Position Section [Brief narrative connecting this position's work to the user's broader trajectory] [CL framing content — how this position fits the career arc] --- ### Achievement [ID]: [Short Title] **Source:** [extraction filename] **Paper:** [citation or "internal"/"unpublished"] **User's role:** [first author / contributing / sole developer] **Status:** [published / under review / draft / internal] **Context:** [1-2 sentences — what problem, why it matters] **Bullet variants:** - **2L:** [Full 2-line bullet text — STAR format, ~180-210 rendered characters] - **3L:** [Full 3-line bullet text — for CV use, ~270-310 rendered characters] - **1L:** [Condensed 1-line version — ~90-110 rendered characters, for tight budgets] **Key skills:** [comma-separated list of skills this achievement demonstrates] **ATS keywords:** [domain-specific terms an ATS might scan for] **Reframing notes:** [how to emphasize different aspects for different role types] --- [Repeat for each achievement]
>>>>>> MANDATORY STOP — DO NOT PROCEED <<<<<<
Present the experience file(s) — show achievement count per position, total bullet variants. Ask user to review: "Are the groupings correct? Any achievements missing or misattributed?" **You MUST wait for the user's explicit text response before continuing.**
---
Phase 2: Build Skills Taxonomy
**Goal:** Create a categorized inventory of all technical skills from extractions.
**Read:** All extraction files (Methods & Tools sections) + experience files from Phase 1
**Build** `resume_builder/support/skills_taxonomy.md`:
# Skills Taxonomy ## Summary Stats - Total unique skills: [N] - Publications: [N] ([breakdown by status]) - Top methods: [ranked list] ## Categories ### [Category 1: e.g., Computational Methods] | Skill | Proficiency | Evidence | Resume Weight | |-------|-----------|----------|---------------| | [skill] | [expert/proficient/familiar] | [paper IDs] | [HIGH/MED/LOW] | ### [Category 2: e.g., Programming & Software] [same table format] ### [Category 3: e.g., Machine Learning] [same table format] [Continue for all categories — typically 4-7 categories]
**Proficiency levels:**
- **Expert:** Multiple first-author papers, developed custom tools
- **Proficient:** Used extensively in published work, comfortable teaching
- **Familiar:** Used in one project, or contributed to someone else's implementation
Progress: "Built taxonomy — [N] skills across [M] categories"
---
Phase 3: Build Publication Metadata
**Goal:** Structured pub data for resume/CV generation.
**Build** `resume_builder/support/pub_metadata.md`:
# Publication Metadata ## Summary - Total publications: [N] - First-author: [N] | Co-first: [N] | Contributing: [N] - Published: [N] | Under review: [N] | In preparation: [N] ## Publication List ### First-Author / Co-First | # | Citation (et al. format) | Journal | Year | Status | Key Topic | |---|-------------------------|---------|------|--------|-----------| | 1 | [Author et al., Journal, Year] | [journal] | [year] | [status] | [topic] | ### Contributing Author [same table format] ### Under Review / In Preparation [same table format, with provenance notes]
Progress: "Pub metadata — [N] first-author, [M] contributing, [K] under review"
---
Phase 4: Build Achievement Reframing Guide
**Goal:** Per-achievement significance lines + framing directives for each role type.
**Read:** Experience files + `config.md` Role Types
**Build** `resume_builder/support/achievement_reframing_guide.md`:
# Achievement Reframing Guide ## How to Use For each achievement, `Significance:` provides a one-line framing cue. The role-type table shows how to emphasize/de-emphasize for each target audience. --- ### [Achievement ID]: [Title] **Significance:** [One sentence — why this matters broadly] | Role Type | Emphasis | Lead Verb | Framing Angle | |-----------|----------|-----------|---------------| | [role 1] | HIGH | Developed | [emphasize X aspect] | | [role 2] | MEDIUM | Applied | [bridge to Y domain] | | [role 3] |
Most AI resume tools work the same way: paste resume + paste JD, get a rewrite. They don't know which of your papers is published vs. under review. They don't know you only ran the simulations, not the experiments.
Other skills on claude-resume-kit.
- /critique
Re-critique existing resume/CV output files against a JD
Open skill - /edit-resume
Edit existing resume/CV or cover letter from critique feedback and user suggestions
Open skill - /make-cl
Generate a tailored cover letter from an existing session file and finished resume/CV
Open skill - /make-resume
Generate a tailored resume/CV from a JD
Open skill - /setup-extract
Extract structured information from research papers, PDFs, or code into knowledge base extractions
Open skill

