agentsclimarketplace

Upwork proposal

Skill waseemnasir2k26/skynetlabs-all-claude-code/skills/seo-content-copy/upwork-proposal

44 production Claude Code skills — content & reels, SEO/AEO, client delivery, code review, planning, token efficiency. One-command install.

Install
npx -y skills add waseemnasir2k26/skynetlabs-all-claude-code --skill upwork-proposal

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Win Upwork proposals. Given a job description (and optionally the client's first reply message), produce a 120-180 word proposal that mirrors the JD, anchors price, weaves real proof, asks 2-3 sharp questions, and closes with a presumptive CTA. Also flags red flags, recommends Connects/boost decision, and suggests Loom or speculative micro-deliverable when ROI fits. Tuned for SkynetLabs: WordPress, n8n, AI integrations, AEO/SEO, Shopify, WhatsApp bots, healthcare, wellness funnels. Trigger when user says: "write upwork proposal", "upwork bid", "/upwork-proposal", pastes an Upwork JD, or asks to draft a proposal/cover letter for a freelance brief.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

11.8 KB, as published. Nobody here has run it

Upwork Proposal Skill — SkynetLabs Edition

Goal: produce proposal client wants to reply to. Not CV-dump. Not generic. Not "I hope this finds you well."

Inputs

User provides ONE or BOTH of:

  1. Upwork JD (full job post text)
  2. Client message (their first DM/reply after invite)

If only JD given → write proposal. If only client message given → write reply (skip the JD-extraction step, mirror the message instead). If both → write proposal that anticipates the reply concerns.

If user gives neither, ask: "Paste the JD (or invite message). Anything you already know about the client/budget?"

Workflow

Step 1 — Red-flag scan (skip-or-bid decision)

Before writing, check JD for:

  • Payment method not verified → skip if job <$1K
  • "Send a sample first" / "do a test task" → free-work scam, skip
  • Budget <20% of stated scope ($50 for "build me Uber") → skip
  • "Communicate on Telegram/WhatsApp first" → TOS violation + scam pattern, skip
  • 0 hires + posted >2 weeks → ghost client, deprioritize
  • Spelling/grammar inconsistencies → AI-generated scam, skip
  • "NDA before any conversation" → skip
  • "Urgent — need today" + no budget listed → panic client, churn risk
  • Hire rate <30% with 50+ jobs posted → shopper not buyer
  • Vague ("build me an app like Uber") → unscope-able, skip

Output a 1-line verdict before the proposal: Verdict: BID / BID-WITH-CAUTION / SKIP — reason.

If SKIP, stop. Do not draft.

Step 2 — Extract from JD

Pull these 8 signals (mentally, not in output):

  1. Stated problem — what they typed
  2. Hidden problem — underneath (e.g., "need fast site" = previous dev ghosted)
  3. Tech stack constraints — named tools = non-negotiable
  4. Decision-maker tells — "we / my team / founder / agency"
  5. Budget signal — range, "open", or absent
  6. Timeline urgency — "ASAP", "no rush", date-anchored
  7. Past-pain phrases — "last freelancer", "tried before", "didn't work"
  8. Success metric — revenue / speed / launch / compliance

Reflect 2 of these in the opener. Never all 8 (parrot territory).

Step 3 — Pick the proof point (Profile→Proposal bridge)

From your real builds, weave ONE per plan-bullet. Rotate from this bank:

NicheProof pointLive URL / receipt
WordPressA custom companion plugin, HMAC+replay auth, kills ZIP uploadsyour-personal-site.com
n8n50+ flows shipped, AEO content engine, LinkedIn auto-post, FB clone engineexample.com
WhatsApp botA real-estate client, €850 / 5-day MVP(ask for client perm before naming)
Healthcare siteA colon & rectal surgeon pre-launchexample.vercel.app
Wellness funnel6-page editorial WP, Upwork wellness briefwellness-funnel-demo.vercel.app
Clinic siteA UK clinical lead nurse(private — describe shape, not name)
AEO/SEOCiteLift / aeo-audit-tool 5-API stackcitelift.app (in build)
Local-servicesA home-services NYC quote-funnel(private — case study OK)
Demo-first habitBuilds free demo before pitchshows in pattern, not bullet

Rule: ONE proof per bullet, woven, not stacked. Live URL > screenshot > claim. Never list >2 URLs in proposal — clients click 1.

Step 4 — Decide: Loom and/or speculative micro-deliverable

Loom worth it when: job ≥$1K, scope is concrete, client has ≥1 prior hire. 60–90 sec, screen-record on their site/brief, give 3 specific recommendations.

Speculative demo worth it when:

  • job ≥$500
  • scope concrete (a site, a flow, a funnel)
  • client payment-verified
  • you can ship demo in <2 hrs

Neither when: vague JD, $50 budgets, "send samples first" requests (free-work scam), 0-hire ghost clients.

If recommended, say so in Meta block (after proposal). Don't actually build the demo until user confirms.

Step 5 — Draft proposal (120–180 words)

Skeleton:

  1. Hook (2 lines, ≤25 words line 1) — mirrors job, never starts with "I"
  2. 3-bullet plan — each bullet = action + "Done = ..." outcome + woven proof
  3. 1 proof artifact — inline link, not "see portfolio at end"
  4. 2-3 sharp questions — micro-demo of expertise (see Q-bank below)
  5. Price anchor — concrete number + scope + timeline
  6. Presumptive CTA — choice-based ("two ways to start: A or B"), signed first name only

Hook templates (pick the fit)

  • Mirror + claim: "[Specific JD pain] is almost always [diagnosis] — fixable in [timeline]."
  • Diagnostic hook: "Your post mentions [tool A] AND [tool B] — order matters here, and most builds get it backwards."
  • Pattern-match flex: "Just shipped a near-identical [thing] last week ([client/context], [scope+price+timeline])."
  • Specific compliment: "Your brief is already 80% spec'd — rare. Only gap I see is [X]."

Banned openers: "I hope this finds you well", "I am the perfect fit", "I have X years experience", "Dear Hiring Manager", "I came across your job post".

Question bank (pick 2-3, never lazy)

Lazy (banned): "What's your budget?" "When do you need this?" "What's the goal?"

Sharp:

  • "Is the [WhatsApp bot / chat flow] routing to a human after qualification, or fully autonomous?"
  • "n8n self-hosted or cloud? (Changes credentials approach.)"
  • "Existing GA4 + Search Console access, or do we set up tracking from zero?"
  • "Shopify theme — Dawn-based or custom/legacy? (Affects upgrade path.)"
  • "When you say 'AI integration' — Claude/GPT API direct, or via Make/n8n wrapper?"
  • "WordPress — managed host (WP Engine/Kinsta) or shared (BanaHosting/Hostinger)? Affects deploy method."
  • "Is the success metric leads, bookings, or revenue? Build sequencing changes."

Pricing language (anchor, never apologize)

  • Anchor: "$2,500 fixed for the scope you described — [scope items], [revisions], [timeline]. Done = [observable artifact]."
  • Tiered (high-ticket): "Three ways to start: (A) $400 discovery sprint — audit + spec + clickable wireframe. (B) $1,800 build — implements A. (C) $3,500 build + 30 days post-launch support."
  • "What's your budget?" jobs: "Comparable builds I've shipped run $1,200–$3,000 depending on [variable]. Happy to scope to either end once I know [Q1, Q2]."
  • Hourly defense: "$65/hr, capped at 25 hrs for this milestone — over is on me."
  • Race-to-bottom defense (last resort): "Not the cheapest bid you'll get — the one who's already shipped 3 of these. If lowest price is the brief, no hard feelings."

Closing CTA — presumptive close

Banned: "Looking forward to hearing from you", "Let me know if interested", "Hope to chat soon", "Best regards / SkynetLabs Team."

Alive:

  • "Two ways to start: 15-min call this week, or I send a 2-slide plan tomorrow — your pick. — [Your Name]"
  • "Want the demo URL? Reply 'yes' and it's in your inbox in an hour."
  • "If [Q1] is yes, discovery doc to you tomorrow. — [Your Name]"
  • "Worth a 10-min call Thursday? I'll come with the wireframe pre-built."

Step 6 — Output format

Always output in this structure:

═══════════════════════════════════════
VERDICT: <BID / BID-WITH-CAUTION / SKIP>
Reason: <one line>
═══════════════════════════════════════

PROPOSAL (paste-ready):
---
<the proposal — 120-180 words>
---

META:
- Word count: <n>
- Connects: <est cost> | Boost: <YES if 9/10 fit + verified + ≥$1K else NO>
- Loom: <YES + what to show / NO>
- Speculative demo: <YES + what to ship / NO>
- Red flags found: <list or "none">
- Anticipated client objections: <2-3>
- If they reply "what's your timeline / when can you start": <prepared answer>
═══════════════════════════════════════

Reply mode (client already messaged back)

If user pastes a client reply, switch to reply mode:

  • Mirror their last message in line 1 (quote a phrase or restate their concern)
  • Answer ONE concern fully, not all of them (avoid wall-of-text)
  • Always end with ONE forward-motion question
  • Length: 60–120 words, plain text, no bullets unless they used bullets
  • Match their formality level (formal client → formal you; casual → casual)

Hard rules

  • Never start a proposal with "I"
  • Never write more than 200 words
  • Never list more than 2 URLs
  • Never use "Looking forward to hearing from you"
  • Never quote a price as a range without the upper-bound logic ("$X–$Y depending on Z")
  • Never offer free trial week / first task free / money-back guarantee
  • Never lie about a build (no fake metrics, no invented clients) — see feedback-no-fake-claims
  • If naming a real client — only first names or shape ("a real-estate developer", "a UK clinical nurse"), never full client identifiers without permission

Quality checklist (run before delivering)

  • Opener doesn't start with "I"
  • Opener mirrors ≥1 specific JD detail (not just rephrases JD)
  • 3 plan bullets, each with "Done = ..." or proof link
  • Concrete price stated
  • 2-3 sharp questions, no lazy ones
  • CTA is presumptive, not "looking forward"
  • Word count 120-180
  • Signed "— [Your Name]" not "Best, SkynetLabs Team"
  • No fake claims / invented metrics
  • Loom + spec-demo decisions stated

Connects economics (for Boost decision)

  • $0.15/Connect. Standard bid = 6C ($0.90). Competitive = 10–16C.
  • Plus plan: $19.99/mo, 100 Connects. Worth past ~50 bids/mo.
  • Boost only when ALL true: 9/10 fit, client payment-verified, hire rate >50%, job ≥$1K, <20 proposals already.
  • Healthy reply rate: 20–35%. Below 15% = hook or targeting wrong, not volume.

When to invoke

User says any of:

  • "write upwork proposal" / "upwork bid" / "draft a proposal for this Upwork job"
  • "/upwork-proposal"
  • pastes an Upwork JD
  • "client just messaged back, what do I say"
  • "help me reply to this Upwork client"

When NOT to invoke

  • Generic cover letter requests (LinkedIn, email outreach, RFP) — different game
  • Existing client comms inside an active Upwork contract — that's not a proposal
  • Fiverr gig descriptions — different platform mechanics

Reference: Full research synthesis in playbook.md (loaded only if user asks "why" or wants deeper teardown).

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.