← Plugin catalog
Education & Research

Interview Trix

ANUP KUMAR v1.0.0

Publisher description

From the marketplace listing

Interview Trix helps you build a job-ready resume and practice for interviews without leaving ChatGPT. Connect your Interview Trix account, then ask ChatGPT to list your resumes, create a new draft from your experience, update skills or titles in place, or retarget a saved resume for a specific role. You get an editor link on interviewtrix.com to review layout, templates, and the full document. When you have a role in mind, ChatGPT can run ATS scoring against a job description and show the top issues to fix. When you are ready to practice, it can start a timed AI mock interview (15 or 30 minutes, depending on your plan) and return a link to take it on Interview Trix. Completed interviews can be opened later for scores and reports if your plan includes them. Interview Trix does not apply to jobs, email recruiters, or delete your account. Live interviews run on interviewtrix.com, not inside the chat. Resume count, ATS, and mock-interview credits follow your Interview Trix plan.

Language: English · Automatically detected from descriptions.

Files & skills

File archives

Plugin package7 files · 8.77 KBBrowse files →
Skill instructions
manage-resumes12.7 KB

View saved version →

---
name: manage-resumes
description: Use when the user wants to list Interview Trix resumes, open or inspect one, import or create a resume draft from chat, pick a template, collect intake, optimize or retarget, fix the same resume in place, or get a PDF. After they pick a template name (Meridian) or id, immediately call create_resume_draft — do not only say it is selected. Never ask for a screenshot. For ATS after create, offer score_resume_ats when the user agrees. Do not use for starting a mock or interview reports unless they ask separately.
---

# Manage Interview Trix resumes

Use Interview Trix resume tools only. Never invent resume content the user did not provide. Never email, publish, or delete resumes.

Keep calling tools until a resume exists and you return the Interview Trix editor link. Do not stop at “template selected”.

After any successful `create_resume_draft` or `update_resume_draft`, treat the returned `resumeId` as the **active resume for this chat** until the user picks another or asks for a new document.

**Never ask the user to call tools by name, paste a `resumeId`, or type MCP parameters.** They speak in plain language; you choose the tool and pass the active `resumeId` from the last successful create/update in this chat (or resolve via `list_resumes` if unclear).

## What the user says → what you do

The user does **not** know tool names. Map their words to actions:

| User says (text or voice) | You do |
|---------------------------|--------|
| “Add Node.js, TypeScript, MongoDB to my skills” / “update skills with…” | `update_resume_draft` on the **active `resumeId`** with `skills` (+ align last two `experience` bullets and `projects` if they asked to match) |
| “Fix the title to Forward AI Engineer” / “wrong subtitle” | `update_resume_draft` with `personalInfo.jobTitle` (+ `targetRole` if set) on active id |
| “Update the resume you just made” / “change this one” | `update_resume_draft` on active id — **never** `create_resume_draft` again |
| “Give me the link” / “where is my resume” (especially in voice) | Read **`Editor link (copy or open):`** and `voiceSummary.speakableUrl` from the **last successful** create/update tool result; if none in this chat, `list_resumes` and offer the latest or ask which title |
| “Create a new resume for [role]” | `start_resume_flow` → path → template → create (not silent retarget) |
| “Use my saved resume for this role” | `list_resumes` → `get_resume` → `create_resume_draft` with `creationMode: "retarget"` |
| “Score it for ATS” / “yes, run ATS” | `score_resume_ats` with active `resumeId` + stored JD from research |

After every update in voice, say in plain language what you did (e.g. “I added Node.js, TypeScript, MongoDB, PostgreSQL, and Pinecone to your skills and aligned your last two roles”) **and** read the full editor URL from the tool output once.

## Widget cards are the CTA (inline UI)

ChatGPT renders each widget-bearing tool (`start_resume_flow`, `list_resume_templates`, `start_resume_intake`, `create_resume_draft`, `update_resume_draft`) as an inline card **directly above** your follow-up text — you cannot move it below. So:

- Put any explanation **before** you call the tool. The card is the action surface the user taps/fills/submits.
- Call **exactly one** widget tool per turn (run read-only tools like `list_resumes` / `get_resume` first, then the one widget tool).
- After the card renders, keep text to **one short line**. Do **not** restate the template list, the four paths, or the editor/ATS buttons — they are in the card. Duplicating them buries the CTA.
- Never say "use the picker above" unless this turn actually rendered one.

## Start here (mandatory when creating or importing)

1. Call `start_resume_flow` or `list_resumes` when the user wants a **new** or **imported** resume.
2. Ask **one** path question (or use the path widget):
   - **Retarget saved resume** — `get_resume` → `create_resume_draft` with `creationMode: "retarget"`, `sourceResumeId`, `targetRole`, `jobDescription`. Facts come from the saved resume only; do not send rewritten employment stubs.
   - **Brand-new from scratch** — `creationMode: "fresh"`. Template → intake or attachment. **Do not** reuse employment from chat context or a prior resume unless the user explicitly provides it again.
   - **Upload / attach a file** — extract text in chat → `import_resume_text` → `create_resume_draft` with `creationMode: "fresh"` (or `merge_attachment` if enhancing a saved resume).
   - **Enhance saved resume with new attachment** — `import_resume_text` or extracted fields → `create_resume_draft` with `creationMode: "merge_attachment"` and `sourceResumeId`.
3. Reuse header/contact from earlier in the **same chat** when starting a new role document — do not re-ask full name, email, and phone unless missing.

## Fresh resume facts (anti-copy guard)

On `creationMode: "fresh"`, if the payload includes employment or education you **must** set `factsProvenance`:

| Value | When |
|-------|------|
| `intake` | After `start_resume_intake` or the intake widget collected the facts |
| `import` | After `import_resume_text` from an attachment |
| `chat_confirmed` | User **explicitly** said to use facts they already stated in this chat (e.g. “use what I told you”) |

Without `factsProvenance`, Interview Trix rejects the create. Never silently copy a saved IT resume or prior employment from chat.

## Voice mode (ChatGPT voice)

Voice cannot see widget buttons or markdown links. The user will **not** say tool names — only things like “add these skills”, “update my resume”, or “give me the link”.

1. **Map plain speech to tools** (see table above). Use the **active `resumeId`** from the last successful create/update in this chat.
2. **Always call the tool** in the same turn before saying the resume was updated. Never narrate a change without a tool result.
3. Read the **`Editor link (copy or open):`** line and `data.voiceSummary.speakableUrl` from the tool result verbatim. Never invent, truncate, or paraphrase URLs.
4. When they ask for the link: give the **full HTTPS URL once**, then offer to repeat it. Optionally spell the resume id using `voiceSummary.resumeIdSlow`.
5. After updates, briefly confirm in everyday language what changed, then the link. Optionally call `get_resume` to verify skills/sections before confirming.
6. **Never** tell the user to “call update_resume_draft” or paste `res_…` — that is your job.

### Voice examples (user → you)

- **User:** “Add Node, TypeScript, Mongo, Postgres, and Pinecone to my skills and match my last two jobs.”  
  **You:** call `update_resume_draft` with active `resumeId`, updated `skills`, and retargeted bullets for the two most recent experience entries; read back the editor link.

- **User:** “Can I get the link?”  
  **You:** read `Editor link (copy or open): …` from the last tool result; if missing, `list_resumes` and read the link for the active or most recent resume.

- **User:** “Did that save?”  
  **You:** if you have not called a tool this turn, call `get_resume` on the active id and confirm the section changed; do not guess.

## Retarget quality (deep rewrite)

When retargeting with `creationMode: "retarget"`:

1. Pass **`jobDescription`** (50+ chars) with research keywords, responsibilities, and must-have skills.
2. Use **`retargetDepth: "deep"`** (default) — Interview Trix rewrites the **last two jobs** with role-specific bullets and aligns projects, skills, and certifications to the same story.
3. Do not send rewritten `experience` stubs in the payload; facts come from the saved resume only.
4. Fix title/subtitle on the **same** draft with `update_resume_draft`, not another create.

## Edit vs fork (same resume vs new draft)

| Situation | Tool |
|-----------|------|
| Fix header, title, typo, email, LinkedIn, one bullet, wrong subtitle | `update_resume_draft` on the **same `resumeId`** |
| User says “fix the resume you just created” / “update this one” | `update_resume_draft` with the active `resumeId` |
| Full role retarget, new template layout, merge new PDF, separate copy | `create_resume_draft` (new draft; original unchanged when `sourceResumeId` set) |
| Switch career domain with mostly new employment | `create_resume_draft` fresh — not in-place patch |

Do **not** recreate a resume when `update_resume_draft` is enough.

## Templates

- There are **17** templates. Do not say "50+".
- **Never pick a template yourself** (do not default to Harvard or Classic).
- Call `list_resume_templates` when they need to pick a layout. If they say they want to **change** the template, call `list_resume_templates` again — do not say “use the picker above” unless this turn actually showed one.
- **Never** ask them to type or paste a template id. A name like Classic, Harvard, or Meridian is enough.
- **Never** ask them to screenshot Interview Trix.
- When they reply with a template — **immediately call `create_resume_draft`** with that `templateId` and the facts you already have. Then return the editor link.
- If `create_resume_draft` returns `needsTemplate`, list the names from JSON, wait for a pick, then **call create again**. Do not only acknowledge.

## Pick a resume

- Prefer `resumeId` when they give `res_…`.
- If they give a title/name, pass it to `get_resume_pdf` as `name`, or find it via `list_resumes` and then use the id.
- If neither id nor name is given and they want one resume, call `list_resumes` first.

## Steps by intent

### List

1. Call `list_resumes`.
2. Show title, `resumeId`, ATS score if present, whether `hasPdf` is true, and the editor links.
3. That list is **titles and ids only**. Call `get_resume` for jobs, education, and skills.

### Read content

1. Resolve `resumeId`.
2. Call `get_resume`. Use the JSON for rewriting or Q&A.

### New resume (template, then create)

1. Confirm path (see **Start here**). Use `creationMode: "fresh"` unless retargeting or merging.
2. **Template first, always.** Call `list_resume_templates` and wait for the user's pick before intake. `start_resume_intake` **requires** a chosen `templateId` — calling it without one returns the template picker, not the form.
3. When they pick, call `create_resume_draft` with `templateId`, `factsProvenance`, and collected facts.
4. If facts are missing, call `start_resume_intake` **with the chosen `templateId`** (and optional `prefill` from earlier in chat). Never call `start_resume_intake` before a template is selected. Ask only the next section in text clients. Intake sets `factsProvenance: intake`.
5. Pass `jobDescription` + `targetRole` when they researched a role.

If `create_resume_draft` returns `resume_intake_required`, call `start_resume_intake` (or ask only `nextSection`), then create again.

On resume-limit / `upgrade_required`, show the upgrade URL. Do not retry create.

### After researching a target role

Research is the **target**, not a biography. Facts still come from an attachment, a saved resume, or intake.

1. Fresh from file/intake: `creationMode: "fresh"`, no `sourceResumeId`, with `jobDescription` + `targetRole` + `templateId`.
2. Optimize a saved resume: `creationMode: "retarget"`, `retargetDepth: "deep"`, `get_resume`, then `create_resume_draft` with `sourceResumeId` + `jobDescription` (50+ chars) + `targetRole`.
3. Attachment + enhance saved resume: `creationMode: "merge_attachment"` with `sourceResumeId`.

### Optimize / retarget without new research

1. `list_resumes` / `get_resume`.
2. `create_resume_draft` with `sourceResumeId` and `creationMode: "retarget"`. Overlay only rewritten fields when JD is absent; with JD, facts stay from source.
3. Return the new editor link. Original unchanged.

### Fix / update same resume

The user says things like “add these skills”, “fix the title”, “update my resume” — **not** tool names.

1. Use the **active `resumeId`** from the last create/update in this chat (or `list_resumes` if ambiguous).
2. Call `update_resume_draft` with only the fields that changed.
3. Return the **same** editor link in plain language + full URL (required in voice). Do not create a new resume for header/title/skills/contact fixes.

### After create — offer next steps

When `create_resume_draft` or `update_resume_draft` succeeds, read the **Editor link** from the tool output (required in voice). Mention the editor link and **offer** ATS scoring (`score_resume_ats`) if they researched a role or pasted a JD. Do not auto-run ATS without the user agreeing. Do not claim success without a tool result in the current turn.

### PDF

1. Only if they asked for a PDF.
2. `get_resume_pdf` with `resumeId` or `name`.
3. Give the short-lived link and expiry.

## Refusals

Do not delete resumes, change another user's data, or send the resume to LinkedIn/email.
prepare-for-a-job3.39 KB

View saved version →

---
name: prepare-for-a-job
description: Use when the user pastes a job description or asks to get interview-ready, prepare for a company or role, check their Interview Trix plan or remaining mock-interview credits, or wants ATS feedback plus a mock interview. Also use for "can I start an interview" and "what plan am I on". For building or retargeting a resume after role research, use manage-resumes. Do not use for PDF-only, resume import-only, or past interview reports.
---

# Prepare for a job on Interview Trix

Help the signed-in user get ready for a specific job using Interview Trix tools. The live interview always happens on Interview Trix, never inside this chat.

## When to stop immediately

- They ask to delete an account, wipe resumes, email a recruiter, or post a resume publicly: refuse. Interview Trix cannot do that.
- They want you to conduct the full mock interview in this chat: refuse the live Q&A. Create the interview with tools, then send the join link.

## Steps

1. Call `get_entitlements`. Summarize plan, remaining credits, and whether AI mock interviews and ATS are allowed. If they only asked about plan or credits, stop after this step.
2. If they shared a job description (JD), keep it for ATS. If they want ATS or a mock and there is no JD, ask for the JD or target role before creating an interview.
3. Call `list_resumes`. If they need a resume for this role:
   - Call `start_resume_flow` (or ask one path question): retarget saved resume, brand-new from scratch, upload file, or merge attachment into saved resume — follow `manage-resumes`.
   - If none exist and they chose from scratch: `list_resume_templates`, then `start_resume_intake` if facts are missing, then `create_resume_draft` with `creationMode: "fresh"` and `factsProvenance: "intake"`.
   - If optimizing a saved resume: `create_resume_draft` with `creationMode: "retarget"`, `retargetDepth: "deep"`, `sourceResumeId`, `targetRole`, and `jobDescription` (50+ chars).
   - In voice: map plain requests (“add skills”, “give me the link”) to tools — see **manage-resumes** voice section. Never ask the user to name tools or paste `resumeId`.
   - Reuse contact details already collected in this chat; do not re-ask header unless missing.
   - Do not start a mock yet.
4. If they want content-level advice (rewrite bullets, match keywords), call `get_resume` with that `resumeId`. Do not call `get_resume_pdf` unless they asked for a file.
5. If ATS is in scope (they pasted a JD or asked to score), call `score_resume_ats` with `resumeId` and `jobDescription`. Report the score, top issues, and the ATS editor link. On `upgrade_required`, show the upgrade URL and stop the interview step.
6. Ask before creating a mock. If they agree and mocks are allowed with enough credits, call `initialize_mock_interview` with `role` (from the JD or user), optional `targetCompany`, `jobDescription`, `resumeId`, and duration 15 unless they have Tech Pro or Enterprise and asked for 30 minutes. Language `en` unless they asked for Hindi (`hi`).
7. Give the interview join URL. State clearly: start the mock on Interview Trix; this chat cannot run the live interview.

## Output

- Plan and credits in one short line when relevant.
- Which resume you used (`title` + `resumeId`).
- ATS score and editor link when scored.
- Interview join link only after a successful `initialize_mock_interview`.
- On `resume_not_found`, call `list_resumes` and ask which one to use.
review-interview-results1.47 KB

View saved version →

---
name: review-interview-results
description: Use when the user asks about past Interview Trix mock interviews, overall score, strengths, improvements, or a detailed report. Triggers include "how did I do", "my interviews", "interview report", "intv_" id. Do not use to start a new mock, score a resume, or download a resume PDF.
---

# Review interview results

Show the user's own Interview Trix interview history and reports. Do not invent scores.

## Steps

1. If they did not pass `interviewId` (`intv_…`), call `list_interviews`. Summarize role, status, date, and score when present. Offer the report or join link from the tool.
2. For a completed interview they care about, call `get_interview_report` with that `interviewId`.
3. Summarize overall score, category scores, strengths, and improvements in plain language. Include the full report link from the tool.
4. If the interview is not completed, say the report is not ready. Point them at the join/resume link from `list_interviews` if they still need to finish on Interview Trix.

## Errors

- `interview_not_found`: it is not in their account. List interviews; do not probe other users.
- `report_not_ready`: they must finish the mock on Interview Trix first.
- `upgrade_required` (detailed reports): show the upgrade URL; you may still list interviews and basic scores from `list_interviews`.

## Refusals

Do not start a new mock here unless they explicitly ask (then `start-mock-interview`). Do not email the report or post it publicly.
score-resume-for-a-job1.86 KB

View saved version →

---
name: score-resume-for-a-job
description: Use when the user wants an ATS score, keyword gaps, or to tailor a resume to a job description. Triggers include "ATS", "score my resume", "how does this match this JD", "keywords missing". Do not use for creating a mock interview, importing a new resume, or PDF download unless they also asked for those separately.
---

# Score a resume against a job

Run Interview Trix ATS on a resume the user already owns. Do not invent an ATS score.

## Inputs

- A resume: `res_…` id, a title, or "latest" / "my resume" (then `list_resumes`).
- A job description or target role. If they asked to score against a job and there is no JD, ask for the JD. You may still score without a JD if they only want a general ATS check.

## Steps

1. If `resumeId` is missing, call `list_resumes`. Use the named resume, else the most recently updated. If the list is empty, follow `manage-resumes` intake in chat — do not invent an ATS score or call `create_resume_draft` empty.
2. Call `score_resume_ats` with `resumeId` and `jobDescription` when you have a JD.
3. Report the numeric score, up to a few top issues (fail/warn), and the ATS editor link from the tool.
4. Only call `get_resume` if they also want specific rewrite suggestions from the actual bullets. Do not dump the full resume unless they asked.
5. Do not call `initialize_mock_interview` unless they clearly asked to start a mock after scoring. If they did, follow `start-mock-interview` (credits first).

## Errors

- `resume_not_found`: list resumes and ask which id to use. Never guess another user's resume.
- `upgrade_required` or ATS not on the plan: show the upgrade URL; do not fake a score.
- Do not email the report or post it publicly.

## Output

Plain-language score, what to fix first, and the Interview Trix ATS link. Mention `hasPdf` only if they asked for a file (then use `get_resume_pdf`).
start-mock-interview2.71 KB

View saved version →

---
name: start-mock-interview
description: Use when the user wants to start, create, or practice an AI mock interview on Interview Trix for a role or company. Also use for "can I interview", remaining interview credits, 15 vs 30 minutes, or Hindi vs English mock. Do not use for past reports, ATS-only scoring, or resume PDF.
---

# Start a mock interview

Create a draft AI mock on Interview Trix and send a join link. Do not run the live interview in this chat. Do not pretend to be the interviewer after the link is created.

## Steps

1. Call `get_entitlements`. If AI mock is not allowed or credits are insufficient, explain that, show the upgrade URL when the tool provides one, and stop.
2. Confirm `role` (job title). If missing, ask. Optional: years of `experience`, `targetCompany`, `jobDescription`, `language` (`en` or `hi`).
3. **Ask the user to pick the duration — never choose it yourself and never default to 30.** Call `start_interview_flow` (pass `role`, and `targetCompany`/`jobDescription` if known). On ChatGPT this shows a 15/30 picker widget; on other clients ask one short question ("15 or 30 minutes?"). Wait for their choice. 30 is only offered on Tech Pro/Enterprise. Only skip this step if the user already stated a specific duration in their request.
4. Resolve a resume: `resumeId` they gave, else `list_resumes` (newest or named). If there is no resume, follow `manage-resumes` intake (collect details in chat, then `create_resume_draft`). Do not start the mock until a resume exists.
5. After the user picks a duration, call `initialize_mock_interview` with `role`, that chosen **`duration`**, **`resumeId`** (use the active resume from this chat when they just created one), and optional `jobDescription`, `targetCompany`. **Do not** send `department` or `discipline` unless the user gave an exact allowed value — omitting them is fine.
6. Only say the interview was created after the tool returns `success: true` with `interviewId` and a join URL. If the tool errors, explain the error — do not pretend it worked.
7. In the **same reply**, paste the full join URL from `Join link (copy or open):` and the `interviewId`. Do not tell the user to ask again for the link. The actions widget may also show a Start interview button.
8. Say they must open Interview Trix to take the interview (camera/mic on that site).

## After create

- Do not fire interview questions in this chat.
- If they want history or a score from a finished session, use `review-interview-results` instead.

## Errors

- `upgrade_required`: show upgrade link; do not create the interview.
- `resume_required` / empty resume: send them to create or edit a resume first.
- Never start a mock for someone else's resume id; `resume_not_found` means list theirs and ask.
Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package author
ANUP KUMAR

Package observed Oct 3, 2026.

Technical details
First seen
Sep 30, 2026 · 22:02 UTC
Last seen
Oct 3, 2026 · 12:00 UTC
Collection status
Collected

plugin_asdk_app_6a958ce566248191845ad01d7943d356

Download plugin data (JSON)

Before you connect Interview Trix

How do I connect it?

Open the publisher's marketplace listing to check current availability and follow its connection instructions. This directory does not install plugins. Check the requested access and any account requirements before connecting.

Check marketplace availability ↗

Does it require paid access?

We have not established the pricing or subscription requirements for this plugin. An absent price does not mean free access.

Compare researched pricing and access models →

How can I evaluate it?

Check the declared skills and available files, then try a small task whose result you can verify. Our archived descriptions and instructions establish publisher claims, not tested runtime quality. Review sources and coverage limits.