Files

3.7 KiB

name, description
name description
make-resume Generate a tailored evidence-first resume from a real job description. Use for new applications to assess hard qualifications and role fit before writing, select International Tech or Swiss/DACH format, plan canonical achievements, generate LaTeX, validate claims, compile, and record the application decision.

Generate a Resume

Input

Accept a JD file, pasted JD, or URL. Obtain the real posting text before analysis. If it cannot be retrieved, ask the user to paste it; never reconstruct it.

Phase 0 — Canonical and JD Preflight

  1. Read resume_builder/reference/shared_ops.md.
  2. Read resume_builder/canonical/claims.json completely.
  3. Read config.md, AGENTS.md, application_strategy.md, resume_reference.md, and critique_framework.md.
  4. Run python resume_builder/helpers/validate_resume_system.py.
  5. Verify and save the verbatim JD; record source/date/status.
  6. Create the output folder and session from session_file_template.md.

Phase 1 — Fit Gate Before Writing

Build a requirement table with Required/Preferred and Direct/Adjacent/Gap/Constraint classifications. Cite canonical claim IDs for every Direct or Adjacent match.

Compute Evidence Fit and identify hard gates using critique_framework.md. Then assign:

  • Core.
  • Adjacent.
  • Stretch.
  • No-go.

Record Channel Strength and a warm-channel action for Core roles.

Stop and present the fit decision before resume planning when:

  • a hard gate fails;
  • the role is Stretch;
  • the selected cohort category is already full;
  • a practical constraint is unresolved.

Proceed on a no-go only after the user explicitly overrides the stated reason. An override does not change the fit classification.

Phase 2 — Audience and Content Plan

Select International Tech by default. Use Swiss/DACH or Employer-specific format only when the employer/context supports it.

Read the matching role bundle, skills_taxonomy.md, achievement_reframing_guide.md, and only the experience files needed for selected claims.

Plan:

  • Optional 2--3 line summary.
  • Four to six evidence-backed skills lines.
  • Swisscom 4--5 bullets.
  • Bosch 3--4 bullets.
  • Zero or one bullet for each older role.
  • Normally 11--14 bullets total, with no page-fill quota.

For each proposed bullet show canonical ID, evidence type, scope, and why it belongs. Identify any impact metric that still needs user confirmation.

Apply cl_reference.md and propose Cover Letter Decision: YES/NO with one reason.

Present the plan and wait for explicit user confirmation before generation.

Phase 3 — Generate

Copy resume.cls and resume_template.tex into the output folder. For a Swiss/DACH audience, also read resume_template_dach.tex as an audience-policy overlay; it is not a standalone document. Write fresh content from canonical claims and experience records; never copy a historical output.

Rules:

  • Employer, formal/transparent title, dates and location come first.
  • Do not use tailored themes as job titles.
  • Mix natural bullet lengths.
  • Use only verified metrics and outcomes.
  • Preserve allowed verbs and ownership scope.
  • Never add a skill to mirror the JD.
  • Certifications appear once.

Phase 4 — Validate and Inspect

Run:

python resume_builder/helpers/validate_resume_system.py --document <resume.tex>

Fix every failure. Compile the LaTeX, inspect both pages, and run pdftotext to verify parsing and information order. Do not add filler to reduce whitespace.

Update the session with the as-built content, validation results, page count, cover-letter decision, and next action.

Present the finished resume and the original Evidence Fit classification. Wait for approval. If the cover-letter decision is YES, point to /make-cl; otherwise point directly to /critique.