mirror of
https://github.com/MadsLorentzen/ai-job-search.git
synced 2026-09-17 08:36:25 +00:00
feat: add /setup_docs, /reset, /expand commands and /upskill skill
Adds four contributions from @Michael-Bach: - /setup_docs - document-driven profile population from a documents/ folder (CV, LinkedIn export, diplomas, references, past applications). Idempotent merge with explicit additive vs. conflicting buckets and per-conflict prompts. - /reset - typed-RESET confirmation gate for clearing profile data and/or documents folder contents. - /expand - additive competency enrichment from documents and public URLs already in the profile (GitHub repos, portfolio sites), with web-searched syllabus lookups for named courses and certifications. - /upskill - skill-gap analysis vs tracked jobs (or single URL), produces a prioritized heatmap and learning plan with year-tagged WebSearch queries. Also adds the documents/ folder convention with README and gitignore entries for personal output files. Closes #6
This commit is contained in:
@@ -0,0 +1,227 @@
|
||||
# /reset - Reset Candidate Profile Data
|
||||
|
||||
You are resetting parts of the job search framework back to a blank state so the user can start fresh with `/setup` or `/setup_docs`.
|
||||
|
||||
**This command is destructive.** Nothing is deleted until the user explicitly confirms. Follow these steps exactly in order.
|
||||
|
||||
---
|
||||
|
||||
## Step 0: Parse Scope from Arguments
|
||||
|
||||
Check `$ARGUMENTS` for a scope keyword:
|
||||
|
||||
- `profile` — clears candidate profile data from skill files only
|
||||
- `documents` — deletes user-provided files from the `documents/` folder only
|
||||
- `all` — both of the above
|
||||
|
||||
If `$ARGUMENTS` is empty or does not contain a recognized scope keyword, ask:
|
||||
|
||||
> **What would you like to reset?**
|
||||
>
|
||||
> - **`profile`** — Clears candidate data from the skill files (profile, behavioral, STAR examples, profile statements). The framework structure and writing rules are preserved. Use this to re-run `/setup` or `/setup_docs` from scratch.
|
||||
>
|
||||
> - **`documents`** — Deletes all files you've placed in the `documents/` folder (CV PDFs, LinkedIn export, diplomas, references, past applications). The folder structure and `README.md` are preserved.
|
||||
>
|
||||
> - **`all`** — Both of the above.
|
||||
>
|
||||
> Reply with `profile`, `documents`, or `all`.
|
||||
|
||||
Wait for the user's response before continuing.
|
||||
|
||||
---
|
||||
|
||||
## Step 1: Show Exactly What Will Be Cleared
|
||||
|
||||
Before doing anything, show the user precisely what will be wiped.
|
||||
|
||||
### If scope includes `profile`:
|
||||
|
||||
Read the current state of these files and report whether each has content or is already empty:
|
||||
|
||||
- `.claude/skills/job-application-assistant/01-candidate-profile.md`
|
||||
- `.claude/skills/job-application-assistant/02-behavioral-profile.md`
|
||||
- `.claude/skills/job-application-assistant/05-cv-templates.md` *(profile statements section only — framework structure is preserved)*
|
||||
- `.claude/skills/job-application-assistant/07-interview-prep.md` *(STAR examples and STAR candidates sections only — framework structure is preserved)*
|
||||
|
||||
Present as:
|
||||
|
||||
```
|
||||
## Profile reset will clear:
|
||||
|
||||
- 01-candidate-profile.md — [has content / already empty]
|
||||
Full file will be replaced with a blank template.
|
||||
|
||||
- 02-behavioral-profile.md — [has content / already empty]
|
||||
Full file will be replaced with a blank template.
|
||||
|
||||
- 05-cv-templates.md — [has profile statements / already blank]
|
||||
Profile statement templates will be cleared. LaTeX structure and tailoring guidelines are preserved.
|
||||
|
||||
- 07-interview-prep.md — [has STAR examples / already blank]
|
||||
STAR examples and any STAR candidate stubs will be cleared. Framework, tough questions, and roleplay guidelines are preserved.
|
||||
|
||||
The following files are NOT touched (they contain framework rules, not candidate data):
|
||||
- 03-writing-style.md
|
||||
- 04-job-evaluation.md
|
||||
- 06-cover-letter-templates.md
|
||||
```
|
||||
|
||||
### If scope includes `documents`:
|
||||
|
||||
Use Glob to list all files present in `documents/cv/`, `documents/linkedin/`, `documents/diplomas/`, `documents/references/`, and `documents/applications/`. Present as:
|
||||
|
||||
```
|
||||
## Documents reset will delete:
|
||||
|
||||
documents/cv/
|
||||
- [filename] or "(empty)"
|
||||
|
||||
documents/linkedin/
|
||||
- [filename] or "(empty)"
|
||||
|
||||
documents/diplomas/
|
||||
- [filename] or "(empty)"
|
||||
|
||||
documents/references/
|
||||
- [filename] or "(empty)"
|
||||
|
||||
documents/applications/
|
||||
- [subfolder/filename] or "(empty)"
|
||||
|
||||
documents/README.md — NOT deleted (instructions file)
|
||||
```
|
||||
|
||||
If all document subfolders are already empty, state "All document subfolders are already empty — nothing to delete." and skip the confirmation step for this scope.
|
||||
|
||||
---
|
||||
|
||||
## Step 2: Require Explicit Confirmation
|
||||
|
||||
Present the confirmation prompt:
|
||||
|
||||
> **This cannot be undone.**
|
||||
>
|
||||
> Type **`RESET`** (all caps) to confirm, or anything else to cancel.
|
||||
|
||||
Wait for the user's response.
|
||||
|
||||
- If the user types exactly `RESET`: proceed to Step 3.
|
||||
- If the user types anything else: abort and tell them "Reset cancelled. Nothing was changed."
|
||||
|
||||
---
|
||||
|
||||
## Step 3: Execute the Reset
|
||||
|
||||
### Profile reset
|
||||
|
||||
**For `01-candidate-profile.md`**, replace the file content with:
|
||||
|
||||
```markdown
|
||||
# Candidate Profile
|
||||
|
||||
<!-- Run /setup or /setup_docs to populate this file -->
|
||||
|
||||
## Identity
|
||||
|
||||
## Education
|
||||
|
||||
## Professional Experience
|
||||
|
||||
## Independent Projects
|
||||
|
||||
## Technical Skills
|
||||
|
||||
## Publications
|
||||
|
||||
## Awards
|
||||
|
||||
## References
|
||||
```
|
||||
|
||||
**For `02-behavioral-profile.md`**, replace the file content with:
|
||||
|
||||
```markdown
|
||||
# Behavioral Profile
|
||||
|
||||
<!-- Run /setup or /setup_docs to populate this file -->
|
||||
|
||||
## Overview
|
||||
|
||||
## Strongest Behavioral Traits
|
||||
|
||||
## How I Work Best
|
||||
|
||||
## Growth Areas
|
||||
|
||||
## Mapping to Job Posting Language
|
||||
|
||||
## Management Style Preferences
|
||||
|
||||
## Using This in Applications
|
||||
```
|
||||
|
||||
**For `05-cv-templates.md`**, locate the section that begins with `**Profile statement templates` and extends through the role-specific template blocks. Replace only that section with:
|
||||
|
||||
```markdown
|
||||
**Profile statement templates:**
|
||||
|
||||
<!-- Run /setup or /setup_docs to populate role-specific profile statements -->
|
||||
```
|
||||
|
||||
Leave all other content in `05-cv-templates.md` intact.
|
||||
|
||||
**For `07-interview-prep.md`**, locate and remove:
|
||||
- The entire `## Ready-Made STAR Examples` section and all numbered STAR examples under it
|
||||
- Any `## STAR Candidates (Complete Manually)` section added by `/setup_docs`
|
||||
|
||||
Replace with:
|
||||
|
||||
```markdown
|
||||
## Ready-Made STAR Examples
|
||||
|
||||
<!-- Run /setup or /setup_docs to populate STAR examples from your actual experience -->
|
||||
```
|
||||
|
||||
Leave all other content in `07-interview-prep.md` intact (STAR format explanation, tough questions, questions to ask interviewers, phone/video tips, follow-up etiquette, roleplay guidelines).
|
||||
|
||||
### Documents reset
|
||||
|
||||
For each non-empty document subfolder, delete all files within it using Bash `rm`. Do not delete the folder itself, and do not delete `documents/README.md`.
|
||||
|
||||
```bash
|
||||
rm -f documents/cv/*
|
||||
rm -f documents/linkedin/*
|
||||
rm -f documents/diplomas/*
|
||||
rm -f documents/references/*
|
||||
rm -rf documents/applications/*/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 4: Confirm What Was Done and Next Steps
|
||||
|
||||
After the reset is complete, report:
|
||||
|
||||
```
|
||||
## Reset complete
|
||||
|
||||
### Cleared
|
||||
[List each file/folder that was actually modified or cleared]
|
||||
|
||||
### Unchanged
|
||||
[List anything that was already empty or was intentionally preserved]
|
||||
```
|
||||
|
||||
Then tell the user what to do next based on what was reset:
|
||||
|
||||
**If profile was reset:**
|
||||
> Your candidate profile is now blank. To repopulate it:
|
||||
> - Run `/setup_docs` if you have documents in the `documents/` folder — it will re-read them and rebuild the profile files.
|
||||
> - Run `/setup` for an interactive interview to fill in your profile from scratch.
|
||||
> - You can also run `/setup_docs` first, then `/setup` to fill in anything the documents didn't cover.
|
||||
|
||||
**If documents were reset:**
|
||||
> The `documents/` folder is now empty. Add your career documents and run `/setup_docs` to populate your profile. See `documents/README.md` for instructions on what to put where.
|
||||
|
||||
**If both were reset:**
|
||||
> Both your profile files and documents folder are now empty. Add documents to `documents/` and run `/setup_docs`, or run `/setup` for an interactive setup interview.
|
||||
Reference in New Issue
Block a user