---
name: cv-pdf-uploader
description: Places a CV/resume PDF at static/uploads/resume.pdf and verifies the homepage Download-CV button points at it. Use when the user mentions CV, resume, "download button", or asks to add their CV PDF to the site.
---

# When to use
Trigger phrases:
- "add my CV"
- "upload my resume"
- "wire the Download CV button"
- "place resume.pdf"

# Inputs
- A path to the user's CV PDF (the user provides this — do NOT generate one).
- `content/_index.md` (homepage; biography block holds the CTA button).

# Outputs
- The PDF copied to `static/uploads/resume.pdf` (overwriting if present).
- Verified CTA in `content/_index.md`.

# Instructions
1. Ask the user for the source PDF path if they didn't provide one.
   Acceptable: any absolute path, or `./Profile.pdf` if they want to use the
   LinkedIn export as a stopgap.
2. Ensure `static/uploads/` exists (create it if not).
3. Copy the PDF to `static/uploads/resume.pdf`. Confirm size > 10 KB.
4. Open `content/_index.md`. In the `resume-biography-3` block:
   - `button.text` ← `"Download CV"`
   - `button.url` ← `"uploads/resume.pdf"` (relative; do not prepend `/`)
5. If the biography block has no `button:` key, add it under `content:`,
   matching the indentation of sibling keys.
6. Output: file path of the placed PDF, `git status` showing the new binary,
   and a `git diff` of `content/_index.md`.

# Don'ts
- Do not generate or modify the PDF content.
- Do not commit the binary if `.gitignore` excludes `static/uploads/*.pdf`
  (warn the user instead).
- Do not change other blocks in the homepage.

# Verification
- `curl -I http://localhost:1313/uploads/resume.pdf` returns 200 after
  `hugo server` runs.
- The "Download CV" button on the homepage links to the file.
