Lines up what the candidate needs against what the client can do, item by item, then writes the pre-close questions for the candidate, the message to the client and the offer-day plan, so the first number offered is the one accepted. It never shares the fee with the candidate or their other offers with the client.
Pipeline and ATSjob
Instructions onlywhat is inside
Nothing extrawhat it needs
Free download
One ZIP, ready to upload to Claude, ChatGPT or Gemini Enterprise. Includes a fill-in agency profile.
Lines up what the candidate needs against what the client can do, item by item, then writes the pre-close questions for the candidate, the message to the client and the offer-day plan, so the first number offered is the one accepted. It never shares the fee with the candidate or their other offers with the client.
Ask it things like:
“The client wants to make an offer tomorrow. Pre-close plan please”
“She wants 10k more than the range. How do I handle both sides?”
“Check this written offer against what we agreed on the phone”
Best for
Agency recruiters getting a candidate and client to an accepted offer
Nothing hidden: this is the whole file. Copy it into a Gem or GPT, or download the ZIP for Claude and Gemini Enterprise. Want it with your agency's details already filled in, or formatted for a specific app? Use the copy tool.
---
name: offer-pre-close
description: Plans an agency offer so the first number the client puts forward gets accepted, by testing pay, start date and deal-breakers with the candidate before the offer goes out and preparing the client. Use when a recruiter says "pre-close", "we're getting to offer stage", "the client wants to make an offer", "the candidate wants more money", or pastes final interview feedback.
license: MIT
metadata:
author: Work Insiders
version: "1.0"
pack: agency-desk-pack
---
# Offer pre-close
Offers fall apart when the number, the start date or a detail surprises someone. Your job: make sure nothing surprises anyone. Know what the candidate will accept before the client offers, and know what the client can move before the candidate asks.
If `references/agency-profile.md` exists, read the fee basis and guarantee. Never put fee details in anything the candidate sees.
## Input
- The candidate's stated needs from the screen: pay, start date, setup.
- The client's approved range and anything they said about flexibility.
- Final-round feedback from both sides.
## Step 1: the gap check
| Item | Candidate needs | Client can do | Gap | Who moves? |
|---|---|---|---|---|
| Base | | | | |
| Bonus or commission | | | | |
| Equity or other pay | | | | |
| Title | | | | |
| Start date | | | | |
| Setup (on-site days, travel) | | | | |
| Other (time off, relocation, schedule) | | | | |
Mark anything unknown as `ASK`. A gap the recruiter cannot close with one call is a risk; say so.
## Step 2: pre-close the candidate
Questions for the recruiter's call, in this order:
1. "If they offered [base, bonus, start date] tomorrow, would you accept on the call?" Listen for a yes, a condition or a pause.
2. "What would make you say no?" Get the real deal-breaker.
3. "Is there anyone you'd want to talk it through with before you accept?"
4. "If your company tries to keep you, what will you say?" For the full version, use the Counter-offer Checker skill.
5. "Are any other offers coming? When?"
Agree the plan: the client calls with a verbal offer, the candidate answers within an agreed time, and the written offer follows.
## Step 3: pre-close the client
Write what the recruiter tells the client before the offer:
- The number that gets a yes, and why, in the candidate's words where possible.
- Any risk: other offers, counter-offer score, start date.
- A recommended offer that leaves no surprise. If the client wants to start low "to leave room", explain plainly that a low first offer often loses the candidate or starts the job on a sour note. The client still decides.
## Step 4: offer day
- Who makes the verbal offer, and that the recruiter calls the candidate straight after.
- If the candidate hesitates: ask what changed, do not pressure, and go back to the client with one clear ask only.
- Written offer check: base, bonus terms, start date, title, location and conditions match what was agreed on the phone.
## Output
```
OFFER PLAN: [Candidate] to [Client], [Role]
Recommended offer: [base / bonus / start / setup]
Will they accept? Yes / Yes if [condition] / Unclear
Gaps to close: [ ]
Candidate call questions: [ ]
Client message: [three to five sentences]
Risks: [ ]
```
## Rules
- Never share the candidate's other offers or current pay with the client without their OK.
- Never tell the candidate the agency's fee.
- Never invent market pay data. If the recruiter wants market context, ask for the source.
- Follow local pay transparency and salary history rules. When unsure, do not ask about current pay.
The agency profile file it reads (references/agency-profile.md)
# Agency profile
Fill this in once. Every skill in the pack reads it, so outreach, job orders and submittals come out in your agency's voice with your real terms. Delete any line you do not want the AI to use. Leave a line blank rather than guessing.
## Who we are
- Agency name:
- Recruiter name and title (for sign offs):
- Phone:
- Mailing address (needed for US commercial email):
- Years in business:
- Specialties (roles we fill):
- Markets (cities, regions or "US remote"):
- Industries we know best:
## Terms
- Direct hire fee basis (e.g. % of first-year base):
- Guarantee period:
- Contract markup or bill rate approach:
- Exclusive or retained options:
## Proof points we can share
- Placements, time to fill, or retention figures we are happy to quote:
- Client names we may mention (only with permission):
## How we work
- ATS:
- Do we text candidates? (yes/no):
- Name the client in first candidate messages? (yes/no):
- Blind profiles: always / new clients only / never:
- Include pay expectation in submittals? (yes/no):
- Job post apply instructions:
- EEO statement:
## Words we never use
-
How to install Offer Pre-close in Claude, ChatGPT, Gemini or Grok
ChatGPT scans it, then uses it on its own or when you @ mention it.
Skills are on ChatGPT Business, Enterprise and Edu, once an admin switches them on. On Free, Plus or Pro, paste the SKILL.md text into a Project or GPT's instructions instead, with your agency profile under it.
Grok
Grok Bot has no SKILL.md upload button yet. Paste the SKILL.md text into a chat with your Bot and say: Use Skill Creator to save this as a skill.
Review the draft and save it, then switch it on for your Bots under Settings, Plugins, Yours.
Call it with / in a chat.
Using Grok Build, xAI's coding agent? Unzip the folder into .grok/skills/ instead.
Gemini app
The regular Gemini app has no skill upload, so make a Gem.
Paste everything in SKILL.md below the top block into the Gem's instructions, and add your filled-in agency profile under it.
Steps follow OpenAI's skills guide and Google's Gemini Enterprise and Gemini CLI guides. Menu names change, so check there if a label looks different. Claude Code reads skills from ~/.claude/skills/.
Yes. It is part of the free Work Insiders Agency Desk Pack, MIT licensed, so you can edit and share it.
Does Offer Pre-close work in Gemini?
Yes. Upload it in Gemini Enterprise or drop the folder into Gemini CLI's skills folder. In the regular Gemini app, paste its instructions into a Gem.
Can I trust it with my data?
It is instructions only, with no scripts, so it cannot do anything your assistant could not already do. It can still steer how the assistant answers, so read it first.
Written by Work Insiders for agency recruiters. Fill in the agency profile before you use it so it never invents fees or proof points. How we make money.