feat: add /add-template command for registering custom LaTeX templates (#30)

Users could already swap the stock moderncv/cover.cls templates, but only by
hand-editing the guidance in 05-cv-templates.md and 06-cover-letter-templates.md.
/add-template automates that:

- Interviews the user for the template's instructions: compile engine, fonts
  (bundled files or system), style rules to preserve, and hard page limit
- Stores the template profile-agnostic ([PLACEHOLDER] tokens) under templates/
  with a TEMPLATE.md manifest, so templates are safe to commit and share
- Runs a mandatory test compile with dummy data before registering anything
- Activates via a single managed block in 05/06, which /apply already reads,
  so no changes to the /apply workflow are needed; --use default is a clean
  revert to the stock templates
- --list and --use <name> manage multiple registered templates

Docs: README (commands list, file structure, LaTeX templates section) and
SETUP.md (compile section pointer).
This commit is contained in:
Ayobami Adegoke
2026-07-05 20:27:33 +02:00
committed by GitHub
parent 261b57edfd
commit 6b144dc456
4 changed files with 220 additions and 2 deletions
+20 -2
View File
@@ -96,10 +96,11 @@ This runs the full workflow: evaluate fit, draft CV + cover letter, review with
## Other commands
`/setup`, `/scrape`, and `/apply` form the core workflow. Two more commands extend it once your profile is in place:
`/setup`, `/scrape`, and `/apply` form the core workflow. Three more commands extend it once your profile is in place:
- **`/expand`** enriches your profile by scanning public sources you've already linked in it (GitHub repos, portfolio site, Kaggle, Google Scholar) and looking up syllabi for named courses and certifications. Discovered competencies are added to your profile with a source tag. Useful right after `/setup` to surface skills that documents alone don't make explicit.
- **`/upskill`** analyzes the gap between your profile and your tracked job postings (or a single posting via `/upskill <URL>`). Produces a prioritized heatmap of skill gaps and a learning plan with web-searched study resources and time estimates. Useful for career planning between applications.
- **`/add-template`** registers your own LaTeX CV or cover letter template in place of the stock ones. It captures the template's instructions (compile engine, fonts, style rules, page limit), runs a mandatory test compile, and wires the template into `/apply`. See [LaTeX templates](#latex-templates) below.
`/reset` is also available, see [Starting over](#starting-over) below.
@@ -113,6 +114,7 @@ ai-job-search/
│ │ ├── apply.md # /apply workflow (drafter-reviewer)
│ │ ├── setup.md # /setup onboarding (documents folder, CV import, or interview)
│ │ ├── expand.md # /expand competency enrichment from documents and online presence
│ │ ├── add-template.md # /add-template register custom LaTeX templates
│ │ └── reset.md # /reset wipe profile data or documents folder
│ ├── skills/
│ │ ├── job-application-assistant/ # Core application skill
@@ -138,6 +140,8 @@ ai-job-search/
├── cover_letters/
│ ├── cover.cls # Custom cover letter LaTeX class
│ └── OpenFonts/ # Lato + Raleway fonts
├── templates/ # Custom templates registered via /add-template
│ └── README.md # Folder layout instructions
├── documents/ # Career source materials for /setup Path A and /expand
│ ├── README.md # Folder layout instructions
│ ├── cv/ # Master CV (PDF or .tex)
@@ -204,7 +208,21 @@ This re-runs the search configuration interview: which roles to target, which sk
### LaTeX templates
The CV uses [moderncv](https://ctan.org/pkg/moderncv) (banking style). The cover letter uses a custom `cover.cls` with Lato/Raleway fonts. You can replace these with your own templates; just update the guidance in `05-cv-templates.md` and `06-cover-letter-templates.md`.
The CV uses [moderncv](https://ctan.org/pkg/moderncv) (banking style). The cover letter uses a custom `cover.cls` with Lato/Raleway fonts.
To use your own template instead, run:
```
/add-template
```
Point it at your `.tex` file (plus any `.cls`/`.sty` files or bundled fonts). The command interviews you for the template's instructions — compile engine, fonts and where they live, style rules to preserve, hard page limit — stores everything under `templates/`, runs a mandatory test compile, and activates the template so `/apply` drafts from it. Templates are stored with `[PLACEHOLDER]` tokens instead of personal data, so they're safe to commit and share.
- `/add-template --list` shows registered templates
- `/add-template --use <name>` switches between them
- `/add-template --use default` reverts to the stock moderncv / cover.cls templates
If you prefer doing it by hand, the manual route still works: update the guidance in `05-cv-templates.md` and `06-cover-letter-templates.md`.
### Job search tools