Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/SudharakaA/ai-job-search/llms.txt

Use this file to discover all available pages before exploring further.

/add-template lets you replace the stock LaTeX templates with your own. The framework ships with moderncv banking style for CVs and a custom cover.cls for cover letters. If you have a template you prefer, /add-template stores the files, captures the compile instructions and style rules, runs a mandatory test compile to verify the template works, and inserts a managed block into the guidance files that /apply reads during drafting. From that point on, every /apply run uses your template without any further configuration.

Syntax

/add-template
/add-template --list
/add-template --use <name>
/add-template --use default
InvocationBehavior
/add-templateStarts the registration flow
/add-template --listPrints a table of all registered templates (name, type, engine, fonts, active status)
/add-template --use <name>Activates a previously registered template by name
/add-template --use defaultDeactivates any custom template and restores the stock moderncv / cover.cls guidance

Registration flow

1

Template type and source

/add-template asks whether you are registering a CV template or a cover letter template, and where the template is. You can provide:
  • A path or @-mention of a .tex file, with optional .cls/.sty files
  • Pasted LaTeX content
  • A directory containing the template and all its assets
If the template references a custom document class or package not in standard TeX distributions, /add-template confirms you have the file and asks for it if it is missing, since the template cannot compile without it.
2

Capture template instructions

/add-template infers as much metadata as possible from the LaTeX source (documentclass, \fontspec calls, geometry, colors) and presents its inferences for you to confirm, rather than asking blind questions. The metadata it collects:
FieldNotes
NameShort kebab-case identifier (for example, awesome-cv or classic-serif); must not collide with an existing folder in templates/
Compile enginelualatex, xelatex, or pdflatex. If the source uses fontspec or loads font files by path, it requires xelatex or lualatex, and /add-template tells you this rather than letting you pick pdflatex
FontsWhich fonts the template uses and whether they are bundled .ttf/.otf files (copied into the template folder) or system/TeX-distribution fonts (must be installed on your machine)
Style rulesColor scheme, section order, heading style, spacing conventions, bullet formatting, and date format. Everything the drafter must preserve when filling the template
Page limitHard page count: 2 pages for a CV, 1 page for a cover letter by default
Known pitfallsOptional: macros that break with certain content, characters needing escaping, sections that must not be reordered
3

Store the template

The template is saved under:
  • CV: templates/cv/<name>/
  • Cover letter: templates/cover_letters/<name>/
Four items are written into the folder:
  1. template.tex: the template skeleton, with all personal data replaced by [PLACEHOLDER] tokens ([YOUR_NAME], [YOUR_EMAIL], [YOUR_PHONE], [YOUR_LINKEDIN_URL], etc.) so the template is profile-agnostic and shareable
  2. Class and style files: any .cls/.sty files copied alongside template.tex
  3. fonts/: bundled font files, with Path values in template.tex adjusted to be relative to the template folder
  4. TEMPLATE.md: the manifest, using this format:
# Template: <name>

- **Type:** CV | Cover letter
- **Engine:** lualatex | xelatex | pdflatex
- **Page limit:** <N> page(s)
- **Fonts:** <main font> (bundled in fonts/ | system font - must be installed)
- **Class/packages:** <documentclass and any non-standard packages, or "standard">

## Compile command

    cd <output dir> && <engine> -interaction=nonstopmode <file>.tex

## Style rules

- <rule 1: colors, section order, heading style, ...>

## Known pitfalls

- <pitfall and its fix, or "none recorded">
4

Verify the template compiles (mandatory)

No template is registered without a successful test compile. /add-template copies template.tex to a scratch file, fills every [PLACEHOLDER] with realistic dummy data (name, contact line, one education entry, one job entry with three bullets), and compiles with the declared engine:
cd templates/<type>/<name> && <engine> -interaction=nonstopmode _compile_test.tex
If the compile fails, /add-template shows the relevant error lines, diagnoses the cause (missing font file, wrong engine, missing class), and fixes what it can. If the fix requires a file only you have (a missing font or a license-restricted class), it asks and waits.On success, the compiled PDF is inspected to confirm the layout renders sensibly. Any surprises found during the test are recorded in the manifest’s “Known pitfalls” section. The scratch files and build artifacts are deleted before proceeding.
A template that has never compiled will fail mid-/apply, which is the worst place to discover a LaTeX error. The test compile in this step is non-negotiable.
5

Activate the template

Activation inserts a managed block immediately after the H1 title in the relevant guidance file:
  • CV templates: .claude/skills/job-application-assistant/05-cv-templates.md
  • Cover letter templates: .claude/skills/job-application-assistant/06-cover-letter-templates.md
/apply reads these files during its drafting step, so the block is all the wiring needed. The block looks like this:
<!-- BEGIN ACTIVE-TEMPLATE (managed by /add-template - do not edit by hand) -->
> **Active template override: `<name>`**
>
> A custom template is active. Where this block conflicts with the stock guidance below,
> this block wins. Structural advice below (tailoring, page-budget, cutting rules) still applies.
>
> - **Template skeleton:** `templates/<type>/<name>/template.tex`
> - **Manifest:** `templates/<type>/<name>/TEMPLATE.md`
> - **Compile with:** `<engine>`
> - **Fonts:** <font summary>
> - **Page limit:** exactly <N> page(s)
<!-- END ACTIVE-TEMPLATE -->
There is exactly one managed block per guidance file. Switching templates replaces the entire block between the BEGIN/END markers. Running /add-template --use default removes the block entirely, and the stock moderncv or cover.cls guidance below it takes over again.

Switching and listing templates

# See all registered templates
/add-template --list

# Switch to a different registered template
/add-template --use awesome-cv

# Go back to the stock moderncv or cover.cls template
/add-template --use default
Templates are stored with [PLACEHOLDER] tokens instead of personal data, so they are safe to commit to your fork and share with others. The tokens are filled at /apply time using your actual profile.

/apply

Uses the active template to draft and compile your CV and cover letter

/add-portal

Add a job portal skill alongside your custom template

/setup

Populate the profile data that fills your template’s placeholders

Build docs developers (and LLMs) love