Agent skill · recoupable

recoup-internal-upwork

INTERNAL — Recoup staff tooling, gated by the recoup-internal keyword. Invoke ONLY when the request explicitly includes "recoup-internal" (e.g. "recoup-internal apply to this Upwork job"). Never use for customer-facing or artist requests. Find, win and close Upwork contract work end to end: run the daily pipeline, triage a client before writing anything, verify every claim against the actual repositories, draft the cover letter and screening answers, pick the right work-sample pack, set the rate, then follow up, handle the reply, run the call and convert a trial into ongoing work. Use when asked to "apply to this Upwork job", "write an Upwork proposal", "should I bid on this", "triage this client", "is this job worth connects", "find Upwork jobs worth applying to", "run the Upwork pipeline", "a client replied", "prep for the client call", "follow up on my proposals", "why is nothing converting", or when an Upwork job posting is pasted in. Requires a local workspace directory and read access to the repositories behind any claim being made.

What it needs

About 13k tokens when loaded.

What this skill does

Upwork: find work and win it The repeatable motion for turning an Upwork posting into a submitted proposal. Built from real proposals starting 2026-08-11; every rule below exists because breaking it cost something. Connects are money and attention is scarce. Most of the value in this skill is in refusing jobs (Step 0) and in not writing a single false or unearned sentence (Step 2). The drafting is the easy part. The workspace This skill reads and writes a persistent workspace directory. Ask the owner for its path on first run and reuse it after. Expected layout: If the workspace does not exist yet, create it and populate PROFILE.md as you verify claims. PROFILE.md is the only source for reusable claims. Nothing enters a letter that is not in it or freshly verified in a repository. The daily run Order matters, and it is not the order of the steps below. The steps are the procedure for one proposal. A day optimized for closing starts with the pipeline that already exists, because a live thread converts far better than a new bid and costs no connects. 1. Read LOG.md and the connect balance. Everything else is scoped by these. 2. Answer any client reply first, before anything else. Reply speed is one of the strongest conversion variables on the platform. An hour matters; a day costs you the job. See references/closing.md. 3. Update the status of every open row. Viewed, Declined, Job closed. This is the funnel data and it is worthless if backfilled later from memory. 4. Follow up anything viewed but quiet past a week, per the rules in references/closing.md. 5. Only now scan, triage and apply, and only if the connect floor allows. 6. Log it. If the reply rate is zero after five or more proposals, insert a profile audit before step 5 and stop applying until it is done. See "Diagnosing a funnel that is not converting." Connect budget A proposal costs 15 to 27 connects. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills recoupable/recoup-internal-upwork

View the source on GitHub

Browse the @skills marketplace