Agent skill

Upwork Profile Optimizer

by abullaisi in abullaisi/upwork-skills

Audit and improve an Upwork freelancer profile. An agent skill from abullaisi/upwork-skills.

MITAuto-check passed

Install Upwork Profile Optimizer

skills CLI
$ npx skills add abullaisi/upwork-skills --skill upwork-profile-optimizer -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install abullaisi/upwork-skills upwork-profile-optimizer --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/abullaisi/upwork-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/upwork-profile-optimizer .claude/skills/upwork-profile-optimizer && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
upwork-profile-optimizer
GitHub stars
114
Used in
1 other repo
Token cost
~2.6k tokens
SKILL.md length
1,486 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Audit and improve an Upwork freelancer profile. An agent skill from abullaisi/upwork-skills.

  • Works in 6 steps: Title (the search surface, 70-character… → Overview (the pitch, not the resume) → Portfolio (the close) → …
  • The user pastes their profile (title
  • SKILL.md covers Inputs, Stage first (do this before…, Audit, in funnel order and Output format, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Upwork Profile Optimizer is an agent skill from abullaisi/upwork-skills. Audit and improve an Upwork freelancer profile. Use when the user pastes their profile (title, overview, portfolio list, skills, stats) and wants it scored and fixed, or asks why they aren't getting invitations or search visibility. Triggers include "review my Upwork profile", "why am I not getting invites", "improve my profile", "profile title help", "optimize my overview". Returns a prioritized fix list, biggest lever first. Companion to upwork-proposal-writer (the proposal earns the profile visit; the profile…

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: AI agent skills for Upwork freelancers, from a real Top Rated Plus playbook. Free, open, community-written. Not affiliated with Upwork. The licence is MIT.

When your agent uses it

  • The user pastes their profile (title
  • Stats) and wants it scored and fixed
  • Asks why they arent getting invitations
  • Search visibility

Example prompts

  • “t getting invitations or search visibility. Triggers include”
  • “why am I not getting invites”
  • “improve my profile”
  • “/upwork-profile-optimizer”

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Title (the search surface, 70-character cap)
  2. Overview (the pitch, not the resume)
  3. Portfolio (the close)
  4. The specialist question (be honest with the user here)
  5. Mechanics (the score behind the score)
  6. The machine readers (AEO, the layer nobody else audits)

What it can do on your machine

Read from SKILL.md and the folder at commit dd06254. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • upwork.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Upwork Profile Optimizer loads about 2.6k tokens when it runs. Until then it costs about 139 tokens; SKILL.md has 1,486 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~139
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from abullaisi/upwork-skills at commit dd06254, republished under its MIT licence (© abullaisi). 1,486 words, ~2,586 tokens.

Download SKILL.mdSave it as .claude/skills/upwork-profile-optimizer/SKILL.md (or your agent's skills folder).
name
upwork-profile-optimizer
description
Audit and improve an Upwork freelancer profile. Use when the user pastes their profile (title, overview, portfolio list, skills, stats) and wants it scored and fixed, or asks why they aren't getting invitations or search visibility. Triggers include "review my Upwork profile", "why am I not getting invites", "improve my profile", "profile title help", "optimize my overview". Returns a prioritized fix list, biggest lever first. Companion to upwork-proposal-writer (the proposal earns the profile visit; the profile closes it).

Upwork Profile Optimizer

The proposal's only job is to earn a profile visit. The profile does the actual closing, and it also decides search visibility before any proposal is sent: Upwork's AI search ranks freelancers on profile relevance, buyer intent, the client's history, and price fit, and clients can preview the whole profile from search results without clicking through. A half-filled profile loses twice: weaker preview, weaker ranking. Method from Upwork's published guidance plus a Top Rated Plus profile as the worked example.

Inputs

  1. Title, exact text.
  2. Overview, full text.
  3. Portfolio list: titles and niche of each piece, in their current order.
  4. Skills tags, as listed.
  5. Stats and badges: JSS if visible, badge tier, total earnings bracket, response stats.
  6. The user's niche and the kind of client they want next. The audit is against that target, not against a generic ideal.

Profile shortcut: if a stored profile file exists (upwork-profile.md in the working directory or ~/.claude/), read it first and audit against it; ask only for sections the file lacks or states vaguely (a rate line that says "ask me" means ask). If a stored profile file and a fresh paste both exist, the paste is ground truth for scoring and the file is background context. Flag any mismatch between the two as a finding.

When tags or stats are missing from both sources, audit what's present now and end by requesting exactly those two. Don't block the audit waiting for them.

Stage first (do this before scoring anything)

Half of this method is about levers a new freelancer does not have yet. Scoring a profile against them produces a list of failures instead of a fix list, which is useless and discouraging. So establish the stage before auditing, from the stats or by asking one question:

  • No history: no completed contracts, no reviews, no badge.
  • Early: some completed work, few reviews, Rising Talent or no badge.
  • Established: Top Rated or above, JSS visible.

If the stage is no-history or early, skip section 5 as a scoring dimension. Do not mark JSS, badge tier, or earnings "missing" or "weak"; they are not weak, they do not exist yet, and saying so is the difference between an audit and a scolding. Audit sections 1 through 4 and 6 in full, since those are entirely within a beginner's control and are the whole game at this stage, then close with the no-history note below instead of the mechanics scoring.

The no-history close. State plainly which levers are locked and what unlocks each one, so the user knows what they are working toward rather than what they lack:

  • A JSS appears only after enough completed contracts carry feedback. Until then the profile is judged on its content alone, which means sections 1 through 4 carry more weight for a beginner than for anyone else, not less.
  • Rising Talent is the first badge and the first real filter a beginner can pass; it is worth naming as the near-term target instead of Top Rated, which is years away.
  • The advice that dominates section 5, protect the score by declining bad-fit work, partly inverts here. Someone with zero reviews needs their first few completed contracts to exist at all, so the calculus is different: still refuse the scams and the impossible briefs, but a small, clearly-scoped, slightly-underpaid first contract that ends in a genuine 5-star review can be worth more than holding out. Say this as a tradeoff, not as permission to work cheap forever.
  • Honesty requirement: this method was extracted from an established Top Rated Plus profile. Where beginner-stage guidance is reasoned inference rather than lived experience, say so in the audit, the same way the skill already flags disagreements between official guidance and field results.

Audit, in funnel order

1. Title (the search surface, 70-character cap)

The proven formula: role + specialty + result or credential ("UI/UX Designer | SaaS Dashboards | Top Rated Plus"). An outcome-led variant works when it's specific (the method author runs "Making Complex Things Simple and Easier to Use"), but it's the advanced move: it trades searchability for memorability, so pair it with skills tags that carry the search load. Instant fails: "Jack of all trades," "Hire me," anything that names no specialty.

2. Overview (the pitch, not the resume)

Proof first: open with the strongest credential or outcome in one line ("Top 3% on Upwork, 5+ years in SaaS design"), then two or three concrete outcomes, then tools. Clients scan; the first two lines do the work. A chronology of past jobs is a resume, and nobody hires a resume. Every profile section filled, because search previews expose the gaps.

3. Portfolio (the close)
  • Lead with the 4 best pieces matched to the target client, order is part of the argument.
  • Three pieces minimum before expecting invitations at all.
  • Niche the portfolio harder than feels comfortable: a logos-only portfolio wins logo work faster than a we-do-everything portfolio wins anything.
  • Photo: in focus, high resolution, plain background, an actual photograph (illustrated avatars violate policy).
4. The specialist question (be honest with the user here)

Three independent sources in Upwork's own guidance converge on the same claim: clients trust specialists over generalists, in both hiring and search ranking. If the user's profile lists four unrelated service lines, say so plainly and recommend either narrowing or splitting via specialized profiles (separate profile per category, built for exactly this). The one legitimate exception: operators deliberately running an agency-style breadth, who accept weaker search fit as the cost of range. Name the tradeoff, let the user choose it consciously.

Show full SKILL.md (557 more words)Show less
5. Mechanics (the score behind the score)
  • JSS recalculates every two weeks. The private "would you recommend, 1-10" question feeds it alongside the public stars, which is why a politely unhappy client can dent a score without a bad public review.
  • The badge ladder (Rising Talent → Top Rated → Top Rated Plus → Expert-Vetted) shows next to every proposal. Protecting it beats decorating it: declining bad-fit work protects the score better than any overview edit, which is the job of the upwork-job-qualifier skill.
  • Rate is a signal, not just a price. A rate far below the niche's range reads as a quality warning to exactly the clients worth having.
  • Activity feeds visibility: regular logins, proposals, and fast invitation responses (see upwork-invitation-responder; unanswered invites are a visible stat).
6. The machine readers (AEO, the layer nobody else audits)

A profile now has three readers, not one: the classic keyword search, Upwork's AI ranking (Uma: relevance, buyer intent, client history, price fit), and, since Upwork's official ChatGPT app, an LLM synthesizing talent recommendations inside a chat window where the client never sees the search results page at all. The exact retrieval mechanics are not public; the writing principles that win LLM retrieval are stable anyway:

  • Entity density beats vibes. Named tools, industries, deliverables, and credentials in natural sentences ("SaaS dashboard design in Figma for fintech clients") are what a model extracts and quotes. Clever positioning language extracts as nothing.
  • This demotes the outcome-led title. A poetic title works on a human scanning a page; it is nearly invisible to a model matching "find me a [niche] designer." In the AI-search era, the role + specialty + credential formula is no longer just the default, it is the machine-legible option.
  • Answer-shaped first lines. The overview's opening should literally answer "who is this and what are they best at" in extractable form, which is the proof-first structure already required above; the machine reader just raises the price of getting it wrong.
  • Consistency across surfaces. Models cross-reference: the title, overview, skills tags, and portfolio piece names should tell one story in the same vocabulary. Contradictions that a human skims past read as noise to a retriever.

Audit note: label this layer honestly when reporting. The principles are sound inference from how LLM retrieval works; nobody outside Upwork has verified the connector's internals, so present it as "the direction the platform is moving," not as measured ranking factors.

Output format

Score each section strong / weak / missing, then a prioritized fix list, biggest lever first, maximum five items, each with the reason in one sentence. Rewrite the title and the overview's first two lines yourself as part of the audit; those two edits move more than everything else combined for most profiles.

Voice rules (hard)

  • Specific rewrites, not adjectives. "Change X to Y because Z," never "make it more compelling."
  • No em dashes. Plain words.
  • If the profile is already strong, say so and stop. Manufactured critique erodes trust in the real critique.

Sources and provenance

Worked example: a Top Rated Plus (top 3%) profile. Official guidance, recommended reading:

This skill is not affiliated with or endorsed by Upwork.

© abullaisi, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in upwork-profile-optimizer of abullaisi/upwork-skills.

Open the folder on GitHubat commit dd06254

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in abullaisi/upwork-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Upwork Profile Optimizer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Upwork Profile Optimizer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Upwork Profile Optimizer this skillabullaisi/upwork-skills1141 repos~2.6kAutomated safety check: PassMIT
Linkedin Profile Optimizersickn33/agentic-awesome-skills47k1 repos~2.6kAutomated safety check: PassMIT
Linkedin Profile Optimizerdavila7/claude-code-templates32k2 repos~2.6kAutomated safety check: PassMIT
Profile Optimizercharlie947/social-media-skills3.8k—~2.9kAutomated safety check: PassMIT
Happier Profile And Optimizehappier-dev/happier1.9k—~3.2kAutomated safety check: PassMIT
SQL Optimizationgithub/awesome-copilot40k2 repos~2.3kAutomated safety check: PassMIT

Similar skills

  • Linkedin Profile Optimizer

    sickn33/agentic-awesome-skills

    High-intent expert for LinkedIn profile checks and SEO optimization.

    47k GitHub starsUsed in 1 repo~2.6k tokens
    Business, Finance & HRAuto-check passed
  • Linkedin Profile Optimizer

    davila7/claude-code-templates

    Optimize a LinkedIn profile for searchability, recruiter visibility, and engagement.

    32k GitHub starsUsed in 2 repos~2.6k tokens
    Business, Finance & HRAuto-check passed
  • Profile Optimizer

    charlie947/social-media-skills

    Rebuild a LinkedIn profile for maximum conversions. An agent skill from charlie947/social-media-skills.

    3.8k GitHub stars~2.9k tokensUpdated 23 days ago
    Media & CreativeAuto-check passed
  • Happier Profile And Optimize

    happier-dev/happier

    The method for profiling and optimizing anything whose success is a measured cost — frame the phase and metric, choose an instrument that can actually see the cost, label the waste, falsify the…

    1.9k GitHub stars~3.2k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • SQL Optimization

    github/awesome-copilot

    Official

    Universal SQL performance optimization assistant for comprehensive query tuning, indexing strategies, and database performance analysis across all SQL databases (MySQL, PostgreSQL, SQL Server…

    40k GitHub starsUsed in 2 repos~2.3k tokens
    DatabasesAuto-check passed
  • Profile Optimization

    vivy-yi/xiaohongshu-skills

    A skill your agent uses when optimizing Xiaohongshu profile page, improving bio and homepage design, enhancing first impression, or increasing follow conversion rate

    474 GitHub stars~5.3k tokensUpdated 8 mo ago
    Marketing & SEOAuto-check passed

More from abullaisi/upwork-skills

  • Upwork Client Messenger

    abullaisi/upwork-skills

    Draft mid-contract messages to a freelance client on Upwork or similar platforms.

    114 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check passed
  • Upwork Invitation Responder

    abullaisi/upwork-skills

    Respond to an Upwork "Invitation to Interview" fast and well.

    114 GitHub starsUsed in 1 repo~1.4k tokens
    Auto-check passed
  • Upwork Job Qualifier

    abullaisi/upwork-skills

    Decide whether an Upwork job post is worth applying to before spending Connects.

    114 GitHub starsUsed in 1 repo~2.2k tokens
    Auto-check passed
  • Upwork Proposal Writer

    abullaisi/upwork-skills

    Draft or review an Upwork proposal (cover letter) using the five-move method extracted from a Top Rated Plus freelancer's winning proposals, corrected for the AI era.

    114 GitHub starsUsed in 1 repo~3k tokens
    Auto-check passed

Questions about Upwork Profile Optimizer

What does Upwork Profile Optimizer do?

Audit and improve an Upwork freelancer profile. An agent skill from abullaisi/upwork-skills. Upwork Profile Optimizer is an agent skill from abullaisi/upwork-skills. Audit and improve an Upwork freelancer profile.

When should I use Upwork Profile Optimizer?

Upwork Profile Optimizer fits situations like: the user pastes their profile (title; stats) and wants it scored and fixed; asks why they arent getting invitations; search visibility.

How do I install Upwork Profile Optimizer in Claude Code?

Run `npx skills add abullaisi/upwork-skills --skill upwork-profile-optimizer -a claude-code`. Or copy the skill folder (upwork-profile-optimizer in abullaisi/upwork-skills) into .claude/skills/upwork-profile-optimizer in your project. Claude Code loads it when a task matches its description.

How do I install Upwork Profile Optimizer in Codex?

Run `npx skills add abullaisi/upwork-skills --skill upwork-profile-optimizer -a codex`. Or copy the skill folder (upwork-profile-optimizer in abullaisi/upwork-skills) into .agents/skills/upwork-profile-optimizer in your project. Codex loads it when a task matches its description.

Can I use Upwork Profile Optimizer in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add abullaisi/upwork-skills --skill upwork-profile-optimizer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/upwork-profile-optimizer, .gemini/skills/upwork-profile-optimizer, .github/skills/upwork-profile-optimizer and .opencode/skills/upwork-profile-optimizer in your project.

What does Upwork Profile Optimizer need to run?

SKILL.md names no scripts, command-line tools or credentials: Upwork Profile Optimizer is instructions for the agent only.

Does Upwork Profile Optimizer access the network?

SKILL.md names 1 domain. As links in the text: upwork.com. This is read from the text; nothing was executed.

Is Upwork Profile Optimizer safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Upwork Profile Optimizer use?

Upwork Profile Optimizer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Upwork Profile Optimizer use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Upwork Profile Optimizer?

Skills that share tags, products or a category with Upwork Profile Optimizer: Linkedin Profile Optimizer (sickn33/agentic-awesome-skills, 47k stars), Linkedin Profile Optimizer (davila7/claude-code-templates, 32k stars), Profile Optimizer (charlie947/social-media-skills, 3.8k stars) and Happier Profile And Optimize (happier-dev/happier, 1.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Upwork Profile Optimizer?

abullaisi (a GitHub user) maintains it in abullaisi/upwork-skills, which has 114 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 5, 2026.

Source: abullaisi/upwork-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.