Install
$ agentstack add skill-galiprandi-job-seeker-radar ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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:
- Job boards (Otta, Torre, Built In, etc.) — broad reach
- Big tech career sites (Google, Meta, Amazon, etc.) — high-value companies not in the 40 targets
- Target company ATS alerts (configured during
targetsflow 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 scripts/browser.js open --headed(Gold Rule 5) - [ ] Browser: always use
node scripts/browser.jsfor open/close/goto. See AGENTS.md "Browser session" for details. Never callplaywright-cli opendirectly, never open Chrome directly - [ ] Read
PLATFORMS.md"Alert Tracking" section to see which platforms need configuration - [ ] Read
PROFILE.mdto get keywords, seniority, location, preferences - [ ] Load active preferences (see
memoryskill):
``bash node scripts/db.js "SELECT category, key, value, confidence, source FROM preferences WHERE user_id = 1 AND status = 'active' ORDER BY category, key" ``
- [ ] Load target companies (40 companies: 19 LATAM + 21 Argentina, 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 = 1" ``
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 scripts/browser.js open --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, andjob_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:
| Company | URL | Alert feature | Notes | |---|---|---|---| | Google | careers.google.com | "Save search" + email alerts | Search user's role + skills + location "Remote" or user's country | | Meta | metacareers.com | "Job alerts" signup | Search user's role + skills | | Amazon | amazon.jobs | "Save search" + email alerts | Search user's role + equivalent Amazon title (e.g: SDM for eng manager) | | Microsoft | careers.microsoft.com | "Job alerts" signup | Search user's role + skills | | Apple | jobs.apple.com | "Save search" + alerts | Search user's role + skills | | Netflix | jobs.netflix.com | No native alerts. Monitor via Google Alerts | Search user's role + skills | | Stripe | stripe.com/jobs | "Job alerts" signup | Search user's role + skills | | OpenAI | openai.com/careers | No native alerts. Monitor via Google Alerts | Search all roles | | Anthropic | anthropic.com/careers | No native alerts. Monitor via Google Alerts | Search all roles | | Vercel | vercel.com/careers | "Job alerts" via Ashby | Search user's role + skills | | Cloudflare | cloudflare.com/careers | "Job alerts" signup | Search user's role + skills | | Datadog | careers.datadog.com | "Job alerts" via Greenhouse | Search user's role + skills | | Snowflake | careers.snowflake.com | "Job alerts" via Workday | Search user's role + skills |
For each company with native alerts:
- [ ] Navigate to the career site using
node scripts/browser.js goto - [ ] Search with keywords derived from
profile.titleandprofile.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 (1, '', 'big_tech', '', '', '', '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:/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 Alertsin 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.platformsJSONB:
``bash node scripts/db.js "UPDATE users SET data = jsonb_set(data, '{platforms}', ''::jsonb) WHERE id = 1" --write ``
6. Report
- [ ] Summary to user: "Registered on X platforms, Y alerts configured, Z career site alerts, Gmail filter created"
- [ ] List next actions: "Run
newsto check alerts when they arrive"
Initial platforms (ADR-003)
| Platform | URL | Google login | Notes | |---|---|---|---| | Otta | otta.com | Yes | Curated tech startups. Excellent remote + AI filtering | | Torre | torre.co | Yes | LATAM-focused with AI matching. Remote-first | | We Work Remotely | weworkremotely.com | No | Largest remote job board. Email + password | | Built In | builtin.com | Yes | Tech-focused with cities + remote. Serious companies | | Y Combinator | workatastartup.com | Yes | YC 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
targetsflow 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
applyortargets - 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 40 target companies (19 LATAM + 21 Argentina) with{name, url, sector}structure. See DATA.md for the canonical schema.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: galiprandi
- Source: galiprandi/job-seeker
- License: MIT
- Homepage: https://galiprandi.github.io/job-seeker/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.