# noamseg/interview-coach-skill architecture

> Architecture diagram of the GitHub repository noamseg/interview-coach-skill, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/noamseg/interview-coach-skill
- Repository: https://github.com/noamseg/interview-coach-skill

## Overview

Interview Coach is a Claude Code-based coaching system whose product behavior is defined by command and reference documents rather than sampled runtime source. Its main workflow starts with kickoff and persistent candidate context, then supports job-search materials, role research and preparation, practice and transcript analysis, and outcome learning or negotiation. The README documents shared state, adaptive scoring, and a guided research-to-prep sequence; other command relationships are shown only where documented. The tree supports the subsystem paths, but unsampled command details and their internal wiring remain uncertain.

Main entry points: [`references/coaching-state-schema.md`](https://github.com/noamseg/interview-coach-skill/blob/main/references/coaching-state-schema.md) (Coaching state), [`references/commands/kickoff.md`](https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/kickoff.md) (Kickoff), [`references/commands/prep.md`](https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/prep.md) (Interview prep), [`references/commands/concerns.md`](https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/concerns.md) (Concern planning)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Coaching entry"]
  node_kickoff["Kickoff<br/>[kickoff.md]"]
  node_help["Command help<br/>[help.md]"]
end

subgraph group_materials["Candidate materials"]
  node_positioning["Core positioning<br/>[pitch.md]"]
  node_resume["Resume optimization<br/>[resume.md]"]
  node_linkedin["LinkedIn optimization<br/>[linkedin.md]"]
  node_outreach["Networking outreach<br/>[outreach.md]"]
  node_rolefit["Role-fit assessment<br/>[analyze.md]"]
end

subgraph group_prep["Role preparation"]
  node_research["Company research<br/>[research.md]"]
  node_prepbrief["Interview prep<br/>[prep.md]"]
  node_concerns["Concern planning<br/>[concerns.md]"]
  node_hype["Interview warmup<br/>[hype.md]"]
end

subgraph group_practice["Practice and analysis"]
  node_practice["Skill practice<br/>[practice.md]"]
  node_mock["Mock interviews<br/>[mock.md]"]
  node_transcripts["Transcript analysis"]
  node_debrief["Interview debrief<br/>[debrief.md]"]
  node_storybank["Storybank mapping"]
end

subgraph group_learning["State and learning"]
  node_calibration["Scoring calibration"]
  node_state[("Coaching state")]
  node_progress["Progress review<br/>[progress.md]"]
  node_negotiate["Offer negotiation<br/>[negotiate.md]"]
  node_challenge["Challenge protocol"]
end

node_candidate(("Candidate"))

node_candidate -->|"starts coaching"| node_kickoff
node_candidate -->|"requests guidance"| node_help
node_kickoff -->|"loads context"| node_state
node_positioning -->|"saves statement"| node_state
node_resume -.->|"uses storybank"| node_state
node_linkedin -.->|"uses positioning"| node_state
node_outreach -.->|"uses positioning"| node_state
node_research -->|"guides prep"| node_prepbrief
node_prepbrief -->|"continues sequence"| node_concerns
node_concerns -->|"continues sequence"| node_hype
node_practice -->|"updates progress"| node_state
node_mock -->|"records scores"| node_state
node_transcripts -->|"adds intelligence"| node_state
node_debrief -->|"records outcome"| node_state
node_storybank -->|"maintains stories"| node_state
node_calibration -->|"recalibrates scores"| node_state
node_progress -->|"reads progress"| node_state
node_negotiate -.->|"uses coaching context"| node_state
node_challenge -.->|"shapes drills"| node_practice

click node_kickoff "https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/kickoff.md"
click node_help "https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/help.md"
click node_positioning "https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/pitch.md"
click node_resume "https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/resume.md"
click node_linkedin "https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/linkedin.md"
click node_outreach "https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/outreach.md"
click node_rolefit "https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/analyze.md"
click node_research "https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/research.md"
click node_prepbrief "https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/prep.md"
click node_concerns "https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/concerns.md"
click node_hype "https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/hype.md"
click node_practice "https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/practice.md"
click node_mock "https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/mock.md"
click node_transcripts "https://github.com/noamseg/interview-coach-skill/blob/main/references/transcript-processing.md"
click node_debrief "https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/debrief.md"
click node_storybank "https://github.com/noamseg/interview-coach-skill/blob/main/references/story-mapping-engine.md"
click node_calibration "https://github.com/noamseg/interview-coach-skill/blob/main/references/calibration-engine.md"
click node_state "https://github.com/noamseg/interview-coach-skill/blob/main/references/coaching-state-schema.md"
click node_progress "https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/progress.md"
click node_negotiate "https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/negotiate.md"
click node_challenge "https://github.com/noamseg/interview-coach-skill/blob/main/references/challenge-protocol.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_kickoff,node_help toneBlue
class node_positioning,node_resume,node_linkedin,node_outreach,node_rolefit toneAmber
class node_research,node_prepbrief,node_concerns,node_hype toneMint
class node_practice,node_mock,node_transcripts,node_debrief,node_storybank toneRose
class node_calibration,node_state,node_progress,node_negotiate,node_challenge,node_candidate toneIndigo
```

## Components

### Coaching entry

- [Kickoff](https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/kickoff.md): `references/commands/kickoff.md`
- [Command help](https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/help.md): `references/commands/help.md`

### Candidate materials

- [Core positioning](https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/pitch.md): `references/commands/pitch.md`
- [Resume optimization](https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/resume.md): `references/commands/resume.md`
- [LinkedIn optimization](https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/linkedin.md): `references/commands/linkedin.md`
- [Networking outreach](https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/outreach.md): `references/commands/outreach.md`
- [Role-fit assessment](https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/analyze.md): `references/commands/analyze.md`

### Role preparation

- [Company research](https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/research.md): `references/commands/research.md`
- [Interview prep](https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/prep.md): `references/commands/prep.md`
- [Concern planning](https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/concerns.md): `references/commands/concerns.md`
- [Interview warmup](https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/hype.md): `references/commands/hype.md`

### Practice and analysis

- [Skill practice](https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/practice.md): `references/commands/practice.md`
- [Mock interviews](https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/mock.md): `references/commands/mock.md`
- [Transcript analysis](https://github.com/noamseg/interview-coach-skill/blob/main/references/transcript-processing.md): `references/transcript-processing.md`
- [Interview debrief](https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/debrief.md): `references/commands/debrief.md`
- [Storybank mapping](https://github.com/noamseg/interview-coach-skill/blob/main/references/story-mapping-engine.md): `references/story-mapping-engine.md`

### State and learning

- [Scoring calibration](https://github.com/noamseg/interview-coach-skill/blob/main/references/calibration-engine.md): `references/calibration-engine.md`
- [Coaching state](https://github.com/noamseg/interview-coach-skill/blob/main/references/coaching-state-schema.md): `references/coaching-state-schema.md`
- [Progress review](https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/progress.md): `references/commands/progress.md`
- [Offer negotiation](https://github.com/noamseg/interview-coach-skill/blob/main/references/commands/negotiate.md): `references/commands/negotiate.md`
- [Challenge protocol](https://github.com/noamseg/interview-coach-skill/blob/main/references/challenge-protocol.md): `references/challenge-protocol.md`

### Other components

- **Candidate**

## Connections

- Candidate → Kickoff: starts coaching
- Candidate → Command help: requests guidance
- Kickoff → Coaching state: loads context
- Core positioning → Coaching state: saves statement
- Resume optimization → Coaching state: uses storybank
- LinkedIn optimization → Coaching state: uses positioning
- Networking outreach → Coaching state: uses positioning
- Company research → Interview prep: guides prep
- Interview prep → Concern planning: continues sequence
- Concern planning → Interview warmup: continues sequence
- Skill practice → Coaching state: updates progress
- Mock interviews → Coaching state: records scores
- Transcript analysis → Coaching state: adds intelligence
- Interview debrief → Coaching state: records outcome
- Storybank mapping → Coaching state: maintains stories
- Scoring calibration → Coaching state: recalibrates scores
- Progress review → Coaching state: reads progress
- Offer negotiation → Coaching state: uses coaching context
- Challenge protocol → Skill practice: shapes drills
