The Seven Steps in the AI Job Search Application Workflow: Complete Guide
The AI Job Search framework guides you through a seven-step, command-driven workflow that turns a raw profile into a complete, interview-ready application using Claude Code slash commands.
The MadsLorentzen/ai-job-search repository implements a fully automated job search assistant that runs locally on your machine. This AI Job Search application workflow consists of seven distinct Claude Code commands—from onboarding your profile to continuous skill development—that transform unstructured career data into polished application materials.
Step 1: Profile Onboarding with /setup
The workflow begins with /setup, an interactive onboarding command that populates your candidate profile. According to the repository's README.md (lines 49-53), this step imports existing assets—CVs, LinkedIn exports, and diplomas—or runs an interview-style questionnaire to generate structured profile files.
The canonical profile definition lives in CLAUDE.md, while detailed setup instructions are documented in SETUP.md. This foundational step ensures all subsequent commands have access to a rich, machine-readable representation of your experience.
Step 2: Job Discovery with /scrape
Once your profile exists, /scrape executes the job-portal search skills located under .agents/skills/. These CLI tools collect matching postings, deduplicate them, and score them for fit against your profile.
Scraper state persists in job_scraper/seen_jobs.json, allowing the workflow to track which positions have already been processed. This prevents redundant applications and maintains a historical record of the market.
Step 3: Application Generation with /apply
The /apply <url> command runs the full drafter-reviewer pipeline. As implemented in the source code, this step:
- Parses the job posting URL or pasted text
- Evaluates fit against your profile
- Drafts a LaTeX CV and cover letter tailored to the role
- Invokes a reviewer agent to critique the materials
- Revises content based on feedback
- Compiles PDFs and performs ATS verification
The tools/verify_pdf.py script ensures output integrity, while successful applications are logged to job_search_tracker.csv for pipeline tracking.
Step 4: Interview Preparation with /interview
After submitting an application, /interview generates a stage-specific preparation pack. This command analyzes the archived application materials to produce company research briefs, curated STAR examples from your profile, and structured mock interview scenarios. The output targets the specific requirements extracted from the original job posting.
Step 5: Outcome Tracking with /outcome
The /outcome command closes the application loop by recording recruitment results—whether interview invitations, offers, or rejections. This step archives the CV, cover letter, and posting for future reference, updates job_search_tracker.csv with the final status, and can auto-draft follow-up messages for professional correspondence.
Step 6: Job Ranking with /rank
When /scrape returns numerous results, /rank bridges discovery and application. This command batch-scores newly scraped postings against the fit framework defined in your profile, returning a prioritized shortlist. By quantifying relevance before drafting materials, /rank ensures you invest effort only in high-probability opportunities.
Step 7: Skill Development with /upskill
The final step, /upskill, analyzes skill gaps between your current profile and observed job requirements. This command compares your experience against scraped postings or a specific URL, then generates a prioritized learning plan with web-sourced resources. Output reports are stored in the upskill/ directory, enabling continuous improvement between application cycles.
Implementation Architecture
The workflow relies on several key files that maintain state across sessions:
CLAUDE.md— Canonical candidate profile definitionjob_search_tracker.csv— Central CSV registry updated by/applyand/outcomejob_scraper/seen_jobs.json— Deduplication cache for scraped positions.agents/skills/*/SKILL.md— CLI tool definitions for specific job portalstools/verify_pdf.py— PDF validation utility used by the/applypipelinetools/check_upstream_updates.py— Maintenance script for keeping the workflow current
Summary
- Seven Claude Code commands constitute the complete AI Job Search application workflow:
/setup,/scrape,/apply,/interview,/outcome,/rank, and/upskill. - Local-first architecture stores all data in your repository—profile definitions in
CLAUDE.md, applications injob_search_tracker.csv, and learning plans inupskill/. - Automated pipeline moves from raw profile import through PDF generation, interview prep, and outcome tracking without external SaaS dependencies.
- Extensible skills system under
.agents/skills/allows custom scrapers for new job portals.
Frequently Asked Questions
What is the AI Job Search application workflow?
The workflow is a seven-step, command-driven pipeline implemented in the MadsLorentzen/ai-job-search repository. It uses Claude Code slash commands to automate profile onboarding, job scraping, application generation, interview preparation, outcome tracking, job ranking, and skill gap analysis—all running locally on your machine.
How does the /apply command generate tailored application materials?
The /apply command executes a drafter-reviewer agent pipeline defined in the repository. It parses the job posting, evaluates fit against your CLAUDE.md profile, drafts LaTeX documents, subjects them to automated critique, revises them, and compiles final PDFs. The tools/verify_pdf.py script validates outputs before they are archived in job_search_tracker.csv.
What files does the workflow update during operation?
Key files include CLAUDE.md (profile definition), job_search_tracker.csv (application registry), job_scraper/seen_jobs.json (scraping state), and contents of the upskill/ directory (learning reports). The .agents/skills/ folder contains modular scrapers that the /scrape and /rank commands invoke.
How does the /upskill command identify learning priorities?
/upskill performs a gap analysis between your profile data and the requirements found in scraped jobs or a specific posting URL. It then queries web resources to build a prioritized learning plan, storing the results in the upskill/ directory for reference during career development cycles.
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 →