Jobgpt
sickn33/agentic-awesome-skills
Job search automation, auto apply, resume generation, application tracking, salary intelligence, and recruiter outreach using the JobGPT MCP server.
Prepares the user for a specific interview from their real experience.
$ npx skills add reactive-resume/reactive-resume --skill interview-prep -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install reactive-resume/reactive-resume interview-prep --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/reactive-resume/reactive-resume.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/reactive-resume/skills/interview-prep .claude/skills/interview-prep && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "interview-prep" agent skill from https://github.com/reactive-resume/reactive-resume/tree/main/plugins/reactive-resume/skills/interview-prep into .claude/skills/interview-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "interview-prep", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/reactive-resume/reactive-resume/tree/main/plugins/reactive-resume/skills/interview-prepType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add reactive-resume/reactive-resume --skill interview-prep -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install reactive-resume/reactive-resume interview-prep --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/reactive-resume/reactive-resume.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/reactive-resume/skills/interview-prep .agents/skills/interview-prep && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "interview-prep" agent skill from https://github.com/reactive-resume/reactive-resume/tree/main/plugins/reactive-resume/skills/interview-prep into .agents/skills/interview-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "interview-prep", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add reactive-resume/reactive-resume --skill interview-prep -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install reactive-resume/reactive-resume interview-prep --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/reactive-resume/reactive-resume.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/reactive-resume/skills/interview-prep .cursor/skills/interview-prep && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "interview-prep" agent skill from https://github.com/reactive-resume/reactive-resume/tree/main/plugins/reactive-resume/skills/interview-prep into .cursor/skills/interview-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "interview-prep", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/reactive-resume/reactive-resume.git --path plugins/reactive-resume/skills/interview-prep--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add reactive-resume/reactive-resume --skill interview-prep -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install reactive-resume/reactive-resume interview-prep --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/reactive-resume/reactive-resume.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/reactive-resume/skills/interview-prep .gemini/skills/interview-prep && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "interview-prep" agent skill from https://github.com/reactive-resume/reactive-resume/tree/main/plugins/reactive-resume/skills/interview-prep into .gemini/skills/interview-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "interview-prep", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install reactive-resume/reactive-resume interview-prepInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add reactive-resume/reactive-resume --skill interview-prep -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/reactive-resume/reactive-resume.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/reactive-resume/skills/interview-prep .github/skills/interview-prep && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "interview-prep" agent skill from https://github.com/reactive-resume/reactive-resume/tree/main/plugins/reactive-resume/skills/interview-prep into .github/skills/interview-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "interview-prep", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add reactive-resume/reactive-resume --skill interview-prep -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install reactive-resume/reactive-resume interview-prep --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/reactive-resume/reactive-resume.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/reactive-resume/skills/interview-prep .opencode/skills/interview-prep && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "interview-prep" agent skill from https://github.com/reactive-resume/reactive-resume/tree/main/plugins/reactive-resume/skills/interview-prep into .opencode/skills/interview-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "interview-prep", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
interview-prepPrepares the user for a specific interview from their real experience.
Interview Prep is an agent skill from reactive-resume/reactive-resume. Prepares the user for a specific interview from their real experience. Builds a story bank in Situation/Task/Action/Result/Reflection form mapped to the competencies the role and company test (such as Amazon's Leadership Principles), writes a cited company and role brief from public sources, predicts questions per round, drafts opener, why-us, weakness and salary answers, prepares questions to ask and a logistics checklist, and runs a post-interview debrief. Use when the user says "help me prepare for my…
Its SKILL.md is about 10k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including reference files (for example `references/answers.md`, `references/company-brief.md` and `references/competencies.md`).
It sits in Business, Finance & HR, covering Interview preparation, Job search and resumes and MCP servers. It works with Model Context Protocol. The repository describes itself as: A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today! The licence is MIT.
11 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c6a7b1d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Interview Prep loads about 10k tokens when it runs, and up to ~37k if it reads all its reference files. Until then it costs about 257 tokens; SKILL.md has 4,865 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from reactive-resume/reactive-resume at commit c6a7b1d, republished under its MIT licence (© reactive-resume). 4,865 words, ~10,318 tokens.
.claude/skills/interview-prep/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.Prepare the user for one specific interview using only their real experience. The deliverable is a prep pack: what the round scores, stories mapped to those competencies, a cited brief on the company and role, likely questions with a story for each, opening answers, questions to ask and a logistics checklist. After the interview, run a debrief that feeds the next round. Everything works in plain conversation; when the Reactive Resume MCP server is connected, read the application from it and save stories, questions and the debrief back.
Why this shape: many employers, especially large ones, use structured interviews, meaning the same competency questions for every candidate, a scoring rubric and planned follow-up probes. What wins is real evidence for each competency that holds up two layers into the follow-ups, not a polished script.
needs number. Missing evidence is not missing ability, so ask.Ground honesty in ethics and in how interviews work, not in fear. Research finds interviewers often fail to spot deceptive answers, so never tell the user they "will get caught". The real reasons: the story isn't theirs, probes and reference checks go deeper than any script, and the job itself exposes inflated skills.
When asked to fabricate, decline in one sentence and offer the honest alternative in the same reply:
User: I've never managed anyone. Just make up a leadership story, they won't check.
Agent: I won't invent one: it isn't yours to tell, and leadership answers get two rounds of "what exactly did you say to them?". Leading without a title counts, though. Have you onboarded a new hire, run a project other people contributed to, or talked a team out of a plan you thought was wrong?
Other push moments, each with a one-line reply and the honest alternative:
| Push | Reply |
|---|---|
| "Just say 30%, they want data" | "I'll keep your real range: 'roughly 20–30%', plus where it comes from, holds up when they dig into the number." |
| "Say I led it" | "Let's say exactly what you did. 'As one of four, I built X' survives 'what was your part?'" |
| "Say I know Kubernetes" | "Let's name the gap, then your closest real experience and how fast you learned the last comparable tool." |
| "Call my lessons corporate training" | "Use the new field's words for what you did ('designed a 6-week unit with aligned assessments'), not a setting you weren't in." |
| "Give me a script to read during the call" | Rule 3. Offer a sticky note of story titles and questions instead. |
Ask how long until the interview if you don't know, then pick a mode and say which one in a line.
| Time left | Mode | Deliver |
|---|---|---|
| Under 3 hours | Triage (see below) | One-screen cheat sheet: 5 stories, opener, why us, 3 questions to ask, tech check |
| 3 hours to 3 days (including tomorrow) | Standard | Prep pack for this round; mine only the missing stories. Under 24 hours, cap the user's work at about 90 minutes and skip the full brief |
| 4 days or more, or any final loop | Full | Story bank to full coverage, company brief, a plan per interviewer, practice rounds |
| No interview booked yet | Bank only | Story bank against a target role or the generic competencies; no brief |
Full mode runs over several sessions. Session 1: intake, then a coverage matrix built from the stories that already exist (with MCP, api_career_stories, each run through the card checks), then mine only the gaps. Plan template, compressed or stretched to the dates: Day 1 mine 3–4 gap stories · Day 2 the rest, plus the brief · Day 3 signature answers, said aloud · Day 4 mock round · Day 5 fix the weakest 3 stories · Day 6 second mock and logistics · Day 7 light review only. Favour versatile stories that each cover 2–3 competencies over one story per row. Without MCP, end every session with the updated cards and matrix in one Markdown block and ask the user to paste it back next time.
Fast path for impatient users: "Paste the posting and the resume you sent, tell me the round and when, and I'll return a prep pack, then ask only for the stories I'm missing."
| User says | Go to |
|---|---|
| "Interview in 2 hours", "it's this afternoon" | Triage |
| "Help me prepare for my interview at X" | Steps 1–10 |
| "Build my story bank", "STAR stories" | Step 4 (posting optional) |
| "I'm changing careers" | Step 4. Ask for 2–3 target postings; if there are none, use story-bank.md §7's competency table and say it's a starting point |
| "Research the company", "what should I know about them" | Step 5 |
| "What will they ask me?" | Steps 2, 3, 6 |
| "How do I answer tell me about yourself / weakness / salary" | Step 7 |
| "What should I ask them?" | Step 8 |
| "They asked something that felt illegal", "I need an accommodation" | Step 9 |
| "Practise with me", "mock interview", "grill me" | mock-interview if installed; otherwise step 10 |
| "I just had the interview", "debrief" | Step 11 |
| "Write a thank-you note", "follow up" | job-application-manager if installed; otherwise the light version in step 11 |
| "I got an offer", "should I negotiate?" | offer-negotiation if installed; otherwise get the offer in writing with its deadline, then one polite counter on the user's researched number |
Sibling skills may not be installed; when one is missing, do the light version yourself and say so.
With MCP connected, read the application first (see the MCP section) and ask only for what is missing. Otherwise ask as one numbered batch, skipping anything already known:
If a link won't load or is behind a login, ask for the pasted text and never guess from the URL. Then summarise back in 3–4 lines (round and audience, time in the user's timezone, framework, top requirements, mode) and get a yes before building. In Triage, skip the summary and state your assumptions on the cheat sheet instead.
Different rounds score different things. Prepare for what this one scores.
| Round | What is scored | Prepare |
|---|---|---|
| Recruiter screen (20–30 min) | Motivation, basic fit, logistics: pay, location, work authorisation, notice | 60–90 s opener, why us, pay line, notice period, questions about the process and AI policy |
| Hiring manager | Can you solve their problems; depth on 2–3 projects; how you work | Top 3 requirements mapped to stories, 2 project walkthroughs, a rough first-90-days view |
| Behavioural / competency | Past behaviour against a rubric | Stories with a probe layer for each must-have competency |
| Technical / practitioner | Role knowledge, past decisions, trade-offs | 2 deep walkthroughs (context, your part, trade-offs, what you'd redo); drills go to mock-interview |
| Panel or onsite loop | Each interviewer owns some competencies | Coverage map: which story for which interviewer, few repeats |
| Executive / final | Strategy, judgement, scale | A view on their top 2–3 challenges; a hard trade-off story; references ready |
For case, presentation, portfolio, take-home, assessment-centre, one-way video, AI-assisted coding, teaching-demo, clinical, sales role-play and finance-technical rounds, and for current employer AI policies, read references/rounds.md. When the format is unclear, draft a one-line question to the recruiter (what the round covers, who is on it, whether AI tools or notes are allowed); recruiters usually answer.
| Signal in the posting or company | Load |
|---|---|
| Amazon, AWS or another business that uses the Leadership Principles | The 16 Leadership Principles |
| Google / Alphabet | Four reported attributes plus hypothetical questions (verify) |
| Meta | Five reported behavioural signals (verify) |
| McKinsey or consulting fit rounds | Personal Experience Interview depth (verify current dimensions) |
| UK Civil Service | Success Profiles behaviours, plus strengths questions |
| NHS or UK health employers | The six NHS values |
| The company publishes values or competencies | Those, mapped to the generic core, with the URL cited |
| None of the above | Generic core, weighted by the posting's must-haves |
Generic core: ownership, influence without authority, collaboration, conflict, ambiguity and prioritisation, customer focus, results under pressure, data-driven judgement, learning and growth, communication, simplification and innovation, high standards, developing others, integrity, adaptability. Read references/competencies.md for the full frameworks, example questions per competency, Amazon loop specifics and how to handle hypothetical ("what would you do if…") questions.
Store each story once in five parts (Situation, Task, Action, Result, Reflection) and render it in whatever shape a question needs. Reflection answers the standard closing probe, "what would you do differently?", and turns a failure into evidence of growth. The same five fields are what Reactive Resume stores for a story.
Mine one role at a time (most recent or most relevant first). In Full mode ask one question at a time; in Standard and Bank only, send a numbered batch of up to 5 prompts with "skip" allowed; in Triage, see Triage. Fast path: "Paste your resume and any reviews or brag notes, or brain-dump your last 3 years in a few paragraphs. I'll draft skeleton cards with gaps marked, then ask only the 5 questions that fill the most rows." Skeleton cards hold only what the user wrote; every missing action, decision or result is a needs … mark, not a guess. Prompts:
For each episode collect: the people involved (by role, not name), what the user personally did (verbs), the decisions and why, the evidence of the result (number, range, artifact, quote) and what they would change. Probe for under-claiming ("I just did my job", "we") as much as for inflation: ask what they personally did and what would have slipped without them.
Write a card for each story:
Title: <6–8 word hook>
Tags: up to 3 primary competencies, framework tags included (e.g. LP: Ownership)
Situation: 1–2 sentences: stakes and scale
Task: the user's own responsibility, not the team's
Action: 3–5 "I" steps with the reason for each decision
Result: number / honest range / proxy, or "needs number"
Reflection: what they'd do differently; what they changed since
Probe layer: alternatives considered | who disagreed and why | hardest moment | where the number comes from
Runtime: 90–120 s spokenCheck every card before it goes in the bank:
needs number. Never upgrade a range to a point figure, and never fill the blank yourself.[month] or [N] is a question for the user; resolve it or drop the detail before the card is saved or rehearsed.Cover the competencies. Build a matrix of competencies (rows) against stories (columns). Aim for at least 2 stories per must-have competency and at least one each of: a failure or mistake, a conflict, leading without authority, ambiguity or prioritisation, a result the user drove, learning something fast, and customer focus. Senior candidates add hiring or developing others, a strategic bet and cross-organisation influence. Keep no more than half the stories from one project, at least 2 from the last 18 months, and at least one with a bad outcome. Size the bank by coverage, not a fixed count. An empty row becomes a question to the user, never an invented story. Without MCP, deliver the cards as Markdown the user can keep (Reactive Resume users can paste them into Career → Knowledge → Stories).
Read references/story-bank.md before mining when the user is changing careers, early-career or returning from a gap, and otherwise when mining stalls: full prompt bank, probe ladder, render formats (45-second, written 250-word, consulting depth) and senior stories.
Use sources in this order: the posting itself; the company's own pages (about, product, values, careers, engineering or design blog, changelog); annual reports, filings and the last two earnings calls for public companies; dated reputable news from the last 6–12 months. Review sites (Glassdoor, Blind, Reddit) are self-selected samples: use them only for possible question themes and process length, never as fact, and never repeat leaked confidential questions. For large companies, brief the business unit or team named in the posting (its product pages, launch posts, team talks); the parent company gets 2 lines.
Fill one page:
Read references/company-brief.md for the source table, search patterns, small-company fallbacks and the ethics of researching interviewers.
Rank by likelihood times how weak the user's current answer is, and present the list as a table:
| Question | Why likely | Story | Status |
|---|---|---|---|
| A time you had to deliver under a hard deadline | Posting: "fast-paced, owns delivery" | Billing cut-over | Ready |
| Tell me about a disagreement with your manager | Amazon LP: Have Backbone; Disagree and Commit | — | Missing: mine one |
For each Missing or Weak row, go back to step 4 for that question only.
For each answer, ask the user to say or type their current version first (rough is fine), then edit it: keep their words, fix the structure, cut length and mark missing facts. Draft from scratch only if they ask, and then only from the bank and the resume. Keep them as speaking notes rather than scripts, because word-for-word memorising sounds read aloud.
Read references/answers.md for structures, before/after examples, the salary jurisdiction table, scripts and the myths table.
Prepare 5 and plan to ask 2–3 per interviewer. Never ask something the posting, website or brief already answers; tie at least one to a cited fact from the brief; save perks and pay detail for the recruiter or offer stage.
With MCP, offer to save the chosen questions to the application's workspace (see the MCP section).
Checklist: date, time and timezone converted for the user; format and link or address; names and roles of interviewers; the employer's AI and notes policy; accommodations requested early; for video, test the exact platform, camera, mic and screen share the day before, light in front, notifications off, a backup phone number; for coding, one practice run in their environment; a copy of the resume version sent; a sticky note with story titles and questions (never a script); travel buffer and ID for onsite; after, "What are the next steps, and when should I expect to hear?".
For an accommodation request template, how to respond to an unlawful or inappropriate question (answer, address the underlying concern, redirect, decline, or note it and escalate later), and evidence-graded nerves techniques, read references/logistics-and-rights.md.
Have the user say aloud the opener and the first 30 seconds of each top story; spoken rehearsal is the cheapest fix for nerves and rambling. For a full role-played round with probes and scoring, hand off to mock-interview. Without it, run three predicted questions here: ask one, wait for the answer, then give one thing that works and one fix measured against the card (structure, "I" vs "we", result, length). Don't write a model answer that contains anything the user hasn't told you.
Within a day of the interview, ask the user to recall the round, one question at a time, and fill:
Round: <type / audience / interviewer roles>, <date>
Questions asked (as recalled) → story used → landed: well | mixed | not
What happened (supported): e.g. "she asked two follow-ups on the rollback"
Interpretations (observation): labelled as guesses
Struggled with → better story next time
Missing story (asked, not in bank) → mine it now
Signals about the role, team or pay
Promised follow-ups and dates; their decision date
Next round's top prep priority (one line)Keep what actually happened apart from interpretation, and never present a guess about the outcome as fact. Then compare it with earlier debriefs (with MCP, api_career_saved_items {kind: "debrief"} without applicationId, plus notes on other applications; without MCP, ask for them). Name any competency marked mixed or not twice and make it the next practice priority.
Add new or improved stories to the bank, then point to the thank-you note: job-application-manager drafts it if installed; otherwise write 75–150 words per interviewer with one specific callback to what that person said. Thank-you notes are a low-cost courtesy with no good evidence that they change outcomes; they are a stronger norm in the US than in the UK or EU.
Skip step 1's summary and state your assumptions at the top of the cheat sheet. Open with one calm line and the plan ("Two hours is enough for a focused plan: five stories, your opener and three questions to ask."), then ask in one message: (1) the posting, or the company and role; (2) the resume or 3 recent projects; (3) who the interviewer is; (4) one line each, if any come to mind: a win, a mistake, a disagreement. Build headline cards only from what they wrote and mark gaps needs …; never add actions or results a bullet doesn't state. Skip new frameworks, deep financials and word-for-word scripts.
| When | Do |
|---|---|
| T-120 to T-90 | Pull the top 5 requirements. The user skims the about, product, news and values pages and pastes 2 facts (or you do it with a web tool); confirm round and audience |
| T-90 to T-60 | Pick 5 stories, each covering 2+ requirements (headline cards only); write the 60–90 s opener and a why-us with 2 facts |
| T-60 to T-40 | One round-specific drill: a project walkthrough for a hiring manager, a timed problem aloud for technical, structure and maths for a case |
| T-40 to T-25 | 3 questions to ask, a weakness answer, a pay line, the answer to the riskiest objection |
| T-25 to T-10 | Tech check; water; sticky note with story titles and questions |
| T-10 to T-0 | A few slow breaths with long exhales; tell themselves "I'm excited"; say the opener aloud once |
Under 60 minutes, do only the "T-90 to T-60" and "T-40 to T-25" rows, then the last two.
Cheat sheet · <Company> · <Role> · <round>, <time, timezone>
Assumptions: <round type, audience, anything not confirmed>
Opener (60–90 s): present · past · future (3 bullets)
Why us: <fact 1> + <fact 2> → <my evidence>
Stories (title → covers): 1. … → ownership, delivery 2. … → failure 3. … → conflict 4. … → ambiguity 5. … → learning
Riskiest question → honest answer (2 lines)
Ask: 1. … 2. … 3. …
Recovery lines: "Can I take a moment to structure that?" / "Let me restart that more concisely."Deliver in this order, one screen per part where possible:
Prep pack · <Company> · <Role> · <Round>, <day date time, timezone> · <format> · <interviewers>
1. What this round scores (3 lines)
2. Your 3 themes, each backed by 2 stories
3. Opener (60–90 s, bullet notes) and why us (2 cited facts)
4. Predicted questions → story (table with status)
5. Story cards (headline versions; full cards on request)
6. Hard questions: gap or risk → honest answer
7. Questions to ask (5; ask 2–3)
8. Logistics checklist
9. Next: what to practise, and when the debrief is dueThemes are the 2–3 sentences the user wants in every interviewer's feedback (e.g. "ships under hard constraints", "goes deep on data"). They matter most in loops where each interviewer writes up separately, because they make the answers add up. Check that the opener and the closing line say them.
User: "Last year we moved billing from our in-house system to Stripe. Tight deadline because the old vendor contract ended. There was a double-charge bug the first week, which was bad. It went fine in the end."
Agent asks, one at a time: What was your part versus the team's? ("I owned the cut-over plan and wrote the rollback runbook; four engineers.") How many customers? ("About 40k subscriptions.") The double charges: how many, and what did you do? ("Around 300. I spotted them in the reconciliation report, paused the job, we refunded the same day, and I added idempotency keys.") Did you hit the deadline, and did the double charges come back? ("Yes, and no repeats after the fix.") Any change in failed payments? ("Not sure.") What would you do differently? ("Bring finance in at planning; they found the reconciliation gap late.")
Card:
Title: Billing cut-over before the contract ended
Tags: LP: Deliver Results, failure and recovery, LP: Dive Deep
Situation: Last year, in-house billing for about 40k subscriptions had to move to Stripe before the old vendor contract ended.
Task: I owned the cut-over plan for a team of four engineers.
Action: I wrote the cut-over plan and the rollback runbook. In week one I spotted about 300 double charges in the reconciliation report, paused the job and added idempotency keys; the team refunded affected customers the same day.
Result: All ~40k subscriptions moved before the contract ended; no double charges after the fix.
Reflection: I'd bring finance in at planning; they found the reconciliation gap late.
Probe layer: how the plan and runbook were structured (ask) | what caused the double charges (ask) | did anyone push back on the date (ask) | how the 300 were found | source of "40k" | possible follow-up: effect on failed payments (user unsure)One story, several questions (same facts, different spotlight): hard deadline → the plan, the runbook and the date; failure → the double charges, opening with the user's own part (ask what it was before writing it); attention to detail → the reconciliation report; what you'd do differently → finance at planning. The agent did not add a payment metric, a month, a method (such as phasing) or a cause of the double charges that the user didn't give. Those stay as questions in the probe layer, and the refunds stay the team's work because the user said "we refunded".
Use these only when the server is connected. Read in this order, then ask only for what's missing:
list_applications {status: "interview", limit: 100}, then without the filter if nothing matches (page with offset until nextOffset is null) → read_application {id} for jobDescription, requirements, contacts, sentResumeVersionId and the activity entries with type: "interview".api_resume_get_version {resumeId, versionId: sentResumeVersionId}; with no sent version, read_resume {id: resumeId} and ask whether that's what they sent.api_career_stories {applicationId} and api_career_facts {applicationId} (shared items plus this application's; applicationId: null for shared only), api_career_saved_items {applicationId, kind}, api_career_workspace {applicationId}.api_rest_match_resume {id: resumeId, jobDescription} for missing terms to turn into objections. It reads the current resume, not the sent version.Writes, after the batched yes (rule 7): api_career_save_fact, api_career_save_story, api_career_save_workspace (questions to ask), add_application_interview and update_application_interview (log a round, prep notes), add_application_note (debrief), update_application (stage).
Gotchas that lose data or silently fail:
id with every field. Leave result as "" when the outcome can't be supported.factIds. A shared story (applicationId: null) needs shared facts. If the user declines, tell them the story will show in Knowledge but the web coach won't use it.source.id. Send source: {kind: "manual", id: <a new UUID>, quote: <the user's exact words>}. The server blocks saves by source kind and id, so a shared or empty id lets one forgotten, excluded or corrected fact block every later save.expected holding the current value of every key you change; on a conflict, read again and merge.applied once a round happens, propose update_application {id, status: "screening"} or "interview" and wait for a yes.api_career_schedules and set with api_career_save_schedule, only after a yes, because scheduled runs use the user's AI provider and can email them.Read references/mcp-recipes.md before the first write in a session for exact payloads, round-type mapping, field limits and errors.
Before passing on common interview advice ("they decide in 90 seconds", 7-38-55 body language, power posing, "exactly 8–12 stories", "Amazon has 14 principles", thank-you-note statistics, eye contact for video AI), check the myths table in references/answers.md §10.
© reactive-resume, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 7 other files (references) in plugins/reactive-resume/skills/interview-prep of reactive-resume/reactive-resume.
Open the folder on GitHubat commit c6a7b1d
Interview Prep next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Interview Prep this skillreactive-resume/reactive-resume | 44k | — | ~10k | Automated safety check: Pass | MIT | |
| Jobgptsickn33/agentic-awesome-skills | 47k | 2 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Workoraidavila7/claude-code-templates | 33k | — | ~2.4k | Automated safety check: Pass | MIT | |
| Legal Job Searchzh-xx/legal-assistant-skills | 174 | — | ~1.7k | Automated safety check: Pass | MIT | |
| SwissdevjobsStupidoodle/swissdevjobs-cli | 102 | — | ~2.6k | Automated safety check: Notes | MIT | |
| Backend and Agent Project Selectorlishuangqiang/backend-agent-resume-scout | 350 | — | ~1.4k | Automated safety check: Pass | Apache-2.0 |
sickn33/agentic-awesome-skills
Job search automation, auto apply, resume generation, application tracking, salary intelligence, and recruiter outreach using the JobGPT MCP server.
davila7/claude-code-templates
WorkorAI talent marketplace skill: candidate job search and employer hiring with white-box match explanations via the WorkorAI MCP server (https://workorai.com/mcp).
zh-xx/legal-assistant-skills
法律AI求职助手 - 帮助法律人(法务/律师)使用AI辅助求职。支持公司/律所调研、法律风险分析、网页简历生成、针对性材料准备、面试备忘录生成。具备MCP工具级降级能力,无MCP时自动使用Web Search。
Stupidoodle/swissdevjobs-cli
Search nine job boards across eight countries — the salary-transparent devitjobs family, jobs.ch and jobup.ch (all Swiss industries), and MyCareersFuture (Singapore IT) — and help the user apply.
lishuangqiang/backend-agent-resume-scout
Finds backend or AI agent projects on GitHub that are worth putting on a resume, checks them against local source and writes a Markdown resume package.
livetennisapi/livetennisapi-mcp
Build observe-only Polymarket and Kalshi tennis market tooling on the polymarket-tennis Python package (MIT) plus the Live Tennis API free tier.
reactive-resume/reactive-resume
Builds resumes as valid JSON for the open-source Reactive Resume app by interviewing you, and can track job applications through its MCP tools.
reactive-resume/reactive-resume
Runs the job-search pipeline. An agent skill from reactive-resume/reactive-resume.
reactive-resume/reactive-resume
Runs a mock interview for a specific job description. An agent skill from reactive-resume/reactive-resume.
reactive-resume/reactive-resume
Evaluates and negotiates job offers. An agent skill from reactive-resume/reactive-resume.
reactive-resume/reactive-resume
Turns resume duties into truthful impact bullets. An agent skill from reactive-resume/reactive-resume.
reactive-resume/reactive-resume
Tailors one resume to one specific job posting. An agent skill from reactive-resume/reactive-resume.
Works with
Categories
Prepares the user for a specific interview from their real experience. Interview Prep is an agent skill from reactive-resume/reactive-resume. Prepares the user for a specific interview from their real experience.
Interview Prep fits situations like: the user says help me prepare for my interview; I have an interview tomorrow; build my story bank; interviewing as a career changer.
Run `npx skills add reactive-resume/reactive-resume --skill interview-prep -a claude-code`. Or copy the skill folder (plugins/reactive-resume/skills/interview-prep in reactive-resume/reactive-resume) into .claude/skills/interview-prep in your project. Claude Code loads it when a task matches its description.
Run `npx skills add reactive-resume/reactive-resume --skill interview-prep -a codex`. Or copy the skill folder (plugins/reactive-resume/skills/interview-prep in reactive-resume/reactive-resume) into .agents/skills/interview-prep in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add reactive-resume/reactive-resume --skill interview-prep -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/interview-prep, .gemini/skills/interview-prep, .github/skills/interview-prep and .opencode/skills/interview-prep in your project.
SKILL.md names no scripts, command-line tools or credentials: Interview Prep is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Interview Prep is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 10k tokens (SKILL.md is roughly 41k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 27k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Interview Prep: Jobgpt (sickn33/agentic-awesome-skills, 47k stars), Workorai (davila7/claude-code-templates, 33k stars), Legal Job Search (zh-xx/legal-assistant-skills, 174 stars) and Swissdevjobs (Stupidoodle/swissdevjobs-cli, 102 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
reactive-resume (a GitHub organization) maintains it in reactive-resume/reactive-resume, which has 44,062 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 9, 2026.
Source: reactive-resume/reactive-resume on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.