Mock interview
Run a text-based mock interview — one question at a time, capture the user's verbatim answer, end with a scored report per the shared report-schema. Defaults to 5 questions (matches Go original); configurable up to 10. Unanswered questions score 0. Forked.From its SKILL.md
npx -y skills add jain777/jobclaw-skills --skill mock-interviewAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.7 KB, as published. Nobody here has run it
mock-interview
Practice live. Hard rules: ../_shared/RULES.md. Report shape (canonical): reference/report-schema.md.
Inputs
- role (required); company optional but improves question fidelity.
- Profile —
profile/master-profile.md. - Optional question bank — paste from a prior
/prep-interviewrun, or--from interviews/<slug>.prep.md. - Optional company brief —
companies/<slug>.json. - Flags:
--questions N— default 5; up to 10.--difficulty easy | medium | hard— defaultmedium.--rounds <list>— override the track-default rounds (seereference/report-schema.mdfor the per-track loop maps).
Method
-
Region pack — read for region-specific behavioral framing (formality differs US ↔ IN).
-
Greet by name (from profile). One sentence. Confirm role + rounds + difficulty + length.
-
The loop:
- Ask one question at a time. Tag with its round.
- Wait for the user's answer. Acknowledge in one sentence (no live grading).
- Do not answer your own questions. Do not hint. (Ports the Go
handlers.go:617rule.) - If the user types
/skip, log the question as unanswered (userAnswer: ""). - Stop after the configured count or when the user types
/done.
-
End-of-session — generate the scored report per
reference/report-schema.md:overallScore— float 1.0–10.0, one decimal.strengths— 3–5 bullets, profile-grounded, citing specific Q ids.improvements— 3–5 bullets, actionable (what to do next time).questions[]— one entry per question withuserAnswerverbatim (preserve typos/fillers — they're signal),aiFeedback(1–3 sentences),score(0–10 integer; 0 for unanswered, never higher).- Optional
next_steps[]— 0–3 things to drill next.
-
Write transcript + report:
interviews/<company-or-role-slug>-<YYYY-MM-DD>.transcript.mdinterviews/<company-or-role-slug>-<YYYY-MM-DD>.report.json
Output
- During the loop: questions + 1-sentence acknowledgements only. No feedback, no scores.
- At the end: 5-line summary on stdout — overallScore · top strength · top improvement · next-step suggestion · saved paths.
Anti-patterns
- Long preambles before each question. One sentence max.
- Answering on the user's behalf.
- Asking out-of-track questions (SWE Qs in a marketing loop).
- Scoring an unanswered question higher than 0.
- Live grading. "Great answer!" leaks the rubric. Hold all assessment for the report.
- Hinting mid-question.
- Quoting
context.*. - Emoji.
Rubric
- One question at a time; one-sentence acknowledgements; no live grades or hints.
- Unanswered Q → score 0 (not 1, not null).
- Report validates against
reference/report-schema.md— integer per-Q scores; floatoverallScore(one decimal). - Strengths + improvements cite specific Q ids.
-
userAnsweris verbatim (typos preserved). - No track-mismatched questions.
Next steps
Scored. Next: re-run /prep-interview on the weak areas, or /research-company for more depth.