-
-
Notifications
You must be signed in to change notification settings - Fork 9.5k
feat: Jake's Resume template as default + /add command #647
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
Open
parthdiwane
wants to merge
8
commits into
santifer:main
Choose a base branch
from
parthdiwane:feat/jake-resume-template-and-add-command
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
3d1319e
feat: Jake's Resume template as default + /add command
parthdiwane 97bd7ae
fix: address all CodeRabbit review issues from PR #647
parthdiwane f587036
fix(tests): guard AGENTS.md read with fileExists check
parthdiwane c654768
fix(tests): replace brittle step-number checks with semantic section …
parthdiwane 77f926a
fix(tests): regex package-ban checks + simplify over-escaped Experien…
parthdiwane aea1c35
chore: ignore personal resume files (cv-backup.md, resume.tex, resume…
parthdiwane 15119ba
fix(tests): tighten confirmation check — drop permissive Proceed match
parthdiwane 05a73ba
Merge branch 'main' into feat/jake-resume-template-and-add-command
parthdiwane File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,193 @@ | ||
| # Mode: add — Add New Content to CV | ||
|
|
||
| Add a project, experience, publication, or skill to `cv.md` and `article-digest.md` so every future CV generation includes it. | ||
|
|
||
| ## Input Formats | ||
|
|
||
| The user can pass: | ||
| - **GitHub URL** — `https://github.com/user/repo` | ||
| - **Project/portfolio page URL** — any public URL describing a project | ||
| - **Research paper URL** — arXiv, ACL, IEEE, journal page | ||
| - **Plain text** — freeform description of a project, role, or skill to add | ||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
|
|
||
| Multiple items can be passed in one call separated by commas or newlines. | ||
|
|
||
| ## Pipeline | ||
|
|
||
| ### Step 1 — Classify the input | ||
|
|
||
| For each item, determine its type: | ||
|
|
||
| | Signal | Classification | | ||
| |--------|----------------| | ||
| | `github.com` URL | **project** (fetch repo info + README) | | ||
| | arXiv / ACL / DOI / journal URL | **publication** | | ||
| | Company name + role + dates in text | **experience** | | ||
| | Tech list (comma-separated tools/languages) | **skill** | | ||
| | Any other URL or rich description | **project** | | ||
|
|
||
| ### Step 2 — Fetch content (for URLs) | ||
|
|
||
| **GitHub repos:** | ||
| 1. Use WebFetch to `https://api.github.com/repos/{owner}/{repo}` — extract: `description`, `language`, `topics`, `stargazers_count`, `html_url` | ||
| 2. Use WebFetch on the raw README (`https://raw.githubusercontent.com/{owner}/{repo}/main/README.md` or `master`) — extract tech stack, features, key outcomes | ||
| 3. If both fail, use WebFetch on the HTML page directly | ||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
|
|
||
| **Other URLs:** | ||
| 1. Try `browser_navigate` + `browser_snapshot` (Playwright) to render JS-heavy pages | ||
| 2. Fall back to WebFetch for static pages | ||
|
|
||
| **Never invent content.** Only use what is demonstrably on the page. If a page is inaccessible, ask the user to paste the description manually. | ||
|
|
||
| ### Step 3 — Extract structured data | ||
|
|
||
| Extract as much as available. Mark missing fields as `null`: | ||
|
|
||
| ``` | ||
|
coderabbitai[bot] marked this conversation as resolved.
Outdated
|
||
| name: (string) project/company/paper name | ||
| type: project | experience | publication | skill | ||
| url: (string|null) canonical URL | ||
| dates: (string|null) e.g. "Jan 2025 – Mar 2025" or "2024" | ||
| tech_stack: (string[]|null) languages, frameworks, tools | ||
| description: (string) 1-2 sentence summary | ||
| bullets: (string[]) 2-4 achievement bullets — quantified where possible | ||
| hero_metric: (string|null) the single best proof point (e.g. "84% accuracy", "2K stars") | ||
| ``` | ||
|
|
||
| **For publications:** also extract `venue` (conference/journal name) and `co-authors`. | ||
| **For experience:** also extract `company`, `location`, `role_title`. | ||
|
|
||
| ### Step 4 — Generate bullets | ||
|
|
||
| Write 2-4 bullets using the same style as the existing `cv.md`: | ||
| - Action verb first, past tense (present tense only for current roles) | ||
| - Quantify outcomes where the source provides numbers | ||
| - NEVER invent metrics — use what is on the page or leave unquantified | ||
| - Keep it concise and ATS-friendly (no buzzwords) | ||
|
|
||
| Example transformation: | ||
| > README says "used PyTorch to train a model that classifies 10K images per second" | ||
| → `Trained PyTorch image classifier achieving 10K img/sec throughput` | ||
|
|
||
| ### Step 5 — Show a preview and ask for confirmation | ||
|
|
||
| Before writing anything, display a formatted preview: | ||
|
|
||
| ``` | ||
| ── PREVIEW ────────────────────────────────────── | ||
|
|
||
| [PROJECT] Semantic Search Engine | ||
| URL: https://github.com/janesmith/semantic-search | ||
| Dates: Jan 2025 – Mar 2025 | ||
| Tech: Python, PyTorch, FAISS, FastAPI | ||
| Bullets: | ||
| • Built semantic search engine over 500K documents using dense retrieval (FAISS + bi-encoder) | ||
| • Reduced average query latency from 420ms to 38ms via quantized embeddings | ||
| • Deployed as FastAPI service with 99.9% uptime over 90-day production run | ||
|
|
||
| This will be added to: | ||
| → cv.md (Projects section) | ||
| → article-digest.md (proof points) | ||
|
|
||
| Proceed? [yes / edit / skip] | ||
| ───────────────────────────────────────────────── | ||
| ``` | ||
|
|
||
| - **yes / y** → write to files | ||
| - **edit** → ask what to change, then show preview again | ||
| - **skip / no** → skip this item, move to next | ||
|
|
||
| ### Step 6 — Write to cv.md | ||
|
|
||
| Locate the correct section by type: | ||
|
|
||
| | Type | Section in cv.md | | ||
| |------|-----------------| | ||
| | `project` | `## Projects` | | ||
| | `experience` | `## Experience` | | ||
| | `publication` | `## Experience` (or `## Publications` if it exists) | | ||
| | `skill` | `## Technical Skills` (merge into existing categories) | | ||
| | `education` | `## Education` | | ||
|
|
||
| **NEVER duplicate.** Before adding, check if the project/company/role name already appears in cv.md. If it does, ask the user whether to update the existing entry or skip. | ||
|
|
||
| **Format for projects** (match existing cv.md style): | ||
| ```markdown | ||
| ### {name} | {dates} | ||
| **Technologies:** {tech_stack joined by ", "} | ||
| - {bullet 1} | ||
| - {bullet 2} | ||
| - {bullet 3} | ||
| ``` | ||
|
|
||
| **Format for experience:** | ||
| ```markdown | ||
| ### {role_title} | {dates} | ||
| **{company}** | ||
| - {bullet 1} | ||
| - {bullet 2} | ||
| - {bullet 3} | ||
| ``` | ||
|
|
||
| **Format for publications:** | ||
| ```markdown | ||
| ### {title} | {year} | ||
| **{venue}** — co-authored with {co-authors} | ||
| - {contribution bullet} | ||
| - URL: {url} | ||
| ``` | ||
|
|
||
| **Format for skills** — merge into the existing `**Category:**` lines. If the tech doesn't fit an existing category, add a new one. | ||
|
|
||
| **Placement within section:** Add new projects/experience at the TOP of their section (most recent first). Skills are merged alphabetically within each category. | ||
|
|
||
| ### Step 7 — Write to article-digest.md | ||
|
|
||
| If `article-digest.md` does not exist, create it with this header: | ||
| ```markdown | ||
| # Article & Project Digest | ||
|
|
||
| Compact proof points for use during CV generation and evaluations. | ||
| ``` | ||
|
|
||
| Append a new entry: | ||
| ```markdown | ||
| ## {name} | ||
|
|
||
| - **Type:** {type} | ||
| - **URL:** {url} | ||
| - **Dates:** {dates} | ||
| - **Tech:** {tech_stack} | ||
| - **Hero metric:** {hero_metric} | ||
| - **Summary:** {description} | ||
| - **Proof points:** | ||
| - {bullet 1} | ||
| - {bullet 2} | ||
| - {bullet 3} | ||
| ``` | ||
|
|
||
| ### Step 8 — Confirm and summarize | ||
|
|
||
| After writing, report: | ||
|
|
||
| ``` | ||
| ✅ Added to cv.md: | ||
| → Projects: Semantic Search Engine (Jan 2025 – Mar 2025) | ||
|
|
||
| ✅ Added to article-digest.md: | ||
| → Semantic Search Engine — hero metric: "38ms query latency" | ||
|
|
||
| Future CVs will now include this project and prioritize it for relevant roles. | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## Rules | ||
|
|
||
| - **NEVER invent data** that is not on the source page or provided by the user | ||
| - **NEVER overwrite** existing entries — only add or merge | ||
| - **ALWAYS confirm** before writing (Step 5) | ||
| - **Data goes to cv.md and article-digest.md** — these are user-layer files, correct by design | ||
| - If the URL is inaccessible, ask the user to paste the content instead of guessing | ||
| - If dates are unknown, omit them rather than guessing | ||
| - Run `node cv-sync-check.mjs` silently after writing and report any warnings | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.