{
  "schema": "leumas.docs.page/1",
  "id": "adapter:domain/interview-kit",
  "slug": "adapters/domain/interview-kit",
  "kind": "capabilities",
  "bucket": "package",
  "title": "interview-kit (engines/adapters/domain/interview-kit)",
  "name": "interview-kit",
  "eyebrow": "engines/adapters/domain/interview-kit",
  "chip": null,
  "summary": "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)...",
  "keywords": [
    "interview-kit",
    "interview",
    "competencies",
    "rubric",
    "per-level",
    "behavioral",
    "technicalset",
    "redflags"
  ],
  "audience": "both",
  "funnel": {
    "product": null,
    "cta": null
  },
  "body": "# interview-kit (`engines/adapters/domain/interview-kit`)\n\nIntelligent interview-prep microservice — the **assess** side of hiring. Generates tailored question\nsets, structured scorecards, rubrics and calibration scales so every interviewer evaluates consistently.\nHybrid: every tool is backed by a deterministic, curated question bank + heuristic templates that run\nfully offline; the generative tools optionally tailor questions via a reachable LLM and tag results\n`mode: 'heuristic' | 'llm'`. Selection is reproducible via an optional `options.seed`. Never requires a\nmodel; a down model never throws.\n\n## Tools\n\n| tool | input | what it does |\n|------|-------|--------------|\n| `questions` | `{ role, type?, level?, count? }` | Tailored set for behavioral / technical / system-design / mixed. |\n| `scorecard` | `{ role, competencies?, options.scale? }` | Weighted competency scorecard + recommendation field. |\n| `rubric` | `{ role, competencies? }` | Per-level (1–4) behavioral anchors for each competency. |\n| `behavioralSet` | `{ role, count? }` | STAR-format questions with follow-up probes + \"listen for\" notes. |\n| `technicalSet` | `{ role, level?, type?, count? }` | Role/level-calibrated technical questions by difficulty & topic. |\n| `redFlags` | `{ type? }` | Warning signals to watch for, by interview type. |\n| `ratingScale` | `{ options.scale? }` | Consistent rating scale + definitions for calibration. |\n\nTypes: `behavioral, technical, system-design, screen, culture, leadership, mixed`.\nLevels: `junior, mid, senior, lead, staff, principal`.\n\n## Usage\n\n```js\nimport ik from './index.js';\nawait ik.adapters.questions({ role: 'Backend Engineer', type: 'technical', level: 'senior', count: 6 });\nik.adapters.scorecard({ role: 'Product Manager' });\nik.adapters.rubric({ role: 'Data Scientist' });\n```\n\n## DRY boundaries\n\n- This is the **assess** side (interview design); `jd-writer` is the **write** side (author the posting);\n  `resume-scorer` is the **read** side (score candidates).\n- Question banks are hiring-domain data, self-contained here.\n- No cross-pack imports except `../_shared/llm.js` for the optional AI mode.\n",
  "source": {
    "path": "shared/engines/adapters/domain/interview-kit/README.md",
    "blobSha": "",
    "commit": "",
    "committedAt": "",
    "provenance": "no-git",
    "bytes": 2339,
    "hash": "8a64aaecd72963924569e5e36e8489d8e5d576ac"
  },
  "urls": {
    "html": "/p/adapters/domain/interview-kit",
    "json": "/docs/adapters/domain/interview-kit.json",
    "md": "/docs/adapters/domain/interview-kit.md"
  },
  "links": {
    "composes": [],
    "usedBy": [],
    "product": [],
    "howTo": [],
    "skills": []
  }
}
