SuperAPI AI Directory

resume-workflow

Office & productivity

View repository

Updated 10-15 17:33

About this skill

Resume Workflow

Link resume-builder(master template building and fact confirmation),jd-tailorer(JD analysis and targeted tailoring),resume-canvas(local visual fine-tuning) into one coherent, seamless main workflow.

Skill Collaboration Overview (Dual Main Stages)

Stage Responsible Skill Input Output / Deliverable Collaboration Flow and Routing Conditions
0. Private Fact Base resume-workflow User's existing resume or experience description resume-facts.yaml Initialize the single source of truth; never write unconfirmed facts back throughout the process
Stage One: Master Template Lifecycle resume-builder Fact base / real experience interview Master HTML/PDF, valid Manifest Conversational interview, polish experience in place, select template and complete A4 single-page validation; local Git commit recommended
Stage Two: Job-Tailoring Lifecycle jd-tailorer Master template + target JD Tailored HTML/PDF, match report and version record One-stop JD deconstruction, change preview output, dual-mode generation, ATS gate and directory isolation; local Git commit recommended
Optional: Local Fine-Tuning Guard resume-canvas Validated visual HTML Fine-tuned HTML + revalidated PDF Visual mode only: closed loop of local WYSIWYG layout fine-tuning and Manifest revalidation after the master template or tailored version is finalized

Read first

Read ../resume-builder/references/resume-contract.md、../resume-builder/references/content-writing.md and ../resume-builder/references/resume-facts.example.yaml. Then read the corresponding skill's SKILL.mdaccording to the current stage; do not use this file to replace its factual, layout, or validation constraints.

Before executing validation commands for the first time, locate the complete runtime according to Rendering Environment and Command Paths ; use actual absolute paths for all scripts and private artifacts, and do not assume the user's current directory contains skills/ or rendering dependencies.

0. Establish a Private Working Directory

  • Save the user's resume in a local private directory outside the project directory, for example <个人私有目录>/resume/; do not use example or template directories in the source repository to store real personal data.
  • After the user confirms the import/interview results, create resume-facts.example.yaml according to resume-facts.yaml. It is the single source of truth for the master template and tailored versions; unconfirmed fields may only remain in that file's pending-confirmation records or analysis reports.
  • It is recommended to put the private directory undera local private Git repositoryfor version management; do not push to a remote public repository by default. Execute commit suggestions only after the user explicitly agrees; do not automatically perform Git initialization, commits, pushes, or overwrites.

Stage One: Establish or Maintain the Resume Master Template (resume-builder)

  1. Import or Interview:
    • When the user provides an existing resume, follow the import path: extract content, display identified content, and for vague, conflicting, or evidence-lacking fieldsIncremental Follow-up Questions;
    • When the user has no resume, follow the structured interview path;
    • If experience descriptions are duty-based or lack specific contributions, according to content-writing.md in-place refinement, use strong verb structures without interrupting the main flow.
  2. Fact confirmation:
    • Only claims explicitly confirmed by the user are written into resume-facts.yaml。
  3. Style selection and generation:
    • After confirming facts, choose a visual mode (6 template sets) or ATS-safe single-column mode, and generate the master resume.html(or the corresponding naming).
  4. PDF verification and optional Canvas fine-tuning:
    • The visual version must first complete Canvas field acceptance and Playwright single-page/density verification (see the verification contract below);
    • After verification passes, ask whether local Canvas preview fine-tuning is needed; if needed,route to resume-canvas;
    • After fine-tuning is saved, facts must be verified in the Agent workflow and the rendering script must be run again for closed-loop verification.
  5. Master version freezing:
    • It is recommended to commit locally in Git:git commit -m "创建母版简历"。

Phase 2: Targeted customization for the position (jd-tailorer)

After the master and resume-facts.yaml are available, the user inputs the JD for a specific company and position:

  1. One-stop JD analysis and change preview:
    • jd-tailorer deconstruct the JD's hard requirements, bonus points, and tech stack, and calibrate match points and real gaps against the fact base;
    • Show the user achange preview(which projects to front-load, which wording to align, which objective gaps to retain);
    • If the user only needs an application diagnosis, deliver the analysis report; if the user confirms customization, proceed to generation.
  2. Dual-mode output and directory isolation:
    • Output uniformly to the dedicated tailored/<公司名>-<岗位>/ directory,absolutely never overwrite the master;
    • Output the customized version resume_visual.html / .pdf(or ATS version),matching-analysis.md and version-notes.md。
  3. ATS quality gate and PDF verification:
    • Run ATS parseability checks (no text carried by images, no hidden text) and validate_resume.py verification;
    • For the visual version, run render_resume.ps1 to complete single-page and $\ge 98%$ utilization verification;
    • After verification passes, provide a Canvas preview as needed; after fine-tuning is saved, re-verify.
  4. Version archiving and Git commit recommendations:
    • Recommended local commit:git commit -m "定制:<公司名> - <岗位>"。

Delivery verification and Canvas contract (mandatory)

After the master or JD customization flow generates visual HTML, executable validation and PDF verification:

  1. Acceptance editable field protocol: data-resume-editor-template and data-resume-editor-version="1" must be located in <html>;data-resume-editor-id must be greater than 0, unique, semantic, and respectively marked on independently editable text elements. It is forbidden to place edit IDs on <html>、<body>、<main>、.page、.resume、header、footer、section、ul、ol、figure or on containers containing multiple sections/fields. First check the total number of fields and uniqueness.

    npx -p @chasen-liao/resume-skills@latest resume-skills validate "<最终_visual.html路径>"
    
  2. Rendering and layout acceptance:

    powershell -NoProfile -ExecutionPolicy Bypass -File skills/resume-builder/scripts/render_resume.ps1 -HTML "<最终_visual.html路径>" -OutputPdf "<交付目录/自定义文件名.pdf>"
    python skills/resume-builder/scripts/validate_resume.py --html "<最终_visual.html路径>" --pdf "<交付目录/自定义文件名.pdf>" --mode visual --check-overflow --check-layout --min-fill-ratio 0.98 --preview "<交付目录/自定义文件名.preview.png>" --manifest "<交付目录/自定义文件名.resume-manifest.json>" --renderer "playwright@1.62.1" --json
    

    The PDF page count must be 1, the effective page occupancy rate must be at least 98%, and the bottom safe area must be compliant. After automatic verification passes, the AI must open the final full-page screenshot and separately check the bottom whitespace, top-bottom balance, gaps between sections, and the distribution of each column in the two-column layout; according to full-page screenshot visual review Execution. Do not deliver when there is an obvious gap at the bottom or imbalanced whitespace; after adjustment, re-render, verify, and check the new screenshot; passing CI or manifest checks cannot replace actually looking at the image. This step applies to the master version, JD-customized versions, and re-verification after saving in Canvas.

  3. Start Canvas on demand: When the user confirms that local fine-tuning is needed,route to resume-canvas:

    npx -p @chasen-liao/resume-skills@latest resume-skills editor "<最终_visual.html路径>" --manifest "<交付目录/自定义文件名.resume-manifest.json>"
    

    If the environment cannot execute npx, clearly report that it was not started and provide the complete command with the actual path. ATS-safe mode does not start Canvas. When the user does not need fine-tuning, deliver the artifact directly.

Do not do

  • Do not treat parsed text directly as facts confirmed by the user; do not proceed to the final draft without confirmation.
  • Do not let JD requirements or suggestions add skills, metrics, or experience that the candidate does not have; do not fabricate experience.
  • Do not automatically perform Git initialization, commit, push, rollback, or silently overwrite user files.