{
  "id": "interview-prep-coach",
  "slug": "interview-prep-coach",
  "name": "Interview Prep Coach",
  "tagline": "Walk into every interview knowing the company, the people and your stories.",
  "description": "Spots new interview invites, builds a brief on the company, the interviewers and the role, and runs practice questions with feedback.",
  "category": "Careers",
  "platforms": [
    "Grok Bot",
    "Muse",
    "Dots"
  ],
  "schedule": "Daily, 7:00 AM",
  "outputType": "brief",
  "previewImage": "previews/interview-prep-coach.png",
  "installSteps": {
    "grokBot": {
      "label": "Grok Bot",
      "status": "verified",
      "steps": [
        "Copy skills/interview-prep-coach/SKILL.md (the whole file, including the --- header).",
        "Open a one-to-one chat with your Grok Bot and paste the prompt below, with the file where it says.",
        "When the Bot asks, connect: Google Calendar or Outlook (required), Gmail or Outlook (required, to read invites), Google Docs or Notion (optional). It shows a connect card right in the chat.",
        "Try it once now: \"Run Interview Prep Coach.\"",
        "The routine shows in the Bot's info pane (click the Bot's name in the chat header) under Routines, where you can pause or edit it."
      ],
      "prompt": "Save the following as a skill called \"Interview Prep Coach\". Then create a routine called \"Interview invite check\" that runs it every day at 7:00 AM and posts the result here. Before the first run, ask me the setup questions in the skill and remember my answers.\n\n<paste SKILL.md here>",
      "note": "Skills and routines are saved by asking the Bot; no settings to dig through.",
      "promptFull": "Save the following as a skill called \"Interview Prep Coach\". Then create a routine called \"Interview invite check\" that runs it every day at 7:00 AM and posts the result here. Before the first run, ask me the setup questions in the skill and remember my answers.\n\n---\nname: interview-prep-coach\ndescription: Use when the user has an interview scheduled or an invite arrives. Reads the invite and the application they sent, researches the company and each interviewer's public professional background, and builds a prep brief with logistics, likely technical and behavioral questions, the user's matching stories, questions to ask, mismatches to be ready for, and practice problems. It then links the brief on the calendar event.\nmetadata:\n  id: interview-prep-coach\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Interview Prep Coach\n\n> Drafts only: nothing is submitted, applied for, or sent without your explicit OK.\n\n## What it does\n\nGets you ready for an interview the way a good mentor would. It reads exactly what you sent the company, figures out what they'll probably ask, lines up your best true stories against each requirement, flags the gaps an interviewer might probe, and gives you sharp questions to ask them. The brief is linked right on the calendar event, so it's there when you need it.\n\n## When to use\n\n- An interview invite lands in the inbox or on the calendar. \"Prep me for my Thursday call with Cohere\", \"make me practice problems for the technical round\".\n- For non-interview meetings, use Meeting Prep Brief.\n\n## Requires\n\nA calendar connector (Google Calendar or Outlook) and an email connector to read the invite. The application record: the posting, the resume version sent, and any answers or cover letter. Web search for company and interviewer research. Optional: a docs app (Google Docs, Notion) for the brief.\n\n## Schedule\n\nDefault: a daily check at 7:00 AM for new interview invites, plus on demand. Briefs are ready at least 24 hours before each interview when the invite allows.\n\n## Inputs\n\n| Setting | Default | Notes |\n|---|---|---|\n| `lookahead` | 7 days | How far ahead to scan for interviews. |\n| `brief_location` | a docs folder named \"Interview Prep\" | |\n| `practice_problems` | 3 to 5 for technical rounds | Matched to the posting's level. |\n| `story_bank` | from the resume sent | Optional: the user's own STAR stories (situation, task, action, result). |\n\n## Steps\n\n1. **Logistics:** date, time and zone, format (phone, video, onsite, technical, behavioral), length, interviewer names, and the join link.\n2. **Pull the application:** the posting, the resume version actually sent, and any form answers or cover letter.\n3. **Research:** the company's product, recent news, and team. Each interviewer's public professional role and background only.\n4. **Map:** for each of the top requirements, pick the user's best true story from the resume sent.\n5. **Predict questions:** 5 to 8 technical (based on the posting) and 5 behavioral.\n6. **Mismatches:** anything in the posting the user doesn't meet, with an honest way to address it.\n7. **Questions to ask:** 3 to 5 specific ones.\n8. **Practice:** for technical rounds, 3 to 5 problems at the right level, with links.\n9. **Deliver:** save the brief, add the link to the end of the calendar event's description (keeping existing details), and tell the user in two lines.\n\n## Output format\n\n```markdown\n# Interview prep: {Company}, {Role}\n**{Day, date, time zone}** \u00b7 {format}, {length} \u00b7 [Join]({link})\n**With:** {name}, {title} (one line on their background)\n\n## The role in one paragraph\n## Your stories, matched\n| They want | Tell this story |\n|---|---|\n## Likely questions\n### Technical\n### Behavioral\n## Be ready for\n- {Mismatch, and an honest answer}\n## Ask them\n1. {Question}\n## Practice\n- [{Problem}]({link}), {level}\n```\n\n## Edge cases\n\n- **The interview is in the next few hours:** send a one-screen quick brief first, then the full brief.\n- **Interviewer names aren't given:** prep for the team's likely roles and say so.\n- **The resume sent can't be found:** use the master resume and flag it.\n- **The interview is rescheduled:** move the brief link to the new event.\n\n## Boundaries\n\n- Professional public information about interviewers only.\n- Stories come from what the user actually did. Never coach them to claim something untrue.\n- Never accept, decline, or reschedule interviews on the user's behalf."
    },
    "muse": {
      "label": "Muse",
      "status": "partially-verified",
      "steps": [
        "Copy skills/interview-prep-coach/SKILL.md.",
        "Open Muse and paste the prompt below with the file where it says.",
        "Try it: \"Run Interview Prep Coach.\" Muse has no skill install for outside skills, so it follows the pasted instructions.",
        "Ask Muse to make it a recurring task every day at 7:00 AM. It then shows under the Assistant icon > Upcoming.",
        "Muse Code (developer CLI): unzip downloads/interview-prep-coach.zip, run `muse skills validate ./interview-prep-coach` then `muse skills install ./interview-prep-coach --scope user`. Optional: add the BotPlaza connector (https://botplaza.lol/api/mcp) under mcpServers in ~/.config/muse/settings.json."
      ],
      "sourceUrl": "https://www.meta.com/help/superintelligence/1484325780075655/",
      "note": "Recurring tasks and Muse Code skill install are documented by Meta. Installing outside skills in the Muse app is not.",
      "prompt": "Here are instructions for a task called \"Interview Prep Coach\". Follow them whenever I say \"Run Interview Prep Coach\". Ask me the setup questions first and remember my answers.\n\n<paste SKILL.md here>\n\nIf you can save this as a skill, please do.",
      "promptFull": "Here are instructions for a task called \"Interview Prep Coach\". Follow them whenever I say \"Run Interview Prep Coach\". Ask me the setup questions first and remember my answers.\n\n---\nname: interview-prep-coach\ndescription: Use when the user has an interview scheduled or an invite arrives. Reads the invite and the application they sent, researches the company and each interviewer's public professional background, and builds a prep brief with logistics, likely technical and behavioral questions, the user's matching stories, questions to ask, mismatches to be ready for, and practice problems. It then links the brief on the calendar event.\nmetadata:\n  id: interview-prep-coach\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Interview Prep Coach\n\n> Drafts only: nothing is submitted, applied for, or sent without your explicit OK.\n\n## What it does\n\nGets you ready for an interview the way a good mentor would. It reads exactly what you sent the company, figures out what they'll probably ask, lines up your best true stories against each requirement, flags the gaps an interviewer might probe, and gives you sharp questions to ask them. The brief is linked right on the calendar event, so it's there when you need it.\n\n## When to use\n\n- An interview invite lands in the inbox or on the calendar. \"Prep me for my Thursday call with Cohere\", \"make me practice problems for the technical round\".\n- For non-interview meetings, use Meeting Prep Brief.\n\n## Requires\n\nA calendar connector (Google Calendar or Outlook) and an email connector to read the invite. The application record: the posting, the resume version sent, and any answers or cover letter. Web search for company and interviewer research. Optional: a docs app (Google Docs, Notion) for the brief.\n\n## Schedule\n\nDefault: a daily check at 7:00 AM for new interview invites, plus on demand. Briefs are ready at least 24 hours before each interview when the invite allows.\n\n## Inputs\n\n| Setting | Default | Notes |\n|---|---|---|\n| `lookahead` | 7 days | How far ahead to scan for interviews. |\n| `brief_location` | a docs folder named \"Interview Prep\" | |\n| `practice_problems` | 3 to 5 for technical rounds | Matched to the posting's level. |\n| `story_bank` | from the resume sent | Optional: the user's own STAR stories (situation, task, action, result). |\n\n## Steps\n\n1. **Logistics:** date, time and zone, format (phone, video, onsite, technical, behavioral), length, interviewer names, and the join link.\n2. **Pull the application:** the posting, the resume version actually sent, and any form answers or cover letter.\n3. **Research:** the company's product, recent news, and team. Each interviewer's public professional role and background only.\n4. **Map:** for each of the top requirements, pick the user's best true story from the resume sent.\n5. **Predict questions:** 5 to 8 technical (based on the posting) and 5 behavioral.\n6. **Mismatches:** anything in the posting the user doesn't meet, with an honest way to address it.\n7. **Questions to ask:** 3 to 5 specific ones.\n8. **Practice:** for technical rounds, 3 to 5 problems at the right level, with links.\n9. **Deliver:** save the brief, add the link to the end of the calendar event's description (keeping existing details), and tell the user in two lines.\n\n## Output format\n\n```markdown\n# Interview prep: {Company}, {Role}\n**{Day, date, time zone}** \u00b7 {format}, {length} \u00b7 [Join]({link})\n**With:** {name}, {title} (one line on their background)\n\n## The role in one paragraph\n## Your stories, matched\n| They want | Tell this story |\n|---|---|\n## Likely questions\n### Technical\n### Behavioral\n## Be ready for\n- {Mismatch, and an honest answer}\n## Ask them\n1. {Question}\n## Practice\n- [{Problem}]({link}), {level}\n```\n\n## Edge cases\n\n- **The interview is in the next few hours:** send a one-screen quick brief first, then the full brief.\n- **Interviewer names aren't given:** prep for the team's likely roles and say so.\n- **The resume sent can't be found:** use the master resume and flag it.\n- **The interview is rescheduled:** move the brief link to the new event.\n\n## Boundaries\n\n- Professional public information about interviewers only.\n- Stories come from what the user actually did. Never coach them to claim something untrue.\n- Never accept, decline, or reschedule interviews on the user's behalf.\n\nIf you can save this as a skill, please do."
    },
    "dots": {
      "label": "Dots",
      "status": "partially-verified",
      "steps": [
        "Copy skills/interview-prep-coach/SKILL.md.",
        "Paste the prompt below into your dot's conversation in ChatGPT, with the file where it says.",
        "Wait for the dot to confirm the schedule, time zone and end date.",
        "Optional: in ChatGPT, Plugins > + > Add custom MCP server with https://botplaza.lol/api/mcp (no authentication). Dots can use installed plugins, but OpenAI hasn't said whether that includes custom ones.",
        "Business, Enterprise, Healthcare and Edu workspaces can also upload downloads/interview-prep-coach.zip under Plugins > Skills > Create > Upload from your computer."
      ],
      "sourceUrl": "https://learn.chatgpt.com/docs/dots",
      "note": "Dots are available on ChatGPT Pro, Business Premium and Enterprise, and are still rolling out. Pasting instructions in and scheduled check-ins are documented.",
      "prompt": "Here are instructions for a task called \"Interview Prep Coach\". Take this on as an ongoing responsibility and follow them whenever I say \"Run Interview Prep Coach\". Ask me the setup questions first and remember my answers.\n\n<paste SKILL.md here>\n\nCheck in every day at 7:00 AM Eastern time for the next 3 months, and confirm the schedule back to me.",
      "promptFull": "Here are instructions for a task called \"Interview Prep Coach\". Take this on as an ongoing responsibility and follow them whenever I say \"Run Interview Prep Coach\". Ask me the setup questions first and remember my answers.\n\n---\nname: interview-prep-coach\ndescription: Use when the user has an interview scheduled or an invite arrives. Reads the invite and the application they sent, researches the company and each interviewer's public professional background, and builds a prep brief with logistics, likely technical and behavioral questions, the user's matching stories, questions to ask, mismatches to be ready for, and practice problems. It then links the brief on the calendar event.\nmetadata:\n  id: interview-prep-coach\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Interview Prep Coach\n\n> Drafts only: nothing is submitted, applied for, or sent without your explicit OK.\n\n## What it does\n\nGets you ready for an interview the way a good mentor would. It reads exactly what you sent the company, figures out what they'll probably ask, lines up your best true stories against each requirement, flags the gaps an interviewer might probe, and gives you sharp questions to ask them. The brief is linked right on the calendar event, so it's there when you need it.\n\n## When to use\n\n- An interview invite lands in the inbox or on the calendar. \"Prep me for my Thursday call with Cohere\", \"make me practice problems for the technical round\".\n- For non-interview meetings, use Meeting Prep Brief.\n\n## Requires\n\nA calendar connector (Google Calendar or Outlook) and an email connector to read the invite. The application record: the posting, the resume version sent, and any answers or cover letter. Web search for company and interviewer research. Optional: a docs app (Google Docs, Notion) for the brief.\n\n## Schedule\n\nDefault: a daily check at 7:00 AM for new interview invites, plus on demand. Briefs are ready at least 24 hours before each interview when the invite allows.\n\n## Inputs\n\n| Setting | Default | Notes |\n|---|---|---|\n| `lookahead` | 7 days | How far ahead to scan for interviews. |\n| `brief_location` | a docs folder named \"Interview Prep\" | |\n| `practice_problems` | 3 to 5 for technical rounds | Matched to the posting's level. |\n| `story_bank` | from the resume sent | Optional: the user's own STAR stories (situation, task, action, result). |\n\n## Steps\n\n1. **Logistics:** date, time and zone, format (phone, video, onsite, technical, behavioral), length, interviewer names, and the join link.\n2. **Pull the application:** the posting, the resume version actually sent, and any form answers or cover letter.\n3. **Research:** the company's product, recent news, and team. Each interviewer's public professional role and background only.\n4. **Map:** for each of the top requirements, pick the user's best true story from the resume sent.\n5. **Predict questions:** 5 to 8 technical (based on the posting) and 5 behavioral.\n6. **Mismatches:** anything in the posting the user doesn't meet, with an honest way to address it.\n7. **Questions to ask:** 3 to 5 specific ones.\n8. **Practice:** for technical rounds, 3 to 5 problems at the right level, with links.\n9. **Deliver:** save the brief, add the link to the end of the calendar event's description (keeping existing details), and tell the user in two lines.\n\n## Output format\n\n```markdown\n# Interview prep: {Company}, {Role}\n**{Day, date, time zone}** \u00b7 {format}, {length} \u00b7 [Join]({link})\n**With:** {name}, {title} (one line on their background)\n\n## The role in one paragraph\n## Your stories, matched\n| They want | Tell this story |\n|---|---|\n## Likely questions\n### Technical\n### Behavioral\n## Be ready for\n- {Mismatch, and an honest answer}\n## Ask them\n1. {Question}\n## Practice\n- [{Problem}]({link}), {level}\n```\n\n## Edge cases\n\n- **The interview is in the next few hours:** send a one-screen quick brief first, then the full brief.\n- **Interviewer names aren't given:** prep for the team's likely roles and say so.\n- **The resume sent can't be found:** use the master resume and flag it.\n- **The interview is rescheduled:** move the brief link to the new event.\n\n## Boundaries\n\n- Professional public information about interviewers only.\n- Stories come from what the user actually did. Never coach them to claim something untrue.\n- Never accept, decline, or reschedule interviews on the user's behalf.\n\nCheck in every day at 7:00 AM Eastern time for the next 3 months, and confirm the schedule back to me."
    },
    "chatgpt": {
      "label": "ChatGPT",
      "status": "unverified",
      "verified": false,
      "steps": [
        "Download https://botplaza.lol/downloads/interview-prep-coach.zip (don't unzip).",
        "ChatGPT sidebar \u2192 Plugins \u2192 Skills tab \u2192 Create \u2192 Upload from your computer.",
        "Wait for the scan; if it says Needs Review, read it and approve.",
        "Use it with @interview-prep-coach or just ask.",
        "Ask ChatGPT to set a scheduled task that runs @interview-prep-coach at this cadence: every day at 7:00 AM. Set the time in your own time zone."
      ],
      "sourceUrl": "https://help.openai.com/en/articles/20001066-skills-in-chatgpt",
      "note": "Business, Enterprise, Edu and Healthcare plans only. Other plans fall back to pasting the prompt.",
      "prompt": "Here are instructions for a task called \"Interview Prep Coach\". Follow them whenever I say \"Run Interview Prep Coach\". Ask me the setup questions first and remember my answers.\n\n<paste SKILL.md here>",
      "promptFull": "Here are instructions for a task called \"Interview Prep Coach\". Follow them whenever I say \"Run Interview Prep Coach\". Ask me the setup questions first and remember my answers.\n\n---\nname: interview-prep-coach\ndescription: Use when the user has an interview scheduled or an invite arrives. Reads the invite and the application they sent, researches the company and each interviewer's public professional background, and builds a prep brief with logistics, likely technical and behavioral questions, the user's matching stories, questions to ask, mismatches to be ready for, and practice problems. It then links the brief on the calendar event.\nmetadata:\n  id: interview-prep-coach\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Interview Prep Coach\n\n> Drafts only: nothing is submitted, applied for, or sent without your explicit OK.\n\n## What it does\n\nGets you ready for an interview the way a good mentor would. It reads exactly what you sent the company, figures out what they'll probably ask, lines up your best true stories against each requirement, flags the gaps an interviewer might probe, and gives you sharp questions to ask them. The brief is linked right on the calendar event, so it's there when you need it.\n\n## When to use\n\n- An interview invite lands in the inbox or on the calendar. \"Prep me for my Thursday call with Cohere\", \"make me practice problems for the technical round\".\n- For non-interview meetings, use Meeting Prep Brief.\n\n## Requires\n\nA calendar connector (Google Calendar or Outlook) and an email connector to read the invite. The application record: the posting, the resume version sent, and any answers or cover letter. Web search for company and interviewer research. Optional: a docs app (Google Docs, Notion) for the brief.\n\n## Schedule\n\nDefault: a daily check at 7:00 AM for new interview invites, plus on demand. Briefs are ready at least 24 hours before each interview when the invite allows.\n\n## Inputs\n\n| Setting | Default | Notes |\n|---|---|---|\n| `lookahead` | 7 days | How far ahead to scan for interviews. |\n| `brief_location` | a docs folder named \"Interview Prep\" | |\n| `practice_problems` | 3 to 5 for technical rounds | Matched to the posting's level. |\n| `story_bank` | from the resume sent | Optional: the user's own STAR stories (situation, task, action, result). |\n\n## Steps\n\n1. **Logistics:** date, time and zone, format (phone, video, onsite, technical, behavioral), length, interviewer names, and the join link.\n2. **Pull the application:** the posting, the resume version actually sent, and any form answers or cover letter.\n3. **Research:** the company's product, recent news, and team. Each interviewer's public professional role and background only.\n4. **Map:** for each of the top requirements, pick the user's best true story from the resume sent.\n5. **Predict questions:** 5 to 8 technical (based on the posting) and 5 behavioral.\n6. **Mismatches:** anything in the posting the user doesn't meet, with an honest way to address it.\n7. **Questions to ask:** 3 to 5 specific ones.\n8. **Practice:** for technical rounds, 3 to 5 problems at the right level, with links.\n9. **Deliver:** save the brief, add the link to the end of the calendar event's description (keeping existing details), and tell the user in two lines.\n\n## Output format\n\n```markdown\n# Interview prep: {Company}, {Role}\n**{Day, date, time zone}** \u00b7 {format}, {length} \u00b7 [Join]({link})\n**With:** {name}, {title} (one line on their background)\n\n## The role in one paragraph\n## Your stories, matched\n| They want | Tell this story |\n|---|---|\n## Likely questions\n### Technical\n### Behavioral\n## Be ready for\n- {Mismatch, and an honest answer}\n## Ask them\n1. {Question}\n## Practice\n- [{Problem}]({link}), {level}\n```\n\n## Edge cases\n\n- **The interview is in the next few hours:** send a one-screen quick brief first, then the full brief.\n- **Interviewer names aren't given:** prep for the team's likely roles and say so.\n- **The resume sent can't be found:** use the master resume and flag it.\n- **The interview is rescheduled:** move the brief link to the new event.\n\n## Boundaries\n\n- Professional public information about interviewers only.\n- Stories come from what the user actually did. Never coach them to claim something untrue.\n- Never accept, decline, or reschedule interviews on the user's behalf."
    },
    "gemini": {
      "label": "Gemini",
      "status": "unverified",
      "verified": false,
      "steps": [
        "gemini.google.com \u2192 Customize \u2192 Skills \u2192 Create \u2192 Upload \u2192 pick the SKILL.md at https://botplaza.lol/skills/interview-prep-coach.md (or https://botplaza.lol/downloads/interview-prep-coach.zip).",
        "Review, then Create.",
        "Use it with /interview-prep-coach."
      ],
      "sourceUrl": "https://support.google.com/gemini/answer/17094296",
      "note": "Personal accounts 18+. Workspace users must recreate the skill in Workspace Studio.",
      "prompt": "Here are instructions for a task called \"Interview Prep Coach\". Follow them whenever I say \"Run Interview Prep Coach\". Ask me the setup questions first and remember my answers.\n\n<paste SKILL.md here>",
      "promptFull": "Here are instructions for a task called \"Interview Prep Coach\". Follow them whenever I say \"Run Interview Prep Coach\". Ask me the setup questions first and remember my answers.\n\n---\nname: interview-prep-coach\ndescription: Use when the user has an interview scheduled or an invite arrives. Reads the invite and the application they sent, researches the company and each interviewer's public professional background, and builds a prep brief with logistics, likely technical and behavioral questions, the user's matching stories, questions to ask, mismatches to be ready for, and practice problems. It then links the brief on the calendar event.\nmetadata:\n  id: interview-prep-coach\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Interview Prep Coach\n\n> Drafts only: nothing is submitted, applied for, or sent without your explicit OK.\n\n## What it does\n\nGets you ready for an interview the way a good mentor would. It reads exactly what you sent the company, figures out what they'll probably ask, lines up your best true stories against each requirement, flags the gaps an interviewer might probe, and gives you sharp questions to ask them. The brief is linked right on the calendar event, so it's there when you need it.\n\n## When to use\n\n- An interview invite lands in the inbox or on the calendar. \"Prep me for my Thursday call with Cohere\", \"make me practice problems for the technical round\".\n- For non-interview meetings, use Meeting Prep Brief.\n\n## Requires\n\nA calendar connector (Google Calendar or Outlook) and an email connector to read the invite. The application record: the posting, the resume version sent, and any answers or cover letter. Web search for company and interviewer research. Optional: a docs app (Google Docs, Notion) for the brief.\n\n## Schedule\n\nDefault: a daily check at 7:00 AM for new interview invites, plus on demand. Briefs are ready at least 24 hours before each interview when the invite allows.\n\n## Inputs\n\n| Setting | Default | Notes |\n|---|---|---|\n| `lookahead` | 7 days | How far ahead to scan for interviews. |\n| `brief_location` | a docs folder named \"Interview Prep\" | |\n| `practice_problems` | 3 to 5 for technical rounds | Matched to the posting's level. |\n| `story_bank` | from the resume sent | Optional: the user's own STAR stories (situation, task, action, result). |\n\n## Steps\n\n1. **Logistics:** date, time and zone, format (phone, video, onsite, technical, behavioral), length, interviewer names, and the join link.\n2. **Pull the application:** the posting, the resume version actually sent, and any form answers or cover letter.\n3. **Research:** the company's product, recent news, and team. Each interviewer's public professional role and background only.\n4. **Map:** for each of the top requirements, pick the user's best true story from the resume sent.\n5. **Predict questions:** 5 to 8 technical (based on the posting) and 5 behavioral.\n6. **Mismatches:** anything in the posting the user doesn't meet, with an honest way to address it.\n7. **Questions to ask:** 3 to 5 specific ones.\n8. **Practice:** for technical rounds, 3 to 5 problems at the right level, with links.\n9. **Deliver:** save the brief, add the link to the end of the calendar event's description (keeping existing details), and tell the user in two lines.\n\n## Output format\n\n```markdown\n# Interview prep: {Company}, {Role}\n**{Day, date, time zone}** \u00b7 {format}, {length} \u00b7 [Join]({link})\n**With:** {name}, {title} (one line on their background)\n\n## The role in one paragraph\n## Your stories, matched\n| They want | Tell this story |\n|---|---|\n## Likely questions\n### Technical\n### Behavioral\n## Be ready for\n- {Mismatch, and an honest answer}\n## Ask them\n1. {Question}\n## Practice\n- [{Problem}]({link}), {level}\n```\n\n## Edge cases\n\n- **The interview is in the next few hours:** send a one-screen quick brief first, then the full brief.\n- **Interviewer names aren't given:** prep for the team's likely roles and say so.\n- **The resume sent can't be found:** use the master resume and flag it.\n- **The interview is rescheduled:** move the brief link to the new event.\n\n## Boundaries\n\n- Professional public information about interviewers only.\n- Stories come from what the user actually did. Never coach them to claim something untrue.\n- Never accept, decline, or reschedule interviews on the user's behalf."
    },
    "cli": {
      "label": "Skills CLI",
      "status": "verified",
      "steps": [
        "All agents: `npx skills add https://botplaza.lol --skill interview-prep-coach` (add `-a claude-code`, `-a codex`, or `-a cursor` to choose one).",
        "Claude Code marketplace: `/plugin marketplace add https://botplaza.lol/.claude-plugin/marketplace.json` then `/plugin install interview-prep-coach@botplaza`.",
        "Fallback, Claude Code: `curl -fsSL https://botplaza.lol/downloads/interview-prep-coach.zip -o s.zip && unzip s.zip -d ~/.claude/skills/`.",
        "Fallback, Codex and other .agents readers: `curl -fsSL https://botplaza.lol/downloads/interview-prep-coach.zip -o s.zip && unzip s.zip -d ~/.agents/skills/`.",
        "Fallback, Cursor project: `curl -fsSL https://botplaza.lol/downloads/interview-prep-coach.zip -o s.zip && unzip s.zip -d .cursor/skills/`."
      ],
      "sourceUrl": "https://www.skills.sh/docs",
      "note": "The skills CLI reads /.well-known/agent-skills/index.json and installs each SKILL.md. The zip fallback uses the existing downloads/<slug>.zip folder layout.",
      "prompt": "npx skills add https://botplaza.lol --skill interview-prep-coach",
      "promptFull": "npx skills add https://botplaza.lol --skill interview-prep-coach"
    }
  },
  "author": "BotPlaza",
  "tags": [
    "interview prep",
    "mock interview",
    "company research",
    "calendar"
  ],
  "featured": false,
  "longDescription": "Interview Prep Coach watches for interview invites and gets you ready. It researches the company and your interviewers, maps the role's must-haves to your own stories, predicts likely questions, and runs a mock round with honest feedback.",
  "customization": [
    {
      "key": "format",
      "label": "Practice style",
      "type": "select",
      "question": "How do you want to practise?",
      "default": "Mock questions with feedback",
      "options": [
        "Brief only",
        "Mock questions with feedback"
      ]
    },
    {
      "key": "leadTime",
      "label": "Brief timing",
      "type": "select",
      "question": "How far ahead should the brief arrive?",
      "default": "2 days before",
      "options": [
        "Same day",
        "1 day before",
        "2 days before"
      ]
    }
  ],
  "whatYouGet": [
    "Company and interviewer research",
    "Your stories mapped to the role",
    "Likely questions",
    "Mock round with feedback"
  ],
  "dataSources": [
    {
      "name": "Google Calendar or Outlook",
      "required": true
    },
    {
      "name": "Gmail or Outlook (invites)",
      "required": false
    },
    {
      "name": "Web search",
      "required": true
    }
  ],
  "setupTime": "2 minutes",
  "sampleOutput": "samples/interview-prep-coach.md",
  "skillFile": "skills/interview-prep-coach/SKILL.md",
  "version": "1.0.0",
  "license": "",
  "previewAlt": "An interview brief for a computer-vision intern role: a campus robotics club project that cut a vision pipeline's latency 30%, a weekend hackathon app, and a mock question.",
  "writesOrSends": "Read-only.",
  "audience": "people",
  "setup": [
    {
      "key": "format",
      "question": "How do you want to practise?",
      "type": "select",
      "default": "Mock questions with feedback",
      "options": [
        "Brief only",
        "Mock questions with feedback"
      ]
    },
    {
      "key": "leadTime",
      "question": "How far ahead should the brief arrive?",
      "type": "select",
      "default": "2 days before",
      "options": [
        "Same day",
        "1 day before",
        "2 days before"
      ]
    }
  ],
  "safety": {
    "dataAccess": [
      "Calendar invites and interview emails",
      "The application you sent (posting, resume version, answers)",
      "Public professional info about the company and interviewers"
    ],
    "writesOrSends": "Read-only.",
    "estCost": "Low to medium: a daily check (~30 a month) that does real work only when an invite arrives.",
    "costLevel": "light",
    "warnings": [
      "Drafts only: nothing is submitted, applied for, or sent without your explicit OK.",
      "Interviewer research stays professional and public.",
      "Briefs include private application details; keep them in your private chat."
    ]
  },
  "checked": {
    "instructionOnly": true,
    "scripts": false,
    "runtimeFetch": false,
    "sha256": "316665e4b74f6aa9e3cad8ad7184b71799f0fa16bc4027ccf3186a1075ba4f5a",
    "checkedOn": "2026-10-31"
  },
  "urls": {
    "page": "https://botplaza.lol/skills/interview-prep-coach/",
    "markdown": "https://botplaza.lol/skills/interview-prep-coach.md",
    "skillMd": "https://botplaza.lol/skills/interview-prep-coach/SKILL.md",
    "json": "https://botplaza.lol/skills/interview-prep-coach.json",
    "zip": "https://botplaza.lol/downloads/interview-prep-coach.zip",
    "mcp": "https://botplaza.lol/api/mcp"
  }
}