OpenClaw Skill
Upwork Automation Using Ai
Install
$npx clawhub@latest install upwork-automation-using-ai
View on GitHubv1.0.0
All-time installs4
Active installs3
Stars0
Upwork Automation Using AI
Workflow
- Keep one active browser session/tab unless user explicitly asks to switch.
- Open Upwork and ensure login state.
- If logged out, run login automation:
- go to Upwork login page
- prefer "Continue with Google" when user asks for Gmail login
- fill email/password only from user-provided credentials for this run
- complete required next step (password, captcha/2FA/manual checkpoint)
- verify logged-in indicators before continuing
- Collect/confirm criteria:
- allowed job types/stack
- minimum client quality thresholds
- disqualifiers
- proposal constraints (submit or draft-only)
- Search jobs and shortlist visible matches.
- Reject jobs with any disqualifier.
- Pick the best remaining job (or top N if user asks).
- Open job detail and click Apply.
- Detect proposal location:
- if same tab, continue
- if new tab/window, switch to it (or ask user to activate once if tool cannot switch)
- Fill proposal fields completely.
- Stop before submission unless user explicitly says submit.
Hard Rules
- Do not submit proposal unless user explicitly says to submit now.
- Stay in the same tab/session unless user requests switching.
- After clicking Apply, immediately check whether proposal opened in same tab.
- If proposal opens in a new tab/window, auto-switch to that tab when the tool supports tab targeting.
- If auto-switch is not supported by the active tool, instruct user to activate the new tab once, then continue there.
- If a modal blocks actions, close modal first, then continue.
- Validate on-page state with screenshot/text checks before risky clicks.
- Never persist credentials to skill files or notes; use credentials only for the active run.
Job Filtering Rubric
Treat a job as valid only if all required checks pass.
Required:
- Job type matches user scope (ecommerce stack or general development)
- Posted within time window (default <= 3 days unless user changes)
- Client quality meets thresholds (e.g., avg hourly >= $10 if visible)
- Fixed budget >= $100 when fixed-price budget is visible
Disqualify when any is true:
- Individual-only hiring restriction
- Urgent/start-today pressure language
- No/poor payment history when user disallows it
- Requires screen share, onsite reporting, strict time tracking, or skill tests (if disallowed)
If uncertain from visible data:
- mark as "needs manual review"
- do not claim it fully passed
Proposal Drafting Template
Use concise, specific structure:
- Direct fit opening (stack + outcome)
- Delivery plan (milestones/timeline)
- Relevant proof (similar builds)
- Communication cadence
- Clear CTA
Prefer concrete numbers and short bullets over long paragraphs.
Execution Notes (Browser Reliability)
- Prefer deterministic selectors and verify each transition with screenshot/get_text.
- If generic selectors misfire, target by nearby unique text.
- If automation cannot switch to newly opened tab, ask user to bring proposal tab active and confirm.
- Keep browser open at end and report exact completion status:
- job selected
- proposal fields filled
- submission state (not submitted)
Output Format to User
After completing work, respond with:
- Selected job: <title>
- Why selected: <criteria match summary>
- Fields filled: <key fields>
- Submission: Not submitted
- Next action: “Review and tell me ‘submit now’ if you want me to send it.”
Created by
@adeel-powerhousePersistent memory
Give your OpenClaw agent a memory layer
Mem0 remembers users and context across sessions so you send fewer tokens and get better answers.
Try Mem0Mem0 + OpenClaw guide