
Résumé / CV
Build a clean, ATS-friendly résumé or CV from a person's background, tailored to a target role. Scopes the target role and the highlight reel of achievements FIRST (so the résumé is targeted, not a life history), then designs a single-column, parser-safe layout, then writes impact-led bullets with metrics that fit one to two pages. Use for job applications, LinkedIn-to-résumé conversions, and role-targeted CV rewrites.
Steps
Entry step: scope. Each step names the specialist role it wants; the full working prompt is expandable.
- Scope the résuméplannerentry
target role, must-hit keywords, and the achievement highlight reel
Show working prompt
Target before drafting. Step 1: identify the target role/title and, if a job description is provided, extract the must-hit skills and keywords. Step 2: from the person's background, select the experiences that matter for THIS role and set aside the rest — a résumé is a targeted highlight reel, not a complete history. Step 3: choose the section set and order (summary, experience, skills, education, plus optional projects/certs) and decide the length cap (1 page for <10 yrs experience, 2 max). Step 4: for each kept role, note the 2-4 strongest achievements and where a metric exists (numbers, %, scale). Step 5: write an acceptance-criteria checklist ('targeted to the stated role', 'reverse-chronological experience', 'every role has impact bullets, most with a metric', 'must-hit keywords appear naturally', 'fits within the page cap', 'no objective-statement filler'). Write the scope + highlight reel + checklist via write_task_note AND to notes/scope.md. No layout or final bullets yet. - Design the layoutdesigner
single-column ATS-safe template with clean hierarchy
Show working prompt
Design a layout that BOTH a recruiter and an ATS parser can read. Step 1: choose a single-column layout (multi-column and tables confuse parsers) with a clear header (name, title, contact line) and standard section headings (Experience, Skills, Education) in plain text. Step 2: pick a conservative type scale and a restrained palette (mostly ink-on-white, at most one subtle accent) with strong contrast; no graphics, no icons that carry meaning, web-safe fonts only. Step 3: define the entry format for experience (Company | Title | Dates on one line, bullets beneath) and a compact skills format. Step 4: set print rules (@page, Letter/A4) and a height constraint matching the page cap. Step 5: write a visual-criteria checklist ('single column, no tables for layout', 'standard parser-friendly section headings', 'consistent date alignment', 'fits the page cap in print'). Write the layout spec + checklist via write_task_note AND to notes/design.md. No copy yet. - Write the résumécopywriter
write impact bullets into index.html, tailored and within the cap
Show working prompt
Write the résumé and assemble it into the layout as a single self-contained index.html (inline CSS with print rules). Step 1: write a 1-2 line professional summary tailored to the target role, weaving in must-hit keywords naturally. Step 2: write experience entries in reverse-chronological order with impact-led bullets — each starts with a strong verb and, wherever the highlight reel supplied one, includes a metric (scale, %, $, time saved). Step 3: write a scannable skills section using the role's keywords, and a compact education section. Step 4: cut ruthlessly to fit the page cap; remove dated or irrelevant roles before adding pages. Step 5: ensure no objective-statement filler and no first-person pronouns in bullets. On a loop-back, fix ONLY the named gaps. Write the path + a note confirming page count and that keywords are covered via write_task_note.
- Evaluatereviewer
Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.
Show working prompt
QA the résumé. Step 1: open/render index.html and, if print-preview is available, confirm it is within the page cap. Step 2: check EACH acceptance criterion: targeted to the stated role, single-column parser-safe layout with standard section headings, reverse-chronological experience, every role has impact bullets and most carry a metric, must-hit keywords appear naturally, no objective-statement filler, dates aligned consistently. Step 3: read it as a recruiter for the target role and confirm the fit is obvious in the top third. Write PASS/FAIL per criterion; if it exceeds the page cap, FAIL and loop back to trim. Then route — this is the whole point of the loop: - **Every criterion PASSES →** call `advance_task_step({ ref, stepId: "evaluate", next: "finish" })`. - **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: "evaluate", next: "write" })` to loop back. The builder fixes exactly those gaps. Never route to `finish` while any criterion is unmet. The build phase's completion gate already blocked a grossly-incomplete deliverable; your job is the judgment an automated check cannot make (does it actually work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in. - Finishdeveloper
All acceptance criteria met. Stamp a short summary and report DONE.
Show working prompt
Every acceptance criterion passed. Write a one-paragraph DONE summary to task notes via `write_task_note`: what was built, the deliverable path(s), and a one-line confirmation that each criterion is met. Then report DONE.
Triggers
Phrases that suggest this craftbook to a crew.
- write my resume
- build a cv
- make a resume
- tailor my resume to a job
- curriculum vitae
- ats friendly resume
Source
View this craftbook on GitHub · MIT license