matyasstoch/david-skills/interview-prep

Claude Code and agent skill by matyasstoch/david-skills

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Use when David is interviewing a candidate for an office hire. Parses the latest candidate application CSV from ~/Downloads, builds a TLDR + flags, copies the master question list into a per-candidate file, generates 5–6 sharp custom questions, tracks asked questions + live notes during the call, and runs a post-interview debrief. Triggers on interview prep, parse the candidate, candidate TLDR, build interview questions, custom questions for this guy, mark question as asked, reset to un-asked,…

Install

npx vskill@latest install matyasstoch/david-skills/interview-prep

SKILL.md

Interview Prep

Two files matter:

  1. Master question files (role-specific): work/hiring/interview-questions-{role}.md
  • One master per role (e.g., interview-questions-pa.md, interview-questions-yt-strategist.md, interview-questions-ai-dev.md).
  • Fallback: work/hiring/interview-questions.md if no role-specific file exists.
  • Generic, reusable questions only.
  • Never edited during interviews. Source of truth.
  • Numbered list 1–N.
  1. Per-candidate file: work/hiring/candidates/{firstname-lastname}.md (kebab-case)
  • Created at the start of each interview by COPYING the role-appropriate master.
  • Holds: TLDR, generic questions, custom questions, her-questions section (if relevant), notes, asked log, post-interview verdict.
  • Everything live happens in this file only.

When to Use

  • "Next candidate" / "parse the CSV" → run Parse + Init.
  • "Give me X custom questions" / "attack the gaps" → run Generate.
  • "Mark #N as asked" → run Track.
  • "Note:" / "add to notes" / any live observation → run Note.
  • "Compare candidates X and Y" / "CSV vs CSV" → run Compare.
  • "Debrief" / "interview over" / "extract my impressions" → run Post-Interview Verdict.
  • "Edit the master" → edit master only, no candidate file involved.

Procedure

1. Parse + Init candidate file
  1. Confirm the role with David if unclear (PA, YouTube strategist, AI dev, etc.).
  2. List ~/Downloads/*.csv by mtime, pick newest matching responses-*.csv.
  3. Read the entire file. Row 1 is the schema header (~30+ columns); row 2 is the answers.
  4. Build TLDR:
  • Identity: name, general location, current status
  • The good: concrete numbers, real achievements, verifiable experience
  • Yellow/red flags: evasions, vague claims, contradictions, mismatches
  • What's MISSING: dodged questions, blanks, no portfolio links
  • Bottom line: one sentence verdict
  1. If they reference a company/channel/person, WebSearch to verify. Report concisely.
  2. Create the candidate file: work/hiring/candidates/{firstname-lastname}.md (lowercase kebab-case).
  • Read the role-specific master (or fallback master).
  • Copy its full numbered list into the candidate file under ## Generic Questions.
  • If the applicant submitted return questions in the CSV (the "Do you have any questions for us?" field), add a ## Her Questions to Address (end of interview) section listing them.
  • Use the template below.
  1. Open the file in Cursor: cursor work/hiring/candidates/{name}.md.
Candidate file template
markdown
# Interview — {Full Name}
**Date:** DD-MM-YYYY
**Source CSV:** ~/Downloads/{filename}.csv
## TLDR
{Identity, the good, flags, missing, bottom line}
## Generic Questions
1.{copied from master}
2.{copied from master}
...
## Custom Questions
{added in step 2 — candidate-specific only}
## Her Questions to Address (end of interview)
{only if the applicant returned questions in the form}
1.{their question}
2.{their question}
## Notes during interview
(none captured)
## Already Asked
-✅ {question text}
-✅ [her] {their question} ← when David addresses one of HER questions
2. Generate custom questions

5–6 questions. Append under ## Custom Questions in the candidate file, continuing the numbering from where the generic list ended.

Rules:

  • Direct, specific, uncomfortable when warranted. No softballs.
  • Attack gaps (dodged questions, blanks, vague answers).
  • Probe inconsistencies.
  • Test whether stated experience holds up under specifics.
  • Match David's actual hiring need.
  • Add one-line italic context under each — explaining what the question probes.

If David later says "these aren't candidate-specific, they're generic": move them from ## Custom Questions to ## Generic Questions, keep their numbers. Then ask David whether to promote them to the master file too.

3. Track ✅ live (during interview)

When David says "mark #N as asked":

  1. Find #N in ## Generic Questions or ## Custom Questions.
  2. Remove that line.
  3. Append to ## Already Asked as - ✅ {question text}.
  4. DO NOT renumber. Gaps are intentional.

When David says "mark her #N as asked" / "mark #N (her question) as asked" (or generic #N is already asked → only her list has it):

  • Same flow, but log as - ✅ [her] {her question}.

When David says "add a new question 'X'": append to the active list with the next sequential number.

4. Note (during interview)

Append a bullet to ## Notes during interview in the candidate file. Terse, one bullet per insight.

Trigger words/phrases: "note:", "add to notes", "observation:", or any in-passing remark about vibe/energy/setup/professionalism/red flag/green flag. Always capture — David won't always say "note:".

5. Compare candidates (CSV vs CSV)

When David says "compare X and Y" / "CSV vs CSV":

  1. Read both source CSVs (NOT the candidate files — keep impressions out).
  2. Build a side-by-side table covering:
  • 24/7 commitment answer
  • Current status (student/full-time/etc.)
  • Travel/role-specific proof
  • Scenario answer
  • Video quality signal
  • Curiosity (# of return questions)
  • Age (if known)
  • Polish + driver's license
  1. End with a 1–2 sentence verdict on who's stronger on paper, explicitly noting interview impressions are excluded.
6. Post-Interview Verdict

When the interview ends ("interview over" / "extract my impressions" / "debrief"):

  1. Use AskQuestion to collect structured input. Default questions:
  • Overall verdict (strong yes / maybe / pass / backup)
  • Energy & vibe (high / mid / low / off)
  • 24/7 commitment (yes / verbal-only / no / unclear)
  • Top strengths (multi-select)
  • Red/yellow flags (multi-select)
  • Next step (reject / paid trial / 2nd round / wait / offer)
  • Anything else (freeform skip option)
  • Adapt the multi-select options to the role.
  1. Write a ## Post-Interview Verdict section at the bottom of the candidate file (after ## Already Asked). Use clear headers, bullet lists for strengths/flags, bold the verdict + next step.
7. Editing a master

When David says "edit the master" (specify role if ambiguous):

  • Edit the relevant work/hiring/interview-questions-{role}.md directly.
  • Master is just the numbered list — no Custom/Notes/Asked sections.
  • Do NOT touch any candidate files when editing the master.

Live Interview Mode — auto-commit + push

Trigger: Activates when David indicates the interview is actively happening (e.g. "the interview is about to start", "I'm on a call with her", "going forward", or any "mark #N as asked" / "note:" sequence in quick succession).

While in live mode, after every single edit to the candidate file (mark asked, add note, add question, etc.):

git add -A && git commit -m "interview: <terse description>" && git push

Do this immediately and silently — David needs the editor clean (no unstaged state) while focusing on the call.

Live mode ends when: David says "interview over" / "done" / runs the post-interview debrief. Before/after the interview, default to normal workflow (commit only when David asks).

Pitfalls (real failures to avoid)

  • Don't edit the master during a live interview. All live actions happen in the candidate file.
  • Don't drop reusable questions during a master edit. Many "custom" questions are role-generic. Ask David before dropping.
  • Don't renumber when marking asked. Numbers are burned. Gaps are intentional.
  • Don't restart numbering for custom questions. Generic + custom share one continuous sequence.
  • Don't soften flags in TLDRs. If the candidate is weak, say so directly.
  • Don't fabricate verification. If WebSearch finds nothing, say "couldn't verify."
  • Don't pre-fill answers. Only mark a question asked when David explicitly says so.
  • Don't lose notes by overwriting. Always Edit (append) — never Write the whole file unless reconstructing.
  • Don't auto-push outside live mode. Only auto-commit during an active interview.
  • Don't mix interview impressions into a CSV-vs-CSV compare. That defeats the purpose.
  • Don't ambiguously interpret "mark #N as asked". If both Generic #N and Her #N exist, the one still in the active list is the target. If both exist, ask.

Verification

After each operation, verify:

  • Parse + Init: candidate file exists with TLDR + Generic Questions + (Her Questions if any) + empty Custom/Notes/Asked sections.
  • Generate: new ## Custom Questions entries, numbering continues, italic context under each.
  • Track: question gone from active list, present as - ✅ ... in Already Asked, remaining numbers unchanged.
  • Note: new bullet in ## Notes, nothing else changed.
  • Compare: side-by-side table, no interview impressions, explicit "on paper" verdict.
  • Post-Interview Verdict: new section at bottom, structured fields, bolded verdict + next step.
  • Live mode commits: every edit was followed by git add -A && git commit && git push.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/matyasstoch/david-skills/interview-prep/badge)](https://verified-skill.com/skills/matyasstoch/david-skills/interview-prep)

Something wrong with this skill or its page? Tell us.