Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Job search and career discovery through your agent. Find tech companies that match your stack, star the ones you'd actually work for, and pull developer jobs from your shortlist, all by talking. Backed by company-level tech stack data derived from the roles each company is hiring for now.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 128% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 198% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 394% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 151% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 310% | 0% |
Ask your agent "which companies run Rails on top of React with Postgres" and get a real list of matching companies, not thousands of keyword matches. Remoet scrapes and enriches the actual tech stack of every company on the platform (not recruiter-tagged keywords on job postings), so the matching that drives the rest of the workflow is real.
The agent then runs the discovery loop through conversation. Star the companies that fit, pull jobs from your starred shortlist, save the good ones with notes, manage your profile by talking. Curated input, focused output.
Try this prompt the first time you install: "I'm a Rails plus React plus Postgres dev. Find me companies under 200 people that actually fit my stack."
Use this skill when the user wants to:
Skip this if the user wants every job from every board. Remoet is the opposite of that.
The free tier is the whole product (with caps). 10 stars, real-time job data, request limits generous enough that you will not notice them. Plenty for picking your shortlist and getting a feel. Paid tiers ($15 Pro, $29 Max) unlock higher star caps and more headroom.
Remoet is a remote MCP server. This skill teaches the agent to use it; you wire the server into your harness once with the steps below. The skill is harness-agnostic (it follows the agentskills.io standard), so pick the section that matches the agent you are running.
Sign in or sign up at remoet.dev/onboarding?mode=agent&utm_source=hermes (the agent door of the onboarding flow). A free-tier API key is generated automatically and shown in the manual setup section of that page. Copy it; keys look like a 32-character hex string. You can manage keys later at remoet.dev/agents. No credit card needed for the free tier.
Then set it as an environment variable:
bashexport REMOET_API_KEY=<paste_your_key_here>
Two transport URLs exist. They are not interchangeable:
https://api.remoet.dev/mcp expects a Bearer API key header and never triggers OAuth. Best for headless / always-on agents.https://api.remoet.dev/mcp/oauth advertises the OAuth challenge and ignores a static header. The harness negotiates discovery, dynamic client registration, PKCE, and refresh.Add Remoet to your Hermes config under mcp_servers. Hermes also prompts for REMOET_API_KEY on skill load (declared in this skill's frontmatter).
API-key path (recommended for always-on agents):
yamlmcp_servers: remoet: url: "https://api.remoet.dev/mcp" headers: Authorization: "Bearer ${REMOET_API_KEY}" tools: resources: false prompts: false
OAuth path:
yamlmcp_servers: remoet: url: "https://api.remoet.dev/mcp/oauth" auth: oauth tools: resources: false prompts: false
Reload without restarting, then verify:
/reload-mcpbashhermes chat --toolsets skills -q "Use the remoet skill: call get_profile and tell me what's there."
Add the Remoet MCP server to OpenClaw's config (typical path ~/.openclaw/config.json):
json{ "mcp": { "servers": { "remoet": { "url": "https://api.remoet.dev/mcp", "transport": "streamable-http", "headers": { "Authorization": "Bearer ${REMOET_API_KEY}" } } } } }
Or via the OpenClaw CLI, then verify:
bashopenclaw mcp set remoet '{"url":"https://api.remoet.dev/mcp","transport":"streamable-http","headers":{"Authorization":"Bearer ${REMOET_API_KEY}"}}' openclaw mcp list
Any MCP-capable client works. Point it at https://api.remoet.dev/mcp with an Authorization: Bearer ${REMOET_API_KEY} header, or at https://api.remoet.dev/mcp/oauth to use the OAuth flow. A successful get_profile call (even an empty profile) means the server is connected.
The platform has its own opinions. They matter, because they change how the agent should use it.
Profile. The user's developer identity on the platform. Name, summary, work history, projects, education, links. The agent populates and maintains this through conversation. Always call get_profile first when starting a new session.
Stars. A user starring a company means they would seriously consider working there. Stars are the platform's noise filter. The agent should only suggest starring companies whose tech stack actually overlaps with the user's profile skills. Starring is free of budget cost but capped per plan. Unstarring consumes a budget slot to prevent unlimited cycling.
Job feed. Scoped to starred companies. Two tools cover it: get_feed is the notification layer (a chronological stream of what landed at starred companies, plus one job-of-the-day pick and the occasional platform post), get_starred_jobs is the query layer (filter and search across the shortlist's jobs). The user does not get a global feed of every job on the platform. That is intentional, the point of stars is curation.
Tech stack matching. search_listings accepts a techStack array. The platform auto-normalizes (e.g. "ts" → "TypeScript", "k8s" → "Kubernetes"). Sort by stars (popularity), job count (activity), or name.
Visibility. Controls whether partner companies on the platform can see the user as a candidate. Set it with update_profile (optional visibility field). STARRED mode is the recommended setting, a two-way match where companies the user follows can also discover the user. NONE is the default.
Applications. Most jobs on Remoet are scraped from external careers pages. apply_to_job handles both kinds and tells you which you got: internal jobs (the small slice from companies posting directly through Remoet's partner system) are applied to end-to-end and return the created application; scraped jobs return applicationType: "external" plus the applicationUrl. Hand that link to the user, they apply on the company's site. Remoet cannot submit external applications for them.
Link trees. A developer-flavored shareable profile page. The user can put it on their CV, track views and clicks. One on Free, ten on Pro, unlimited on Max.
The shape of a typical session:
get_profile: confirm the user's stack and shortlistget_feed: check what landed at the shortlist since last session (and the job-of-the-day pick)search_listings: find companies matching their stack (if shortlist is incomplete)star_listing: add the right matches to the shortlist (only ones with real stack overlap)get_starred_jobs: pull jobs from the shortlist with the user's filters (salary, location, remote, level)save_job: save the standouts with notes for laterapply_to_job: internal jobs apply end-to-end (confirm with the user first), external jobs return the link to hand overThe killer demo. The user pastes or uploads a CV, the agent does the rest in one conversation:
> User: Here is my CV (pastes). Find me 20 companies I would actually work for, then pull jobs that match.
Agent flow:
update_profile, save_work_experience, save_project, save_education: populate Remoetsearch_listings with the extracted tech stack: get candidatesstar_listing for each approved matchget_starred_jobs: pull jobs from the new shortlistA new user goes from cold start to a curated, daily-running job feed in one conversation. This is the demo to lead with.
Twenty-four tools, grouped below. Reads that used to be separate calls now fold into one: get_profile returns the whole profile, get_account returns all plan and budget status, and the list tools (get_digests, get_linktrees) return one item in full when you pass its id or slug.
| Tool | Purpose | |------|---------| | get_profile | Full profile in one call: personal info, work experience, projects, education (each entry with an id for editing), plus the current visibility setting. Always call first. | | update_profile | Update profile fields and/or visibility. Only pass fields you want to change; pass null to clear. visibility accepts NONE, STARRED, ALL. | | save_work_experience | Add or update a work experience entry (upsert: omit id to create, pass an id from get_profile to update) | | save_project | Add or update a portfolio project (upsert) | | save_education | Add or update an education entry (upsert) | | delete_profile_item | Delete a work experience, project, or education entry (type + id). Confirm with the user first. |
| Tool | Purpose | |------|---------| | search_listings | Search companies (searchQuery, techStack[], sortBy, pagination), or list the user's starred shortlist with starred: true. Auto-normalizes tech names. | | get_listing | Detailed info on a single company by slug |
Stars are the moat. Only star companies whose stack overlaps with the user's profile skills.
| Tool | Purpose | |------|---------| | star_listing | Star a company. Free of budget cost, capped at plan's maxActiveStars. | | unstar_listing | Remove a star. Consumes 1 unstar budget slot. |
Star and budget status live in get_account.
| Tool | Purpose | |------|---------| | get_feed | The user's feed as one chronological stream, newest first: job items from starred companies, one job-of-the-day pick, and occasional platform posts. Poll on the user's schedule to act as their notification layer; page deeper with nextCursor. | | get_starred_jobs | Jobs from starred companies. The main query tool. Filters: searchQuery, locationQuery, techStack[], remotePolicy[], experienceLevel[], salaryMin, sortBy, sortOrder. | | save_job | Save a job for later with optional note | | unsave_job | Remove a saved job | | get_saved_jobs | List saved jobs | | update_saved_job_note | Update the note on a saved job |
| Tool | Purpose | |------|---------| | get_digests | Historical weekly digest snapshots. Pass an id to get that digest's full markdown body. The digest pipeline has been replaced by the feed, so new accounts have none; prefer get_feed and get_starred_jobs. |
| Tool | Purpose | |------|---------| | get_apps | List approved third-party apps on the platform (filter by category or tag) |
| Tool | Purpose | |------|---------| | get_linktrees | The user's link tree pages. Pass a slug to get that page plus its view/click analytics. | | create_linktree | Create a shareable page. Tracks views and link clicks. | | delete_linktree | Delete a link tree by ID |
apply_to_job covers both job types. Internal jobs (applicationType: "internal") are applied to end-to-end. External jobs return the URL for the agent to hand over, and the user applies on the company's site.
| Tool | Purpose | |------|---------| | apply_to_job | Apply to a job. Scraped jobs return the company's application URL; internal jobs are submitted directly. Confirm with the user first. |
| Tool | Purpose | |------|---------| | get_account | One status read: plan, every budget (active stars, unstars this period, MCP and API requests today, each with a reset time), remaining plan limits, and any over-cap state | | get_upgrade_link | Get a Stripe Checkout URL to upgrade to Pro or Max. The user completes payment in a browser. |
| Limit | Free | Pro ($15/mo) | Max ($29/mo) | |-------|------|-------------|--------------| | Max active stars | 10 | 30 | 75 | | Unstar budget / 30 days | 5 | 15 | Unlimited | | MCP requests / day | 1,000 | Unlimited | Unlimited | | API requests / day | 300 | 5,000 | Unlimited | | Link trees | 1 | 10 | Unlimited |
Job data is real-time on every tier. The free-tier MCP limit is an abuse backstop, not a product gate; a normal agent session never gets near it. The real limit is stars: a star is what unlocks a company's full tech stack and live job feed.
Always free across all tiers: Profile management, applications, saved jobs, the feed, web UI access. Web UI use does not count against the MCP request quota.
Be honest with the user about these so they do not hit a wall.
Starring is free of budget cost. Unstarring consumes one budget slot. This prevents unlimited cycling through the catalogue. Budget resets every 30 days. Free tier: 5 unstars / month. Pro: 15. Max: unlimited.
update_profile, save_work_experience, save_project, save_education to populate everything in one conversation.STARRED visibility for two-way matching. Companies the user has starred can see the user back. The user stays hidden from everyone else.Other measured skills in the registry, with their headline benchmark lift.