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

> Learn how the /interview command uses your application archive to build stage-specific interview preparation packs, including likely questions, STAR answers, and company research.

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

---

**The `/interview` command executes a deterministic six-step pipeline that parses your application archive—stored under `documents/applications/<company>_<role>/`—and generates a stage-specific markdown file containing likely questions, STAR answer mappings, verified company research, and logistics tailored to the current interview round.**

The `MadsLorentzen/ai-job-search` repository automates job search workflows through Claude-compatible commands. When you run `/interview`, the system builds stage-specific interview preparation packs from application archives by combining your submitted materials with framework assets and real-time company research, ensuring every talking point aligns with what the recruiter actually saw.

## Step 0: Parse the Command Input

The process begins in [`.claude/commands/interview.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/commands/interview.md) by accepting an optional company argument (e.g., `/interview acme`). If provided, the command searches `job_search_tracker.csv` for the matching company and role. If omitted, it lists all rows with status `interview`, `offer`, or recently `applied`, allowing you to select the target application.

## Step 1: Load Application Context from the Archive

The command reads the **application archive** created by the `/outcome` command, located at `documents/applications/<company>_<role>/`. It specifically loads:

- [`job_posting.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/job_posting.md) — The original job description
- `cv_draft.tex` and `cover_letter.tex` — The exact files submitted to the recruiter
- [`outcome.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/outcome.md) — The stage history and any feedback received

If these files are missing, the system falls back to generic CV and cover-letter templates and notifies you which specific pieces are absent from the archive.

## Step 2: Execute Interview-Focused Company Research

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 command gathers mission statements, recent news, LinkedIn data, and media coverage via WebFetch. When interviewer names are known, it also retrieves their public profiles to infer likely interview angles. Every fact is verified before inclusion in the prep pack.

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

The core output is a markdown file saved as `documents/applications/<company>_<role>/interview_prep_<stage>.md`, created anew for each interview stage (phone screen, technical, final). This pack contains six components:

1. **Likely questions** — Prioritized based on outcome feedback, fit-evaluation gaps, posting requirements, and stage type
2. **STAR answer mapping** — Re-using existing STAR examples from [`.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) or drafting new ones strictly from [`.claude/skills/job-application-assistant/01-candidate-profile.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/skills/job-application-assistant/01-candidate-profile.md)
3. **Consistency brief** — A checklist of claims made in your CV and cover letter that must be defensible during the interview
4. **Tough, customized questions** — Drawn from [`07-interview-prep.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/07-interview-prep.md) with verified company hooks
5. **Questions to ask** — Curated from the same source and tuned to the specific interview stage
6. **Logistics** — Format-specific tips, interview date, and interviewer names

## Step 4: Offer an Interactive Mock Interview

After generating the pack, the system prompts you to role-play the interview. If accepted, 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 [`.claude/skills/job-application-assistant/02-behavioral-profile.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/skills/job-application-assistant/02-behavioral-profile.md). This step is purely interactive—no files are written during the chat flow.

## Step 5: Close the Feedback Loop

The command concludes by reminding you to run `/outcome <company>` after the interview to store new feedback for subsequent rounds. If you approved any new STAR answers during the session, it advises that they have been appended to [`07-interview-prep.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/07-interview-prep.md) for future reuse.

## Core Architecture Concepts

The `/interview` pipeline relies on three architectural pillars defined in the repository:

**Application Archive** — A per-company/role folder under `documents/applications/` that immutably stores the job posting, submitted CV/cover letter, and ongoing outcome logs. This ensures the prep pack always references the exact materials the recruiter received.

**Framework Assets** — Reusable knowledge files including [`07-interview-prep.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/07-interview-prep.md) (STAR templates and tough questions), [`04-job-evaluation.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/04-job-evaluation.md) (company research criteria), and [`01-candidate-profile.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/01-candidate-profile.md) (factual candidate data). These assets ensure consistent, strategy-driven preparation.

**Stage-Aware Logic** — The current interview stage (phone screen, technical, or final) influences question priorities, logistics tone, and the specific "questions to ask" subset, guaranteeing the prep pack matches the expected rigor and format of the upcoming round.

## Example Usage and File Locations

You trigger the command through a Claude-compatible interface:

```python

# Example: invoking the command for Acme Inc. Senior Engineer role

import subprocess

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

# Resulting file location:

# documents/applications/Acme_Senior Engineer/interview_prep_technical.md

```

To inspect the generated pack directly:

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

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

```

Alternatively, you can preview the content without storing it by asking the assistant:

```

/interview Acme Senior Engineer

```

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

## Summary

- The `/interview` command parses input against `job_search_tracker.csv` and loads the full application archive from `documents/applications/<company>_<role>/`.
- It generates `interview_prep_<stage>.md` containing six sections: likely questions, STAR mappings, consistency briefs, tough questions, questions to ask, and logistics.
- Company research uses the checklist in [`04-job-evaluation.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/04-job-evaluation.md), while behavioral content pulls from [`07-interview-prep.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/07-interview-prep.md) and [`01-candidate-profile.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/01-candidate-profile.md).
- The system supports interactive mock interviews using roleplay guidelines from [`07-interview-prep.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/07-interview-prep.md) and feedback criteria from [`02-behavioral-profile.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/02-behavioral-profile.md).
- New STAR answers approved during the session are automatically appended to [`07-interview-prep.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/07-interview-prep.md) for future applications.

## Frequently Asked Questions

### What happens if my application archive is missing files?

If `cv_draft.tex`, `cover_letter.tex`, or [`outcome.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/outcome.md) are missing from `documents/applications/<company>_<role>/`, the command falls back to your generic CV and cover-letter files. It informs you which specific pieces are absent so you can verify whether the `/outcome` command was run after the initial application.

### How does the command determine which interview stage to prepare for?

The command reads the current stage from [`outcome.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/outcome.md) in the application archive. The stage type (phone screen, technical, or final) dictates which questions are prioritized, what logistics are included, and which "questions to ask" are selected from [`07-interview-prep.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/07-interview-prep.md).

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

Each pack is written to `documents/applications/<company>_<role>/interview_prep_<stage>.md`. This directory is typically git-ignored for privacy, ensuring your interview research remains local while the repository structure stays portable.

### Can I use `/interview` without having run `/outcome` first?

Yes, but with reduced fidelity. Without the `/outcome` archive, the command cannot access the specific job posting, submitted CV version, or stage history stored in [`outcome.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/outcome.md). It will use generic templates and provide a basic prep pack without the consistency brief or stage-specific customization derived from your actual submission materials.