upwork-skills

Five skills for Upwork freelancers: vet jobs before spending Connects, write proposals, answer invitations, audit profiles.

  • 130 ★ on the repository
  • Last commit
  • MIT
Skill

Minimal access

Why this level

  • The skills only read the text you paste and write drafts, sending and running nothing.
All reasons and checks

abullaisi/upwork-skills

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/upwork-skills

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Minimal accessThe tool runs nothing and makes no network calls.

  • The skills only read the text you paste and write drafts, sending and running nothing.

This is third-party code. Review the repository files before installing.

What it does

Five skills turn Claude, Cursor or another SKILL.md-compatible agent into an Upwork freelance assistant. `upwork-job-qualifier` gives a verdict on a job post: apply, skip or apply with caution, runs the client-history math, looks for red flags and weighs Connects economics. `upwork-proposal-writer` drafts proposals with a five-move method and reviews existing drafts. `upwork-invitation-responder` helps accept, decline or decline and refer an invitation. `upwork-profile-optimizer` scores a profile, ranks fixes by priority and covers AI search. `upwork-client-messenger` handles hard mid-contract conversations: delays, scope creep, rate increases, endings and review requests. Each skill reads an optional `upwork-profile.md` with your niche and rate.

Who it is for. Upwork freelancers who want to waste fewer Connects and get more replies to proposals.

Good fit when

  • A job post arrived and you must decide whether it is worth spending Connects.
  • You need to write a proposal for a job or review an existing draft.
  • A client sent an interview invitation and you need to answer fast: accept, decline or refer.
  • A profile brings no invitations and you want a scored review with ranked fixes.

Not a fit when

  • You work on a platform other than Upwork: the authors suggest separate packs for other platforms.
  • You want automatic bulk applying: the skills write text and give verdicts but send nothing themselves.
  • You need official platform rules: the project is unofficial and not affiliated with Upwork.

Example request

Here is an Upwork job post and the About the client panel. Is it worth spending Connects on?

Limitations

A community project, not affiliated with or endorsed by Upwork. The skills rest on Upwork's published guidance, cited inside each file, and on the practice of one Top Rated Plus freelancer. Where official advice and field results disagree, the skill says so and names the winner. Skills work on text you paste, the About the client panel included, and have no access to your Upwork account. Rate and niche come from `upwork-profile.md`, and without the file the agent asks again. Texts are in English, and the README also exists in Indonesian.

How to disable. Delete the `upwork-*` folders from the agent skills directory, which is `.claude/skills/` for Claude Code. The `upwork-profile.md` file, if you created one, can be deleted separately.

FAQ

How do I install upwork-skills in Claude Code?

Run `npx skills add abullaisi/upwork-skills --all` or copy the skill folder you need into `.claude/skills/`. The skills load on the next session.

What does upwork-job-qualifier check?

The skill reads the post and the client panel: whether payment is verified, total spent, number of hires, average rate, hire rate and member-since date. It uses spend per hire to catch cheap gigs with a fancy title and looks for scam signs.

Do I need the upwork-profile.md file?

It is optional but saves questions. Put your role, niche, rate and portfolio links in it, and each skill reads it from the working directory or `~/.claude/`.

Do the skills send proposals themselves?

No. They prepare verdicts and text, and you send them on the platform. The skills have no access to your Upwork account.

How is this different from the built-in Upwork AI?

The built-in AI drafts proposals for everyone, while these skills teach which jobs to skip. Their proposal method and conversation moves come from a high-rated freelancer's invitation ledger, with sources cited in the files.

Discussion

No questions or reviews yet.

Skills

A set of 13 SKILL.md skills: research, a product doc, decks, articles and audits for any compatible agent

SkillExtended access737Repository stars

A skill set for SEO and indie development: keyword picking, launching a site on Cloudflare, backlinks, dashboard data and growth.

SkillExtended access304Repository stars

YC skills for Claude Code hiring: pipeline, candidate emails, scheduling, Work at a Startup, Ashby and Gmail

SkillBroad access125Repository stars

A personal collection of about 130 Claude Code and Codex skills: media pipelines, Cloudflare, YouTube, design and task review

SkillBroad access198Repository stars

A skill set for resumes and job search: tailoring to a vacancy, ATS pass-through checks, cover letters and interview preparation

SkillMinimal access3.2KRepository stars

A job-hunt skill bundle: JD decoding, template resumes, behavioral interview prep, offer comparison and negotiation

SkillExtended access572Repository stars

README in short

The repository introduces five skills in a table, covers install through the skills CLI or by copying folders, and describes the profile file. It then explains how the pack differs from the platform's built-in AI and lists contribution rules: corrections, translations, new skills.

README badge

Original SKILL.md

---
name: upwork-job-qualifier
description: Decide whether an Upwork job post is worth applying to before spending Connects. Use when the user pastes an Upwork job post (or invitation) and wants a verdict (apply, skip, or apply with caution). Triggers include "is this job worth it", "should I apply", "check this job post", "is this client legit", "worth my Connects", "red flags in this job". Screens for scams, bad-client patterns, and dressed-up low-tier work, then weighs the Connects economics. Companion to upwork-proposal-writer (after an apply verdict) and upwork-invitation-responder (after a skip verdict on an invitation).
---

# Upwork Job Qualifier

Every proposal costs Connects, and the platform's own AI will never tell a freelancer to keep their money: application volume is the platform's revenue. This skill's whole job is the advice that structurally cannot come from inside: **when not to apply.** Method extracted from a Top Rated Plus freelancer's real invitation ledger and vetting decisions, plus Upwork's own published scam and client-screening guidance.

## Inputs

1. **The job post**, pasted in full.
2. **The "About the client" panel**, pasted: payment verified or not, total spent, number of hires, average hourly rate paid, hire rate, member-since date, and the category the job is filed under. This panel decides more verdicts than the job text does. If the user didn't paste it, ask for it before ruling.
3. The user's rate and niche, so the math below has a reference point.

Profile shortcut: if a stored profile file exists (`upwork-profile.md` in the working directory or `~/.claude/`), read rate and niche from it and ask only for what's missing or not stated concretely (a rate line that says "ask me" means ask).

## Instant skips (any one of these ends the evaluation)

- Any request to pay a fee, buy anything, do unpaid test work, or accept payment outside Upwork.
- Pressure to move communication off-platform before a contract exists.
- Requests for personal information beyond a normal work discussion.
- Payment not verified AND no spend history, on a job promising premium rates.
- A post with no scope, no budget signal, and careless writing throughout. Vague titles with empty descriptions are the fake-post signature.

## The client-history cross-check (the highest-value move)

Job titles are marketing. The client's history is data. Run the math:

- **Spend per hire:** total spent divided by hires. A "specialist" job from a client averaging under $100 per hire is a low-tier gig wearing a nice title.
- **Average hourly rate paid vs the user's rate.** A client who has paid $8/hr across twelve hires will not pay $80/hr for hire thirteen.
- **Category coherence:** a premium-sounding title filed under General Virtual Assistance, with data-entry skill tags, is telling the truth in the metadata and lying in the title. Trust the metadata.
- **On invitations: the personalized note carries no signal.** Invite notes are often templated. The client's posting history is the signal; the flattery is not.

Worked example (anonymized, from the method author's real ledger): a "$20 Shopify CRO Specialist" invitation looked plausible until the panel showed roughly $48 spend per hire, a $7.59 average hourly rate paid, and a General Virtual Assistance category history. Verdict: data-entry-tier work in a specialist costume. Declined, with a reply, because unanswered invitations are a visible stat.

## Soft flags (two or more means apply-with-caution or skip)

- "I promise you'll get a 5-star review" or any review offered as payment.
- Price pressure before scope discussion ("can you cut me a deal").
- "The last freelancer was terrible" used as leverage. That story usually has two sides, and the next chapter stars the user.
- A chaotic, unstructured brief where requirements arrive as a stream of consciousness.
- Rushed hiring with no questions asked. Clients who hire in an hour churn just as fast.
- Job posted more than ~48 hours ago with many proposals already: a weaker use of Connects regardless of quality, since early proposals capture the client's attention.
- Fixed-price with a large scope and no visible budget number: flag it, that combination is where scope creep lives.

Report a problem