Write short job application messages that fit the box they go in: portal notes, why are you a good fit answers, Easy Apply screening answers, recruiter follow up notes, and connection notes. Works inside the actual character or word limit, tiers the same proof at 100, 200, 300, 500, and 1000 characters, and matches each message to the posting with a tailoring checklist per role type. Use when the request is a few lines for a form or portal, not a full cover letter and not a whole job hunt. Ships a tested counting and fitting tool.
name: "job_application_messages" description: "Write short job application messages that fit the box they go in: portal notes, why are you a good fit answers, Easy Apply screening answers, recruiter follow up notes, and connection notes. Works inside the actual character or word limit, tiers the same proof at 100, 200, 300, 500, and 1000 characters, and matches each message to the posting with a tailoring checklist per role type. Use when the request is a few lines for a form or portal, not a full cover letter and not a whole job hunt. Ships a tested counting and fitting tool."
Job Application Messages
Purpose
Most applications are decided in small boxes. A portal asks why you want the job and gives you 300 characters. A screening form asks why you are a good fit and gives you 150 words. A recruiter gets a short note after an Easy Apply submission. These messages fail in predictable ways: they repeat the resume, they flatter the company in words that fit any company, or they get cut off mid sentence by the limit.
This skill writes the short version on purpose. Draft one strong message, then fit it to the exact limit in the form, keeping the line that connects real experience to this posting and cutting everything else first.
Scope boundary: a full cover letter (one page, roughly 250 to 400 words) belongs to the cover letter skill. Scoring postings, tailoring resumes, and tracking a pipeline belong to the job application campaign skill. This skill covers only the short message itself.
Workflow
1. Read the box before writing a word
- Record four things from the form itself: the exact prompt wording, the limit, whether the limit counts characters or words, and whether the field is required or optional.
- Read the live counter in the form as the final authority. Platform limits change, and employers set many of these boxes themselves. A LinkedIn connection note is commonly reported at 300 characters, spaces included, but the counter on screen wins over any guide, including this one.
- Identify the prompt type, because each type wants a different thing:
- Why this job or why us: one specific reason tied to this employer or this role, plus proof you can do the work.
- Why are you a good fit: match against the posting, proof first, no life story.
- Tell us about yourself, short form: current role or training, strongest relevant result, what you are aiming at in this role.
- Additional information or anything else: one thing the resume cannot show, such as a relevant project, a language, a certificate in progress with a finish date, or a gap explained in one plain sentence.
- Factual screening boxes (years of experience, work authorization, licence, availability, salary floor where the form demands a number): answer literally and exactly. No pitch, no rounding up. The answer must match the resume line for line.
- An optional box still counts. A blank optional box reads as no extra evidence, and a weak one is worse than blank. Fill it only with something specific.
2. Mine the posting for the match line
- Pull three things out of the posting before drafting: the top two duties in the employer's own words, one hard requirement (tool, licence, shift, language), and one detail specific to this employer (a product, a location, a program, a stated value with evidence behind it).
- Pick your proof from real history only: one result with a number you can defend in an interview, or one duty done at the same scale the posting describes. Two proof points maximum at any length. Below 300 characters, one.
- Build the match line: one sentence that names a duty or requirement from the posting and ties it to your proof. This sentence survives every cut. Write it first.
3. Draft in the four part shape, then tier it
Shape, in order: hook, proof, match, close.
- Hook: the specific reason for this posting. A detail only true of this employer or this role.
- Proof: what you have done that is closest to the core duty, with a real number where you have one.
- Match: the match line from step 2.
- Close: availability, start date, or a plain thanks. Only if the limit leaves room, and it is the first part cut.
Length tiers. Characters include spaces. Word counts are a planning guide using about 6 characters per word, and the tool in step 5 counts exactly.
- 100 characters (roughly 16 words): proof only, plus one hard requirement if it is a knockout. Example, 78 characters, verified with the tool: "Warehouse picker, two years, zero missed shifts last year. Forklift certified."
- 200 characters (roughly 33 words): proof plus match, no hook sentence of its own. Compress the hook into a clause.
- 300 characters (roughly 50 words): hook, proof, match. This is the standard working size for portal notes and connection notes.
- 500 characters (roughly 80 words): add the close, or a second proof point for a stretch role.
- 1000 characters or 150 words: short answer form territory. Two short paragraphs: proof and match first, then the bridge sentence a career changer or new graduate needs. Above this, stop and check whether the form actually wants a cover letter instead.
Worked example, support role, 300 character tier, 155 characters as written:
"Three years on a support desk, 40 tickets a day, 96% resolved first contact. Your posting leads with first contact resolution, which is the work I do best."
The same applicant in the 100 character tier keeps only the proof and the requirement: "Support desk, three years, 40 tickets a day, 96% resolved first contact."
4. Cut in the right order
Draft one tier above the limit, then cut down to size. Cutting order, first out first:
- Flattery and adjectives. "Amazing company", "passionate team player", "hardworking" go first. They prove nothing and they fit every employer.
- Background and biography. Where you grew up, why you got into the field, your long term dream.
- The close. Thanks and availability are polite, not evidence.
- The second proof point.
- The hook, compressed into a clause inside the match sentence. Never deleted outright.
Never cut the match line, and never cut the number out of a proof point to save space. A proof point without its result is just a duty list.
Before and after, retail role, limit 200 characters:
- Before, 289 characters: "I have worked in retail for four years, most recently as a shift lead closing the store three nights a week. Last winter I trained six new starters during our busiest month and none of them quit in their first 90 days. I am available for evening and weekend shifts and can start next week."
- After, 157 characters: "Shift lead, four years in retail, closing three nights a week. Last winter I trained six new starters in our busiest month. None quit in their first 90 days."
- What went: the availability close, the framing words "I have worked", and the qualifier "during". What stayed: title, scale, the training proof, and its result.
Run the swap test before sending: replace the company name and role with a different one. If the message still reads true, it is generic. Rewrite the hook until the swap breaks it.
5. Count it, fit it, leave a margin
- Count with
bin/message_tool.py count <file> and check the exact limit with bin/message_tool.py check --limit 300 <file> (add --unit words for word limits).
- Use
bin/message_tool.py tiers <file> to see which standard tiers a draft already fits, and bin/message_tool.py shrink --limit 200 <file> to see what dropping each closing sentence buys. The shrink output is a starting point, not the edit: a hand cut that keeps the proof beats dropping a whole sentence that holds it.
- Leave a small margin under the limit, a few characters at least. Counters on different portals treat line breaks and pasted text differently, and a message truncated mid word looks careless.
- Paste as plain text, then read the pasted version in the box once. Pasting from a document can carry smart quotes and hidden characters that eat the budget and look wrong.
6. Handle the special cases
- Career changer: one bridge sentence, no apology and no long justification. Name the transferable skill, name where you used it, name where it lands in this role. Example, 360 characters, fits a 500 tier: "After eight years teaching middle school, I am moving into training work. The part of teaching I was best at was building lessons adults and kids could actually follow, and I wrote the training guides my district gave to new hires. Your posting asks for someone who can turn procedures into plain steps. That is the work I have been doing, just in a classroom."
- New graduate: coursework, internships, campus work, and volunteer work are real proof if they produced a result. Example, 169 characters: "Recent grad, marketing degree. Ran the campus film society account from 200 to 1,400 followers in a year. Your posting wants short video, which is most of what I posted."
- Recruiter follow up after applying: send within a day or two, keep it at the 300 character tier, and add one thing the application had no room for. Name the role exactly as posted so the recruiter can find the application fast.
- Returning to work or a gap: one plain sentence, matter of fact, then straight back to proof. No over explaining, no dates debate in a short box.
Role specific proof choices and phrasing sit in references/role-checklists.md: customer support, retail and hospitality, software and data, operations and admin, trades and warehouse, healthcare support, sales, and career changers and graduates.
Tooling
bin/message_tool.py counts characters, characters without spaces, words, and sentences, checks a draft against a character or word limit, shows which standard tiers a draft fits, and prints a sentence by sentence cut plan. No network access, no dependencies. Run it on every draft before calling the message done.
Output Contract
Deliver, for each message: (1) the finished text, ready to paste, (2) its exact character and word count and the limit it was fitted to, (3) the match line identified so the user can see what ties it to the posting, and (4) one shorter tier of the same message when the user is applying in more than one place. If a proof point has no real number behind it, say so and use scale or frequency instead of inventing one.
Operating Rules
- Every claim traces to experience the person actually gave you. No invented metrics, no borrowed results, no tools they cannot discuss in an interview.
- Factual screening answers match the resume exactly: years, authorization, licences, availability. A short box is still part of the formal application.
- One message per posting. Reusing a message across employers is fine only after the hook and match line are rebuilt for the new posting.
- Read the first line as the whole message. A first screen is fast (Ladders measured an average 7.4 second initial resume screen in its 2018 eye tracking study, and that study is about resumes, not these messages), so put the proof early and keep sentences short. Do not quote the 7.4 seconds as message reading time.
- No keyword stuffing. Use the posting's words where they honestly describe the person's work, in a sentence a human would say out loud.
- Salary goes in a short box only when the form demands it, and then as the researched range or floor the person set, never as a paragraph of justification.
No ratings yet — be the first to rate it.