How Interview Preparation Works in the AI Job Search Framework: A 6-Step Workflow

Interview preparation in the MadsLorentzen/ai-job-search framework uses the /interview command to automatically generate a personalized prep pack by matching your application history against verified company research and reusable STAR templates.

The repository provides a structured command-line workflow that transforms raw application data into a comprehensive interview strategy. By cross-referencing your submitted materials with dynamic research, the framework ensures your verbal responses remain consistent with your written CV and cover letter.

The Six-Step Interview Preparation Workflow

The /interview command orchestrates a repeatable pipeline defined in .claude/commands/interview.md. Each step consumes specific artefacts from the repository to build a validated preparation package.

Step 0: Parse the Application Context

The workflow begins by resolving the target company and role. You can invoke the command with an optional argument:

/interview acme-corp

If you omit the argument, the agent queries job_search_tracker.csv and presents a numbered list of active applications for selection. This CSV file serves as the single source of truth for your job search pipeline, ensuring the system retrieves the correct application context before proceeding.

Step 1: Load Historical Application Data

Once the company and role are identified, the framework pulls archived artefacts from the /outcome command. It loads:

  • The original job posting (documents/applications/<company>_<role>/job_posting.md)
  • The exact LaTeX drafts submitted (cv_draft.tex and cover_letter.tex)
  • Any previously recorded feedback (outcome.md)

If any file is missing, the system falls back to generic templates such as cv/main_<company>.tex. This data-provenance step guarantees that every subsequent recommendation references the actual materials your recruiter has read.

Step 2: Conduct Verified Company Research

The framework executes the Company Research Checklist defined in .claude/skills/job-application-assistant/04-job-evaluation.md, augmented with interview-specific intelligence. The agent:

  • Verifies interviewers' public profiles
  • Extracts recent company news using WebFetch
  • Generates 2–3 concrete conversation hooks

Every fact undergoes independent verification before inclusion. This verification-before-use rule mirrors the /apply workflow, ensuring no unverified claims enter your interview responses.

Step 3: Build the Interview Prep Pack

The system generates a markdown file at documents/applications/<company>_<role>/interview_prep_<stage>.md. This pack contains six critical sections:

  1. Likely questions derived from job requirements, fit-evaluation gaps, and prior feedback
  2. STAR answer mapping that pulls examples from 07-interview-prep.md and drafts new ones when gaps exist
  3. Consistency brief listing specific claims from your CV and cover letter to avoid contradictions
  4. Tough-question responses customized with verified hooks from Step 2
  5. Questions to ask the interviewers, tuned to the specific stage (phone screen, technical, final round)
  6. Logistics including date, format, and interviewer names

Step 4: Run a Structured Mock Interview

After delivering the prep pack, the agent offers a role-play session governed by the guidelines in .claude/skills/job-application-assistant/07-interview-prep.md. The session follows a strict progression:

  • Warm-up questions
  • Technical deep-dives
  • Behavioral scenarios
  • Curveball questions

The agent provides instant feedback after each answer, referencing the best STAR example from your library to demonstrate optimal response structure.

Step 5: Close the Feedback Loop

The command concludes by reminding you to run /outcome <company> after the real interview to archive new feedback. If you developed new STAR examples during the mock session, the framework offers to append them directly to .claude/skills/job-application-assistant/07-interview-prep.md, continuously enriching your reusable answer library.

Key Architecture and Source Files

The interview preparation system relies on a tightly coupled file structure that enforces consistency and extensibility:

File Role in Interview Preparation
.claude/commands/interview.md Defines the end-to-end workflow, from parsing arguments to closing the feedback loop
.claude/skills/job-application-assistant/07-interview-prep.md Houses the STAR template library, tough-question responses, and role-play guidelines
.claude/skills/job-application-assistant/04-job-evaluation.md Provides the verified research checklist used for interview-focused company intelligence
job_search_tracker.csv Central registry of all applications; resolves company/role arguments
documents/applications/<company>_<role>/ Archive directory containing the posting, submitted LaTeX files, and generated prep packs
tools/lint_skills.py CI validation ensuring all generated markdown files maintain proper syntax

Practical Usage Examples

Running the Interview Command

Invoke the workflow with a specific company or let the system prompt you:

/interview acme-corp

If the tracker contains multiple entries for "acme-corp", the agent disambiguates by role title.

Generated Prep Pack Structure

Below is an excerpt from a generated interview_prep_final.md file:


# Acme Corp – Senior Data Engineer – Final Round (2024-07-15)

## Likely questions

1. "Tell us about a time you built a data pipeline at scale."
   – Use STAR #1 (ETL optimisation) from 07-interview-prep.md

2. "We see you don't have experience with Snowflake. How would you handle that?"
   – Gap answer: acknowledge, cite similar work with Redshift, outline learning plan.

## STAR mapping

- **ETL optimisation** → Situation: legacy batch jobs, Task: reduce latency, 
  Action: rewrote pipelines in Airflow + Spark, Result: 40% faster data availability.

## Consistency brief

- CV claims: built "real-time recommendation engine"; cover letter mentions 
  "5 M daily active users". Be ready to describe architecture and metrics.

## Tough question (Why Acme?)

- "I was impressed by Acme's 2023 launch of the 'Data-Lake-as-a-Service' platform 
  (source: Acme press release, 2023-11-02). My experience aligns directly with that vision."

## Questions to ask

- "What are the top data quality challenges the team faces today?"
- "How does the team balance between building new features and maintaining the data platform?"

## Logistics

- Video interview via Zoom, 10 AM CET, interviewers: Lina Peterson (Team Lead) 
  and Marco Rossi (Head of Data).

Extending Your STAR Library

After user approval, new examples are appended programmatically to the reusable library:


# Executed within the conversation context after user confirmation:

echo "### 4. Project X (Data Governance)" >> .claude/skills/job-application-assistant/07-interview-prep.md

echo "**S:** ..." >> .claude/skills/job-application-assistant/07-interview-prep.md

# Subsequent lines append T, A, and R components

The tools/lint_skills.py script validates these changes during CI to prevent markdown syntax errors.

Summary

  • Interview preparation in this framework is triggered by the /interview command and consumes data from job_search_tracker.csv and archived application files.
  • The workflow loads your exact submitted materials (CV and cover letter LaTeX drafts) to ensure verbal consistency with written claims.
  • WebFetch verification ensures all company research and talking points are factually accurate before inclusion in your prep pack.
  • The generated interview_prep_<stage>.md file contains mapped STAR examples, consistency briefs, and stage-specific questions.
  • Mock interviews follow the structured guidelines in 07-interview-prep.md, providing immediate feedback against your existing answer library.
  • New STAR examples approved during practice can be persisted back to .claude/skills/job-application-assistant/07-interview-prep.md for future reuse.

Frequently Asked Questions

What is the /interview command in the AI Job Search framework?

The /interview command is a Claude Code command defined in .claude/commands/interview.md that automates interview preparation by parsing your application history, loading submitted materials, conducting verified research, and generating a structured prep pack. It acts as the entry point to a six-step workflow that ensures your interview responses align perfectly with your CV and cover letter.

How does the framework ensure my interview answers match my CV?

During Step 1, the system loads your exact LaTeX drafts (cv_draft.tex and cover_letter.tex) from the documents/applications/<company>_<role>/ directory. Step 3 explicitly generates a consistency brief that lists every claim made in these documents, flagging items you must be prepared to discuss (such as specific technologies or metrics) to avoid contradictions during the interview.

Can I add new interview questions or STAR examples to the framework?

Yes. The framework is designed for extensibility. You can manually edit .claude/skills/job-application-assistant/07-interview-prep.md to add new STAR templates or tough-question responses. Alternatively, after a mock interview session, the agent offers to append newly developed STAR examples directly to this file, which tools/lint_skills.py validates for proper markdown formatting.

What happens if I haven't run the /outcome command before preparing for an interview?

The /interview command is designed to work with the archive structure created by /outcome, but it includes graceful fallbacks. If outcome.md or other archived files are missing, the system falls back to generic templates (such as cv/main_<company>.tex). However, for optimal results, running /outcome <company> first ensures the framework has access to the specific job posting and your exact submission drafts, enabling more targeted question prediction and consistency checking.

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:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →