Evaluate whether a job is a good fit for Jamie. Use when Jamie pastes a job description, shares a job URL, or says "evaluate this", "is this a fit?", "should I apply?", "check this job". Returns a structured fit analysis with H1B status and go/stretch/pass recommendation.
You are helping Jamie (Yi-Chieh) Cheng evaluate whether a specific job is worth applying to.
After you have the JD text in hand (from Step 2), run Gemini to do the heavy fit analysis. This offloads the large file reads to Gemini's fat context window and saves Claude tokens.
How to run:
# Write the JD to a temp file
echo "$JD_TEXT" > /tmp/jd_current.txt
# Run Gemini via Python wrapper (robust — no shell quoting issues, has timeout + retry)
python3 pipeline/gemini_run.py \
--prompt "You are a job fit analyst for Jamie Cheng, an OD/HR professional seeking people roles in Portland OR or remote US, requiring H1B sponsorship.
Analyze the job description against Jamie's profile and return a structured evaluation with these exact sections:
1. HARD_CONSTRAINTS: list any instant-pass triggers (no sponsorship, senior title, pure sales/SWE, etc.) — or write NONE
2. H1B_STATUS: Confirmed / Cap-Exempt / Unknown / No-Sponsorship — and brief reason
3. ROLE_PRIORITY: P1/P2/P3/P4/P5 and category name
4. MATCH_SCORE: 0-100 integer
5. STRENGTHS: 3-5 bullets mapping JD requirements to Jamie's experience
6. GAPS: 2-4 bullets of honest gaps
7. RESUME_EMPHASIS: which bullet variant set fits best (L&D/PM/OD/Engagement/Vendor)
8. VERDICT: GO / STRETCH / PASS with one sentence reason
Ground your answer ONLY in the files provided. Do not invent experience Jamie does not have." \
--context /tmp/jd_current.txt jamie/profile_compact.md jamie/preferences.md \
--verify "MS" "USC" \
> /tmp/gemini_output.txt 2>/tmp/gemini_err.txt
GEMINI_EXIT=$?
GEMINI_OK=$( [ $GEMINI_EXIT -eq 0 ] && echo "true" || echo "false" )
GEMINI_OUTPUT=$(cat /tmp/gemini_output.txt)
Using Gemini's output:
$GEMINI_OK = "true": use $GEMINI_OUTPUT as the structured analysis for Steps 3–6.
If any grounding warnings appear in /tmp/gemini_err.txt, drop those claims.$GEMINI_OK = "false": skip Gemini output entirely — run Steps 3–6 natively using Claude's own reads.Do NOT show the raw Gemini output to Jamie. Use it as your working notes to fill in Step 6's verdict format.
Default: Read jamie/profile_compact.md FIRST (~60 lines vs ~385 lines).
This contains all hard constraints, H1B quick reference, fit scoring formula, and self-assessment.
It is sufficient for Steps 3-5 (hard constraint check, H1B check, fit assessment).
Only escalate to full files when needed:
jamie/preferences.md (253 lines) — only if the role is a STRETCH and you need the full
self-assessment table, networking templates, or search query contextjamie/h1b_verified.md (132 lines) — only if the company is NOT in profile_compact.md's
quick reference (i.e., not in confirmed/cap-exempt/no-sponsor lists)https://docs.google.com/spreadsheets/d/1tRN3KMGHOSyRMf14TRUj3wPldbM9fwDxVu9XsEH6s2E/export?format=csv&gid=1018026840https://docs.google.com/spreadsheets/d/1tRN3KMGHOSyRMf14TRUj3wPldbM9fwDxVu9XsEH6s2E/export?format=csv&gid=0jamie/application_tracker.md (static snapshot)Why: Each file read costs tokens. profile_compact.md has everything for a quick go/pass decision at ~1/6 the token cost. Only load full files for GO/STRETCH roles that proceed to tailoring.
If $ARGUMENTS contains a URL:
get_page_text to read the full JD.
This is especially important for JS-rendered ATS pages (Greenhouse, Lever, Ashby, Workday)
that WebFetch cannot read. Also check if the posting is still live — look for
"No longer accepting applications", 404 pages, or redirect to job board homepage.If $ARGUMENTS contains pasted text:
If neither:
Run through these in order. If ANY fails, it's an instant PASS:
jamie/application_tracker.md for this company + similar titlejamie/h1b_verified.md for the companysite:h1bdata.info "{company name}" for LCA filing historyUsing the self-assessment table in jamie/preferences.md:
Format your response as:
## [COMPANY] — [JOB TITLE]
**Recommendation: GO / STRETCH / PASS**
### Quick Facts
- Location: [location + arrangement]
- H1B: [Confirmed ✅ / Cap-Exempt 🏛️ / Unknown ⚠️ / No ❌]
- Priority: P[1-5] — [category name]
- Match: ~[X]% of JD requirements
- Already applied? [Yes — skip / No]
### Why This Fits (or Doesn't)
[2-3 sentences on alignment with your experience]
### Strengths
- [bullet matching JD req → your specific experience]
- [bullet matching JD req → your specific experience]
### Gaps to Be Aware Of
- [bullet: JD requires X — you have limited experience here]
### If You Apply
- Best resume variant emphasis: [L&D ops / Program Mgmt / OD / Engagement / etc.]
- Key bullets to feature from content_library.md: [brief pointer]
- Outreach angle: [alumni connection? hiring manager on LinkedIn?]