remote-jobs-finderFully conversational remote job finder for WhatsApp powered by Remote Rocketship. Uses rr_jobs_search tool (server-side RR_API_KEY) and supports pagination (...
Install via ClawdBot CLI:
clawdbot install Lior539/remote-jobs-finderUse this skill whenever a user asks (in normal chat) to find remote jobs, browse opportunities, or set up an ongoing job search.
Do NOT tell the user to use the dashboard or slash commands. The user experience should be fully conversational: ask a few onboarding questions, fetch jobs, rank them, and continue with “send me 20 more” as requested.
Trigger on messages like:
If user asks anything job-search related and Remote Rocketship jobs could help, use this skill.
When the user first says “help me find a remote job” (or similar), do:
1) Role / direction
2) Work location eligibility
3) Must-haves & deal-breakers
Keep this to 1 combined question if possible.
4) Optional resume
If user doesn’t want to answer everything, proceed with what you have and fetch results anyway.
Maintain a simple user profile in memory so the user doesn’t need to repeat themselves:
If user updates anything (“Actually I only want contract roles”), update memory.
/api/openclaw/key calls carry their auth cookie).Ask in plain language:
“To fetch Remote Rocketship jobs, I need your API key.
Go to remoterocketship.com/account, copy your API key, and paste it here.”
Once the user pastes it:
RR_API_KEY (via secrets storage in your environment).Do not ask the user to type slash commands.
After onboarding (or after the first successful search), offer:
“Do you want me to check for new matching jobs on a schedule (e.g. every hour), and message you when I find new ones?”
If yes:
If no: do nothing.
itemsPerPage: 20).Keep a lightweight conversation state object:
Rules:
1) When the user tweaks filters, reset page back to 1 and fetch again.
2) If they say “more”, “send 20 more”, “next page”, increment page and rerun the last search with cached filters.
3) If they say “go back”, decrement page (floor at 1) and fetch.
4) Always mention the range shown (e.g., “Showing 21–40 of 134”) so they know how many remain.
5) When pagination.hasNextPage is false, tell the user you’ve reached the end (and optionally suggest adjusting filters).
Example state payload stored between turns:
{
"filters": {
"jobTitleFilters": ["Software Engineer"],
"locationFilters": ["Worldwide"],
"itemsPerPage": 20
},
"page": 1,
"totalCount": 134
}
API pagination notes:
openclaw.jobs response includes pagination with: { page, itemsPerPage, totalCount, totalPages, hasNextPage, hasPreviousPage }
page: 1, itemsPerPage: 20 (cap 50).pagination.hasNextPage to decide whether to offer another fetch, and mention pagination.totalCount.Ask once (and remember):
Sort by postedAt descending (or the closest available timestamp).
Compute a fit score per job using:
Then:
Resume privacy: resume is never sent to external services; only used locally by the agent for matching.
The agent may call these tools; do not present them as things the user must type:
openclaw.generate_keyopenclaw.rotate_keyopenclaw.revoke_keyopenclaw.jobsBefore calling /api/openclaw/jobs, sanitize the payload:
itemsPerPage default 20, max 50. page starts at 1.**{job.title}** at {job.company.name}
🗓 {timeAgo} · 📍 {location/flag emojis} · 💰 {salaryLabel}{optional chips: ✈️ visa, 🎯 seniority}{optional: ⭐ Fit {fitScore}/100}
{summary line 1}
{summary line 2}
Guidelines:
requestCountToday ≥ 800, add a brief quota reminder.| Status | Meaning | Agent Guidance |
| --- | --- | --- |
| 401 | Missing/invalid API key | Ask user to paste API key from remoterocketship.com/account, then retry. |
| 403 | Subscription inactive | Tell user they need an active Remote Rocketship plan to fetch jobs. |
| 429 | Daily request limit exceeded | Inform quota resets daily (1,000 calls). Suggest waiting; rotate key only if appropriate. |
| 5xx | Backend issue | Apologize, retry with exponential backoff, escalate if persistent. |
(keep your existing lists below: jobTitleFilters, locationFilters, seniorityFilters, etc.)
console.warn events for request_received / request_success – keep them enabled for debugging.openclaw_jobs_request with { email, filters, jobsReturned, requestCountToday, techStackFilters, industriesFilters }.requestCountToday ≥ 800 for a key, and when 5-minute rolling error rate exceeds 20%.[
"2D Artist",
"3D Artist",
"AI Engineer",
"AI Research Scientist",
"Account Executive",
"Account Manager",
"Accountant",
"Accounting Manager",
"Accounts Payable",
"Accounts Receivable",
"Actuary",
"Administration",
"Administrative Assistant",
"Affiliate Manager",
"Analyst",
"Analytics Engineer",
"Android Engineer",
"Application Engineer",
"Appointment Setter",
"Architect",
"Art Director",
"Artificial Intelligence",
"Attorney",
"Auditor",
"Backend Engineer",
"Bilingual",
"Billing Specialist",
"Blockchain Engineer",
"Bookkeeper",
"Brand Ambassador",
"Brand Designer",
"Brand Manager",
"Business Analyst",
"Business Development Rep",
"Business Intelligence Analyst",
"Business Intelligence Developer",
"Business Operations",
"Call Center Representative",
"Capture Manager",
"Chief Marketing Officer",
"Chief Operating Officer",
"Chief Technology Officer",
"Chief of Staff",
"Civil Engineer",
"Claims Specialist",
"Client Partner",
"Client Services Representative",
"Clinical Operations",
"Clinical Research",
"Cloud Engineer",
"Collections",
"Communications",
"Community Manager",
"Compliance",
"Computer Vision Engineer",
"Consultant",
"Content Creator",
"Content Manager",
"Content Marketing Manager",
"Content Writer",
"Controller",
"Conversion Rate Optimizer",
"Copywriter",
"Counselor",
"Creative Strategist",
"Crypto",
"Customer Advocate",
"Customer Retention Specialist",
"Customer Success Manager",
"Customer Support",
"Data Analyst",
"Data Engineer",
"Data Entry",
"Data Scientist",
"Database Administrator",
"DeFi",
"Designer",
"DevOps Engineer",
"Developer Relations",
"Digital Marketing",
"Director",
"Ecommerce",
"Electrical Engineer",
"Email Marketing Manager",
"Engineer",
"Engineering Manager",
"Events",
"Executive Assistant",
"Field Engineer",
"Financial Crime",
"Financial Planning and Analysis",
"Frontend Engineer",
"Full-stack Engineer",
"Game Engineer",
"General Counsel",
"Graphics Designer",
"Growth Marketing",
"Hardware Engineer",
"Human Resources",
"IT Support",
"Implementation Specialist",
"Incident Response Analyst",
"Influencer Marketing",
"Infrastructure Engineer",
"Inside Sales",
"Insurance",
"Journalist",
"LLM Engineer",
"Lead Generation",
"Learning and Development",
"Legal Assistant",
"Machine Learning Engineer",
"Manager",
"Marketing",
"Marketing Analyst",
"Marketing Operations",
"Mechanical Engineer",
"Medical Billing and Coding",
"Medical Director",
"Medical Reviewer",
"Medical writer",
"NLP Engineer",
"Network Engineer",
"Network Operations",
"Notary",
"Onboarding Specialist",
"Operations",
"Outside Sales",
"Paralegal",
"Payroll",
"People Operations",
"Performance Marketing",
"Platform Engineer",
"Pre-sales Engineer",
"Pricing Analyst",
"Procurement",
"Producer",
"Product Adoption Specialist",
"Product Analyst",
"Product Designer",
"Product Manager",
"Product Marketing",
"Product Operations",
"Product Specialist",
"Production Engineer",
"Program Manager",
"Project Manager",
"Proposal Manager",
"Public Relations",
"QA Automation Engineer",
"QA Engineer",
"Recruitment",
"Research Analyst",
"Research Engineer",
"Research Scientist",
"Revenue Operations",
"Risk",
"Robotics",
"SAP",
"SDET",
"SEO Marketing",
"Sales",
"Sales Development Rep",
"Sales Engineer",
"Sales Operations Manager",
"Salesforce Administrator",
"Salesforce Analyst",
"Salesforce Consultant",
"Salesforce Developer",
"Scrum Master",
"Security Analyst",
"Security Engineer",
"Security Operations",
"ServiceNow",
"Smart Contract Engineer",
"Social Media Manager",
"Software Engineer",
"Solutions Engineer",
"Strategy",
"Supply Chain",
"Support Engineer",
"System Administrator",
"Systems Engineer",
"Tax",
"Technical Account Manager",
"Technical Customer Success",
"Technical Product Manager",
"Technical Program Manager",
"Technical Project Manager",
"Technical Recruiter",
"Technical Writer",
"Therapist",
"Threat Intelligence Specialist",
"Translator",
"Underwriter",
"User Researcher",
"Vice President",
"Video Editor",
"Web Designer",
"Web3",
"iOS Engineer"
]
[
"Africa",
"Alabama",
"Alaska",
"Albania",
"Algeria",
"American Samoa",
"Argentina",
"Arizona",
"Arkansas",
"Armenia",
"Aruba",
"Asia",
"Australia",
"Austria",
"Azerbaijan",
"Bahamas",
"Bahrain",
"Bangladesh",
"Barbados",
"Belarus",
"Belgium",
"Bermuda",
"Bosnia and Herzegovina",
"Brazil",
"Bulgaria",
"California",
"Canada",
"Cape Verde",
"Chile",
"Colombia",
"Colorado",
"Connecticut",
"Costa Rica",
"Croatia",
"Curaçao",
"Cyprus",
"Czech",
"Delaware",
"Denmark",
"Dominica",
"Dominican Republic",
"Ecuador",
"Egypt",
"El Salvador",
"Estonia",
"Ethiopia",
"Europe",
"Finland",
"Florida",
"France",
"Georgia",
"Germany",
"Ghana",
"Gibraltar",
"Greece",
"Greenland",
"Guam",
"Guatemala",
"Guernsey",
"Hawaii",
"Honduras",
"Hong Kong",
"Hungary",
"Iceland",
"Idaho",
"Illinois",
"India",
"Indiana",
"Indonesia",
"Iowa",
"Ireland",
"Isle of Man",
"Israel",
"Italy",
"Jamaica",
"Japan",
"Jersey",
"Jordan",
"Kansas",
"Kazakhstan",
"Kentucky",
"Kenya",
"Latin America",
"Latvia",
"Lebanon",
"Lesotho",
"Libya",
"Liechtenstein",
"Lithuania",
"Louisiana",
"Luxembourg",
"Macedonia",
"Madagascar",
"Maine",
"Malaysia",
"Maldives",
"Malta",
"Maryland",
"Massachusetts",
"Mauritius",
"Mexico",
"Michigan",
"Middle East",
"Minnesota",
"Mississippi",
"Missouri",
"Moldova",
"Monaco",
"Montana",
"Montenegro",
"Morocco",
"Namibia",
"Nebraska",
"Netherlands",
"Nevada",
"New Hampshire",
"New Jersey",
"New Mexico",
"New York",
"New Zealand",
"Nicaragua",
"Nigeria",
"North America",
"North Carolina",
"North Dakota",
"Norway",
"Oceania",
"Ohio",
"Oklahoma",
"Oman",
"Oregon",
"Pakistan",
"Palau",
"Palestinian Territory",
"Panama",
"Paraguay",
"Pennsylvania",
"Peru",
"Philippines",
"Poland",
"Portugal",
"Puerto Rico",
"Qatar",
"Rhode Island",
"Romania",
"Russia",
"Saudi Arabia",
"Serbia",
"Seychelles",
"Singapore",
"Slovakia",
"Slovenia",
"South Africa",
"South Carolina",
"South Dakota",
"South Georgia",
"South Korea",
"Spain",
"Sri Lanka",
"Suriname",
"Swaziland",
"Sweden",
"Switzerland",
"Taiwan",
"Tennessee",
"Texas",
"Thailand",
"Trinidad and Tobago",
"Turkey",
"Ukraine",
"United Arab Emirates",
"United Kingdom",
"United States",
"Uruguay",
"Utah",
"Vermont",
"Virginia",
"Washington",
"West Virginia",
"Wisconsin",
"Worldwide",
"Wyoming"
]
[
"entry-level",
"expert",
"junior",
"mid",
"senior"
]
[
"contract",
"full-time",
"internship",
"part-time"
]
[
"h1b",
"uk-skilled-worker"
]
[
"1,10",
"10001,",
"1001,5000",
"11,50",
"201,500",
"5001,10000",
"501,1000",
"51,200"
]
[
"ar",
"cs",
"da",
"de",
"en",
"es",
"fi",
"fr",
"he",
"hi",
"hu",
"id",
"is",
"it",
"ja",
"ko",
"nl",
"no",
"pl",
"pt",
"ro",
"ru",
"sk",
"sv",
"th",
"tr",
"uk",
"vi",
"zh"
]
[
"API",
"AR/VR",
"Aerospace",
"Agriculture",
"Artificial Intelligence",
"B2B",
"B2C",
"Banking",
"Beauty",
"Biotechnology",
"Charity",
"Compliance",
"Crypto",
"Cybersecurity",
"Education",
"Energy",
"Enterprise",
"Fashion",
"Finance",
"Fintech",
"Gambling",
"Gaming",
"Government",
"HR Tech",
"Hardware",
"Healthcare Insurance",
"Marketplace",
"Media",
"Non-profit",
"Pharmaceuticals",
"Productivity",
"Real Estate",
"Recruitment",
"Retail",
"SaaS",
"Science",
"Security",
"Social Impact",
"Sports",
"Telecommunications",
"Transport",
"Web 3",
"Wellness",
"eCommerce"
]
_Note: excludeRequiredLanguagesFilters uses the same codes as requiredLanguagesFilters._
**{job.title}** at {job.company.name}
🗓 {timeAgo} · 📍 {location/flag emojis} · 💰 {salaryLabel}{optional chips: ✈️ visa, 🎯 seniority}
{summary line 1}
{summary line 2}
requestCountToday ≥ 800.| Status | Meaning | Agent Guidance |
| --- | --- | --- |
| 401 | Missing/invalid API key (includes revoked or never created) | Ask user to generate or paste a valid key via the account instructions, then update RR_API_KEY. |
| 403 | Subscription inactive | Prompt user to renew their Remote Rocketship plan (/sign-up) before retrying. |
| 429 | Daily request limit exceeded | Inform user the quota resets daily (1,000 calls). Suggest waiting or rotating the key if abuse is suspected. |
| 5xx | Backend issue | Apologize, retry with exponential backoff, and escalate if the issue persists. |
/openclaw.generate_key, have the user store the plaintext (e.g., password manager), then /secrets set RR_API_KEY ./openclaw.jobs { "filters": { ... } }, render cards, and mention quota usage when requestCountToday ≥ 800./openclaw.rotate_key to issue a new secret, /openclaw.revoke_key to disable immediately.page back to 1 and fetch again.page and replay the last command with the cached filters.page (floor at 1).pagination.hasNextPage is false, tell the user you’ve reached the end.Example state payload stored between turns:
{
"filters": {
"jobTitleFilters": ["Software Engineer"],
"locationFilters": ["Worldwide"],
"itemsPerPage": 20
},
"page": 1,
"totalCount": 134
}
Use this blob to reconstruct the next /openclaw.jobs call without asking the user to repeat their filters.
/openclaw.jobs response now includes pagination with { page, itemsPerPage, totalCount, totalPages, hasNextPage, hasPreviousPage }.page: 1, itemsPerPage: 20 (cap 50). Always pass integers; reject/ignore anything else.page and rerun /openclaw.jobs. Reset page back to 1 any time filters change.pagination.hasNextPage to decide whether to offer another fetch, and mention totalCount so the user knows how many jobs exist.Example follow-up call:
/openclaw.jobs {
"filters": {
"jobTitleFilters": ["Software Engineer"],
"locationFilters": ["Worldwide"],
"page": 2,
"itemsPerPage": 20
}
}
/openclaw.generate_key/secrets set RR_API_KEY /openclaw.jobs { "filters": { ... } }“🪐 Pulled 20 fresh roles. Reminder: your RR API plan allows 1,000 calls/day and you’ve used 610 so far.”
itemsPerPage > 50 before calling the API..env secret storage and key rotation flows manually.AI Usage Analysis
Analysis is being generated… refresh in a few seconds.
Extract text from PDFs with OCR support. Perfect for digitizing documents, processing invoices, or analyzing content. Zero dependencies required.
Fast local PDF parsing with PyMuPDF (fitz) for Markdown/JSON outputs and optional images/tables. Use when speed matters more than robustness, or as a fallback while heavier parsers are unavailable. Default to single-PDF parsing with per-document output folders.
Find, evaluate, and recommend ClawHub skills by need with quality filtering and preference learning.
Fetch full tweets, long tweets, quoted tweets, and X Articles from X/Twitter without login or API keys, using no dependencies and zero configuration.
Skill 查找器 | Skill Finder. 帮助发现和安装 ClawHub Skills | Discover and install ClawHub Skills. 回答'有什么技能可以X'、'找一个技能' | Answers 'what skill can X', 'find a skill'. 触发...
Generate QR codes from text or URL for mobile scanning.