-
-
Notifications
You must be signed in to change notification settings - Fork 25.1k
feat(skills): add 7 CS academic writing and resume building skills #1488
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
6061c76
bae0f5d
48338e5
633edc0
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -22,6 +22,7 @@ function validateSkills() { | |||||
| let validCount = 0; | ||||||
|
|
||||||
| for (const dir of dirs) { | ||||||
| if (dir.startsWith('_')) continue; | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
The single-line addition silently extends the Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time! |
||||||
| const skillMd = path.join(SKILLS_DIR, dir, 'SKILL.md'); | ||||||
| if (!fs.existsSync(skillMd)) { | ||||||
| console.error(`ERROR: ${dir}/ - Missing SKILL.md`); | ||||||
|
|
||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,92 @@ | ||
| # Resume Common Reference | ||
|
|
||
| Shared material used by `harvard-resume-validator`, `kickass-resume-validator`, and `resume-job-alignment`. This file is not itself a skill — it has no `SKILL.md` — it is a deduplicated reference the resume skills link to so they can focus on what makes them distinct. | ||
|
|
||
| ## Action-Verb Bank | ||
|
|
||
| Group by category. Start every bullet with one of these; vary choices so the same verb doesn't appear twice in a row. | ||
|
|
||
| | Category | Verbs | | ||
| |----------|-------| | ||
| | Leadership | Led, Directed, Managed, Spearheaded, Championed, Orchestrated, Coordinated, Oversaw, Mentored | | ||
| | Build / Create | Built, Designed, Developed, Engineered, Architected, Implemented, Launched, Shipped, Deployed | | ||
| | Improve | Optimized, Improved, Enhanced, Refined, Strengthened, Accelerated, Streamlined, Automated | | ||
| | Analyze | Analyzed, Evaluated, Assessed, Examined, Investigated, Measured, Benchmarked, Profiled | | ||
| | Communicate | Presented, Articulated, Advocated, Pitched, Documented, Published, Open-sourced | | ||
| | Quantified impact | Increased, Reduced, Expanded, Generated, Cut, Saved, Scaled | | ||
|
|
||
| Avoid: "Responsible for", "Helped with", "Worked on", "Was involved in", "Contributed to" (without specifics). | ||
|
|
||
| ## Weak-Phrase → Strong-Phrase Substitutions | ||
|
|
||
| | Weak | Strong | | ||
| |------|--------| | ||
| | Responsible for X | Led X / Owned X | | ||
| | Helped the team do Y | Partnered with team to ship Y, delivering Z impact | | ||
| | Worked on backend | Built [specific component] in [language/stack], handling [scale] | | ||
| | Involved in project | Drove project that achieved [measurable outcome] | | ||
| | Contributed to codebase | Shipped N pull requests merged to mainline, including [notable change] | | ||
| | Tried to improve performance | Reduced latency from Ams to Bms via [technique] | | ||
| | Used various tools | Used [named tools]: X, Y, Z | | ||
|
|
||
| ## One-Page Formatting Rules | ||
|
|
||
| - Letter size 8.5" × 11"; 0.5"–1" margins all around. | ||
| - 10–11 pt body; 12–14 pt headers. Avoid < 10 pt. | ||
| - Consistent font throughout (Computer Modern, Helvetica, Times, or Source Sans Pro). | ||
| - Dates formatted uniformly (e.g. "Jun 2024 – Aug 2024" — pick one style, apply everywhere). | ||
| - Bullets 1–2 lines each. Long bullets signal you haven't cut filler. | ||
| - Every bullet starts with a strong action verb; every bullet contains a metric when plausible. | ||
| - No personal pronouns ("I", "me", "we"). Past tense for every role, even current ones. | ||
|
|
||
| ## LaTeX ATS Pitfalls | ||
|
|
||
| ATS (applicant-tracking systems) parse the PDF's text layer, so anything that hides text inside an image, table cell, or multi-column region can vanish. | ||
|
|
||
| | Pitfall | Why it breaks ATS | Fix | | ||
| |---------|-------------------|-----| | ||
| | `\includegraphics` of resume content | ATS extracts text, not pixels | Don't embed images; use text | | ||
| | TikZ / PSTricks graphics | Renders as vector art; no text layer | Replace with text + borders | | ||
| | Multi-column layouts | Parsers read left-to-right linearly; columns scramble | Use single column | | ||
| | Tables for layout | Some parsers skip cell text | Use `\itemize` or newlines | | ||
| | Custom fonts not embedded | Parser falls back to glyph codes | Use `pdflatex`/`xelatex` defaults; verify `Fonts` tab in Preview | | ||
| | `\footnote{}` for content | Some parsers drop footnotes | Inline as parenthetical | | ||
| | Non-ASCII bullets / dingbats | Symbol substitution → garbled text | Stick to `-` or `\textbullet` | | ||
| | Header/footer metadata (name repeated) | Parsers may overwrite the main author line | Put contact info in body, not in `\fancyhdr` | | ||
|
|
||
| ## Quick ATS Test | ||
|
|
||
| ```bash | ||
| pdftotext resume.pdf - | less | ||
| ``` | ||
|
|
||
| If you see missing sections, scrambled column order, or no bullet characters, your layout is hiding text from ATS parsers. | ||
|
|
||
| ## Safe LaTeX Preamble | ||
|
|
||
| ```latex | ||
| \documentclass[11pt]{article} | ||
| \usepackage[margin=0.6in]{geometry} | ||
| \usepackage[T1]{fontenc} | ||
| \usepackage[utf8]{inputenc} | ||
| \usepackage{hyperref} | ||
| \usepackage{enumitem} | ||
| \setlist[itemize]{leftmargin=*, itemsep=2pt, topsep=2pt} | ||
| \pagenumbering{gobble} | ||
| ``` | ||
|
|
||
| This compiles on stock `pdflatex` and produces a single-column, ATS-parseable PDF. | ||
|
|
||
| ## Section Inventory | ||
|
|
||
| Standard sections, in rough order of prevalence. Which ones are required and how they're ordered depends on which validator you're following — see the individual skill files. | ||
|
|
||
| - Header (name, email, phone, location, links) | ||
| - Education | ||
| - Experience (also called Work Experience, Professional Experience) | ||
| - Projects (often merged into Experience for professionals) | ||
| - Skills (technical; sometimes split into Languages / Frameworks / Tools) | ||
| - Leadership / Activities (undergrad emphasis) | ||
| - Industry Involvement (hackathons, speaking, open source) | ||
| - Awards / Honors | ||
| - Publications (research-leaning candidates) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Keep the Codex skills count consistent in this row.
Line 1331 still says Codex has
10 (native format)skills, but the Codex section above reports30skills at Line 1135. Since this row is already being updated, align the Codex count here too.📝 Proposed docs fix
📝 Committable suggestion
🤖 Prompt for AI Agents