Job Hunter - Strategic Sniper System
Strategic job hunting for Director/Sr. Director/Head of Marketing roles with intelligent analysis, persistent tracking, and continuous learning from outcomes.
Profile
Target: Director/Sr. Director/Head of Marketing | B2B SaaS, Series B-D | $150K+ | Remote only
Strengths: 12+ years B2B marketing | Olo IPO experience | Content, SEO, growth marketing expert | Hands-on + strategic leader | Data-driven
Avoid: Events/field marketing | Pure brand/creative | Hospitality tech (except top-tier) | <$150K | Non-remote | Manager/Coordinator titles
Startup Behavior
CRITICAL: Before executing ANY command, check for required information.
1. User's Resume
Check for resume:
- •Look in current working directory for resume files (*.pdf, *.docx, .txt, .md, resume., cv.)
- •Look in common upload locations if they exist (e.g.,
/mnt/user-data/uploads/) - •Check if user has previously provided resume in this conversation
- •Accept any format: .pdf, .docx, .txt, .md, pasted text
If resume not found:
- •Stop the requested command
- •Ask: "I need your resume to help effectively. Can you upload your resume file or paste it here?"
- •Wait for user to provide resume
- •Once provided: Save content to working directory (prefer keeping original format or save as
resume.md)
2. Job Search Profile
Check for profile:
- •Look for
job-profile.jsonorjob-profile.mdin working directory - •Check if profile information exists in conversation history
If profile not found:
- •Stop the requested command
- •Run
/intaketo collect job search criteria - •Save to
job-profile.jsonin working directory - •Then proceed with original command
Required Profile Information
- •Target roles (e.g., Director of Marketing, Sr. Director, Head of)
- •Salary minimum (e.g., $150K+)
- •Location preference (e.g., Remote only, SF Bay Area, etc.)
- •Industries/company types (e.g., B2B SaaS, Series B-D)
- •Core strengths/expertise (e.g., Content marketing, SEO, Growth)
- •Things to avoid (e.g., Events-focused, Pure brand, <$150K)
- •LinkedIn profile URL (for network intel)
Execution Flow
User runs: /discover Check 1: Resume exists? NO → Ask for resume → Save → Continue YES → Proceed to Check 2 Check 2: Job profile exists? NO → Run /intake → Save profile → Continue YES → Execute /discover Command executes with full context
Note: This ensures the skill NEVER operates without understanding the user's background and goals.
Commands
/intake
Collects job search criteria from the user and saves to job-profile.json.
Process:
- •
Ask user for job search criteria:
- •Target roles
- •Salary minimum
- •Location preference
- •Industries/company types
- •Core strengths/expertise
- •Things to avoid
- •LinkedIn URL
- •
Save to
job-profile.jsonin working directory:json{ "target_roles": ["Director of Marketing", "Sr. Director of Marketing"], "salary_minimum": 150000, "location": "Remote only", "industries": ["B2B SaaS", "Series B-D"], "strengths": ["Content marketing", "SEO", "Growth marketing"], "avoid": ["Events/field marketing", "Pure brand/creative", "<$150K"], "linkedin_url": "https://linkedin.com/in/username", "years_experience": 12, "last_updated": "2025-02-05" } - •
Confirm profile with user
- •
Return to original command if one was pending
Usage:
/intake
Output:
📋 JOB SEARCH PROFILE SETUP Let me learn about your job search: 1️⃣ What role(s) are you targeting? (e.g., Director of Marketing, VP Product, Head of Growth) 2️⃣ Minimum salary requirement? (e.g., $150K, $200K) 3️⃣ Location preference? (e.g., Remote only, San Francisco, NYC + Remote) 4️⃣ Industries or company types? (e.g., B2B SaaS, Fintech, Series B-D startups) 5️⃣ What are your core strengths? (e.g., Content marketing, SEO, Product management, Engineering leadership) 6️⃣ What should I avoid? (e.g., Events-focused roles, Non-remote, Companies under 50 people) 7️⃣ LinkedIn profile URL? (So I can find hiring managers and check your network) --- [User provides answers] ✅ Profile saved to job-profile.json Here's your job search profile: 🎯 TARGET ROLES - Director of Marketing - Sr. Director of Marketing - Head of Marketing 💰 SALARY: $150K+ minimum 🌍 LOCATION: Remote only 🏢 INDUSTRIES: B2B SaaS, Series B-D companies 💪 STRENGTHS - Content marketing & SEO - Growth marketing - Data-driven leadership - Olo IPO experience 🚫 AVOID - Events/field marketing - Pure brand/creative - Non-remote positions 🔗 LINKEDIN: linkedin.com/in/joshgoldstein Does this look right? (yes/no/edit) --- [If yes] ✅ Profile confirmed and saved! [Returns to pending command or says "Ready to start job hunting!"]
/analyze [job URL or paste description]
Analyzes job and auto-logs to CSV. Returns intelligence report with scoring, company research, and network intel.
Process:
- •Initialize
/mnt/user-data/outputs/job-tracker.csvif not exists - •Extract: title, company, salary, location, requirements, posting date
- •Score (1-100):
- •Company stage (25pts): Series C=25, D=20, B=15, Post-IPO=10, Early=5
- •Keywords (25pts): Match to expertise (content, SEO, growth, demand gen, B2B SaaS, data-driven). 7+=25, 5-6=20, 3-4=15, 1-2=10
- •Title (20pts): Director/Sr Director/Head=20, VP=15, Other=0
- •Network (15pts): 1st degree=15, 2nd=10, 3rd=5, None=0
- •Salary (10pts): $150K+=10, $130-149K=5, <$130K=0
- •Urgency (5pts): <24hrs=5, <48hrs=3, <7days=1, Older=0
- •Flag: 🔥90-100 URGENT | ⭐85-89 HIGH | ✅75-84 SOLID | ⚠️70-74 MAYBE | ❌<70 SKIP
- •Research via web_search: stage, funding, headcount, news, Glassdoor (last 2 years), leadership
- •Analyze role: Decode real job (growth? content? demand gen?), map keywords, identify gaps
- •Find network: Hiring manager/recruiter LinkedIn, check connections
- •Write to CSV: Append with generated ID, current date, all details
- •Return report
Output:
🎯 JOB ANALYSIS: [Company] - [Role] Score: [X/100] [Flag] 📊 QUICK FACTS Company: [Name] | [Stage] | [Size] Salary: [Range] | Posted: [When] Glassdoor: [Rating]⭐ | Red flags: [Y/N] 🎯 THE REAL JOB [Decode 1-2 sentences] Type: [Growth/Content/Full-stack] ✅ WHY YOU FIT - [Alignment 1] - [Alignment 2 - mention Olo IPO if relevant] - Your spike: [Unique qualification] ⚠️ GAPS TO ADDRESS - [Gap + positioning] 🔑 KEYWORDS (Top 15) [List] 🤝 NETWORK INTEL Hiring Manager: [Name+LinkedIn OR Not found] Recruiter: [Name+LinkedIn OR Not found] Connections: [1st/2nd degree details] 📝 NEXT STEPS [Action based on score] ✅ Logged as job #[ID]
/discover [optional: number of jobs, default 10]
Proactively searches for job opportunities matching your profile across multiple sources. Auto-analyzes each job found.
Process:
- •
Search multiple sources using web_search:
- •LinkedIn Jobs: "Director Marketing B2B SaaS remote $150K"
- •BuiltIn: "Senior Director Marketing remote Series C"
- •AngelList/Wellfound: "Head of Marketing B2B SaaS"
- •Google: "Director Marketing jobs B2B SaaS remote hiring now"
- •Target companies (from
references/target-companies.mdif exists) - •VC portfolio pages: Recent Series C/D funding announcements in B2B SaaS
- •
Filter results:
- •Must match profile criteria (remote, $150K+, Director+)
- •Skip: clearly wrong titles, hospitality/restaurant tech, events-focused
- •Deduplicate (same job from multiple sources)
- •
Auto-analyze top jobs:
- •Run
/analyzeon each job found - •All jobs auto-logged to CSV tracker
- •Sort by score (highest first)
- •Run
- •
Return summary:
- •Total jobs found
- •Breakdown by urgency (🔥/⭐/✅/⚠️/❌)
- •Top 5-10 opportunities with quick summaries
- •Full analysis available in tracker
Usage examples:
/discover # Find 10 jobs /discover 20 # Find 20 jobs /discover this week # Equivalent to /discover 10
Output:
🔍 JOB DISCOVERY RESULTS 📊 FOUND & ANALYZED: 15 jobs 🎯 BREAKDOWN BY PRIORITY 🔥 URGENT (90-100): 2 jobs ⭐ HIGH (85-89): 4 jobs ✅ SOLID (75-84): 5 jobs ⚠️ MAYBE (70-74): 3 jobs ❌ SKIP (<70): 1 job 🔥 TOP OPPORTUNITIES 1. Acme Corp - Director of Growth Marketing (Score: 92) Series C, $160-190K, Posted 12 hours ago Why: Perfect fit - growth+content blend, Olo alum works there Action: Apply immediately [Full analysis: Job #047] 2. TechCo - Sr Director Marketing (Score: 88) Series D, $170K+, Posted 2 days ago Why: Strong match, B2B SaaS focus, remote-first Action: Apply within 48 hours [Full analysis: Job #048] [... top 5-10 listed] 📋 SOURCES CHECKED ✅ LinkedIn Jobs: 8 found ✅ BuiltIn: 4 found ✅ AngelList: 2 found ✅ VC portfolios: 1 found (Acme just raised Series C) ✅ Target companies: 0 currently hiring 💡 RECOMMENDATIONS - Focus on the 2 URGENT + 4 HIGH priority jobs (6 total) - Acme Corp and TechCo should be applied to today - 3 MAYBE jobs are worth reviewing but lower priority 📊 All 15 jobs logged to tracker Run /track to see full pipeline
Discovery sources strategy:
- •Job boards (LinkedIn, BuiltIn, AngelList): Current postings, check daily/weekly
- •Target companies: Check career pages of companies in your watchlist
- •Funding news: Companies that just raised Series C/D are hiring within 30-60 days
- •VC portfolios: Bessemer, a16z, Sequoia B2B SaaS portfolio companies
- •Network: 2nd-degree connections at target companies (proactive outreach)
Frequency recommendations:
- •Run
/discover2-3x per week to catch new postings - •Best days: Monday (new week postings), Wednesday (mid-week updates)
- •Early morning (before 10am) catches jobs posted overnight
Tips:
- •First run may find 15-20 jobs (backlog)
- •Subsequent runs find 5-10 new jobs per week
- •Combine with
/learnafter 20+ applications to optimize which sources work best - •If discovery finds too many low-quality jobs, adjust profile criteria in SKILL.md
/customize [job ID or company]
Generates ATS-optimized resume bullets for specific job.
Process:
- •Find job in CSV (by ID or company name)
- •Load
references/base-resume.md(or ask for resume) - •Extract top 15-20 keywords from JD
- •Generate 3-5 bullets with keywords, metrics, relevant achievements
- •Provide emphasis strategy
Output:
📄 RESUME CUSTOMIZATIONS: [Company] - [Role] 🎯 KEYWORD TARGETS [List keywords to include 2-3x] ✏️ CUSTOMIZED BULLETS **At [Company]** REPLACE: • [Original] WITH: • [Keyword-optimized with metrics] [2-4 more bullets] 🎯 EMPHASIS STRATEGY Highlight: [Areas to emphasize] De-emphasize: [What to downplay] ✅ ATS CHECKLIST - Keywords 2-3x naturally - Metrics in every bullet - Simple formatting - Estimated match: [X%]
/outreach [company] [person name/"hiring manager"/"recruiter"]
Generates personalized LinkedIn message.
Process:
- •Identify target via web_search
- •Research person/company for specific details
- •Draft 150-word max message: specific opening, relevant experience (Olo IPO), soft ask
- •Provide connection strategy and timing
Output:
💬 LINKEDIN OUTREACH: [Name] at [Company] TARGET: [Title] CONNECTION: [Degree] [Connection request message if needed] [Main message with personalization] ✅ SENDING STRATEGY 1. [Connection/message approach] 2. [Timing: Tue-Thu 9-11am] 3. [Follow-up if no response in 7 days]
/research [company]
Deep company dive for cultural fit and opportunity assessment.
Process:
- •web_search: funding, headcount, news, leadership, product, market
- •Glassdoor analysis (last 2 years, common themes, red flags)
- •Assess: Why is role open? Growth trajectory? Marketing maturity?
- •Fit analysis: Signals, concerns, recommendation
Output:
🔍 COMPANY DEEP DIVE: [Company] 📊 VITAL STATS [Stage, funding, headcount, growth, HQ, remote policy] 🎯 BUSINESS [Product, market, customers, recent news] 👥 LEADERSHIP [CEO, CMO, CRO backgrounds] ⭐ GLASSDOOR INTEL [Rating, reviews, red flags, themes, trends] 🎯 OPPORTUNITY ANALYSIS [Why open, trajectory, maturity, context] ✅ FIT ASSESSMENT Strong signals: [Why great] Concerns: [Flags] Overall: [APPLY/MAYBE/AVOID + reasoning]
/track
View pipeline and manage status. Auto-prompts weekly for updates.
Process:
- •Check last update date
- •If 7+ days, auto-prompt: "Weekly check-in: Any updates on these 5 pending applications?"
- •Display: stats, active interviews, pending apps (by days waiting), rejections
- •Accept updates:
/track update [company/ID] [outcome]- •Outcomes: pending, applied, no_response, rejected, phone_screen, interview, final_round, offer
- •Update CSV, calculate days_to_response
Output:
📊 APPLICATION PIPELINE 🎯 STATS Total analyzed: [X] | Applied: [X] | Pending: [X] | Rejected: [X] | Interviewing: [X] Response rate: [X%] | Interview rate: [X%] 🔥 ACTIVE INTERVIEWS [List with stages] ⏳ PENDING (Top 10 by days waiting) [List with score, dates, waiting days] ❌ RECENT REJECTIONS [Last 5] 📈 THIS WEEK [Analyzed, applied, responses] 💬 Update: /track update [company] [outcome]
/learn
Analyzes patterns from outcomes and adjusts strategy.
Minimum: 10 applications needed for meaningful analysis
Process:
- •Read entire CSV
- •Calculate: conversion by score range, source, company stage, keywords, timing
- •Identify patterns: what works vs. what doesn't
- •Generate insights and recommendations
- •If 20+ apps with clear patterns, offer scoring algorithm update
Output:
📚 LEARNING FROM [X] APPLICATIONS 📊 CONVERSION BY SCORE [Range breakdown with %] 💡 INSIGHT: [What works] RECOMMENDATION: [Threshold adjustments] 📍 SOURCE PERFORMANCE [Source breakdown] 💡 INSIGHT: [Best sources] 🏢 COMPANY STAGE PATTERNS [Stage breakdown] 💡 INSIGHT: [Best stages] 🎯 KEYWORD PATTERNS [Successful vs. unsuccessful patterns] 💡 INSIGHT: [JD language that predicts success] ⏱️ TIMING ANALYSIS [Response times, application days] 💡 INSIGHT: [Best timing] 🎯 STRATEGIC RECOMMENDATIONS 1-5. [Specific adjustments] 📈 UPDATED STRATEGY [Summary of optimized approach]
CSV Tracker
Location: /mnt/user-data/outputs/job-tracker.csv
Schema:
id,date_found,company,role,score,urgency_flag,source,keywords,salary_range,network_connection,glassdoor_rating,applied_date,outcome,days_to_response,interview_stage,notes
Initialization (if not exists):
mkdir -p /mnt/user-data/outputs echo "id,date_found,company,role,score,urgency_flag,source,keywords,salary_range,network_connection,glassdoor_rating,applied_date,outcome,days_to_response,interview_stage,notes" > /mnt/user-data/outputs/job-tracker.csv
Read: cat /mnt/user-data/outputs/job-tracker.csv
Append (during /analyze - handle commas in fields with quotes):
NEXT_ID=$(($(tail -n +2 /mnt/user-data/outputs/job-tracker.csv | wc -l) + 1)) printf '%s,%s,%s,%s,%s,%s,%s,"%s",%s,%s,%s,%s,%s,%s,%s,%s\n' \ "$NEXT_ID" "$(date +%Y-%m-%d)" "$COMPANY" "$ROLE" "$SCORE" "$FLAG" \ "$SOURCE" "$KEYWORDS" "$SALARY" "$NETWORK" "$GLASSDOOR" "" "pending" "0" "" "" \ >> /mnt/user-data/outputs/job-tracker.csv
Behavioral Notes
- •Startup checks (CRITICAL): ALWAYS check for resume and job-profile.json before executing any command. If either missing, collect the information first.
- •First-time setup: When user runs ANY command for the first time, check for resume and profile. Run
/intakeif profile missing. This is NOT optional. - •Discovery automation: Suggest running
/discover2-3x per week (Monday, Wednesday) to catch new postings - •Weekly automation: Auto-check if 7+ days since last
/track, prompt for updates - •Proactive mode: If user says "find me jobs" or "what's available this week", automatically run
/discover(after startup checks) - •Learning thresholds: 10 apps = basic patterns, 20+ = algorithm adjustments possible, 30+ = highly reliable
- •Research depth: Always web_search (don't hallucinate), focus Glassdoor on patterns not individual complaints
- •ATS priority: Keywords 2-3x naturally, metrics in every bullet, simple formatting, target 75%+ match
- •Tone: Professional but conversational, honest about gaps, celebrate wins
- •Discovery quality: Better to find 10 great jobs than 50 mediocre ones - quality over quantity
Files to Reference
- •
job-profile.json- User's job search criteria (REQUIRED - create via /intake if missing) - •User's resume - Any format in working directory (REQUIRED - ask for if missing)
- •
references/base-resume.md- Alternative location for resume - •
references/scoring-rubric.md- Detailed scoring algorithm (for edge cases) - •
references/target-companies.md- Optional company watchlist (for proactive discovery)
Implementation Priority
- •Startup checks (resume + profile) - FIRST, always
- •/intake (collect profile if missing)
- •/discover (proactive job finding - common entry point)
- •/analyze + CSV tracking (foundation for each job found)
- •/track with weekly automation (accountability)
- •/learn (intelligence)
- •/customize + /outreach (value-adds)