Resume Writer
Intent
Rewrite, audit, score, and target resumes with measurable impact, recruiter skim value, and role-specific positioning.
Use When
- The user explicitly asks for
resume-writer. - The request matches the triggers or workflow described below.
- The task benefits from a reusable, structured output instead of a one-off answer.
Do Not Use When
- Do not use to fabricate credentials, invent employment history, write unrelated bios, or submit applications directly.
- Required context is missing and cannot be reasonably inferred.
- A more specific skill in this repo is a better match.
Workflow
- Identify the exact task and available source material.
- Apply the domain rules and output format in this skill.
- State assumptions, uncertainty, and missing inputs clearly.
- Return the requested artifact, recommendation, or review in a practical format.
- Check the result against the validation checklist before finishing.
Constraints
- Do not fabricate missing facts, measurements, dates, sources, or user context.
- Keep output aligned with Mick's direct, practical communication style unless the skill says otherwise.
- Preserve safety, legal, medical, financial, and operational boundaries stated in this file.
- Prefer concise, usable output over broad explanation.
Validation Checklist
- The output matches the skill's intended task and platform.
- Required inputs, assumptions, and uncertainty are explicit.
- Safety, scope, and source limits are respected.
- The response follows the requested format or the skill's default output format.
- The result is practical enough to use without another cleanup pass.
Rewrites resumes using a persistent, user-curated library of principles harvested from recruiters, hiring managers, and HR professionals. Every change made is traceable back to a specific principle in insights/principles.md or a pattern in references/common-patterns.md.
tips/ is the staging area for newly collected posts, weekly review packets, and candidate advice that has not yet been promoted into the authoritative library. Use it to keep the skill current without treating every fresh post as permanent truth.
Three modes
This skill operates in one of three modes. Detect which one before proceeding.
Mode 1: Enhance a resume (default)
Triggered when the user provides a resume (pasted, .docx, .pdf, or screenshot) and asks for a rewrite, review, audit, or critique.
Go to the Enhance Workflow section.
Mode 2: Add an insight to the library
Triggered when the user pastes or uploads a recruiter/HR post and says something like "rw add", "add to library", "add this insight", or pastes a post without a resume present.
Go to the Add Insight Workflow section.
Mode 3: Refresh tips staging area
Triggered when the user asks to refresh, review, triage, summarize, or organize recruiter/HR posts for future resume guidance, or refers to the weekly tips/ update.
Go to the Refresh Tips Workflow section.
Mode detection rules
- If a resume-shaped input is present (text with experience/education sections, or a .docx/.pdf/image file that looks like a resume), default to Enhance mode. Do not ask.
- If only a recruiter/HR post is present with no resume, default to Add Insight mode. Do not ask.
- If the user is asking to maintain the source pipeline, weekly refresh process, source roster, or
tips/contents, use Refresh Tips mode. - Only ask "enhance or add to library?" when the input is genuinely ambiguous (e.g., a LinkedIn profile export that could be either).
Output Mode Handling
Default output mode is human.
json-output-spec.md is the authoritative contract for machine-readable output.
Switch output mode when user intent indicates automation needs:
- If user asks for automation, API, JSON, machine-readable, structured output, pipeline use, CLI use, n8n use, or parsing, switch to
jsonorboth.
Mode behavior:
human: return the standard readable audit output.json: return valid JSON only, matchingjson-output-spec.md.both: return standard readable audit first, followed by a JSON block that matchesjson-output-spec.md.
Hard enforcement rules:
- In
jsonmode, return valid JSON only. - In
jsonmode, do not use markdown fences. - In
jsonmode, do not include prose outside the JSON object. - In
bothmode, the JSON block must still fully conform to the schema. - Do not omit required fields from
json-output-spec.md. - When uncertain between two adjacent values, choose the more conservative lower score.
- When a field cannot be supported by evidence, use
nullor an empty array instead of guessing.
Enhance Workflow
Step 1: Extract resume text
Match the input type:
- Pasted text: Use as-is.
- .docx: Use the available document-reading tooling to extract the text while preserving structure as much as possible.
- .pdf: Use the available PDF-reading tooling to extract text. If the PDF is image-based (scanned), fall back to image-based reading.
- Screenshot / image: Read the image directly.
Apply these deterministic extraction rules:
- Single column and readable: proceed.
- Multi column or table heavy: proceed with a parsing fidelity warning.
- Severely scrambled or incomplete extraction: stop and ask for pasted text.
Extraction confidence model:
- High confidence: pasted text or clean DOCX.
- Medium confidence: machine readable PDF.
- Low confidence: screenshots, scans, or heavily formatted resumes.
If the source is not pasted text, include extraction confidence in the final output.
Step 2: Load the insights library and common patterns
Read insights/principles.md and references/common-patterns.md in full. Both are authoritative sources for the audit.
Treat tips/ as optional context only. Never cite a raw tips/inbox/ item as an authoritative principle unless the user explicitly asks for emerging or experimental guidance. Prefer tips/reviewed/ over tips/inbox/ when both exist.
If either file cannot be read, continue in degraded mode and state exactly what is missing and how that limits the audit.
Precedence rule: When a violation could map to both a library principle and a common pattern, cite the library principle. Library principles carry named sources and specific framing; patterns are the fallback for hygiene issues no library principle covers.
If a weakness is clearly real but no principle or pattern covers it, capture it in the "Not-in-library observations" section of the output rather than attributing it to something that does not exist.
Step 3: Ask one clarifying question (if needed)
Before rewriting, ask at most ONE question if it materially affects the rewrite:
- If no target role is specified AND the resume is ambiguous: "What role or type of role is this resume targeting?"
- If the user already gave the target role, do not ask.
- If the user provided a job description, target role, or target company, do not ask a generic target question.
- Do not ask about tone, format, or style preferences — infer them from the resume itself.
Skip this step entirely if the target is obvious.
Step 4: Targeted rewrite track (when target info exists)
When both a resume and a job description or explicit target role are present, run a targeted rewrite track inside Enhance mode.
- Prioritize alignment to the target role over generic improvements.
- Reorder summary, skills, and bullet emphasis to match the target role.
- Highlight directly relevant evidence first in each recent role.
- Do not fabricate experience, achievements, or keywords not supported by the original resume.
Apply a role family preset when the target clearly fits one of these:
- infrastructure
- endpoint engineering
- cloud
- support escalation
- leadership
Role family presets should shift emphasis, skills ordering, and proof selection without changing facts.