From 54f7b91aa6dab133da4ef319eab60aaa92d44c94 Mon Sep 17 00:00:00 2001 From: Akhil Reddy Peeketi Date: Mon, 9 Mar 2026 19:12:16 -0600 Subject: [PATCH] feat: add CL hook verification, JD copy, and PDF rename to kit - cl_reference.md: mandatory web-search verification for all CL hooks - make-cl/SKILL.md: hook verification gate before presenting CL draft - critique/SKILL.md: step 8b paper hook verification (Tier 1 if wrong) - shared_ops.md: copy JD into output folder during Phase 0 - shared_ops.md: rename final PDFs to clean names at finalization --- .claude/skills/critique/SKILL.md | 1 + .claude/skills/make-cl/SKILL.md | 14 ++++++++++++++ resume_builder/reference/cl_reference.md | 12 ++++++++++++ resume_builder/reference/shared_ops.md | 11 ++++++++--- 4 files changed, 35 insertions(+), 3 deletions(-) diff --git a/.claude/skills/critique/SKILL.md b/.claude/skills/critique/SKILL.md index c98fdcf..876e97d 100644 --- a/.claude/skills/critique/SKILL.md +++ b/.claude/skills/critique/SKILL.md @@ -75,6 +75,7 @@ Find and read the session file for the .tex being critiqued (use derivation prot Use the Read tool to view the compiled PDF — check orphans, page fill, header wrapping. If compile fails: note "COMPILE FAILED — visual checks could not be verified" in Part 8. 8. If a prior critique exists (`output//critique_.md`): read it and note previous score. +8b. **Paper Hook Verification:** If the CL cites named papers, PIs, programs, or publications, web-search to verify title, journal, year, and PI affiliation. Flag factual errors as Tier 1 fixes. 9. **Run the full critique per critique_framework.md. The output MUST contain ALL 8 sections** (even if the framework file has partially compacted, produce every section): diff --git a/.claude/skills/make-cl/SKILL.md b/.claude/skills/make-cl/SKILL.md index 070c894..0b7701b 100644 --- a/.claude/skills/make-cl/SKILL.md +++ b/.claude/skills/make-cl/SKILL.md @@ -88,6 +88,20 @@ Save to `output//e2e__cover_letter.tex` Progress: "Writing [institution type] cover letter — [N] paragraphs, targeting [N] words..." +### CL Hook Verification Gate (MANDATORY before presenting to user) + +Web-search every hook used in the CL: +- Academic: PI name + cited paper/research area +- National Lab: named program, thrust area, or group publication +- Industry: product, technology, or company news referenced + +Present evidence as: +> **Claim:** [what the CL says] → **Evidence:** [what the search found] → **Source:** [URL] + +Flag any unverified item: **"UNVERIFIED — please confirm"** + +Do NOT present the CL draft to the user until all hooks are verified or flagged. + --- ## Phase 3: Compile & Verify diff --git a/resume_builder/reference/cl_reference.md b/resume_builder/reference/cl_reference.md index 47c6e41..a1b63dc 100644 --- a/resume_builder/reference/cl_reference.md +++ b/resume_builder/reference/cl_reference.md @@ -82,6 +82,18 @@ --- +## CL Hook Verification (MANDATORY) + +Before presenting any CL draft to the user, web-search and verify every external reference: +- **Academic:** PI name + cited paper title/topic → confirm paper exists, journal, year +- **National Lab:** Named program, thrust area, or group publication → confirm it exists +- **Industry:** Product name, technology claim, or company news → confirm accuracy + +**If verified:** Note source URL in session file Cover Letter Plan. +**If unverified:** Flag as **"UNVERIFIED — please confirm"** in the draft. Never guess names, titles, or journal details. + +--- + ## CL Anti-Patterns - No generic opener ("I am writing to express my interest...") diff --git a/resume_builder/reference/shared_ops.md b/resume_builder/reference/shared_ops.md index eaa73cf..16f1bfd 100644 --- a/resume_builder/reference/shared_ops.md +++ b/resume_builder/reference/shared_ops.md @@ -97,8 +97,9 @@ The tool is authoritative — never trust mental math for char counts. If the to **Steps:** 1. Derive folder name from JD filename: `JDs/JD_Acme.txt` → `output/Acme/` 2. `mkdir -p output//` -3. Write session file to `output//session_.md` -4. All subsequent output files (from ALL skills) go in this folder +3. Copy JD file into output folder: `cp JDs/ output//` +4. Write session file to `output//session_.md` +5. All subsequent output files (from ALL skills) go in this folder ## Finalization (after /critique approval) @@ -110,7 +111,11 @@ The tool is authoritative — never trust mental math for char counts. If the to - `e2e__[resume|cv].tex` + `.pdf` + compile artifacts - `e2e__cover_letter.tex` + `.pdf` + compile artifacts - `critique_.md` -2. Confirm to user: "Package complete in output// — [N] files" +2. Rename final PDFs for submission (derive name from `config.md` Personal Info): + - `cp e2e__[resume|cv].pdf __[Resume|CV].pdf` + - `cp e2e__cover_letter.pdf __Cover_Letter.pdf` + - Keep originals alongside +3. Confirm to user: "Package complete in output// — [N] files" ---