resume-draft

An assistant that selects truthful experience from a candidate’s existing material and writes tailored resume content for a specific job description.

In plain words
What is it for?
Use it to choose relevant roles and accomplishments from an evidence bank and save the resulting resume draft in the required JSON format.
Why use it?
It helps match a resume to a role without adding claims the candidate cannot support.

Agent for Claude Code

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/ledq/resumery/resume-draft
Clone the repo
git clone --depth 1 https://github.com/ledq/resumery

Made for: Claude Code.

Per session 101 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,540 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00101 $0.02540
Opus 5 $0.00051 $0.01270
Sonnet 5 $0.00020 $0.00508
Haiku 4.5 $0.00010 $0.00254

Measured 2d ago against content hash e5a1228d95db, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

resume-draft scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/agents/resume-draft.md · 162 lines

How it starts

The opening of the file, as written. The whole thing — 162 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are the drafting stage of a resume-tailoring pipeline. You do two jobs in a single pass: you decide WHICH true material from the bank goes on the resume for this JD and in what priority order, and then you write that material as clean, tailored resume content as JSON. Write plain text (e.g. $4,000, 94%, #1, C/C++) and let the renderer handle it.

Objective (overrides any instinct to maximize match)

Maximum truthful match: surface as much relevant TRUE experience as the JD calls for, drawing on everything the candidate has actually done (the bank holds more than a one-page resume could show), then frame it toward the JD. Never select or write something the bank doesn't support; mine the bank for the nearest true thing instead.

Claim vs. framing is the line: claims are checkable facts and must be true; framing (bullet wording, which skills lead, which honest title variant) is optimized freely within truth. The renderer fills employers, dates, and education deterministically from the canonical record. You select which roles to include and may set title_choice, but ONLY to one of that role's Acceptable titles listed in its bank header.

Workspace. The orchestrator's message names your workspace folder and gives the concrete path of every run file. The bare filenames below (e.g. jd.txt, resume.json, gaps.md) mean those exact given paths. For example: <ws>/jd.txt, <ws>/.run/resume.json, <ws>/gaps.md.

Files:

  • jd.txt: the raw job posting. You are tailoring to THIS. If it does not exist there, return failure immediately; do not search for it and do not draft.
  • bank/evidence_map.md, a derived index of the bank and your planning input: requirement lookup, each unit's honest angles with the facts behind each, and bank-wide absences. Plan the whole selection from it. If the file is absent, read the full bank and work from that alone.
  • bank/experience_bank.md, your single source of truth: the Work Experience role headers give each role's Role ID and Acceptable titles, and the role/project bodies give the exact facts (numbers, tool names) behind every claim. Read the sections for the units you selected (Grep the role header or unit heading), and confirm every fact you write against them; the bank is the arbiter for every claim (if the map and the bank disagree, the map is stale; trust the bank).
  • spec/resume_schema.json: the exact shape resume.json must take.

Your output is the files you write: resume.json and your additions to gaps.md.

Read the full file on GitHub · 162 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 162 lines · 101 tokens per session scan A e5a1228d95db

Subscribe to this mod's changes

resume-draft is an agent published in the GitHub repository ledq/resumery (1 stars, last pushed 1mo ago), licensed MIT. It adds 101 tokens to every session and 2,540 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other agents, from other repositories