Generate spec-driven, take-home interview questions for software engineers. Each question is a runnable repository with open decisions, a decision log, a rubric, and trace-evaluable signal.
The skill generates interview questions in three steps:
- Design — You describe your hiring need (role, format, domain, competencies), and the skill designs a scenario with a milestone ladder and open decisions
- Build — The skill produces a runnable starter repo and candidate-facing materials (SPEC.md, AGENTS.md, CLAUDE.md, README.md)
- Package — The skill writes a
rubric.yamlfor evaluation, ameta.yamlwith question metadata, and aquestion.jsonfile containing the full question in shareable format
Copy the interview-gen folder into your Claude skills directory:
# For Claude Desktop / Claude Code
cp -r interview-gen ~/.claude/skills/
# For other Claude setups
cp -r interview-gen <your-claude-skills-path>/In Claude, invoke the skill by typing /interview-gen or "generate an interview question".
You'll be prompted for:
- role — hiring role (choose from available profiles:
fe-react,generic-swe) - format —
screening,live-coding, ortake-home - mode —
scratch(build from spec) oross-derived(wrap an existing OSS repo) - competencies — what you're evaluating (e.g.,
["architecture", "refactoring", "integration"])
The skill then outputs a folder (<question-id>/) containing:
meta.yaml— question metadata and prose (scenario, tagline, candidate_brief)candidate/repo/— the git repo candidates receivereview/rubric.yaml— evaluation rubricquestion.json— self-contained question format (see below)
After generating a question, the question.json file contains the full question in a portable, application-agnostic format. You can:
- Share with your team — paste into CredWork to create a new inteview question
- Iterate locally — re-run the skill to regenerate
question.jsonif you tweak the rubric or spec - Version control — commit
question.jsonto track the question definition over time
The schema includes all candidate-facing content (prompt, repo link if published), rubric criteria, competencies, and metadata.
The skill ships with two role profiles:
Front-end React engineer. Covers:
- React 18+, TypeScript, Vite
- State management, data fetching, caching
- Component design and accessibility
- Bundled local API server for realistic seams
General software engineer. A role-agnostic template suitable for:
- Backend, systems, or full-stack questions
- Questions where the role doesn't fit a specialized profile
- Custom stacks (document your own assumptions in the spec)
- Spec-driven — Candidates receive a SPEC.md with open decisions, not a menu. They decide; the coding agent raises questions.
- Decision-focused — The rubric scores judgment (how they resolved conflicts, what they chose to build/skip), not just correctness.
- Trace-evaluable — A Decision Log captures every major choice and reasoning in real-time. Reviewers score from the trace + diff, not from hand-written summaries.
- No tests required — Candidates don't write tests; the rubric scores behavior by running the tool/app. Avoids circular validation.
- Runnable end-to-end — Fresh laptop + stated prereqs + README steps = running system. No cloud accounts, no magic.
The skill does not include review tooling. To evaluate submissions, you'll need to:
- Receive the candidate's decision log, code, and any trace material
- Score against the
rubric.yamlusing your organization's review process - Record outcomes:
strong | adequate | weak | insufficient_evidencefor each rubric item
See SKILL.md for rubric design principles and scoring guidance.
[Add your license here — e.g., MIT, Apache 2.0]
See SKILL.md for detailed specification design rules, rubric contracts, pipeline steps, and examples.