# How /interview Builds Stage-Specific Interview Preparation Packs from Application Archives

> Learn how the /interview command builds stage-specific prep packs from application archives. Get tailored interview preparation aligned with your submissions and company intelligence.

- Repository: [Mads Lorentzen/ai-job-search](https://github.com/MadsLorentzen/ai-job-search)
- Tags: how-to-guide
- Published: 2026-07-19

---

**The `/interview` command in the ai-job-search repository executes a deterministic, five-step pipeline that transforms tracked application data into a tailored markdown prep pack, ensuring every talking point aligns with submitted materials and verified company intelligence.**

This open-source **AI job search assistant** automates interview preparation by reading from structured application archives and writing stage-specific guidance documents. Understanding this pipeline helps users leverage the full power of the repository's knowledge management system to generate evidence-based prep materials for any interview round.

## The Stage-Aware Pipeline Overview

The `/interview` command operates as a deterministic workflow defined in [`.claude/commands/interview.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/commands/interview.md). It bridges the gap between your submitted application materials and the specific demands of upcoming interview stages, whether phone screens, technical rounds, or final interviews.

The system relies on three architectural pillars:

- **Application Archive**: A per-company folder under `documents/applications/<company>_<role>/` storing the exact job posting, submitted CV/cover letter, and outcome history.
- **Framework Assets**: Reusable knowledge files like [`07-interview-prep.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/07-interview-prep.md) and [`04-job-evaluation.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/04-job-evaluation.md) containing STAR templates and research checklists.
- **Stage-Aware Logic**: Dynamic content prioritization based on the specific interview round (phone screen vs. technical vs. final), ensuring relevant questions and logistics for each stage.

## Step-by-Step Archive Processing

### Step 0: Parse Input and Lookup Application

The command accepts an optional argument (e.g., `/interview acme`). 

If provided, it queries `job_search_tracker.csv` to locate the company and role. If omitted, it lists all rows with status `interview`, `offer`, or recently `applied`, allowing you to select the target application interactively.

### Step 1: Load Application Context from the Archive

The system reads the **application archive** created by the `/outcome` command:

- `documents/applications/<company>_<role>/job_posting.md`
- `cv_draft.tex` and `cover_letter.tex` (the exact files the recruiter received)
- [`outcome.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/outcome.md) (stage history and feedback)

If any archive files are missing, the command falls back to generic CV/cover-letter templates and explicitly notifies you which specific pieces are absent, ensuring transparency about data completeness.

### Step 2: Execute Company Research Checklist

Using the **Company Research Checklist** defined in [`.claude/skills/job-application-assistant/04-job-evaluation.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/skills/job-application-assistant/04-job-evaluation.md), the system conducts interview-focused intelligence gathering.

It retrieves mission statements, recent news, LinkedIn data, and media coverage via WebFetch. When interviewer names are known, it gathers public profiles to infer likely interview angles. Every fact is verified before inclusion in the prep pack, preventing hallucinated company details.

### Step 3: Generate the Stage-Specific Prep Pack

The system creates `documents/applications/<company>_<role>/interview_prep_<stage>.md`—one file per interview stage. This document contains six critical sections:

1. **Likely questions** – Prioritized based on outcome feedback, fit-evaluation gaps, posting requirements, and the specific stage type.
2. **STAR answer mapping** – Reuses existing STAR examples from [`07-interview-prep.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/07-interview-prep.md) or drafts new ones strictly from [`01-candidate-profile.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/01-candidate-profile.md).
3. **Consistency brief** – A defensive checklist of claims made in your CV and cover letter that require verification.
4. **Tough, customized questions** – Drawn from [`07-interview-prep.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/07-interview-prep.md) with company-specific hooks added.
5. **Questions to ask** – Curated from the same source, tuned to the interview stage and company context.
6. **Logistics** – Format-specific tips, interview date, and interviewer names.

### Step 4: Optional Mock Interview Roleplay

After generating the pack, the system offers an interactive mock interview. If you accept, the dialog follows the "Roleplay Guidelines" inside [`07-interview-prep.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/07-interview-prep.md), delivering feedback calibrated against your [`02-behavioral-profile.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/02-behavioral-profile.md). No files are written during this step; it operates as a pure conversational flow.

### Step 5: Post-Interview Loop Closure

The command concludes by reminding you to run `/outcome <company>` after the interview to capture new feedback for subsequent rounds. If you approved any new STAR answers during preparation, it appends them to [`07-interview-prep.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/07-interview-prep.md) for future use.

## Triggering the Command and Accessing Outputs

You can invoke the interview preparation pipeline directly:

```python

# Example: invoking from a Claude-compatible CLI

import subprocess

company = "Acme"
role = "Senior Engineer"

# Trigger the interview prep generation

subprocess.run(["claude", "interview", f"{company}_{role}"])

# Output location:

# documents/applications/Acme_Senior Engineer/interview_prep_technical.md

```

Once generated, inspect the prep pack locally:

```bash

# View the generated stage-specific prep pack

$ cat documents/applications/Acme_Senior\ Engineer/interview_prep_technical.md

# Displays: Likely questions, STAR mappings, consistency brief, etc.

```

To preview without storing permanently, simply type in chat:

```

/interview Acme Senior Engineer

```

The assistant displays the markdown content immediately while simultaneously writing it to the archive location.

## Summary

- The `/interview` command processes **application archives** from `documents/applications/<company>_<role>/` to create stage-specific prep documents.
- It executes a **five-step pipeline**: input parsing, archive loading, company research, pack generation, and optional mock interviews.
- Prep packs contain **six components**: likely questions, STAR mappings, consistency briefs, tough questions, questions to ask, and logistics.
- All content is grounded in **verified research** and your actual submitted materials (`cv_draft.tex`, `cover_letter.tex`, [`job_posting.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/job_posting.md)).
- New STAR answers approved during preparation are automatically appended to [`.claude/skills/job-application-assistant/07-interview-prep.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/skills/job-application-assistant/07-interview-prep.md).

## Frequently Asked Questions

### What files does the /interview command read from my application archive?

The command specifically looks for [`job_posting.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/job_posting.md), `cv_draft.tex`, `cover_letter.tex`, and [`outcome.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/outcome.md) within `documents/applications/<company>_<role>/`. If these are missing, it falls back to generic CV and cover-letter files while notifying you which specific archived materials are unavailable.

### How does the system tailor questions for different interview stages?

**Stage-aware logic** prioritizes content based on the specific round (phone screen, technical, or final). It adjusts the difficulty of likely questions, the focus of STAR examples, and the strategic depth of "questions to ask" according to the stage type recorded in your application tracker.

### Can I use /interview if I haven't run /outcome yet?

Yes, but with limitations. The command will fall back to generic CV and cover-letter files if the specific application archive doesn't exist. However, without the [`outcome.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/outcome.md) history and archived submission files, the prep pack will lack personalized consistency checks and feedback-driven question prioritization.

### Where are the generated interview prep packs stored?

Stage-specific prep packs are written to `documents/applications/<company>_<role>/interview_prep_<stage>.md` within the repository. These files are typically git-ignored for privacy and are overwritten when you generate new prep for the same stage, ensuring you always have the most current version.