Job Search Report
by @xiaoxty
Generate a comprehensive job search progress report by analyzing sent applications and received replies from Gmail. Activate when user asks for a job search...
clawhub install job-search-reportπ About This Skill
name: job-search-report description: Generate a comprehensive job search progress report by analyzing sent applications and received replies from Gmail. Activate when user asks for a job search summary, report, dashboard, progress update, or wants to see all their applications in one view. Pulls data from Gmail and produces a structured markdown report. metadata: {"openclaw": {"emoji": "π", "requires": {"bins": ["gog"]}}}
Job Search Report Generator
Analyzes Gmail history to generate a complete job search progress report.
Prerequisites
gog authenticated with Gmail:
gog auth add you@gmail.com --services gmail
When to Activate
Data Collection Workflow
Step 1: Pull sent applications
# Find all job application emails sent
gog gmail messages search "in:sent (application OR resume OR apply OR applying OR interested in the position) newer_than:90d" \
--max 100 \
--account you@gmail.com \
--json
Step 2: Pull all replies received
# Find all recruiter/HR replies
gog gmail messages search "in:inbox (interview OR application OR resume OR opportunity OR position OR hiring OR recruiter) newer_than:90d" \
--max 100 \
--account you@gmail.com \
--json
Step 3: Cross-reference and build application map
For each sent application, find matching replies by:
hr@company.com β replies from *@company.com)Re: prefix)Report Structure
Generate the full report in this format:
# π Job Search Report
Generated: [date]
Period: Last [N] days
Account: [email]
π Overview
| Metric | Count |
|---|---|
| Total Applications Sent | [N] |
| Companies Replied | [N] |
| Reply Rate | [N]% |
| Interview Invites | [N] |
| Currently In Process | [N] |
| Rejections Received | [N] |
| Awaiting Reply (>7 days) | [N] |
π’ Active Opportunities (Priority)
[Company Name] β [Job Title]
Applied: [date]
Status: π’ Interview Scheduled / π΅ In Discussion
Contact: [recruiter name]
Latest Update: [date] β "[key sentence from last email]"
Next Action: [specific action + deadline]
π΅ Positive / In Progress
[Company Name] β [Job Title]
Applied: [date]
Status: π΅ Responded Positively
Latest: [date] β [summary]
Next Action: [action]
π‘ Awaiting Your Response
[Company Name] β [Job Title]
They need: [salary info / portfolio / references / assessment]
Deadline: [if mentioned]
Next Action: Prepare and reply ASAP
βͺ Applied β No Reply Yet
| Company | Role | Applied | Days Since | Follow Up? |
|---|---|---|---|---|
| [Company] | [Role] | [date] | [N] days | [Yes if >7d] |
π΄ Closed (Rejections)
| Company | Role | Applied | Rejected | Notes |
|---|---|---|---|---|
| [Company] | [Role] | [date] | [date] | [reason if given] |
β‘ Action Items
Priority actions sorted by urgency:
1. π΄ [URGENT] Reply to [Company] interview invite β respond today
2. π [HIGH] Send follow-up to [Company] β applied 10 days ago, no reply
3. π‘ [MEDIUM] Prepare portfolio for [Company] request
4. π’ [LOW] Research [Company] before scheduled interview on [date]
π
Timeline View
[Month Year]
[Date] βοΈ Applied to [Company] β [Role]
[Date] π¬ Reply from [Company] β Interview invite
[Date] βοΈ Applied to [Company] β [Role]
[Date] π¬ Rejection from [Company]
...
π‘ Insights & Suggestions
Response rate by industry: [Tech: X% | Finance: X% | Marketing: X%]
Average days to reply: [N] days
Most active day to apply: [Day of week from data]
Suggestions:
[Insight based on data, e.g. "You've applied mostly to large companies β
consider adding more startups for higher reply rates"]
[e.g. "5 applications have been waiting >14 days β consider following up"]
[e.g. "Your interview rate is X% β above/below the typical 5-10% benchmark"]
Save Report Options
After generating, offer to save:
# Save as markdown file
cat > ~/job-search-report-[date].md << 'EOF'
[report content]
EOF
Or ask if user wants to save to a Google Doc:
# If user has gog docs access
gog docs export [docId] --format txt
Weekly Update Mode
If user asks "update my report" or "refresh": 1. Fetch only new emails since last report date 2. Show only the delta (new replies, status changes) 3. Update the action items list
π¬ Updates since [last report date]:
β’ [Company] replied β moved from "Awaiting" to "Interview Invite"
β’ [Company] β 14 days with no reply, suggested follow-up added
β’ New application sent to [Company]
Metrics Benchmarks (context for user)
| Metric | Typical Range | What it means | |---|---|---| | Reply rate | 5β20% | Industry average; 20%+ means strong resume/targeting | | Application-to-interview | 5β15% | Higher = strong resume + good fit | | Days to first reply | 3β14 days | Most replies come in first week | | Interview-to-offer | 20β30% | Varies widely by company |
Use these to contextualize the user's numbers in the Insights section.
βοΈ Configuration
gog authenticated with Gmail:
gog auth add you@gmail.com --services gmail