What Is the /add-template Command in the AI Job Search Framework?
The /add-template command registers custom CV or cover-letter templates with the AI Job Search framework, enabling you to replace default LaTeX templates with your own PDF-producing designs through a five-step validation and storage workflow.
The /add-template command is a core configuration utility in the MadsLorentzen/ai-job-search repository that extends the framework beyond its built-in ModernCV and cover-cls defaults. By registering your own LaTeX, Typst, or other compiled document designs, you ensure AI-generated application materials render using your specific typography, layout rules, and branding requirements.
How the /add-template Command Works
According to the source specification in .claude/commands/add-template.md, the command executes a strict five-step pipeline that validates, stores, and activates template configurations for use with the /apply workflow.
Step 1: Parse Arguments
The command accepts optional flags to manage existing templates rather than initiate new registrations. Supply --list to enumerate all registered templates, or use --use <name> to switch the active template without running the full setup flow.
Step 2: Collect Template Metadata
Interactive prompts capture essential configuration parameters: template type (CV versus cover letter), source file extension, compile command, engine/toolchain, required fonts, style rules, page limits, and known formatting pitfalls. This metadata ensures the AI respects your design constraints when generating content.
Step 3: Store the Template
The framework creates a dedicated folder under templates/cv/<name>/ or templates/cover_letters/<name>/, copies the skeleton source file, bundles companion assets and fonts, and writes a TEMPLATE.md manifest documenting the complete configuration.
Step 4: Verify Compilation
Before activation, the framework compiles a test document populated with dummy data. This verification step confirms the template builds successfully and respects the declared page limit, preventing broken or malformed application submissions.
Step 5: Activate the Template
The command inserts a managed block into 05-cv-templates.md or 06-cover-letter-templates.md. The /apply command subsequently reads these guidance files to determine which template to use when rendering final PDFs.
Practical Usage Examples
List All Registered Templates
To view available templates without changing the active state:
/add-template --list
Register a New Template
Initiate the interactive registration flow by providing the path to your source file:
/add-template path/to/my-cv.tex
Switch Between Templates
Activate a previously registered template by name, or revert to the framework defaults:
/add-template --use awesome-cv
/add-template --use default
File Structure and Storage Locations
Understanding where the command writes data assists with manual troubleshooting and version control. The framework maintains strict separation between CV and cover-letter assets:
.claude/commands/add-template.md– Command specification, argument parsing logic, and workflow definition.templates/cv/<name>/– CV template directory containingtemplate.tex, theTEMPLATE.mdmanifest, bundled fonts, and dependency files.templates/cover_letters/<name>/– Cover-letter template directory with identical structure.05-cv-templates.md– Active CV template configuration consumed by the/applycommand.06-cover-letter-templates.md– Active cover-letter template configuration consumed by the/applycommand.
The system guarantees only one managed block exists per guidance file, ensuring clean, reversible configuration states.
Summary
- The
/add-templatecommand registers custom CV and cover-letter templates in the AI Job Search framework, replacing default ModernCV/cover-cls designs with your own PDF-compiling systems. - The process follows five steps: argument parsing, metadata collection, template storage, compilation verification, and activation via guidance files.
- Template assets reside in
templates/cv/ortemplates/cover_letters/subdirectories, each containing aTEMPLATE.mdmanifest and source files. - Use
--listto view templates,--use <name>to switch, and--use defaultto restore built-in templates. - The command updates
05-cv-templates.mdand06-cover-letter-templates.md, which the/applycommand references during final PDF generation.
Frequently Asked Questions
What file formats does the /add-template command support?
The command supports any PDF-producing template system, including LaTeX (.tex), Typst (.typ), and other compiled document formats. The framework stores your source file, associated fonts, and compilation instructions, then executes your specified build command during the verification step to ensure compatibility.
How do I revert to the default templates after registering a custom one?
Run /add-template --use default to restore the built-in ModernCV and cover-cls templates. This command removes the active managed block from 05-cv-templates.md and 06-cover-letter-templates.md, reverting the system to its original configuration without deleting your custom template files from the templates/ directories.
Where does the /add-template command store configuration data?
Template metadata lives in TEMPLATE.md files within subdirectories of templates/cv/ or templates/cover_letters/. The active template references are written as managed blocks to 05-cv-templates.md and 06-cover-letter-templates.md in the repository root, ensuring the /apply command can locate the correct compile instructions and source files.
How does custom template registration affect the /apply workflow?
When you execute /apply, the framework reads the managed blocks in 05-cv-templates.md and 06-cover-letter-templates.md to identify the active template directory. It injects your AI-generated content into the stored source files and executes the registered compile command to produce the final PDF, applying your custom fonts and layout rules automatically.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →