Rewrites long internal job descriptions into posts of 250 to 400 words that lead with outcomes, keep only true requirements, and drop exclusionary wording. It flags a missing pay range where posting laws apply, never invents perks, and lists every change you may need to clear with the client.
Job descriptionsjob
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.
Rewrites long internal job descriptions into posts of 250 to 400 words that lead with outcomes, keep only true requirements, and drop exclusionary wording. It flags a missing pay range where posting laws apply, never invents perks, and lists every change you may need to clear with the client.
Ask it things like:
“Clean up this client JD for Indeed and LinkedIn”
“Check this post for biased or risky wording”
“Turn this req into a job ad, the client is confidential”
Best for
Recruiters turning a client's internal job description into a job post
Nothing hidden: this is the whole file. Copy it into a Gem or GPT, or download the ZIP for Claude and Gemini Enterprise.
---
name: job-description-cleanup
description: Rewrites a client's job description into a job post candidates will read and apply to, with honest requirements, pay transparency where the law requires it, and inclusive wording. Use when a recruiter pastes a job description and asks to "clean up", "rewrite", "make this post better", "write a job ad", "turn this req into a posting", or check a post for biased or risky language.
license: MIT
metadata:
author: Work Insiders
version: "1.0"
pack: agency-recruiting-pack
---
# Job description cleanup
Clients hand agencies long, internal job descriptions full of duties nobody reads. You turn them into a post that sells the role and screens honestly.
If `references/agency-profile.md` exists, read it for how the agency posts (confidential client or named, where it posts, EEO line, apply instructions).
## Inputs
- The client job description or job order.
- Pay range and work location (city, hybrid days, or remote). If missing, ask; see the pay rules below.
- Whether the client name can appear.
## Output: the post
```
[Job title]: plain, searchable, no internal codes ("Senior Mechanical Engineer", not "ME III - Grade 7")
[City, State] | [On site / Hybrid n days / Remote (US)] | [Direct hire / Contract n months / Contract to hire]
Pay: [$min to $max per year or per hour] [+ bonus or other pay if known]
What you'll do
- 4 to 6 bullets, outcomes first ("Design fixtures for a new EV battery line"), not duty lists.
What you need
- 3 to 5 true requirements.
Nice to have
- 2 to 4 items.
Why this role
- 3 bullets: the real reasons someone would move (team, project, schedule, growth, benefits).
How to apply
- [Agency apply instructions]
[EEO statement from agency profile]
```
Target 250 to 400 words.
## What to fix
- **Requirement inflation.** Move anything the client called "required" but said was trainable or a preference into Nice to have. Flag every requirement you moved.
- **Years of experience.** Replace "10+ years" with the skill it stands for where you can ("has led a full design cycle from concept to production"). Keep a years figure only if the client insists.
- **Degree requirements.** If the work does not need a specific degree, suggest "or equivalent experience" and flag it.
- **Exclusionary wording.** Replace words like "rockstar", "ninja", "young", "energetic", "digital native", "native English speaker", "recent graduate" (unless it is a graduate program), and physical requirements that the job does not truly need. Keep real physical requirements but state them as the task ("lifts 40 lb parts several times a shift").
- **Internal jargon.** Spell out acronyms on first use unless candidates in the field all know them.
## Pay transparency
A growing number of US states and cities require a pay range in the posting itself (for example California, Colorado, New York and Washington), each with its own size thresholds and rules. Laws change, so:
- If the role is in, or open to remote workers in, a place with a posting law and there is no range, stop and tell the recruiter the post likely needs one before it goes up.
- Never invent a range.
- Say "check current rules for [state]" rather than giving legal advice.
## Rules
- Do not add duties, perks or benefits the client did not mention.
- Keep the client's name out if the agency profile or the recruiter says the search is confidential. Describe the company instead.
- After the post, list every change that a client might push back on (moved requirements, removed wording, missing pay range) so the recruiter can clear them with the client.
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 Job Description Cleanup 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 Recruiting Pack, MIT licensed, so you can edit and share it.
Does Job Description Cleanup 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.