upsweep — find Upwork jobs that match your filters
An open-source agent skill that searches Upwork with your own filters, lists the jobs that pass, and sums up what those clients ask for.
Overview
In plain terms: you tell your AI agent “upsweep”. It searches Upwork with your filters and lists the jobs that pass. Then it tells you what those clients keep asking for: the problems they describe, the tools they name, what they screen applicants on, and how fast posts fill up.
It is a skill: one instruction file your agent reads. It works with Claude Code, Codex, Cursor, Gemini CLI, Copilot, OpenCode and other agents that can use MCP tools. It reads Upwork through Upwork’s official MCP and your own login, so there’s no scraping and no extra keys.
npx skills add dave8172/upsweep
View on GitHub

Set up in one reply
On the first run, the skill reads your Upwork profile and proposes your searches and filters in one message. Reply “ok”, or change anything in plain words.
| Filter | Default |
|---|---|
| Payment verified | yes |
| Posted within | 5 days. Clients who hire usually do it within 3–5 days |
| Proposals | under 20 |
| Client hire rate | 80%+, with new clients shown and labelled |
| Hourly floor | 60% of your profile rate |
| Fixed-price floor | $100 |
What a sweep returns
- Matches, newest first: linked title, posted date, budget, proposals, client hire rate, and the Connects cost.
- One filter away: up to 5 jobs, each naming the filter it missed, so you decide whether to loosen it.
- What these clients ask for: problems, tools (with any missing from your profile marked), screening, budgets and competition, each counted against the jobs found.
“draft 2” gives you a short proposal draft for job 2: a hook first, then your real proof, then a question. Put it in your own words and submit it on Upwork, or say “send” and the agent shows you Upwork’s preview to approve. How that works.
Inside Upwork’s rules
I read Upwork’s API & MCP Terms before shipping this, and the skill follows them:
- It runs only when you ask, with no schedules or background sweeps.
- It uses only your search terms and filters, and never ranks jobs by its own judgment.
- It stores no job data. Only your settings are saved, in
~/.upsweep/profile.md. - A sweep only reads. A proposal is sent only after you approve Upwork’s preview for it, one at a time.
upsweep is unofficial and not affiliated with Upwork.
Measured
Tested on Claude Code with a fresh profile on 2026-10-02: setup cost $0.17 and a full sweep $1.58. The sweep ran 12 searches and returned 63 jobs from the last 5 days, in about 3 minutes. Connection steps for other agents follow each vendor’s docs and are in the repo.