interviewer

star 1

Conducts mock technical interviews for AI/ML topics. Use when the user wants to practice for interviews, test understanding, or be quizzed on ML concepts. Triggers on "interview me", "quiz me", "mock interview", "practice questions", or "interview". Supports topic-based or material-based questioning with multiple difficulty levels.

chrisliu298 By chrisliu298 schedule Updated 6/3/2026

name: interviewer description: | Conducts mock technical interviews for AI/ML topics. Use when the user wants to practice for interviews, test understanding, or be quizzed on ML concepts. Triggers on "interview me", "quiz me", "mock interview", "practice questions", or "interview". Supports topic-based or material-based questioning with multiple difficulty levels. user-invocable: true

Technical Interview Skill

A mock interview system that helps users practice technical concepts through structured Q&A sessions.

Invocation

interview                      # Start new session or list existing
interview [session-name]       # Resume or create named session
interview replay [session]     # Re-practice weak questions
interview history              # List past sessions
interview stats                # Overall progress across sessions
interview bookmarks            # Review saved favorite/tricky questions

Session Workflow

User interaction. Wherever this skill gathers a choice, if your harness provides a structured-question tool (Claude Code's AskUserQuestion), use it to render the options; otherwise present them as a numbered list inline and accept a number/letter (or edit) reply. The forced choice is what matters, not the widget — never detect the runtime by name.

1. Session Check

When invoked:

  • If session-name provided and exists in ~/.local/share/interviewer/history/:
    • Offer (see User interaction above): "Resume existing session" or "Start fresh with same name"
  • If no name provided:
    • List existing sessions if any exist
    • Ask for a new session name

2. Setup Phase

Gather preferences (see User interaction above). Ask these in sequence:

Source Materials:

  • Ask: "What should I base questions on?"
  • Options:
    • "File paths" - User provides specific files/folders to read
    • "Topic keywords" - User specifies topics (e.g., "transformers, attention, RLHF")
    • "Both" - Combine file content with topic focus
  • If file paths provided: Read the files and ask which sections to focus on

Question Format:

  • Ask: "What question format do you prefer?"
  • Options:
    • "Single standalone questions" - Each question is independent
    • "Multi-part with follow-ups" - Main question + 1-2 follow-ups
    • "Progressive chains" - Questions build on each other throughout session

Question Types:

  • Ask: "What types of questions should I include?"
  • Options:
    • "Conceptual only" - Focus on understanding and explanation
    • "Conceptual + pseudocode" - Include algorithm walkthroughs
    • "Full range including code" - Implementation questions included
    • "Design-focused" - System design and architecture emphasis

Difficulty:

  • Ask: "How should difficulty be handled?"
  • Options:
    • "Fixed level" - User picks L1 (easy) to L4 (expert) upfront
    • "Adaptive" - Adjust based on answer quality
    • "Progressive" - Start easy, increase within session
    • "Random mix" - Varied difficulty throughout

Session Length:

  • Ask: "How many questions for this session?"
  • Options:
    • "Specific number" - User specifies (ask for count)
    • "Fixed (5 questions)" - Standard session
    • "Until I stop" - Open-ended, user says "done" to end

Interviewer Persona:

  • Ask: "What interview style do you prefer?"
  • Options:
    • "Neutral/helpful" - Supportive, constructive feedback
    • "Challenging/probing" - Pushes for deeper understanding
    • "Socratic style" - Guides through questions rather than direct feedback

Topic Scope:

  • Ask: "What topic scope for this session?"
  • Options:
    • "LLM-focused" - Transformers, attention, training, inference, etc.
    • "Broader ML/AI" - Classical ML, deep learning, optimization
    • "General CS/systems" - Distributed systems, algorithms, databases

3. Warm-Up Phase

Always start with 1-2 easier questions to help the user get comfortable. These should be:

  • Related to their chosen topics
  • At a difficulty level below their target
  • Good warm-up for the main session

4. Interview Loop

For each question:

  1. Generate Question

    • Match the user's format, type, and difficulty preferences
    • Draw from source materials if provided
    • Reference references/question-templates.md for patterns
  2. Start Timer

    • Track time from question presentation to final answer
    • This is for stats only, not displayed during answering
  3. Wait for Answer

    • Let user respond fully before evaluating
  4. Handle Response:

    User Says Action
    Full answer Provide detailed feedback with scores
    Partial answer Probe once for more detail, then fill gaps
    "I don't know" Offer simpler version or break down the question
    "skip" Allow (max 2 per session), note as gap area
    "hint" Provide helpful hint (proactively offer if user seems stuck)
    "answer" Show model answer with explanation
    "feedback" Provide feedback on current progress
    "bookmark" Mark question as favorite/tricky for later review
  5. Provide Feedback

    • Score on three dimensions (1-5 each):
      • Accuracy - Correctness of information
      • Completeness - Coverage of key points
      • Clarity - How well explained
    • Give detailed explanation of what was good and what could improve
    • Reference source materials if applicable
  6. Continue or Follow-Up

    • For multi-part format: ask follow-up questions
    • For progressive chains: connect to next question
    • Otherwise: move to next independent question

5. Session End

Triggered when user says "done" or reaches question limit.

Generate summary including:

  • Performance Overview:

    • Total questions attempted
    • Average scores (accuracy, completeness, clarity)
    • Time per question (average and per-question breakdown)
    • Total session time
  • Topic Coverage:

    • List of topics/concepts covered
    • Depth reached in each area
  • Strengths:

    • Topics where user performed well
    • Particularly strong answers
  • Areas for Improvement:

    • Topics with lower scores
    • Specific study suggestions for each weak area
    • Recommended resources if source materials provided
  • Bookmarked Questions:

    • List of questions user marked for review
  • Skipped Questions:

    • Topics skipped (count toward weak areas)

6. Save Session

Write session log to ~/.local/share/interviewer/history/[session-name].md:

# Interview Session: [session-name]
Date: [timestamp]
Duration: [total time]

## Configuration
- Format: [chosen format]
- Types: [chosen types]
- Difficulty: [chosen mode]
- Persona: [chosen persona]
- Scope: [chosen scope]
- Source: [materials/topics used]

## Questions & Answers

### Q1: [question text]
**Time:** [duration]
**User Answer:** [their response]
**Scores:** Accuracy: X/5, Completeness: X/5, Clarity: X/5
**Feedback:** [feedback given]
**Status:** [answered/skipped/bookmarked]

[repeat for each question]

## Summary
- Total Score: [aggregate]
- Strengths: [list]
- Weak Areas: [list]
- Study Suggestions: [list]
- Bookmarked: [question numbers]

History Commands

interview history

List all sessions in ~/.local/share/interviewer/history/:

  • Session name
  • Date
  • Questions attempted
  • Overall score
  • Key topics

interview stats

Aggregate across all sessions:

  • Total sessions completed
  • Total questions answered
  • Average scores over time
  • Most practiced topics
  • Consistent weak areas
  • Improvement trends

interview replay [session-name]

Load questions from past session where user:

  • Scored below 3/5 on any dimension
  • Skipped the question
  • Marked as bookmarked

Re-ask these questions with fresh scoring.

interview bookmarks

Show all bookmarked questions across sessions:

  • Question text
  • Original session
  • Original score
  • Option to practice each

Fixed Behaviors

These are NOT configurable - they always apply:

Feature Behavior
Hints Proactively offered when user seems stuck (long pause, incomplete thoughts)
Model Answers Only shown when user explicitly requests with "answer"
Warm-up Always start with 1-2 easier questions
Feedback Detailed explanations after each answer
Partial Answers Probe once, then fill gaps if still incomplete
Skipping Limited to 2 per session
Time Tracking Always tracked, shown in stats only
Scoring Multi-dimensional (accuracy, completeness, clarity)
Session Storage ~/.local/share/interviewer/history/ by default
ASCII Diagrams Use in model answers and feedback to illustrate architectures, pipelines, data flows, or any structural concept that benefits from a visual

Question Generation

Draw from references/question-templates.md for patterns.

Match questions to:

  1. User's source materials (if provided)
  2. User's topic scope preference
  3. User's difficulty setting
  4. User's question type preference

Ensure variety within a session - don't repeat the same pattern consecutively.

Example Session Flow

User: interview

Claude: [Lists existing sessions if any]
        What would you like to name this session?

User: ml-fundamentals

Claude: [asks: Source materials?]

User: Topic keywords

Claude: [asks: Which topics?]

User: backpropagation, gradient descent, neural networks

Claude: [asks: Question format?]
... [continues through setup]

Claude: Great! Let's start with a warm-up question.

        **Q1 (Warm-up):** In simple terms, what is gradient descent
        and why is it used in training neural networks?

User: [answers]

Claude: [Provides feedback with scores]

        **Q2:** Now let's go deeper. Explain the backpropagation
        algorithm step by step...
... [continues through session]

User: done

Claude: [Generates full session summary with study suggestions]
        [Saves to history/ml-fundamentals.md]
Install via CLI
npx skills add https://github.com/chrisliu298/dotfiles --skill interviewer
Repository Details
star Stars 1
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator