Complete AI-assisted resume/CV generation framework: - 6 Claude Code skills (setup-extract, setup-build-kb, make-resume, make-cl, edit-resume, critique) - LaTeX templates (resume, CV, cover letter) with .cls class files - 6 reference docs (shared_ops, resume_reference, cl_reference, critical_rules, session_file_template, critique_framework) - Fictional Dr. Jordan Chen examples (extraction, experience, bundle, config, session, JD) - Knowledge base scaffolding and config template - README with setup guide and workflow documentation
4.7 KiB
Shared Operations — All Skills
Referenced by
/make-resume,/make-cl,/critique, and/edit-resume. Read this file at skill startup. Skills reference specific sections by name.
Three-Session Workflow
Standard JD pipeline uses 3 sessions for token efficiency + quality:
Session 1: /make-resume JDs/JD_xyz.txt
→ Phase 0 (research) → STOP → Phase 1 (bullets) → STOP → Phase 2 (resume) → STOP
→ "Resume done. Copy after /clear: /make-cl output//session_.md"
Session 2: /make-cl output/<Folder>/session_<name>.md
→ Load context → generate CL → compile → STOP
→ "CL done. Copy after /clear: /critique output//session_.md"
Session 3: /critique output/<Folder>/session_<name>.md
→ Full package critique → STOP
→ If approved: finalization check → "Package complete in output//"
If edits needed after critique: /clear → /edit-resume output//e2e_cv.tex output//critique.md /clear → /critique output//session_.md (re-critique)
Fresh Session Startup
CLAUDE.md is auto-loaded. These files are NOT — read them at skill start:
CLAUDE.md— check Active Sessions and KB Corrections Log- If resuming work on an existing JD: read its session file and pick up at Status → Next
- If starting a new JD: proceed to Phase 0
Session File System
Every JD gets a persistent session file: output/<FolderName>/session_<name>.md — the single source of truth for all context.
Naming: Derive <name> from company/role — lowercase, underscores (e.g., acme_engineer, natlab_postdoc).
All output files use the same key:
output/<FolderName>/session_<name>.md— context fileoutput/<FolderName>/e2e_<name>_resume.texor_cv.tex— generated documentoutput/<FolderName>/e2e_<name>_cover_letter.tex— cover letteroutput/<FolderName>/critique_<name>.md— critique
Re-read the session file at the start of EVERY phase to restore context after compaction.
Session File Derivation (for /make-cl, /critique, and /edit-resume)
From .tex path: strip e2e_ prefix (if present) + _resume.tex/_cv.tex/_cover_letter.tex suffix → <name>.
Example: output/Acme/e2e_acme_engineer_resume.tex → acme_engineer → look for session_acme_engineer.md
Search order:
- Direct path from $ARGUMENTS
- Folder path:
output/<FolderName>/session_<name>.md(derive FolderName from JD filename or session name) - Flat
output/(legacy):output/session_<name>.md CLAUDE.mdActive Sessions pointer- Glob:
output/**/session_*<company>*.md
If still not found:
/edit-resume: Tell user — "No session file exists. Run/make-resumefirst, or I can create a minimal one (JD Info + Framing Strategy inferred from .tex content)."/critique: Do 1-2 web searches to build minimal context. Note in critique: "No session file — framing context is approximate."/make-cl: Tell user — "No session file exists. Run/make-resumefirst."
Progress Commentary
Provide brief status updates at each major step. Minimum: what you're doing + what you found.
If a step takes more than ~30 seconds of silent processing, output a progress line. The user should never wonder if things are stuck.
Per-phase examples are in each SKILL.md.
Char Count Enforcement
Run python3 resume_builder/helpers/char_count.py after each section or position you write/edit.
The tool is authoritative — never trust mental math for char counts. If the tool fails, fall back to manual count and flag: "char_count.py unavailable — manual count, verify after compile."
Folder Creation (Phase 0 of /make-resume)
Trigger: Start of Phase 0 in /make-resume.
Steps:
- Derive folder name from JD filename:
JDs/JD_Acme.txt→output/Acme/ mkdir -p output/<FolderName>/- Write session file to
output/<FolderName>/session_<name>.md - All subsequent output files (from ALL skills) go in this folder
Finalization (after /critique approval)
Trigger: User approves final output at /critique STOP.
Steps:
- Verify all expected files exist in
output/<FolderName>/:session_<name>.mde2e_<name>_[resume|cv].tex+.pdf+ compile artifactse2e_<name>_cover_letter.tex+.pdf+ compile artifactscritique_<name>.md
- Confirm to user: "Package complete in output// — [N] files"
Session End Protocol
Before the session ends or user does /clear:
- Update session file Status — reflects actual state (which phase completed, what's next)
- Update memory pointer in
CLAUDE.mdActive Sessions - If mid-phase: Write a
## Resume Pointsection to the session file noting exactly where you stopped and what remains