A six-branch rule for whether a letter is worth writing at all, then one claim attached to evidence a reference check could confirm, inside a stated word budget.
/plugin marketplace add mkhalid1/locul-skills
Then /plugin to install Resumes and job search, which includes this skill.
We have not measured this one, and there is a second admission to make before that one. The cover letter is the weakest-evidenced artifact in hiring. No ATS vendor documents scoring one, and no published study we could locate establishes that a letter changes an outcome. A file that opened by asserting a mechanism nobody has demonstrated would be worth less than no file.
What is documented is the negative, and it is sharp. Greenhouse states that its matching algorithm "is only using data coming from the resume", with structured application data excluded. Lever states that Talent Fit "uses only the Job Description and the candidate's resume". The letter is not part of the match score in either system, so writing one to please an algorithm is writing for a reader that does not exist. Meanwhile the mechanism that does eliminate people is documented and is not prose at all: Greenhouse's auto-reject runs on custom application questions restricted to Yes/No, single-select and multi-select types, and SAP SuccessFactors has a status named Auto-Disqualified for applicants who fail a prescreen.
That leaves one defensible reason to write a letter, and the file is built on it. The CV is parsed into fields. The letter is read by a person or not at all, which makes it the only artifact in the application where the candidate controls the framing rather than the format.
Concretely, the file carries a six-branch decision rule with a stated precedence order and a cannot-tell branch, the ordering rule that the evidence paragraph is written before the opening line, an attachment test that deletes any assertion no reference check could confirm, word budgets by branch, the upload limits that apply to the letter as well as the CV, and the Ontario 45-day disclosure that is the only documented follow-up hook located.
Who it is not for. Anybody applying at volume through portals with optional letter fields. For that person the honest output here is branch 5, which says do not write one, and nobody needs a skill installed to be told that twice.
Measuring one skill honestly costs about twenty model sessions: five runs with it, five without, on real material, each output graded alone by a session that is not told the other arm exists, against a rubric written by somebody who never saw the skill. We have not spent that on this one yet, so it ships labelled rather than ships silently.
How it would be measured. Tier B with a partial Tier A spine. Material: eight invented application briefs, each pairing a job posting with a candidate history and a description of the portal, built so one fires each branch of the decision rule: a posting ending in an explicit question, a speculative approach with no posting behind it, a named hiring manager reachable by email, a fourteen-month employment gap, an aggregator repost with the application instructions stripped, and two high-volume portal applications where the letter field is optional and nobody is named. Objective spine: whether the output selects the branch the brief was built for including the cannot-tell branch, whether any draft states a recruiter cover-letter read rate as fact, whether every assertion in the draft is attached to a number, an artefact or a named witness, and whether the word count falls inside the budget for the branch selected. Prose quality has no such spine and would need blind pairwise preference judging.
The gradable half is branch selection. Give a brief built around the gap branch and check the output picks it rather than the do-not-write branch; check no draft states a recruiter read rate as fact; check every assertion is attached to a number, an artefact or a witness; check the word count against the budget for the branch chosen. That has a mechanical spine and could be graded blind.
The half that matters has no spine at all. Whether a letter works depends on whether a human opens it, and nobody publishes that. A blind preference test would grade prose quality, which is what a strong model already does well unprompted, so it would measure the wrong thing. The interesting question is narrower and slightly uncomfortable: does the control talk the user into writing a letter it has no documented reason to recommend.
The rule that decides pass or fail was written down before any run was executed and it does not move afterwards. It is in the method note on the hub, along with the full results table including every skill that was tested and cut.
Stated plainly, because a skill that claims everything is useful for nothing.
name and description in the file's frontmatter, so you can also invoke it by name.The strongest alternative is not writing one, and this file says so in branch 5 rather than pretending otherwise. If the posting is on a portal, the field is optional, nobody is named and the role is high volume, the hour is better spent on the CV and the eligibility questions.
A careers adviser at a university or a public careers service, given half an hour and both documents, beats any generated letter at one specific thing: spotting where the letter and the CV quietly contradict each other on dates, titles or scope. No model can do that without being handed both, and most people only paste in one.
A strong model with no skill at all will produce a fluent, well-structured letter on the first attempt, and for a straightforward application that is probably enough. What it is less likely to do unprompted is tell you not to bother, or decline to invent a reason that cover letters work.
For the file-format half, the vendors' own documentation is free, primary and quicker than any article about it. Greenhouse and SAP SuccessFactors both publish their accepted types, and SAP publishes the one hard failure worth knowing.
--- name: role-matched-cover-letter-writer description: Writes a role-matched cover letter built on a single claim attached to specific verifiable evidence, and decides first whether writing one is worth the time at all, using a branch rule covering an explicit request in the posting, a named hiring manager, a gap or career change that needs explaining, a speculative approach, and an optional field on a high-volume portal. It works from what ATS vendors document, including that Greenhouse and Lever both state their matching AI reads only the CV and the job description. This skill should be used when a cover letter is being written or rewritten, when an application form shows an optional cover letter field, or when a CV raises a question that a parsed field cannot answer. --- # Role-matched cover letter writer ## Start with the honest part The cover letter is the weakest-evidenced artifact in hiring. No applicant tracking system vendor documents scoring one. No published study establishes that a cover letter changes an outcome. The percentages in circulation about how many recruiters read them trace to no primary source with a stated methodology, so this file does not use one. What is documented is narrower and more useful. Greenhouse, on its Talent Matching feature: "The matching algorithm is only using data coming from the resume. Currently, structured application form data is not included in this calculation." Lever, on Talent Fit: "Talent Fit uses only the Job Description and the candidate's resume. No other data is included from the candidate's application." Both checked in August 2026. Two of the most widely deployed systems have therefore written down that their matching AI never reads your letter. Writing one to please an algorithm is writing for a reader that does not exist. That is not an argument against writing one. It is the argument for a different letter. The CV is parsed into fields, ranked against criteria somebody else calibrated, and retrieved by exact-match keyword search. The letter is the one artifact where you control the framing rather than the format, because it is read by a person or not at all. So the job is to earn the thirty seconds it might get, and to say plainly when writing one is not worth the time. ## Four boundaries, all documented **It is kept. It may simply not be opened.** Greenhouse's supported-formats article covers "resumes, cover letters, and other candidate uploads", and SAP SuccessFactors documents "Accepted file types for resume and cover letter uploads". In every system examined the letter is stored on the candidate record next to the CV. Nothing discards it; nothing guarantees anybody opens it. **File format and size limits apply to it too.** Greenhouse accepts .doc, .docx, .pdf, .rtf and .txt, with candidate uploads up to 100 MB. Workday caps attachments at 30 MB and states "You can't change these size limits", and its accepted file types are configured per customer, which is why two Workday portals behave differently. SAP documents one hard failure: "You can't attach protected or secured PDFs." Parsing vendors add ceilings of their own, Textkernel at around 16 MB and Affinda at 20 MB. All checked in August 2026. **Automatic rejection keys on structured questions, not on prose.** Greenhouse's auto-reject works on "custom application questions", restricted to Yes/No, single-select and multi-select types. Workable's auto-disqualify is "supported only for Yes/No types of questions". SAP has a status named for it: applicants who fail the prescreen "are automatically placed into the Auto-Disqualified status", including where a total score falls below a required threshold. A letter reverses none of it: if the eligibility question is answered wrongly or left blank, nothing you wrote is ever reached. **And the number in your head is folklore.** The claim that an ATS rejects 75 per cent of CVs before a human sees them traces to a CIO.com article of 1 March 2012 quoting a resume-optimisation vendor. Its original wording was about reducing interview chances rather than automatic rejection, and no methodology was ever published. Any advice using it as a reason to write a cover letter is repeating a marketing line more than fourteen years old. ## The decision rule: whether to write one at all Run these in order and stop at the first that fires. The order is the point: two branches often apply at once, and the earlier one wins because it names a place where a human read is likelier. **1. The posting asks a question, or marks the letter required.** Write it. Answer the question in the first sixty words, in the posting's own terms, before anything about you. A required field left blank is a failure you controlled. A specific question answered generically is worse than silence, because the reader can see you skipped it. **2. There is no posting.** A speculative approach, a referral, a direct message to a founder. The letter is the entire application, so it carries the whole burden: 300 to 400 words, one claim, two pieces of evidence, and an explicit statement of what you are asking for. **3. You can name the person who will read it, and reach them.** Write it. This is where the letter's one real advantage exists: a named recipient is the only case where the chance of a human read is anything other than unknown. **4. Your CV raises a question a parsed field cannot answer.** A gap of more than six months, a change of function or industry, a relocation, a title that does not describe the work, or contract work that reads as job-hopping. Write the short form: one sentence on the question, placed second, never returned to. Note what this branch does not do. The 2021 Harvard Business School and Accenture study "Hidden Workers: Untapped Talent", which surveyed 2,275 executives across the US, UK and Germany, reported that 48 per cent of employers filtered middle-skills candidates on employment gaps of more than six months. Where such a filter is configured it runs before any human reads anything. The letter answers the gap for a human reviewer; it does not defeat a configured filter, and no letter can. **5. None of the above.** Portal application, optional letter field, high-volume role, no name anywhere in the posting. Do not write one. Spend the time on the eligibility questions and the CV, the document that gets parsed, scored and searched. **6. You cannot tell.** You cannot see whether the field is required, the posting is an aggregator repost with the application instructions stripped, or the company is opaque about who does the hiring. Default: write the short form in a twenty-minute budget and attach it. Then resolve it: open the employer's own careers page rather than the aggregator copy, because the canonical posting usually carries the instructions the repost dropped; look for a required marker on the upload field; and search the posting text for a team name, a manager's title or a reporting line, any of which promotes you to branch 3. ## Deriving the single claim Only reach this once the decision rule says write. The steps are ordered, and two run against instinct. **Step 1. Split the posting into three lists before writing a word.** Eligibility facts: right to work, licence, location, clearance, a stated minimum. Stated requirements: skills, tools, years, domain. The problem behind the role. The split matters because the first list belongs in the form, not the letter. Writing "I am eligible to work in this country" while leaving the corresponding application question blank is the most expensive error available, because the form is automatic and the letter is not. **Step 2. Work out why the role exists now.** Signals usually present in the text: the words "newly created", a named migration, launch, audit or funding round, "the first hire in", a reporting line into a function that did not previously have one, or one requirement that is oddly more specific than its neighbours. That requirement is usually the real problem and everything around it is the template. If the posting gives you nothing, you do not know, and the letter must not pretend otherwise. **Step 3. Inventory your evidence, filtered by the attachment test.** List only things passing at least one of three checks: a number you could defend under questioning, an artefact somebody could open, or a named witness who was there. "Improved onboarding" fails all three. "Rewrote the self-serve onboarding sequence for a subscription billing product, and first-week support tickets fell from roughly forty a week to roughly fifteen over two months" passes the first. **Step 4. Intersect, and pick one claim.** The form is: I have done the thing this role exists to do, in a context close enough to matter. One claim, not three. Two claims halve the evidence available to each, and the reader is deciding one question, which is whether you are plausible for the shortlist. **Step 5. Choose exactly two pieces of evidence.** The first is the closest analogue to the role's problem. The second covers the likeliest doubt: the gap, the industry change, the missing tool, the step up in seniority. If you cannot name the doubt, you have not read the posting closely enough yet. **Step 6. Write the evidence paragraph first and the opening line last.** This is the ordering that changes the result. An opening written first almost always promises more than the evidence can pay for, and the rest of the letter is spent servicing that promise. Write what you can prove, then the sentence that introduces it. **Step 7. Write the employer paragraph, then apply the competitor test.** Two or three sentences. Check each one: if it would be equally true of a direct competitor, delete it. "I admire your commitment to customers" fails. "You are shipping usage-based pricing into a market that still mostly sells seats, which is the migration I ran from the customer's side" survives, because it could not be addressed to anybody else. **Step 8. Write the close.** One specific, low-cost next step, and no apology. "I am in the same city and can come in any morning next week" is a next step. "I look forward to hearing from you at your earliest convenience" is a full stop pretending to be one. **Step 9. Strip.** Remove, mechanically: adjectives about yourself, any sentence containing "passionate", "I believe I would be a great fit", "as you can see from my CV", any sentence restating a CV line, and every instance of "utilise". Then check the length against the branch budget: 150 to 200 words short form, 200 to 300 standard, 300 to 400 speculative, never past 400. Those budgets are ours and are not derived from any published measurement; the argument for them is that the letter's only job is to earn a second look at the CV, so every word past that point is unread risk. **Step 10. The file and field pass.** Export from the word processor to PDF or DOCX, both accepted everywhere examined, and never a secured or password-protected PDF. Name the file with your own name and the role, because the filename is visible in the ATS and one carrying a different employer's name is the loudest error available. If the portal offers a plain textarea rather than an upload, paste as plain text and then read it back in the box: curly quotes, bullet glyphs and non-breaking spaces survive inconsistently, and Textkernel's converter raises a garbage warning when 5 per cent or more of the characters in extracted text are symbols. And no vendor examined documents whether cover-letter text is included in recruiter keyword search, so do not write the letter on the assumption that it is findable. **Step 11. The one documented follow-up hook.** There is no general rule entitling an applicant to a response. One narrow exception is worth knowing: under Ontario's rules in force from 1 January 2026, an applicant who was interviewed must be told whether a hiring decision was made, within 45 days. It covers interviewed applicants rather than everybody who applied, and the same regime exempts employers with fewer than 25 employees, so check both before citing it. Everywhere else a follow-up is a request rather than a right, and one message at the two-week mark is the whole of it. ## Three openings that reliably fail **"I am writing to apply for the position of Senior Analyst advertised on your website."** It spends the only line you are guaranteed to be read on information the reader already has, since the ATS filed your application against the requisition before any human touched it. It is also the sentence most likely to carry the wrong job title after a copy and paste. **"I have always been passionate about the logistics industry."** It is a claim about an internal state, so it cannot be attached to an artefact, a number or a witness, and the attachment test deletes it by definition. If the enthusiasm is real it has left evidence somewhere, and that evidence is the sentence you wanted. **"As you can see from my attached CV, I have five years of experience in..."** It converts the letter into an index of the other document. The letter's only justification is carrying framing the parsed fields cannot carry, so restating parsed fields is the one thing it must not do. The neighbouring variant, "I have long admired your company's commitment to innovation", fails differently: it would be true of every company in the sector. ## Worked example An invented case. A support team lead is applying for an implementation consultant role at a subscription billing platform, through a portal, with an optional cover letter field, no named hiring manager, and a fourteen-month gap for caring responsibilities that ended eight months ago. **Decision rule.** Branches 1, 2 and 3 do not fire: there is no question, the field is optional, there is a posting, and nobody is named in the text. Branch 4 fires on the gap. Branch 5 would have said do not write, and branch 4 precedes it, so the answer is the short form. The gap is why this letter exists, not the enthusiasm. **Posting split.** Eligibility: right to work, willing to travel one week a month. Requirements: SQL, API integrations, customer-facing delivery, "experience migrating customers from a legacy billing system", three years. The migration line is oddly specific next to its neighbours, so that is the problem behind the role. **Evidence inventory, attachment test applied.** Ran the cutover of sixty accounts from a legacy invoicing tool to a new provider across one quarter, with the runbook still in use: number, artefact and witness, so it passes. Wrote the SQL reconciliation checks that caught eleven mismatched subscriptions before go-live: passes. "Strong communicator": fails. **Claim.** I have run the exact migration this role exists to deliver, from the customer's side of it. **Evidence chosen.** The cutover, as the closest analogue. The reconciliation checks, because they cover the likely doubt about technical depth in a candidate whose title says support. **Extract, second paragraph.** "I ran the cutover of sixty accounts from a legacy invoicing tool to a new provider across one quarter, and wrote the SQL reconciliation checks that caught eleven mismatched subscriptions before go-live. I was out of work for fourteen months caring for a family member and returned last autumn." **Verdict.** Write it. Short form, 190 words, one claim, two pieces of evidence, the gap in one sentence placed second and never mentioned again, the employer paragraph anchored on the legacy migration, and a close offering to walk somebody through the runbook. Twenty-five minutes, attached as a PDF exported from the word processor. And two things matter more than every word of it: the right-to-work and travel questions on the form, because those are automatic. ## Failure modes **The mirror letter.** Every paragraph maps to one job on the CV, in order, and the reader learns nothing that was not already parsed into a field. Diagnosis: read the letter with the CV covered and ask what is new. **The unattached adjective.** Detail-oriented, strategic, results-driven. Symptom: no sentence could be confirmed or refuted by a former colleague in a single question. If a reference check cannot touch it, it is decoration. **Keyword stuffing the letter.** Importing CV tailoring logic into prose. It cannot help, because Greenhouse and Lever both document that their matching reads only the CV, and it reads badly to whoever does open it. Greenhouse documents of its own score that "a longer list of matched terms doesn't always mean a higher match score", because synonyms collapse into the same calibrated skill. **The wrong-company artefact.** A correct letter with the wrong company name in paragraph three, or a file named for last week's application. Guard: search the draft for every employer name you have used this month, and check the filename, which the recruiter sees before opening anything. **The apology opening.** The first substantive claim is a deficiency: "although I do not have five years of...". The reader then uses that frame for everything after it. If a requirement is unmet, it belongs late, in one clause, next to what you have instead. **The essay.** Four claims, three anecdotes, seven hundred words. Symptom: it scrolls in the textarea, or breaks across pages. Every word past the point where the reader decides to open your CV is unread risk. **The unanswered question.** The posting asked something specific and the letter is a generic pitch. This is the most expensive failure available, because a posting that asks a question is the one case where you know the letter has a reader. **The unverified employer detail.** A claim about the company that is three years stale, or that was another company's announcement. A wrong specific costs more than a missing one, because it shows the research was done badly rather than not at all. **The silent format failure.** A secured PDF, which SAP documents it cannot accept, or smart quotes and bullet glyphs pasted into a plain-text field and rendering as question marks. Nobody tells you. The letter is stored, opened, and unreadable. ## What this skill does not do - It cannot tell you whether anybody reads your letter. No vendor publishes an open rate for cover letters and no located study establishes that a letter changes an outcome, so every recommendation here rests on the decision rule and not on evidence of effect. - It has no effect on any match score: Greenhouse and Lever both document that their matching reads only the CV and the job description, so nothing written here moves the number a recruiter sees. - It cannot rescue a failed knockout question or an employer-configured filter. Where automatic elimination is documented it keys on a structured answer or a set criterion, and prose reaches neither. - It does not write or repair the CV, and it cannot see yours unless you paste it in. Use the ATS resume tailorer for the document that actually gets parsed. - It cannot verify anything you assert about the employer, and it cannot see the application form, so it cannot check that the eligibility questions were answered before the letter was attached.
These skills all ask your assistant to check things against your actual codebase, your actual schema, your actual design system. Locul keeps that context current on its own, from the files you already have, on your machine. Mac and Windows, free to start.