upwork-apply

SKILL.md

Upwork Job Scraping & Proposal Generation

Goal

Scrape Upwork job listings and generate personalized proposals with compelling cover letters.

Scripts

  • ./scripts/upwork_apify_scraper.py - Scrape Upwork jobs via Apify
  • ./scripts/upwork_proposal_generator.py - Generate proposals with Claude
  • ./scripts/update_sheet.py - Save to Google Sheets

Process

1. Scrape Jobs

python3 ./scripts/upwork_apify_scraper.py \
  --query "AI automation" \
  --limit 50 \
  --output .tmp/upwork_jobs.json

2. Generate Proposals

python3 ./scripts/upwork_proposal_generator.py \
  --jobs .tmp/upwork_jobs.json \
  --output .tmp/proposals.json

Uses Claude Opus 4.5 for high-quality, personalized cover letters.

3. Save to Sheet

python3 ./scripts/update_sheet.py .tmp/proposals.json --title "Upwork Proposals"

Output

Google Sheet with:

  • Job details (title, description, budget, client info)
  • Generated proposal/cover letter
  • Application link

Environment

APIFY_API_TOKEN=your_token
ANTHROPIC_API_KEY=your_key

Schema

Inputs

Name Type Required Description
query string Yes Search query (e.g., 'AI automation')
limit integer No Max job listings (default: 50)

Outputs

Name Type Description
sheet_url string Google Sheet with job details + generated proposals

Credentials

Name Source
APIFY_API_TOKEN .env
ANTHROPIC_API_KEY .env

Cost

Apify credits + Claude API

Weekly Installs
5
GitHub Stars
5
First Seen
10 days ago
Installed on
opencode5
claude-code5
github-copilot5
codex5
amp5
cline5