Complete JD structured analysis, role-fit assessment, targeted resume customization, ATS quality gate, and application version archiving in one place.Do not fabricate experience; use the fact contract and confirmed facts as the only boundary。
Prerequisites
A base resume and confirmed facts are required. Prefer to read the private resume-facts.yaml; if there is only old resume content or HTML, first use resume-builder or resume-workflow to extract, confirm, and build the fact file. Unconfirmed parsed content must not be used directly for customization.
Core Responsibilities and Mode Branches
This skill handles two usage scenarios without cross-skill switching:
- Analysis and Diagnosis Only Mode: When the user only provides a JD and asks "am I suitable", "help me analyze this JD", or "role fit", output the requirements map, matching evidence, and gap analysis, without generating a resume;
- Full Customization Mode: On the basis of the analysis, show the user thechange preview. After the user confirms, generate the customized HTML/PDF in one place, run the ATS quality audit, generate a version record, and provide Canvas fine-tuning.
Collaboration Flow and Exits:
- Layout fine-tuning: After the visually customized version is generated and PDF validation is complete, if the user needs interactive fine-tuning,route to
resume-canvas; - Fine-tuning re-validation: After Canvas fine-tuning is saved, it must return to the Agent workflow to re-verify facts and render and validate the PDF, and update the version record.
Reference File Resolution
- All relative paths are based on the directory where this
SKILL.mdis located, not on the current working directory. - In the command examples,
skills/...is a path under the complete runtime root directory; on first execution, read Rendering Environment and Command Paths, and resolve the scripts and private artifacts to actual absolute paths. - Before starting work, you must first read and follow
../resume-builder/references/resume-contract.mdand../resume-builder/references/content-writing.md; the two shared reference documents take precedence over the examples, layout preferences, and process hints in this entry point. - If
resume-builderis installed together with this skill, then also read../resume-builder/references/design-guidelines.mdand the corresponding CSS file. - This skill must be installed together with
resume-builder; if shared reference files are missing, ask the user to install the complete skill set before continuing. Do not guess contract rules, and do not promise DOCX generation.
Workflow
Step 1: Obtain and Deconstruct the JD
- Ask the user to paste the JD text, upload a file, or provide a job link.
- Structured deconstruction of JD requirements and classification:
must_have: Hard thresholds (major, years of experience, core tech stack);preferred: Bonus points and advantages;responsibility: Core job responsibilities;context: Signals about business scenarios, team culture, or working style. For each item, try to retain the original JD keywords or paragraphs as evidence.
Step 2: Perform matching analysis against the fact base
Compare the JD requirements one by one with the user-confirmed resume-facts.yaml(or master facts):
- Direct match: strong relevant evidence exists in the existing experience/skills;
- Relevant evidence: there is similar or transferable experience, but the terminology is not aligned or the wording is weak;
- Real gap: required by the JD but the candidate does not have it (record it truthfully; never fabricate skills or invent metrics);
- To be confirmed: matters that need further verification with the candidate (do not enter the final resume draft).
If the user only needs an application feasibility assessment, deliver the diagnostic report containing the "Requirements Map" and "Match Recommendation" directly at this point, and end the process.
Step 3: Change preview and user confirmation (gate)
Before generating the tailored resume,you must show the user a change preview and obtain confirmation:
- Experience reordering and prioritization: explain which strongly relevant projects or experiences will be moved forward;
- Terminology and wording alignment: explain which wording or skill labels will be aligned with the JD terminology;
- Retained gaps and downplayed items: clearly state which JD requirements are unmatched gaps (retain gaps truthfully; do not force-add keywords). Only after the user explicitly agrees to the change preview do you proceed to generate the tailored final draft.
Step 4: Content tailoring specifications
Follow the previously read fact contract and writing specifications (../resume-builder/references/resume-contract.md、../resume-builder/references/content-writing.md):
- Clear expression: prioritize using
强动词 + 具体动作/技术 + 结果或证据 + 背景/范围to organize bullets; when there are no numbers, use confirmed non-numeric evidence and do not force-fabricate metrics; - Natural keyword alignment: align technical expressions from confirmed facts with commonly used JD wording; keyword stuffing is strictly prohibited;
- Section and emphasis reordering: adjust section order according to JD relevance;
- Differentiation explanation: after tailoring is complete, clearly explain to the user the changes compared with the master version.
Step 5: Generate tailored files and directory isolation
First let the user choose the output mode between visual HTML/PDF and ATS-safe HTML/PDF, and output uniformly to the dedicated job directory tailored/<公司名>-<岗位>/ ,never overwrite the master version:
- Visual mode:
resume_visual.htmlandresume_visual.pdf, continuing to use the base resume CSS style; - ATS-safe mode:
resume_ats.htmlandresume_ats.pdf, using a single-column standard body structure; matching-analysis.md: job match analysis report (template seereferences/matching-analysis.md);version-notes.md: version and application record (record parent version, JD source and date, change summary, keyword sources, retained gaps, and verification results).
If the built-in visual style is used, declare at the root node data-resume-layout="full-page", retain data-resume-editor-template、data-resume-editor-version="1" and stable, unique, semantic leaf-level data-resume-editor-id(adding IDs to the entire page or section containers is prohibited).
Step 6: PDF verification and quality audit
Before delivery, quality audit and PDF verification must be performed:
- ATS parseability audit:
- Both modes check body reading order, extractable text, and hidden text; the visual version allows user-selected two-column layout and photos, but important information must not exist only in images, and do not claim that the visual version satisfies all ATS-safe constraints.
- ATS-safe mode additionally requires a single column, no complex multi-column CSS, and no text carried by images. The following static audit must be performed, and the final PDF page count, extractable text, and key facts must be checked (
--pdfand--required-text); do not use--mode atsfor visual two-column or photo-containing templates:python skills/resume-builder/scripts/validate_resume.py --html "<tailored目录中的html路径>" --mode ats
- Canvas protocol acceptance(visual mode):
Ensure the output "passes validation". Every text node that needs editing must be an independently editable leaf field; putting edit IDs onnpx -p @chasen-liao/resume-skills@latest resume-skills validate "<tailored目录中的resume_visual.html路径>"<html>、<body>、<main>、.page、.resume、header、footer、section、ul、ol、figureor on composite containers containing multiple fields is prohibited. The total number of fields must be greater than 0 and IDs must be unique. - Playwright rendering and single-page validation(visual mode):
Run
render_resume.ps1to render the real PDF and generate the preview and manifest. The PDF must be exactly 1 page, and the effective page occupancy rate must by default be $\ge 98%$; inheritresume-builder's 9mm total bottom margin contract, independent top/left/right margins, and capped automatic expansion for short content, without additionally stacking safe areas. Validation must use HTML-measured margins, and record the configured and actual bottom distances in the manifest. - Full-page screenshot visual review(visual mode): The AI must open the final rendered full-page screenshot from this run and follow full-page screenshot visual review to check bottom whitespace, top-bottom balance, spacing between sections, and the distribution of each column in a two-column layout. Especially after trimming content for a job customization, check whether the bottom is noticeably empty; even if all automated validations pass, unbalanced whitespace must not be delivered, and the layout must be adjusted, then re-rendered, re-validated, and the new screenshot reviewed.
Step 7: Delivery and Canvas Preview
- Canvas preview (optional):
After completing PDF validation in visual mode, ask the user whether they need local Canvas preview fine-tuning. When the user needs it, execute:
If the user needs layout fine-tuning,route tonpx -p @chasen-liao/resume-skills@latest resume-skills editor "<tailored目录中的resume_visual.html路径>"resume-canvas; after Canvas saving, the manifest becomes invalid, and you must return to the workflow for re-validation. If the user chooses Canvas but the current environment cannot executenpx, clearly report that it was not started, and provide the complete command with the actual HTML path; do not claim that a preview has been made. ATS-safe mode does not start Canvas; it only delivers the file location and browser printing method. - Version tracking and Git commit suggestions:
It is recommended that the user manage the resume workspace in a local private Git repository. After customized generation, provide semantic commit suggestions, for example:
Constraints: Do not automatically perform Git initialization, commit, push, or overwrite; these must be confirmed or performed by the user.git add resume-facts.yaml tailored/<公司名>-<岗位>/ git commit -m "定制:<公司名> - <岗位>"
Hard constraints
- Never fabricate experience; modifications are limited to wording, reordering, and aligning with real evidence;
- Fields pending confirmation may only appear in the analysis report and must not enter the final draft;
- Customized versions are stored separately in
tailored/<公司名>-<岗位>/, and the master version must never be silently overwritten; - Visual mode follows the base resume CSS style, while ATS-safe mode strictly follows single-column and plain-text extractability standards.
Reference documents
../resume-builder/references/resume-contract.md— Fact contract (read before every work session)../resume-builder/references/content-writing.md— Writing guidelines (read before every work session)../resume-builder/references/design-guidelines.md— Design aesthetics guide (backup: refer to when the user has no base resume)../resume-builder/references/css/<style>.md— Corresponding style CSS variables and layoutreferences/matching-analysis.md— Matching analysis report template