# interview-kit (engines/adapters/domain/interview-kit)

Interview preparation microservice for hiring teams: generate a tailored question set for a role and interview type (questions); build a structured scorecard with weighted competencies (scorecard)...


Intelligent interview-prep microservice — the **assess** side of hiring. Generates tailored question
sets, structured scorecards, rubrics and calibration scales so every interviewer evaluates consistently.
Hybrid: every tool is backed by a deterministic, curated question bank + heuristic templates that run
fully offline; the generative tools optionally tailor questions via a reachable LLM and tag results
`mode: 'heuristic' | 'llm'`. Selection is reproducible via an optional `options.seed`. Never requires a
model; a down model never throws.

## Tools

| tool | input | what it does |
|------|-------|--------------|
| `questions` | `{ role, type?, level?, count? }` | Tailored set for behavioral / technical / system-design / mixed. |
| `scorecard` | `{ role, competencies?, options.scale? }` | Weighted competency scorecard + recommendation field. |
| `rubric` | `{ role, competencies? }` | Per-level (1–4) behavioral anchors for each competency. |
| `behavioralSet` | `{ role, count? }` | STAR-format questions with follow-up probes + "listen for" notes. |
| `technicalSet` | `{ role, level?, type?, count? }` | Role/level-calibrated technical questions by difficulty & topic. |
| `redFlags` | `{ type? }` | Warning signals to watch for, by interview type. |
| `ratingScale` | `{ options.scale? }` | Consistent rating scale + definitions for calibration. |

Types: `behavioral, technical, system-design, screen, culture, leadership, mixed`.
Levels: `junior, mid, senior, lead, staff, principal`.

## Usage

```js
import ik from './index.js';
await ik.adapters.questions({ role: 'Backend Engineer', type: 'technical', level: 'senior', count: 6 });
ik.adapters.scorecard({ role: 'Product Manager' });
ik.adapters.rubric({ role: 'Data Scientist' });
```

## DRY boundaries

- This is the **assess** side (interview design); `jd-writer` is the **write** side (author the posting);
  `resume-scorer` is the **read** side (score candidates).
- Question banks are hiring-domain data, self-contained here.
- No cross-pack imports except `../_shared/llm.js` for the optional AI mode.


---
Source: shared/engines/adapters/domain/interview-kit/README.md
Canonical: https://docs.leumas.tech/p/adapters/domain/interview-kit
