Radar logo

Radar

Community
galiprandi
radar

Registers the user on job platforms, configures alerts with profile keywords, sets up career site alerts (big tech + target companies), creates a Gmail filter to route alerts to a Job Alerts folder.

Overview

Publishergaliprandi
Repositoryjob-seeker
Skill nameradar
Stars
68
Forks
11
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by galiprandi on GitHub. Read the source before you install it.

Installation

Install the Radar AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/galiprandi/job-seeker/tree/main/.agents/skills/radar
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/galiprandi/job-seeker.git /tmp/job-seeker
mkdir -p .claude/skills
cp -r /tmp/job-seeker/.agents/skills/radar .claude/skills/radar
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Radar in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Radar on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Radar is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Radar

Trigger

Keyword: radar

The user says radar (or variants: "set up alerts", "register on platforms", "new platforms") and the registration + alert configuration + career site alerts + Gmail filter flow is triggered.

Purpose

Passive sourcing: platforms and career sites bring opportunities to the user without having to search manually. Alerts arrive in a Job Alerts folder in Gmail, and the news skill consumes them when the user says news.

Three alert sources:

  1. Job boards (Otta, Torre, Built In, etc.) — broad reach
  2. Big tech career sites (Google, Meta, Amazon, etc.) — high-value companies not in the 40 targets
  3. Target company ATS alerts (configured during targets flow registration) — deep monitoring of the 40 target companies

Flow

0. Pre-flight

  • Verify active Gmail session. If session closed → open browser with wrapper (see AGENTS.md "Browser session"): node .agents/skills/browser-automation/scripts/browser.js open <url> --headed (Gold Rule 5)
  • Browser: always use node .agents/skills/browser-automation/scripts/browser.js for open/close/goto. See AGENTS.md "Browser session" for details. Never call agent-browser open directly, never open Chrome directly
  • Read PLATFORMS.md "Alert Tracking" section to see which platforms need configuration
  • Read PROFILE.md to get keywords, seniority, location, preferences
  • Load active preferences (see memory skill):
    bash
    node scripts/db.js "SELECT category, key, value, confidence, source FROM preferences WHERE user_id = <user_id> AND status = 'active' ORDER BY category, key"
  • Load target companies (companies loaded from users.data.target_companies in DB, each {name, url, sector}). These are priority targets for alert configuration and platform prioritization:
    bash
    node scripts/db.js "SELECT data->'target_companies' AS target_companies FROM users WHERE id = <user_id>"

1. Register on platforms

For each unconfigured platform (column "Profile" = "—"):

  • Navigate to the platform
  • Login with Google when possible (preferred). If no Google login → open browser with wrapper (node .agents/skills/browser-automation/scripts/browser.js open <url> --headed) and ask user to login manually (Gold Rule 5)
  • Complete minimum profile:
    • First name, last name
    • Title / headline (from PROFILE.md)
    • Location (from PROFILE.md)
    • Seniority (from PROFILE.md)
    • Upload CV (CV path in DB or .env)
    • Preferences: remote, full-time, USD salary range
  • Mark "Profile" = "✅" in PLATFORMS.md

2. Configure alerts

For each platform with complete profile but no alerts:

  • Create alert with profile keywords (derived from profile.title, profile.skills, and job_preferences):
    • Use the user's primary role title, key skills, and seniority level
    • Examples (if profile is AI-focused): AI Architect, AI Strategy, LLM, Agent-First, AI Workflow
    • Examples (if profile is engineering leadership): Engineering Manager, Staff Engineer, Platform Engineer, Technical Lead
  • If the platform supports company-specific alerts or saved searches, configure alerts for target companies from the DB (40 companies: Nubank, dLocal, Mercado Libre, Globant, Ualá, BBVA, Santander Tecnología, Auth0, etc.). Group by sector if the platform allows it (Fintech, Banking, SaaS, IT Services)
  • Filters: remote only, full-time, senior/lead
  • Frequency: daily or weekly (depending on platform option)
  • Mark "Alerts" = "✅" in PLATFORMS.md with keywords used

3. Configure career site alerts (big tech + target companies)

Beyond job board alerts, configure alerts directly on career sites of high-value companies. These are companies not in the 40 target companies (those are handled by targets flow) but worth monitoring for roles matching the user's profile.

Big tech career sites with native alert features:

CompanyURLAlert featureNotes
Googlecareers.google.com"Save search" + email alertsSearch user's role + skills + location "Remote" or user's country
Metametacareers.com"Job alerts" signupSearch user's role + skills
Amazonamazon.jobs"Save search" + email alertsSearch user's role + equivalent Amazon title (e.g: SDM for eng manager)
Microsoftcareers.microsoft.com"Job alerts" signupSearch user's role + skills
Applejobs.apple.com"Save search" + alertsSearch user's role + skills
Netflixjobs.netflix.comNo native alerts. Monitor via Google AlertsSearch user's role + skills
Stripestripe.com/jobs"Job alerts" signupSearch user's role + skills
OpenAIopenai.com/careersNo native alerts. Monitor via Google AlertsSearch all roles
Anthropicanthropic.com/careersNo native alerts. Monitor via Google AlertsSearch all roles
Vercelvercel.com/careers"Job alerts" via AshbySearch user's role + skills
Cloudflarecloudflare.com/careers"Job alerts" signupSearch user's role + skills
Datadogcareers.datadog.com"Job alerts" via GreenhouseSearch user's role + skills
Snowflakecareers.snowflake.com"Job alerts" via WorkdaySearch user's role + skills

For each company with native alerts:

  • Navigate to the career site using node .agents/skills/browser-automation/scripts/browser.js goto <url>
  • Search with keywords derived from profile.title and profile.skills (the user's primary role + key skills)
  • Filter: Remote, and locations from job_preferences.location / job_preferences.timezones
  • Look for "Save search", "Create alert", "Job alerts", "Notify me" button
  • Subscribe with user's Gmail (so alerts route through the Gmail filter)
  • Set frequency: daily if available, weekly otherwise
  • Record in DB:
    bash
    node scripts/db.js "INSERT INTO company_registrations (user_id, company, region, sector, careers_url, ats_platform, registration_status, notes) VALUES (<user_id>, '<company>', 'big_tech', '<sector>', '<url>', '<ats>', 'alert_only', 'Alerts configured via radar') ON CONFLICT (user_id, company) DO UPDATE SET notes = EXCLUDED.notes, updated_at = NOW()" --write

For companies without native alerts (Netflix, OpenAI, Anthropic):

  • Create Google Alerts as backup:
    • Navigate to google.com/alerts
    • Create alert: site:<company-domain>/careers (AI OR "Engineering Manager" OR "AI Architect" OR LLM OR Agent)
    • Set frequency: daily
    • Set delivery: email to user's Gmail

4. Create Gmail filter

Once, when configuring the first platform:

  • Create label Job Alerts in Gmail
  • Create filter with domains of all configured platforms AND ATS alert senders:
    from:(otta.com OR torre.co OR weworkremotely.com OR builtin.com OR workatastartup.com
      OR greenhouse.io OR lever.co OR ashbyhq.com OR workable.com OR smartrecruiters.com
      OR teamtailor.com OR successfactors.com OR notifications@ashbyhq.com
      OR google.com OR amazon.jobs OR metacareers.com OR careers.microsoft.com
      OR jobs.apple.com OR stripe.com)
    → skip inbox → apply label: Job Alerts
  • If new platforms or career sites are added later, update the filter by adding the new domain
  • Mark "Gmail Filter" = "✅" in PLATFORMS.md

5. Persist

  • Update PLATFORMS.md "Alert Tracking" section with each platform's status
  • Update PROFILE.md "Configured alerts" section with keywords and platforms
  • Register in DB via db CLI (if exists): save alert status to users.data.platforms JSONB:
    bash
    node scripts/db.js "UPDATE users SET data = jsonb_set(data, '{platforms}', '<json>'::jsonb) WHERE id = <user_id>" --write

6. Report

  • Summary to user: "Registered on X platforms, Y alerts configured, Z career site alerts, Gmail filter created"
  • List next actions: "Run news to check alerts when they arrive"

Initial platforms (ADR-003)

PlatformURLGoogle loginNotes
Ottaotta.comYesCurated tech startups. Excellent remote + AI filtering
Torretorre.coYesLATAM-focused with AI matching. Remote-first
We Work Remotelyweworkremotely.comNoLargest remote job board. Email + password
Built Inbuiltin.comYesTech-focused with cities + remote. Serious companies
Y Combinatorworkatastartup.comYesYC startups exclusively. Many AI startups

Rules

  • Google login first. If not available → wrapper with --headed + manual login (Gold Rule 5)
  • Minimum profile: name, title, location, seniority, CV, remote/full-time preferences
  • Alert keywords come from PROFILE.md Search keywords
  • Gmail filter is created once and updated when adding platforms OR career site alert sources
  • Career site alerts are for big tech companies NOT in the 40 target companies. The 40 targets get their alerts configured during the targets flow registration
  • Google Alerts as backup for companies without native alert features (Netflix, OpenAI, Anthropic)
  • Persist status in PLATFORMS.md after each action
  • Don't apply — this skill is registration + alerts only. Applications go through apply or targets
  • Don't reply to messages — that goes through news
  • Single user (repo owner)

Learnings

  • 2026-07-31: An agent running radar couldn't identify target companies because the pre-flight didn't load users.data.target_companies. Fixed: added target_companies loading to pre-flight and company-specific alert configuration to step 2. The DB has target companies (loaded from users.data.target_companies in DB) with {name, url, sector} structure. See DATA.md for the canonical schema.

Frequently asked questions

What does the Radar AI skill do?

Registers the user on job platforms, configures alerts with profile keywords, sets up career site alerts (big tech + target companies), creates a Gmail filter to route alerts to a Job Alerts folder.

Why use Radar on TypingMind?

Because you install it once and use it with any model. Radar is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Radar in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/galiprandi/job-seeker/tree/main/.agents/skills/radar. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Radar?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Radar?

As many as you like. As long as a model supports skills, you can use Radar with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Radar AI skill free?

Yes. It is published on GitHub by galiprandi under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇