add formatting
Some checks failed
Build and Release Resume PDF / build (push) Failing after 2m51s

This commit is contained in:
2026-03-27 15:23:21 -04:00
parent c47297342d
commit e12f97c216
17 changed files with 440 additions and 99 deletions

34
.github/copilot-instructions.md vendored Normal file
View File

@@ -0,0 +1,34 @@
# Project Guidelines
## Code Style
- Primary source is `main.tex`; keep edits focused there unless build config changes are required.
- Follow existing LaTeX macro style: reusable `\newcommand` helpers for resume blocks (e.g., `\resumeSubheading`, `\resumeEducation`, `\resumeItem`).
- Preserve compact spacing/layout conventions (`\vspace`, custom `\titleformat`, `tabular*` alignment) unless asked to redesign formatting.
- Keep package usage consistent with current preamble and avoid adding new packages unless required for a user request.
## Architecture
- This workspace is a single-document resume project.
- `main.tex` contains both template macros and resume content.
- Files like `main.aux`, `main.fdb_latexmk`, and `main.fls` are generated build artifacts, not source-of-truth.
- `glyphtounicode` is included for text extractability/ATS friendliness via `\pdfgentounicode=1`.
## Build and Test
- Build PDF (preferred): `latexmk -pdf main.tex`
- Alternative build: `pdflatex main.tex` (run multiple times if references/layout need settling)
- Clean artifacts: `latexmk -c`
- Validate by checking successful compile and reviewing resulting `main.pdf` for layout overflow/line wrapping regressions.
## Project Conventions
- Use existing macros instead of ad-hoc formatting in section bodies.
- Keep section/list structure aligned with current pattern: `\resumeSubHeadingListStart` / `\resumeSubHeadingListEnd` and `\resumeItemListStart` / `\resumeItemListEnd`.
- Keep content concise and achievement-oriented; avoid large prose blocks that break one-page layout assumptions.
- Do not manually edit generated files (`*.aux`, `*.fdb_latexmk`, `*.fls`, etc.); `.gitignore` already treats these as build outputs.
## Integration Points
- External links are rendered with `hyperref` (`hidelinks`) and should stay valid/HTTPS.
- Typography/layout relies on current package set (`sourcesanspro`, `titlesec`, `multicol`, `tabularx`); changing these can significantly alter spacing.
## Security
- Resume data includes personally identifiable information (name, location, email, phone, profile URLs).
- Do not invent or expose new sensitive personal details when generating edits.
- Prefer placeholders when asked to add unknown contact/private information.

95
.github/prompts/resume-review.prompt.md vendored Normal file
View File

@@ -0,0 +1,95 @@
---
name: "Resume Review"
description: "Use when: reviewing your resume as a hiring manager for SWE roles at startups or big tech / FAANG. Reads the LaTeX source, builds the PDF, views the rendered layout, and delivers structured feedback covering ATS keywords, impact metrics, clarity, and formatting."
agent: agent
---
You are an experienced software engineering hiring manager who has hired engineers at top-tier startups and FAANG companies. Your standards are high. You are evaluating this resume as though it just landed in your inbox for a mid-to-senior software engineering role. Be direct, specific, and constructive — prioritize signal over style.
## Your Task
Review the candidate's resume by following the steps below in order.
### Step 1 — Read the LaTeX source
Read [main.tex](../main.tex) to understand the full content and structure of the resume: sections, roles, dates, technologies, bullet text, projects, certifications, and any formatting macros.
### Step 2 — Build the PDF
Run the following command in the terminal to compile the resume:
```
latexmk -pdf main.tex
```
If the build produces errors, include them as a finding under **Formatting & Layout** (e.g., "Compile error on line X — fix before submission"). Continue the review using the LaTeX source regardless.
### Step 3 — View the rendered PDF
Clean up any stale preview files, then convert the first page of the built PDF to a PNG and view it:
```
rm -f main-preview*.png
pdftoppm -r 150 -png main.pdf main-preview
```
Then use #tool:view_image to view `main-preview-1.png`.
If this step fails for any reason (conversion error, tool unavailable, file not found), note it briefly — e.g., *"PDF preview unavailable — layout assessment based on LaTeX source only"* — and proceed. Do not retry or block on this step.
### Step 4 — Deliver structured feedback
Write your review using exactly the sections below. Be specific: quote bullet text, name technologies, cite line counts or spacing observations. Avoid vague commentary.
---
## Resume Review
### Overall Impression
*Pass / Borderline / No — and why in 23 sentences.* Would this clear a 30-second recruiter screen and reach your desk? Would it pass ATS filtering for a standard SWE job description at a startup or FAANG?
### Strengths
What genuinely stands out? Consider: recognizable employers or schools, strong quantified impact, relevant technical depth, notable projects, certifications, or clean presentation. Be honest — only list real strengths.
### ATS & Keywords
Evaluate keyword coverage for a mid-to-senior SWE role at a startup or FAANG. Consider:
- Programming languages (e.g., Python, Java, Go, TypeScript)
- Cloud platforms and services (e.g., AWS, GCP, Azure, Lambda, S3, EKS)
- Frameworks and tools (e.g., React, Spring Boot, Kubernetes, Terraform, Kafka)
- Engineering practices (e.g., CI/CD, microservices, distributed systems, REST, gRPC)
- Certifications (e.g., AWS SAA, CKA)
List keywords that are **present and strong**, **present but weak** (mentioned once or vaguely), and **missing or underrepresented** relative to typical FAANG/startup JDs.
### Impact & Metrics
Are accomplishments achievement-oriented and quantified? Review each bullet:
- Does it lead with a strong action verb?
- Does it state *what* was built/improved *and* the measurable result (latency, throughput, cost, scale, time saved, error rate)?
- Are there weak "responsible for" or "worked on" bullets that should be rewritten?
Call out specific bullets that are strong and specific bullets that need work (quote them).
### Clarity & Conciseness
Flag any content that is:
- Vague or jargon-heavy without substance
- Redundant across bullet points or sections
- Overlong (bullets exceeding ~90 characters or two lines in the rendered PDF)
- Confusing to someone unfamiliar with the employer's internal terminology
### Formatting & Layout
Assess the rendered visual (or LaTeX structure if PDF unavailable):
- Is the layout clean and easy to scan in 30 seconds?
- Is whitespace used well, or does it feel cramped/padded to fill space?
- Does it fit on one page without overflow?
- Are section headers, dates, and company names visually distinct?
- Any alignment, spacing, or typography issues?
If PDF preview was unavailable, state that clearly and base this section on the LaTeX source structure.
### Top 35 Actionable Improvements
List the highest-priority changes the candidate should make before submitting, ranked by impact. Each item should be:
- **Specific**: name the section, line, or bullet
- **Actionable**: say exactly what to change or add
- **Justified**: one sentence on why it matters for startup/FAANG hiring
Format as a numbered list.

44
.github/workflows/build-resume.yaml vendored Normal file
View File

@@ -0,0 +1,44 @@
name: Build and Release Resume PDF
on:
push:
branches:
- main
paths:
- 'main.tex'
- '.github/workflows/build-resume.yaml'
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install LaTeX dependencies
run: |
sudo apt-get update
sudo apt-get install -y latexmk texlive-latex-base texlive-latex-extra texlive-fonts-recommended
- name: Build PDF
run: latexmk -pdf main.tex && mv main.pdf Alice_Huston_Resume_Software_Engineer.pdf
- name: Upload PDF artifact
uses: actions/upload-artifact@v3
with:
name: resume-pdf
path: Alice_Huston_Resume_Software_Engineer.pdf
- name: Create Release
if: success()
uses: softprops/action-gh-release@v1
with:
files: Alice_Huston_Resume_Software_Engineer.pdf
tag_name: resume-${{ github.run_number }}
body: "Resume PDF built from commit ${{ github.sha }}"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}