mirror of
https://github.com/MadsLorentzen/ai-job-search.git
synced 2026-09-17 08:36:25 +00:00
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.
This commit is contained in:
@@ -11,6 +11,7 @@ description: >
|
|||||||
jobs, engineering vacancies, data/ML jobs, DevOps roles, remote developer jobs,
|
jobs, engineering vacancies, data/ML jobs, DevOps roles, remote developer jobs,
|
||||||
"are there any <tech role> jobs in <place>", look up this freehire job posting.
|
"are there any <tech role> jobs in <place>", look up this freehire job posting.
|
||||||
context: fork
|
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 *)
|
allowed-tools: Bash(bun run .agents/skills/freehire-search/cli/src/cli.ts *)
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ description: >
|
|||||||
jobbank søgning, find stilling, data scientist job, software developer job,
|
jobbank søgning, find stilling, data scientist job, software developer job,
|
||||||
projektleder stilling, konsulent job, data analyse job.
|
projektleder stilling, konsulent job, data analyse job.
|
||||||
context: fork
|
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 *)
|
allowed-tools: Bash(bun run .agents/skills/jobbank-search/cli/src/cli.ts *)
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ description: >
|
|||||||
work in denmark, employment denmark, job denmark, jobs near me denmark,
|
work in denmark, employment denmark, job denmark, jobs near me denmark,
|
||||||
apprentice denmark, internship denmark, part-time denmark, full-time denmark.
|
apprentice denmark, internship denmark, part-time denmark, full-time denmark.
|
||||||
context: fork
|
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 *)
|
allowed-tools: Bash(bun run .agents/skills/jobdanmark-search/cli/src/cli.ts *)
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ description: >
|
|||||||
hiring denmark, job listings denmark, python jobs denmark, grafisk designer job,
|
hiring denmark, job listings denmark, python jobs denmark, grafisk designer job,
|
||||||
data engineer job, softwareudvikler job, full stack developer job danmark.
|
data engineer job, softwareudvikler job, full stack developer job danmark.
|
||||||
context: fork
|
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 *)
|
allowed-tools: Bash(bun run .agents/skills/jobindex-search/cli/src/cli.ts *)
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ description: >
|
|||||||
social worker job denmark, occupation search denmark, esco occupation, job deadline,
|
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.
|
ansøgningsfrist, søg efter job, full time job denmark, part time job denmark.
|
||||||
context: fork
|
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 *)
|
allowed-tools: Bash(bun run .agents/skills/jobnet-search/cli/src/cli.ts *)
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ description: >
|
|||||||
positions open, remote jobs, "are there any X jobs in <place>", look up this
|
positions open, remote jobs, "are there any X jobs in <place>", look up this
|
||||||
job posting.
|
job posting.
|
||||||
context: fork
|
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 *)
|
allowed-tools: Bash(bun run .agents/skills/linkedin-search/cli/src/cli.ts *)
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
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.
|
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).
|
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
|
### 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
|
## New Job Matches - YYYY-MM-DD
|
||||||
|
|
||||||
Found X new positions (Y high, Z medium, W low match).
|
Found X new positions (Y high, Z medium, W low match).
|
||||||
|
|
||||||
|
skipped (disabled): <portal-name>, <portal-name>
|
||||||
|
|
||||||
| # | Fit | Title | Company | Location | Deadline | URL |
|
| # | Fit | Title | Company | Location | Deadline | URL |
|
||||||
|---|-----|-------|---------|----------|----------|-----|
|
|---|-----|-------|---------|----------|----------|-----|
|
||||||
| 1 | High | ... | ... | ... | ... | [Link](...) |
|
| 1 | High | ... | ... | ... | ... | [Link](...) |
|
||||||
|
|||||||
Reference in New Issue
Block a user