Agent skill

Upwork Application Session

by hashgraph-online in hashgraph-online/awesome-codex-plugins

A skill your agent uses when the user wants to search Upwork, qualify roles, draft proposals, submit applications, or continue an active Upwork application session.

Apache-2.0Auto-check passedSales & Support

Install Upwork Application Session

skills CLI
$ npx skills add hashgraph-online/awesome-codex-plugins --skill upwork-application-session -a claude-code

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

GitHub CLI
$ gh skill install hashgraph-online/awesome-codex-plugins upwork-application-session --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/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/klajdikkolaj/upwork-autopilot/skills/upwork-application-session .claude/skills/upwork-application-session && 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-application-session
GitHub stars
1.2k
Token cost
~1.6k tokens
SKILL.md length
819 words
Files
1
Skills in repo
736
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when the user wants to search Upwork, qualify roles, draft proposals, submit applications, or continue an active Upwork application session.

  • Works in 7 steps: Run ../../scripts/bootstrap.sh once from… → Ensure the applicant profile exists. If… → Run… → …
  • The user wants to search Upwork
  • SKILL.md covers Read first, Non-negotiables, Setup and Search and qualification, plus 3 more sections
  • Calls node

What it does

Upwork Application Session is an agent skill from hashgraph-online/awesome-codex-plugins. Use when the user wants to search Upwork, qualify roles, draft proposals, submit applications, or continue an active Upwork application session. This skill uses a Chrome CDP workflow, payload JSON files, sequential browser actions, connect-budget tracking, and final success confirmation through Upwork proposal URLs.

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

It sits in Sales & Support, covering Proposals and quotes. The repository describes itself as: A curated list of awesome OpenAI Codex / ChatGPT plugins, skills, and resources. The 1 Codex Marketplace. See live plugins at: https://hol.org/plugins/best-codex-plugins. The licence is Apache-2.0.

When your agent uses it

  • The user wants to search Upwork
  • Draft proposals
  • Submit applications
  • Continue an active Upwork application session

Example prompts

  • “/upwork-application-session”

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Run ../../scripts/bootstrap.sh once from the plugin root.
  2. Ensure the applicant profile exists. If it does not, run node ../../scripts/setup-applicant-profile.mjs.
  3. Run ../../scripts/launch-controlled-chrome.sh by default to reuse the user's normal logged-in Chrome profile.
  4. If the user explicitly wants a clean browser state, run ../../scripts/launch-isolated-chrome.sh instead.
  5. Ask the user to log into Upwork only if the chosen browser mode is not already signed in.
  6. Run node ../../scripts/upwork-session-probe.mjs to confirm login state.
  7. Export a log path before submissions, for example

What it can do on your machine

Read from SKILL.md and the folder at commit 16b4156. 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

    Shell commands in SKILL.md call:

    • node

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

  • Network

    No URLs in SKILL.md.

    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 Application Session loads about 1.6k tokens when it runs. Until then it costs about 86 tokens; SKILL.md has 819 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~86
When it runs · the whole SKILL.md, loaded when a task matches
~1.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 hashgraph-online/awesome-codex-plugins at commit 16b4156, republished under its Apache-2.0 licence (© hashgraph-online). 819 words, ~1,642 tokens.

Download SKILL.mdSave it as .claude/skills/upwork-application-session/SKILL.md (or your agent's skills folder).
name
upwork-application-session
description
Use when the user wants to search Upwork, qualify roles, draft proposals, submit applications, or continue an active Upwork application session. This skill uses a Chrome CDP workflow, payload JSON files, sequential browser actions, connect-budget tracking, and final success confirmation through Upwork proposal URLs.

Upwork Application Session

Use this skill for real Upwork application work. Prefer the Chrome CDP path. Only use Atlas if JavaScript execution is confirmed to work there.

Read first

  • First try ../../config/applicant-profile.local.md
  • If that file does not exist in the cache copy, fall back to $HOME/plugins/upwork-autopilot/config/applicant-profile.local.md
  • If that file does not exist, run node ../../scripts/setup-applicant-profile.mjs
  • Then read ../../config/search-profile.local.json if it exists
  • If that file does not exist in the cache copy, fall back to $HOME/plugins/upwork-autopilot/config/search-profile.local.json
  • If the local search profile does not exist, use ../../config/search-profile.template.json
  • ../../references/search-strategy.md

Non-negotiables

  • Start every cover letter with Hi,
  • Tone: friendly, professional, specific, low-fluff.
  • Never invent project examples, metrics, portfolio URLs, or domain history.
  • Never include email, phone, Telegram, WhatsApp, Calendly, or any off-platform contact detail in a proposal.
  • Never attach the CV in this workflow.
  • Do not parallelize browser actions against the live Upwork session.
  • Stop when available Connects drop below 15.
  • Skip jobs that are already applied, blocked by hard geography, citizenship, or security constraints, or clearly below the user's floor.

Setup

  1. Run ../../scripts/bootstrap.sh once from the plugin root.
  2. Ensure the applicant profile exists. If it does not, run node ../../scripts/setup-applicant-profile.mjs.
  3. Run ../../scripts/launch-controlled-chrome.sh by default to reuse the user's normal logged-in Chrome profile.
  4. If the user explicitly wants a clean browser state, run ../../scripts/launch-isolated-chrome.sh instead.
  5. Ask the user to log into Upwork only if the chosen browser mode is not already signed in.
  6. Run node ../../scripts/upwork-session-probe.mjs to confirm login state.
  7. Export a log path before submissions, for example:
bash
export UPWORK_AUTOPILOT_LOG=$HOME/.codex/upwork-autopilot/logs/$(date +%F).jsonl

Search and qualification

  • List search results:
bash
node ../../scripts/upwork-search-plan.mjs
  • A raw keyword is converted into the default filtered Upwork search URL.
  • A full Upwork search URL is accepted as-is.
  • If upwork-search-plan.mjs returns multiple URLs, iterate them sequentially.
  • To open a result and inspect the full job page:
bash
node ../../scripts/upwork-search-inspect.mjs '<search-url-or-keyword>' detail 0
  • To probe the apply flow for a specific job:
bash
node ../../scripts/upwork-apply-probe.mjs '<job-url>'

Apply only if all of these hold:

  • the client is payment verified
  • the role is technically relevant
  • the rate is compatible with the user's floor
  • there is no hard location block
  • the role is not already applied
  • any requested proof, portfolio examples, or niche experience can be answered honestly from the profile or current context

Proposal writing

Create a payload JSON file with apply_patch. The scripts fill fields in DOM order.

json
{
  "textareas": [
    "Hi,\n\n..."
  ],
  "inputs": []
}

Rules:

  • Before drafting, extract the actual deliverable, stack, client pain point, any written questions, and any request for examples or proof.
  • First paragraph: open casually and directly, and name the actual problem or fit in plain language within the first 2 sentences.
  • Default structure: 3 to 5 short paragraphs in natural prose, not a bullet-heavy sales pitch.
  • Weave relevant experience into the paragraphs instead of defaulting to bullets.
  • Use bullets only when the client explicitly asks for list-style answers or when multiple written questions are easier to answer that way.
  • Proof section: use relevant project evidence from the profile only when it actually matches the post.
  • When the applicant profile includes named project examples, prefer dropping 1 to 3 of the strongest ones naturally into the prose instead of listing every example.
  • If the applicant profile includes Differentiators to mention when relevant, use at most 1 or 2 that genuinely strengthen this specific job. Do not force them into unrelated proposals.
  • Closing: use the profile's Preferred closing CTA when present, or a close natural variant of it.
  • If the client asks for project examples, case studies, metrics, URLs, or niche background, answer with the closest truthful match from the profile.
  • If the profile does not contain the proof the client is asking for, stop and ask the user for the missing details before submitting. Do not guess.
  • Keep the proposal usually around 220 to 320 words unless the page asks multiple written questions.
  • Answer written questions directly in field order. Do not dodge them with generic sales copy.
  • Use conversational phrasing and contractions when natural. Avoid templated buzzwords, generic praise, AI-sounding filler, and overly heavy systems language unless the post clearly calls for it.
  • If the applicant profile states tone or structure preferences, follow those over the generic defaults in this file.
  • The first line must begin with Hi,
Show full SKILL.md (135 more words)Show less

Submission

Run:

bash
node ../../scripts/upwork-submit-proposal.mjs '<proposal-url>' /abs/path/to/payload.json

Success is confirmed only when the final URL contains ?success.

The submit script:

  • fills visible textarea fields in order
  • fills visible text, url, email, and number inputs in order
  • clicks Submit a proposal
  • extracts the success URL and proposal ID
  • appends a JSONL log entry if UPWORK_AUTOPILOT_LOG is set

Failure handling

  • If the page opens a video interview flow, skip unless the user explicitly wants that path.
  • If the apply button is disabled, read the probe output before deciding whether to skip.
  • If the form asks for required information that is missing from the profile, stop and ask the user before submitting.
  • If net::ERR_ABORTED appears, another command touched the same Upwork tab. Resume with single-threaded browser actions only.
  • If login, CAPTCHA, or 2FA appears, hand control to the user and resume after confirmation.

© hashgraph-online, Apache-2.0. 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 plugins/klajdikkolaj/upwork-autopilot/skills/upwork-application-session of hashgraph-online/awesome-codex-plugins.

Open the folder on GitHubat commit 16b4156

Compare with similar skills

Upwork Application Session 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 Application Session compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Upwork Application Session this skillhashgraph-online/awesome-codex-plugins1.2k—~1.6kAutomated safety check: PassApache-2.0
Client Proposalindranilbanerjee/digital-marketing-pro8541 repos~1.7kAutomated safety check: PassMIT
Proposalsericrisco/rsc-harness156—~3.3kAutomated safety check: PassMIT
Rfp Responsemohitagw15856/pm-claude-skills1.4k—~882Automated safety check: PassMIT
Rfp Scoring Matrixmohitagw15856/pm-claude-skills1.4k—~1.4kAutomated safety check: PassMIT
Business ProposalsEliasOulkadi/shokunin114—~2.7kAutomated safety check: PassMIT

Similar skills

  • Client Proposal

    indranilbanerjee/digital-marketing-pro

    Draft a professional agency proposal or pitch document for a prospective client — executive summary, situation analysis, scope of services with a deliverables matrix, KPI targets with baselines and…

    854 GitHub starsUsed in 1 repo~1.7k tokens
    Sales & SupportAuto-check passed
  • Proposals

    ericrisco/rsc-harness

    A skill your agent uses when writing the document a buyer reads to say yes — a commercial proposal or Statement of Work, turning discovery notes into a scoped and priced document, adding tiers so…

    156 GitHub stars~3.3k tokensUpdated yesterday
    Sales & SupportAuto-check passed
  • Rfp Response

    mohitagw15856/pm-claude-skills

    Write a compliant, competitive response to an RFP/RFQ/ITT (government or enterprise procurement).

    1.4k GitHub stars~882 tokensUpdated yesterday
    Sales & SupportAuto-check passed
  • Rfp Scoring Matrix

    mohitagw15856/pm-claude-skills

    Build a weighted RFP evaluation matrix and defensible award recommendation.

    1.4k GitHub stars~1.4k tokensUpdated yesterday
    Sales & SupportAuto-check passed
  • Business Proposals

    EliasOulkadi/shokunin

    Generate sales outreach sequences, proposals, SOWs, investor pitch decks, and RFP responses.

    114 GitHub stars~2.7k tokensUpdated 2 days ago
    Sales & SupportAuto-check passed
  • Prospect Panel Simulator

    OneWave-AI/claude-skills

    Simulate a panel of your real prospects and buyers to pressure-test sales and marketing before it goes out — cold emails, pitch decks, landing pages, pricing pages, demo scripts, proposals.

    322 GitHub stars~1.2k tokensUpdated 5 days ago
    Sales & SupportAuto-check passed

More from hashgraph-online/awesome-codex-plugins

All 736 skills in this repo
  • Anime Reaction Gif

    hashgraph-online/awesome-codex-plugins

    Create original anime-style reaction stickers as looping GIFs and MP4 previews, using generated character pose sheets and timed key poses.

    1.2k GitHub stars~922 tokensUpdated yesterday
    Auto-check passed
  • Calibredb

    hashgraph-online/awesome-codex-plugins

    Manage and query Calibre libraries with the calibredb CLI (local paths or Calibre Content server URLs).

    1.2k GitHub stars~1k tokensUpdated yesterday
    Auto-check passed
  • Rust API Test Harness

    hashgraph-online/awesome-codex-plugins

    A skill your agent uses when adding, changing, testing, or debugging Rust HTTP APIs and services, especially when Codex needs black-box integration tests, random-port app startup, real database test…

    1.2k GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Art

    hashgraph-online/awesome-codex-plugins

    Make a studio's game look like something at build time — a cover from a real frame of the game (free), painted covers, backdrops, textures and character plates from image models through the…

    1.2k GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Calle

    hashgraph-online/awesome-codex-plugins

    Use CALL-E from Codex through the calle CLI. An agent skill from hashgraph-online/awesome-codex-plugins.

    1.2k GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed
  • Game Balance Economy

    hashgraph-online/awesome-codex-plugins

    Balance game difficulty, resources, rewards, probability, progression, economies, and dominant strategies.

    1.2k GitHub stars~618 tokensUpdated yesterday
    Auto-check passed

Questions about Upwork Application Session

What does Upwork Application Session do?

A skill your agent uses when the user wants to search Upwork, qualify roles, draft proposals, submit applications, or continue an active Upwork application session. Upwork Application Session is an agent skill from hashgraph-online/awesome-codex-plugins. Use when the user wants to search Upwork, qualify roles, draft proposals, submit applications, or continue an active Upwork application session.

When should I use Upwork Application Session?

Upwork Application Session fits situations like: the user wants to search Upwork; draft proposals; submit applications; continue an active Upwork application session.

How do I install Upwork Application Session in Claude Code?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill upwork-application-session -a claude-code`. Or copy the skill folder (plugins/klajdikkolaj/upwork-autopilot/skills/upwork-application-session in hashgraph-online/awesome-codex-plugins) into .claude/skills/upwork-application-session in your project. Claude Code loads it when a task matches its description.

How do I install Upwork Application Session in Codex?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill upwork-application-session -a codex`. Or copy the skill folder (plugins/klajdikkolaj/upwork-autopilot/skills/upwork-application-session in hashgraph-online/awesome-codex-plugins) into .agents/skills/upwork-application-session in your project. Codex loads it when a task matches its description.

Can I use Upwork Application Session 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 hashgraph-online/awesome-codex-plugins --skill upwork-application-session -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-application-session, .gemini/skills/upwork-application-session, .github/skills/upwork-application-session and .opencode/skills/upwork-application-session in your project.

What does Upwork Application Session need to run?

Going by SKILL.md and its folder, Upwork Application Session needs the command-line tools its instructions call (node).

Does Upwork Application Session access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Upwork Application Session 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 Application Session use?

Upwork Application Session is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Upwork Application Session use?

About 1.6k tokens (SKILL.md is roughly 6.6k 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 Application Session?

Skills that share tags, products or a category with Upwork Application Session: Client Proposal (indranilbanerjee/digital-marketing-pro, 854 stars), Proposals (ericrisco/rsc-harness, 156 stars), Rfp Response (mohitagw15856/pm-claude-skills, 1.4k stars) and Rfp Scoring Matrix (mohitagw15856/pm-claude-skills, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Upwork Application Session?

hashgraph-online (a GitHub organization) maintains it in hashgraph-online/awesome-codex-plugins, which has 1,232 GitHub stars. The repository holds 736 skills in this directory. The repository was last updated on October 6, 2026.

Source: hashgraph-online/awesome-codex-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.