From 37595187d611f961a78fa887eb71a3d53c736c85 Mon Sep 17 00:00:00 2001 From: Erik Pastor Rios Date: Wed, 15 Jul 2026 20:20:37 +0200 Subject: [PATCH] feat(job-scraper): per-portal enabled toggle honored by /scrape (#160) Implements the mechanism approved in discussion #93: enabled: true|false frontmatter on portal skills (missing key = enabled), honored during /scrape portal discovery, with skipped portals reported visibly in the run summary. --- .agents/skills/freehire-search/SKILL.md | 1 + .agents/skills/jobbank-search/SKILL.md | 1 + .agents/skills/jobdanmark-search/SKILL.md | 1 + .agents/skills/jobindex-search/SKILL.md | 1 + .agents/skills/jobnet-search/SKILL.md | 1 + .agents/skills/linkedin-search/SKILL.md | 1 + .claude/skills/job-scraper/SKILL.md | 11 +++++++++-- 7 files changed, 15 insertions(+), 2 deletions(-) diff --git a/.agents/skills/freehire-search/SKILL.md b/.agents/skills/freehire-search/SKILL.md index 28f3fe3..f71d042 100644 --- a/.agents/skills/freehire-search/SKILL.md +++ b/.agents/skills/freehire-search/SKILL.md @@ -11,6 +11,7 @@ description: > jobs, engineering vacancies, data/ML jobs, DevOps roles, remote developer jobs, "are there any jobs in ", look up this freehire job posting. context: fork +enabled: true # set to false to keep this portal installed but have /scrape skip it allowed-tools: Bash(bun run .agents/skills/freehire-search/cli/src/cli.ts *) --- diff --git a/.agents/skills/jobbank-search/SKILL.md b/.agents/skills/jobbank-search/SKILL.md index 8974540..b51eb5f 100644 --- a/.agents/skills/jobbank-search/SKILL.md +++ b/.agents/skills/jobbank-search/SKILL.md @@ -19,6 +19,7 @@ description: > jobbank søgning, find stilling, data scientist job, software developer job, projektleder stilling, konsulent job, data analyse job. context: fork +enabled: true # set to false to keep this portal installed but have /scrape skip it allowed-tools: Bash(bun run .agents/skills/jobbank-search/cli/src/cli.ts *) --- diff --git a/.agents/skills/jobdanmark-search/SKILL.md b/.agents/skills/jobdanmark-search/SKILL.md index 79af12d..9493f67 100644 --- a/.agents/skills/jobdanmark-search/SKILL.md +++ b/.agents/skills/jobdanmark-search/SKILL.md @@ -17,6 +17,7 @@ description: > work in denmark, employment denmark, job denmark, jobs near me denmark, apprentice denmark, internship denmark, part-time denmark, full-time denmark. context: fork +enabled: true # set to false to keep this portal installed but have /scrape skip it allowed-tools: Bash(bun run .agents/skills/jobdanmark-search/cli/src/cli.ts *) --- diff --git a/.agents/skills/jobindex-search/SKILL.md b/.agents/skills/jobindex-search/SKILL.md index 7558dee..3693ddf 100644 --- a/.agents/skills/jobindex-search/SKILL.md +++ b/.agents/skills/jobindex-search/SKILL.md @@ -17,6 +17,7 @@ description: > hiring denmark, job listings denmark, python jobs denmark, grafisk designer job, data engineer job, softwareudvikler job, full stack developer job danmark. context: fork +enabled: true # set to false to keep this portal installed but have /scrape skip it allowed-tools: Bash(bun run .agents/skills/jobindex-search/cli/src/cli.ts *) --- diff --git a/.agents/skills/jobnet-search/SKILL.md b/.agents/skills/jobnet-search/SKILL.md index 73d753b..dc816ac 100644 --- a/.agents/skills/jobnet-search/SKILL.md +++ b/.agents/skills/jobnet-search/SKILL.md @@ -18,6 +18,7 @@ description: > social worker job denmark, occupation search denmark, esco occupation, job deadline, ansøgningsfrist, søg efter job, full time job denmark, part time job denmark. context: fork +enabled: true # set to false to keep this portal installed but have /scrape skip it allowed-tools: Bash(bun run .agents/skills/jobnet-search/cli/src/cli.ts *) --- diff --git a/.agents/skills/linkedin-search/SKILL.md b/.agents/skills/linkedin-search/SKILL.md index 390f020..fc8134e 100644 --- a/.agents/skills/linkedin-search/SKILL.md +++ b/.agents/skills/linkedin-search/SKILL.md @@ -11,6 +11,7 @@ description: > positions open, remote jobs, "are there any X jobs in ", look up this job posting. context: fork +enabled: true # set to false to keep this portal installed but have /scrape skip it allowed-tools: Bash(bun run .agents/skills/linkedin-search/cli/src/cli.ts *) --- diff --git a/.claude/skills/job-scraper/SKILL.md b/.claude/skills/job-scraper/SKILL.md index 4ae0c14..8df3197 100644 --- a/.claude/skills/job-scraper/SKILL.md +++ b/.claude/skills/job-scraper/SKILL.md @@ -59,7 +59,9 @@ If this fails (bun not installed), skip to **1c (WebSearch fallback)** for all p Discover all installed portal CLI skills by reading every `SKILL.md` found under `.agents/skills/*/SKILL.md`. Each file documents that portal's exact CLI flags and usage examples. **Use each portal's own documented interface — do not guess flags.** This approach automatically includes any new portals added via `/add-portal` without requiring changes to this file. -For each installed portal skill: +**Honor the `enabled` toggle.** A portal is enabled unless its `SKILL.md` frontmatter sets `enabled: false` (a missing key means enabled — the default). Skip each disabled portal and record it for the Step 5 summary. A fork can thus keep a portal installed but sit out a run without deleting its directory. + +For each **enabled** portal skill: 1. Read its `SKILL.md` to find the correct `bun run …` invocation and supported flags. 2. Translate the query terms from `search-queries.md` into that portal's flag format (e.g. `--key`, `--search-string`, `--query`, filter codes — whatever the portal's SKILL.md specifies). @@ -152,13 +154,18 @@ specific person was found; these are search links, not results. ### Step 5: Present Results -Present new jobs in a table sorted by fit (high first): +Present new jobs in a table sorted by fit (high first). When Step 1b skipped +portals (`enabled: false`), report them with the `skipped (disabled):` line below +so opting one out stays visible rather than silent; omit the line when nothing +was skipped. ``` ## New Job Matches - YYYY-MM-DD Found X new positions (Y high, Z medium, W low match). +skipped (disabled): , + | # | Fit | Title | Company | Location | Deadline | URL | |---|-----|-------|---------|----------|----------|-----| | 1 | High | ... | ... | ... | ... | [Link](...) |