remote-jobs-finder

Coding Agents & IDEs
v1.6.2
Benign

Fully conversational remote job finder for WhatsApp powered by Remote Rocketship.

2687 downloads687 installsby @lior539

Setup & Installation

Install command

clawhub install lior539/remote-jobs-finder

If the CLI is not installed:

Install command

npx clawhub@latest install lior539/remote-jobs-finder

Or install with OpenClaw CLI:

Install command

openclaw skills install lior539/remote-jobs-finder

or paste the repo link into your assistant's chat

Install command

https://github.com/openclaw/skills/tree/main/skills/lior539/remote-jobs-finder

What This Skill Does

Searches Remote Rocketship's remote job database through a conversational WhatsApp interface. Users describe roles and location eligibility in plain language, and the skill fetches matching listings, stores preferences, and supports paginated results without requiring any CLI or dashboard interaction.

Preference memory means users never have to repeat their role, location, or deal-breakers across queries in the same session.

When to Use It

  • Finding remote Product Manager roles in the UK
  • Browsing backend engineering jobs and requesting 20 more results
  • Filtering jobs by seniority and employment type after an initial search
  • Updating a saved search to contract-only roles mid-conversation
  • Setting up a recurring hourly check for new matching listings
View original SKILL.md file
# Remote Rocketship × OpenClaw Skill (Natural Language Job Finder)

Use this skill whenever a user asks (in normal chat) to find remote jobs, browse opportunities, or set up an ongoing job search. This integration is powered by Remote Rocketship (https://www.remoterocketship.com).

Github repo: https://github.com/Lior539/openclaw-remote-jobs-finder

**UX rule:** fully conversational. Do not tell the user to run CLIs, use slash commands, or visit dashboards.

---

## Fetching jobs (MANDATORY)

When the user wants real job listings, you MUST call the OpenClaw tool `rr_jobs_search`.

Hard rules:
- Do NOT ask the user to run any CLI.
- Do NOT claim you can’t fetch listings (you can).
- Do NOT attempt raw HTTP calls from the model.

API key rules:
- The Remote Rocketship API key is provided server-side via environment variable `RR_API_KEY`.
- Never ask the user to paste secrets in WhatsApp.

Example call:
```json
{
  "filters": {
    "page": 1,
    "itemsPerPage": 20,
    "jobTitleFilters": ["Product Manager"],
    "locationFilters": ["United Kingdom"]
  },
  "includeJobDescription": false
}
```

---

## When to Trigger

Trigger on messages like:
- “Help me find a remote job”
- “Find me remote Product Manager roles”
- “Show me remote jobs in the UK”
- “Any new backend roles since yesterday?”
- “Send me 20 more”
- “Set this up to check every hour”

---

## Conversation Flow

### A) Onboarding (keep it short)
Ask only what you need. Prefer 1–3 quick questions, then fetch.

1) Role / direction (required)
- “What kind of roles are you looking for? (job titles, function, seniority)”

2) Location eligibility (required)
- “Where can you legally work from? (country / region)”

3) Must-haves & deal-breakers (optional, single combined question)
- “Any must-haves (salary/industry/async) or deal-breakers?”

4) Monitoring cadence (optional)
- “Want me to check for new matches on a schedule (hourly/daily/off)?”

If the user doesn’t want to answer everything, proceed with what you have and fetch results anyway.

### B) First fetch (default)
- Default `itemsPerPage: 20` unless the user asks for a different batch size.
- Keep `includeJobDescription: false` unless the user asks for deeper detail.

---

## Preference Memory (important)

Maintain a simple user profile in memory so the user doesn’t need to repeat themselves:

- targetTitles: string[]
- locationFilters: string[]
- seniorityFilters: string[] (if known)
- employmentTypeFilters: string[] (if known)
- mustHaves: string[]
- dealBreakers: string[]
- rankingPreference: "best_fit" | "newest_first"
- pollingCadence: e.g. "hourly" / "daily" / "off"
- lastQueryFilters: the last `filters` object used (for “20 more”)

If the user updates anything (“Actually only contract roles”), update memory.

---

## Pagination & “20 more”

Store lightweight paging state:
- filters
- page
- itemsPerPage
- pagination.totalCount / hasNextPage

Rules:
1) When the user tweaks filters, reset `page` back to 1 and fetch again.
2) If they say “more”, “20 more”, “next page”, increment `filters.page` and call `rr_jobs_search` again with the last filters.
3) Always mention what you’re showing (e.g., “Showing 21–40 of 134”).
4) If `hasNextPage` is false, tell the user you’ve reached the end.

---

## Output formatting (WhatsApp-friendly)

For each job, show as a bulleted list:
**Role Title** — Company
- 🕒 Posted: <date and time posted, formatted nicely e.g. today @ 5:15pm, or yesterday @ 2:10pm, or 2 days ago, or 1 week ago etc. Only show time if it was today or yesterday> 
- <flag emoji> Location (remote scope)
- 💰 Salary (or “Salary undisclosed”)
- 1–2 line summary
- 🔗 Link to apply
- 🏢 Link to company homepage
- 🌐 Link to company LinkedIn:

Keep it concise. After the list, ask what to do next:
- “Want 20 more, or should I narrow by industry/seniority/salary?”

---

## OpenClaw Tool to Use (required)

Tool: `rr_jobs_search`

Parameters:
- `filters` (object): passed through to Remote Rocketship API `filters`
- `includeJobDescription` (boolean, optional; default false)

The tool performs the POST to:
`https://www.remoterocketship.com/api/openclaw/jobs`

---

## Error handling

| Status | Meaning | Agent guidance |
| --- | --- | --- |
| 401 | Missing/invalid API key | Tell the admin to set/repair `RR_API_KEY` server-side and restart the gateway. Do NOT ask the user for keys in chat. |
| 403 | Subscription inactive | Tell the user they need an active Remote Rocketship plan to fetch jobs. |
| 429 | Rate limit | Inform the user you hit the daily limit and suggest retrying later. |
| 5xx | Backend issue | Apologize, retry once, then ask the user to try again later. |

---

## Filters (common)

Common filter keys you can use inside `filters`:
- `page` (int, default 1)
- `itemsPerPage` (int, default 20, max 50)
- `jobTitleFilters` (string[])
- `locationFilters` (string[]) — use canonical values like “United Kingdom”, “Worldwide”
- `keywordFilters` (string[])
- `excludedKeywordFilters` (string[])
- `seniorityFilters` (string[]) — e.g. `["senior"]`
- `employmentTypeFilters` (string[]) — e.g. `["full-time"]`

Prefer canonical titles/locations from RR lists when possible.

Example Workflow

Here's how your AI assistant might use this skill in practice.

INPUT

User asks: Finding remote Product Manager roles in the UK

AGENT
  1. 1Finding remote Product Manager roles in the UK
  2. 2Browsing backend engineering jobs and requesting 20 more results
  3. 3Filtering jobs by seniority and employment type after an initial search
  4. 4Updating a saved search to contract-only roles mid-conversation
  5. 5Setting up a recurring hourly check for new matching listings
OUTPUT
Fully conversational remote job finder for WhatsApp powered by Remote Rocketship.

Share this skill

Security Audits

VirusTotalBenign
OpenClawBenign
View full report

These signals reflect official OpenClaw status values. A Suspicious status means the skill should be used with extra caution.

Details

LanguageMarkdown
Last updatedFeb 25, 2026