Files
claude-resume-kit/.claude/skills/edit-resume/SKILL.md
T
Akhil Reddy Peeketi c51b49882f Initial release — claude-resume-kit v1.0
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
2026-03-09 02:42:10 -06:00

8.5 KiB

description, user-invocable
description user-invocable
Edit existing resume/CV or cover letter from critique feedback and user suggestions true

/edit-resume

User input: $ARGUMENTS

Parse $ARGUMENTS: First argument is the .tex file path (required). A .md path is the critique file. Text in quotes is inline instructions.

  • /edit-resume output/Acme/e2e_acme_resume.tex
  • /edit-resume output/Acme/e2e_acme_resume.tex output/Acme/critique_acme.md
  • /edit-resume output/Acme/e2e_acme_resume.tex "shorten Position 1 header, fill last page"

If only .tex path and no instructions: ask the user what to fix.


Safety Rules (ALWAYS ENFORCED)

Accuracy > Relevance > Impact > ATS > Brevity

Read config.md Provenance Flags before editing any content. Verify every claim against that table.

  • Use the email from config.md Personal Info in all outputs
  • Source ALL bullet content from resume_builder/experience/ files. Never fabricate.
  • Resume bullets: ALL variable bullets must be 2L (CV: 2L/3L mix OK, check config.md Document Preferences)
  • Run python3 resume_builder/helpers/char_count.py after edits — the tool is authoritative

FIXED Sections — Refuse if Asked to Edit

Check config.md FIXED Sections for the list of template-locked sections. Say no and explain: these are template-locked across all outputs.

VARIABLE sections only: Summary, Technical Skills, Research Experience bullets/headers.


User Input During Execution

If the user provides feedback, corrections, or suggestions at any point:

  1. Acknowledge the input immediately
  2. If it affects an already-applied edit: go back, fix it, re-run char count gate
  3. If it changes the edit plan: update session file, adjust remaining edits
  4. If it's a question: answer it, then continue from current step
  5. Never restart a phase — resume from current position

Startup

Read resume_builder/reference/shared_ops.md — Fresh Session Startup + Session File Derivation. Read CLAUDE.md — check Active Sessions and KB Corrections. Read config.md — load Provenance Flags, email, FIXED Sections, document preferences. Find and read the session file (use derivation protocol from shared_ops.md).

Recovery check:

  • Read session file, check for existing Edit N Status
  • If Edit N Status shows IN_PROGRESS: read .tex, identify which edits are done, resume
  • If no edit in progress: proceed to Phase 1

Phase 1: Load Context

Read in this order:

  1. Session file (output/<FolderName>/session_<name>.md) — note: Framing Strategy, Company Context, Bullet Plan, Edit History
  2. resume_builder/reference/resume_reference.md — char limits, budgets, fixed sections
  3. The .tex file being edited
  4. Critique file (if provided in $ARGUMENTS)
  5. JD file (path from session file's JD Info section)
  6. Compile current .tex and record baseline page count
  7. Run: python3 resume_builder/helpers/char_count.py -f [resume|cv] [file.tex]

Record baseline in session file under ## Edit [N] Baseline (scan existing Edit History sections; next N = max existing + 1, or 1 if none):

## Edit [N] Baseline
- Pages: [N]
- Char violations: [list or "none"]
- Orphan violations: [list or "none"]
- White space last page: [N lines]
- Variable bullets: [N]
- Rendered lines: [N]

Progress: "Reading session file — [company], [role type] bundle..." / "Baseline: 2 pages, 0 char violations, 1 orphan..."


Phase 2: Diagnose & Plan Edits

Gather change requests from THREE sources:

  1. User instructions from $ARGUMENTS (highest priority)
  2. Critique file (Tier 1 fixes first, then Tier 2)
  3. Auto-detected issues from Phase 1 (char violations, orphans, page fill)

Cross-check against session file framing strategy — edits must stay consistent with decisions from /make-resume.

For each change, classify:

  • MODIFY: Change text of existing bullet/summary/skills. Budget unchanged.
  • SWAP: Replace one bullet with another. Budget unchanged if same variant.
  • ADD: Insert new bullet. Budget increases by rendered lines.
  • REMOVE: Drop a bullet. Budget decreases.
  • VARIANT CHANGE: e.g., 2L → 3L. Budget changes by rendered line delta.
  • FIXED: Blocked — show in plan with [FIXED — cannot edit] and explain why.

Budget revalidation (if any change is ADD, REMOVE, SWAP-with-different-variant, or VARIANT CHANGE): Recalculate total variable bullets and rendered lines. Compare against budget from resume_reference.md. If OVER budget: present overflow and ask user which bullet to drop or shorten. Show: Budget: [N] bullets ([M] rendered lines) vs target [T]. PASS/FAIL

If edit targets cover letter (not resume/CV): note this — Phase 4 will use CL-specific gates. Load CL .tex path from session file Output Files section.

>>>>>> MANDATORY STOP — DO NOT PROCEED <<<<<<

Present numbered edit plan. Each item shows: what, why, source, classification (MODIFY/ADD/SWAP/FIXED). You MUST wait for the user's explicit text response before continuing. Proceeding without confirmation may make unwanted edits that break package consistency.


Phase 3: Load Reference Files (only confirmed edits)

Load ONLY what the confirmed edits need:

  • Bullet expand/rewrite/add: resume_builder/experience/ files + matching bundle + resume_builder/support/achievement_reframing_guide.md
  • Summary rewrite: Bundle (S2 summary guide) + resume_builder/support/skills_taxonomy.md
  • Cover letter edits: resume_builder/support/significance_*.md + resume_builder/reference/cl_reference.md
  • Simple fixes (orphans, headers, spacing): No extra files needed

Phase 4: Execute Edits

Apply edits one section at a time. After each edited section:

  1. Run char count gate:
    python3 resume_builder/helpers/char_count.py -f [resume|cv] output/<FolderName>/[file].tex
    
  2. Fix any OVER violations or orphans before next section
  3. If a bullet expansion doesn't render as expected (1L when targeting 2L, or 3L), adjust immediately

Update session file Edit N Status after each individual edit:

  • Edit 1 (orphan fix): DONE
  • Edit 2 (Summary rewrite): IN_PROGRESS

Resume/CV Verification Gates

Gate Check If FAIL
Char count No OVER violations Fix bullet before proceeding
Page fill Resume: <= 3 lines white space. CV: check rendered line target Expand/trim variable bullets
Page count Match config.md Document Preferences Trim/expand variable content
Orphan 2L bullet last line >= 70% Pad or trim
Title width Position title + date fits 1 line Shorten title
Compile Clean pdflatex Fix LaTeX errors

Cover Letter Verification Gates (if CL was edited)

Gate Check If FAIL
Word count Industry 250-300, Lab/Academic 350-450 Trim/expand
Page fill 1pg: well-filled. 2pg: page 2 >= half filled before signature Adjust
Paragraph count Industry 3, Lab/Academic 4 Restructure
Anti-patterns No generic opener, no defensive framing, no credential dump Rewrite
Package cohesion CL claims traceable to resume bullets, no contradictions Fix

After all edits, compile:

pdflatex -interaction=nonstopmode -output-directory=output/<FolderName> output/<FolderName>/[file].tex

Use the Read tool to view the compiled PDF — check page count, white space, orphans, header wrapping.

Progress: "Editing Position 1 bullet 6 — was 184 chars, now 197..." / "Compiling... 2 pages, page fill OK"


Phase 5: Update Session File & Present

  1. Append Edit History (use the N from Phase 1 baseline):

    ### Edit [N] ([date]): [short description]
    - Changes: [what changed]
    - Source: critique item # / user request / auto-detected
    - Verification: gates passed
    
  2. Compare against baseline:

    Metric Before After Delta
    Page count [N] [N] [+/-]
    Char violations [N] [N] [+/-]
    Orphans [N] [N] [+/-]
    White space [N] [N] [+/-]

    Flag any metric that worsened.

  3. Update Status — mark critique as STALE if edits made after last critique. Update Next.

  4. Update memory pointer if status changed.

  5. Present: Changes summary + delta table + compiled PDF.

>>>>>> MANDATORY STOP <<<<<<

Show results. Wait for user approval or further edits. You MUST wait for the user's explicit text response before continuing.

When user approves / says "looks good" / finalizes:

Run file organization from resume_builder/reference/shared_ops.md — Finalization check.