agentleFS
fahadqaseemfahadqaseem/upwork-proposal-writing-skill/SKILL.md

upwork-proposal

Skill3 starsChanged 4 months agoMITView on GitHub

Write Upwork proposals for Fahad (freelance designer and AI/ML engineer) in his proven voice, using his winning-proposal formula, his portfolio links, and his credibility anchors. Use this skill ANY time the user pastes an Upwork job description, a job post, a client brief, or an RFP, or says anything like "write a proposal", "apply to this", "cover letter for this job", "should I bid on this", "how do I pitch this client", or "rewrite this proposal". Trigger it even when the user just drops a job post with no instructions at all, since dropping a job post always means they want a proposal. Also use it to critique, tighten, or rewrite a draft proposal the user already wrote.

9 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use albert-dm, new-client-system and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • yawningwhaleAISkill

    albert-dm

    Reply to DMs and messages the way Albert would. Use when the user asks "how would Albert reply to this", pastes a conversation and wants an Albert-style response, or asks you to draft/write a DM in Albert's voice. Albert sells AI voice agents / automations to local service businesses (Go High Level, lead follow-up, bookings).

    Also in 5 projects that use this

  • yawningwhaleAISkill

    new-client-system

    Scaffold a new client's full stack — Next.js 16 frontend dashboard + Trigger.dev backend worker — from the Shiney automations template. Use when the user says "new client", "onboard a client", "scaffold a client system", "set up <client-name>", or wants to start a fresh frontend+backend project styled and structured like the Shiney automations dashboard. Produces structure only; no automations are scaffolded — those are added later.

    Also in 5 projects that use this

  • RoxenRobloxSkill

    youtube-broll-maker

    Generate 10-second B-roll footage of yourself doing an action using the Higgsfield MCP (Seedance 2.0). Upload one photo of yourself, describe the action ("typing on laptop", "walking at night"), pick from 5 cinematography style presets, get an MP4. Use when the user wants B-roll, cutaway footage, "me doing X" video, YouTube B-roll, or any image-to-video of themselves performing an action.

    Also in 3 projects that use this

  • RoxenRobloxSkill

    youtube-popup-graphic

    Generate stunning Adobe-Premiere-Pro-style UI popup motion graphics for YouTube videos using the Higgsfield MCP. The user uploads a style reference image (any UI mockup, dashboard, glass card, design they love), names one skill/feature/item, and the skill produces an MP4 of a single card popping in styled to match the reference. Use when the user wants a "popup graphic", "popup animation", "card popup", "skill popup", "AE/Premiere-style animation", "stunning UI animation for YouTube", or says "make me a popup for <skill/feature/item> styled like <reference>".

    Also in 3 projects that use this

  • huyvpSkill

    cost-reducer

    Reduce cloud, infrastructure, and operational costs while maintaining performance. Use when writing database queries, configuring cloud resources, optimizing bundles, setting up caching, choosing between services, sizing instances, configuring CDN, managing storage, or reviewing code for cost inefficiencies. Covers AWS/GCP/Vercel pricing, database optimization, serverless tuning, image pipelines, observability costs, and FinOps practices.

    Also in 6 projects that use this

  • xfstudioSkill

    trigger-dev

    Trigger.dev expert for background jobs, AI workflows, and reliable async execution with excellent developer experience and TypeScript-first design. Use when: trigger.dev, trigger dev, background task, ai background job, long running task.

    Also in 6 projects that use this

  • +4 more from yawningwhaleAI
  • +1 more from RoxenRoblox

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. 0 are common, 13 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 8 edited versions we read keep these.

  • 13

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Write proposals that win by reducing the client's hiring risk, not by advertising Fahad.

    line 8
  2. Very specific:

    Read references/positioning.md before writing the credibility line.

    line 25
  3. Distinctive:

    Follow these steps in order.

    line 29
  4. Distinctive:

    Every job post is a complaint in disguise.

    line 33
  5. Distinctive:

    Follow application instructions literally and first: If they ask for a specific opening sentence, that sentence is the first line, before …

    line 40
  6. Distinctive:

    If web access is available, do this before writing.

    line 44
  7. Distinctive:

    Write as an expert copywriter would: casual, confident, fast.

    line 72
  8. Distinctive:

    No generic openers. Never "I hope this finds you well", "I'm excited about this opportunity", or a restatement of the job title.

    line 76
  9. Distinctive:

    No em dashes or double hyphens.

    line 80
  10. Distinctive:

    No corporate filler. Not leverage, synergy, dive deep, passionate about, seamless.

    line 81
  11. Distinctive:

    If the client asks for a fixed bid, give a number.

    line 96
  12. Distinctive:

    If the scope is genuinely unclear, name the one variable that moves the price, then give a range anchored to an assumption.

    line 97
  13. Distinctive:

    Do not undercut for its own sake.

    line 98
  14. Distinctive:

    Before delivering, run this check:

    line 105

“Common” is measured: kept by at least 6 in 10 of the 8 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Upwork Proposal Writer

Write proposals that win by reducing the client's hiring risk, not by advertising Fahad. The client is scanning 40 proposals in 6 minutes. The job is to be the one that sounds like it was written by someone who already understands their problem.

Identity

The proposals are signed Fahad. He is a top-performing designer and web developer, and an AI/ML engineer, working across brand identity, performance creative, print and editorial layout, motion graphics, Amazon listing and A+ content, website and funnel work, and AI image generation.

The facts available to establish credibility:

  • Top 1 percent of talent on Upwork
  • 10 years of experience, always stated in the domain of the job at hand
  • 200-plus projects delivered
  • Amazon A+ content that measurably lifted engagement and conversion
  • Landing pages built and integrated with HubSpot for live marketing campaigns
  • Adobe Creative Suite plus web development plus marketing strategy in one person
  • M.S. in Computer Science, IEEE-published, for AI-heavy briefs
  • DKNY for brand and print pedigree, nonprofit work for mission-driven briefs

Read references/positioning.md before writing the credibility line. It has the exact phrasings by brief type and the rules on placement. Read references/portfolio.md before naming any past work or link.

Workflow

Follow these steps in order. Do not skip step 1, since a proposal written without research reads exactly like the 39 others.

1. Read the brief for the failure mode

Every job post is a complaint in disguise. Find the thing that has already gone wrong or is about to. Ask what the client is actually afraid of.

  • "Looking for someone reliable, no excuses" means they were burned by a flake.
  • "Must be able to produce adverts of this quality" means they hired someone cheap and got garbage.
  • "Looks terrible and needs fixing" means they know it is broken and are embarrassed.
  • Explicit application instructions (confirm X, start with sentence Y, do not send Z) mean they are drowning in copy-paste applicants and are using the instructions as a filter.

Follow application instructions literally and first. If they ask for a specific opening sentence, that sentence is the first line, before the greeting. If they say do not attach examples, do not attach examples. Failing the filter loses the job before the writing is read.

2. Research the client

If web access is available, do this before writing. If not, tell the user what to look up and continue.

  • Pull the client's website, product page, storefront, or the competitor link they shared. Find one true, specific observation that no other applicant will make.
  • Note the Upwork signals if visible: hire rate, average hourly paid, total spend, number of parallel open jobs, whether payment is verified. High spend plus parallel jobs means repeat-work potential, so pitch for a relationship. Low spend and first hire means pitch for a low-risk first win.

Details and what to look for are in references/client-research.md.

3. Write to the structure

Five moves, in this order. The full corpus of 20 proposals that actually won, each annotated with the specific move that made it land, is in references/winning-proposals.md. Read it before drafting anything non-trivial, and steal the move rather than the sentence.

  1. Open on their failure mode, in their words. Mirror the client's own vocabulary back at them. No greeting-plus-summary of the job. No "I read your posting and I am very interested." Never open with credentials.
  2. Prove domain knowledge with one precise technical detail. One concrete thing that only someone who does this work would say. For an ADHD workbook, that is visual clarity and cognitive load. For Amazon listings, that is label legibility and square-format generative fill. Precision beats volume: one true detail outperforms five adjectives.
  3. Land the credibility line. Exactly one sentence, placed here and nowhere else. It carries the top 1 percent standing, the 10 years in this specific domain, and the 200-plus projects, phrased as something a person would actually say rather than as a badge list. Pull the phrasing from references/positioning.md and match it to the brief type. Cut this move entirely on tiny jobs, where speed is the credibility.
  4. Kill the hiring risk. Offer a free sample, a mini audit, a single redesigned panel, a preview of one section. This is the highest-leverage line in the proposal, because it converts a hiring decision into a free look.
  5. Close with a scoped qualifying question. Never "looking forward to hearing from you." The close is a specific question that is easy to answer and starts a conversation. "Are you running PPC on the storefront right now?" "Do you want me to start with your best seller first?" "How locked is the tone, or is that still open?"

4. Produce two variants, always

Unless the user asks for one, deliver both:

  • Variant A, process-led. Roughly 120 to 180 words. Shows the how: the sequence, the deliverables, the thinking. Use for higher-budget, strategic, or long-term briefs.
  • Variant B, punchy. Roughly 50 to 90 words. Straight to the failure mode, one proof, one offer, one question. Use for small, urgent, or price-sensitive jobs where speed of read matters.

Label them plainly and add one line under each on when to send it. If the job post includes screening questions, answer those separately below the proposal body.

Voice

Write as an expert copywriter would: casual, confident, fast. Like texting a client you respect. Not formal, not cute, not salesy.

Hard constraints. Breaking these makes the proposal read like everyone else's.

  • No generic openers. Never "I hope this finds you well", "I'm excited about this opportunity", or a restatement of the job title.
  • No exclamation points.
  • No emoji.
  • No colons in casual proposal copy. Restructure the sentence.
  • No em dashes or double hyphens. Use commas, periods, or a new sentence.
  • No corporate filler. Not leverage, synergy, dive deep, passionate about, seamless.
  • Contractions everywhere. I'd, you've, that's, here's. Writing "I will" instead of "I'll" is the loudest tell that a machine wrote it.
  • You-led. Count the pronouns. If "I" outnumbers "you", rewrite.
  • Short sentences. One idea each.

Human texture. A proposal that reads too clean reads like AI. Break the rhythm on purpose.

  • Tier 1, always, 3 to 5 per proposal. Fragments. Sentences opening with And, But, or So. One-word sentences. Self-interruption after a full stop. Trailing afterthoughts.
  • Tier 2, always, 2 or 3 per proposal. Deliberate prescriptive-grammar violations that read as speed, not carelessness. A comma splice. A missing Oxford comma. Ending on a preposition. A split infinitive. A dropped subject. Colloquial hedges like honestly, kinda, a bit, the thing is.
  • Tier 3, off by default. Actual spelling and grammar errors. Never on design, editorial, layout, print, copywriting, or branding briefs, where proofreading is the service and the proposal is read as a work sample. If the user turns it on for a specific job, cap at two, place them mid-proposal only, never in the opener or the close, and never in the client's name, brand, product, or a technical term from their brief.

The exact devices, examples, and rationale are in references/voice-rules.md. Read it before drafting.

Pricing and scope

  • If the client asks for a fixed bid, give a number. Vagueness reads as inexperience.
  • If the scope is genuinely unclear, name the one variable that moves the price, then give a range anchored to an assumption. "Assuming the assets are print-ready, that is X. If they need rebuilding, closer to Y."
  • Do not undercut for its own sake. Anchor on standard and outcome, not on being the cheapest.
  • Mention turnaround when the post signals urgency. Speed is a differentiator on rush jobs.

Output format

Deliver in chat as plain text the user can paste straight into Upwork. Do not create a file unless asked. Keep the proposal body clean of headers and bullets unless the job post itself is a numbered checklist, in which case match its structure exactly.

Before delivering, run this check:

  • Application instructions followed literally
  • Opens on the client's failure mode, not on Fahad
  • One precise, brief-specific technical detail present
  • Exactly one credibility line, placed mid-proposal, matched to the brief type
  • Free sample or audit offered
  • Ends with a question that is easy to answer
  • Contractions used throughout, no "I will" where "I'll" fits
  • 3 to 5 tier-1 rhythm breaks, 2 to 3 tier-2 grammar violations
  • Tier-3 typos ONLY if explicitly requested, and never on a design or editorial brief
  • No exclamation points, no emoji, no colons in casual copy, no em dashes
  • behance.net/fahadqaseem included, plus 2 to 3 category links with one line of context each
  • No invented metrics or badges
  • Client's name, brand, product, and technical terms all spelled correctly
  • "You" outnumbers "I"

Reference files

  • references/winning-proposals.md for the full corpus of wins, annotated, plus the four failure patterns to avoid
  • references/positioning.md for the credibility line, exact phrasings by brief type, and placement rules
  • references/voice-rules.md for tone, banned phrasing, and before/after rewrites
  • references/portfolio.md for links by category and which anchor to deploy where
  • references/client-research.md for what to pull from a client's site and Upwork profile

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.