91 lines
3.7 KiB
Markdown
91 lines
3.7 KiB
Markdown
---
|
|
name: make-resume
|
|
description: 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:
|
|
|
|
```powershell
|
|
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`.
|