chore: untrack tracker CSV, scope scraper Bash permission, fix portal SKILL.md paths (#71)

- Untrack job_search_tracker.csv: it was both tracked and listed in
  .gitignore (same inconsistency class as the settings.local.json fix
  in #27). Users' personal rows risked merge conflicts on every pull;
  commands already create the file with the standard header when it
  is missing.
- Scope job-scraper's allowed-tools Bash entry (from #52) to
  'bun --version' and the portal-CLI invocation pattern, adopting the
  tighter form proposed in #65.
- Fix all five portal SKILL.mds documenting 'bun run skills/...'
  paths that do not resolve from the repo root ('.agents/skills/...'
  is correct) - now load-bearing since #52 wired /scrape to read
  these docs for CLI invocations. Surfaced in #66.
- Teach tools/lint_skills.py to glob-expand allowed-tools bun run
  targets so scoped wildcard permissions lint correctly.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Mads Lorentzen
2026-07-08 17:14:39 +02:00
committed by GitHub
co-authored by Claude Fable 5
parent 3c7a1cfdf5
commit a5ffcc39ff
8 changed files with 72 additions and 65 deletions
+11 -11
View File
@@ -19,7 +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
allowed-tools: Bash(bun run skills/jobbank-search/cli/src/cli.ts *) allowed-tools: Bash(bun run .agents/skills/jobbank-search/cli/src/cli.ts *)
--- ---
# Jobbank Search Skill # Jobbank Search Skill
@@ -43,7 +43,7 @@ Invoke this skill when the user wants to:
### Search jobs ### Search jobs
```bash ```bash
bun run skills/jobbank-search/cli/src/cli.ts search [flags] bun run .agents/skills/jobbank-search/cli/src/cli.ts search [flags]
``` ```
Key flags: Key flags:
@@ -66,7 +66,7 @@ Key flags:
### Full job detail ### Full job detail
```bash ```bash
bun run skills/jobbank-search/cli/src/cli.ts detail <id> [--format json|plain] bun run .agents/skills/jobbank-search/cli/src/cli.ts detail <id> [--format json|plain]
``` ```
`id` is the numeric job ID from `search` results. Fetches the job page and parses the embedded Schema.org `JobPosting` JSON-LD for structured data. `id` is the numeric job ID from `search` results. Fetches the job page and parses the embedded Schema.org `JobPosting` JSON-LD for structured data.
@@ -84,7 +84,7 @@ bun run skills/jobbank-search/cli/src/cli.ts detail <id> [--format json|plain]
```bash ```bash
# IT or Finance industry, Copenhagen or Aarhus # IT or Finance industry, Copenhagen or Aarhus
bun run skills/jobbank-search/cli/src/cli.ts search \ bun run .agents/skills/jobbank-search/cli/src/cli.ts search \
--industry 10331 --industry 10358 \ --industry 10331 --industry 10358 \
--location 2 --location 8 --location 2 --location 8
``` ```
@@ -98,7 +98,7 @@ bun run skills/jobbank-search/cli/src/cli.ts search \
### Find data scientist jobs in Copenhagen ### Find data scientist jobs in Copenhagen
```bash ```bash
bun run skills/jobbank-search/cli/src/cli.ts search \ bun run .agents/skills/jobbank-search/cli/src/cli.ts search \
--key "data scientist" \ --key "data scientist" \
--location 2 \ --location 2 \
--format table --format table
@@ -107,7 +107,7 @@ bun run skills/jobbank-search/cli/src/cli.ts search \
### Graduate trainee positions for new graduates ### Graduate trainee positions for new graduates
```bash ```bash
bun run skills/jobbank-search/cli/src/cli.ts search \ bun run .agents/skills/jobbank-search/cli/src/cli.ts search \
--type 6 \ --type 6 \
--suitable-for 2 \ --suitable-for 2 \
--format table --format table
@@ -116,7 +116,7 @@ bun run skills/jobbank-search/cli/src/cli.ts search \
### Remote IT software jobs ### Remote IT software jobs
```bash ```bash
bun run skills/jobbank-search/cli/src/cli.ts search \ bun run .agents/skills/jobbank-search/cli/src/cli.ts search \
--work-area 31 \ --work-area 31 \
--remote helt \ --remote helt \
--format table --format table
@@ -125,7 +125,7 @@ bun run skills/jobbank-search/cli/src/cli.ts search \
### Ph.d. and postdoc positions in research ### Ph.d. and postdoc positions in research
```bash ```bash
bun run skills/jobbank-search/cli/src/cli.ts search \ bun run .agents/skills/jobbank-search/cli/src/cli.ts search \
--type 12 \ --type 12 \
--industry 10442 \ --industry 10442 \
--format table --format table
@@ -134,7 +134,7 @@ bun run skills/jobbank-search/cli/src/cli.ts search \
### Recent full-time jobs posted since March 1 ### Recent full-time jobs posted since March 1
```bash ```bash
bun run skills/jobbank-search/cli/src/cli.ts search \ bun run .agents/skills/jobbank-search/cli/src/cli.ts search \
--type 3 \ --type 3 \
--since 2026-03-01 \ --since 2026-03-01 \
--format table --format table
@@ -143,13 +143,13 @@ bun run skills/jobbank-search/cli/src/cli.ts search \
### Full details for a specific job ### Full details for a specific job
```bash ```bash
bun run skills/jobbank-search/cli/src/cli.ts detail 1234567 --format plain bun run .agents/skills/jobbank-search/cli/src/cli.ts detail 1234567 --format plain
``` ```
### IT jobs in Aarhus or Copenhagen ### IT jobs in Aarhus or Copenhagen
```bash ```bash
bun run skills/jobbank-search/cli/src/cli.ts search \ bun run .agents/skills/jobbank-search/cli/src/cli.ts search \
--key developer \ --key developer \
--location 2 --location 8 \ --location 2 --location 8 \
--work-area 31 \ --work-area 31 \
+16 -16
View File
@@ -17,7 +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
allowed-tools: Bash(bun run skills/jobdanmark-search/cli/src/cli.ts *) allowed-tools: Bash(bun run .agents/skills/jobdanmark-search/cli/src/cli.ts *)
--- ---
# Jobdanmark Search Skill # Jobdanmark Search Skill
@@ -42,7 +42,7 @@ Invoke this skill when the user wants to:
### Search job listings ### Search job listings
```bash ```bash
bun run skills/jobdanmark-search/cli/src/cli.ts search [flags] bun run .agents/skills/jobdanmark-search/cli/src/cli.ts search [flags]
``` ```
Key flags: Key flags:
@@ -62,7 +62,7 @@ Key flags:
### Full job detail ### Full job detail
```bash ```bash
bun run skills/jobdanmark-search/cli/src/cli.ts detail <slug> [--format json|plain] bun run .agents/skills/jobdanmark-search/cli/src/cli.ts detail <slug> [--format json|plain]
``` ```
`slug` is the URL path segment returned as `slug` in `search` results (e.g. `it-chef-soeges-til-rah`). `slug` is the URL path segment returned as `slug` in `search` results (e.g. `it-chef-soeges-til-rah`).
@@ -71,7 +71,7 @@ Returns full structured job data from the job page's JSON-LD, including title, o
### List categories with live counts ### List categories with live counts
```bash ```bash
bun run skills/jobdanmark-search/cli/src/cli.ts categories [--format json|table|plain] bun run .agents/skills/jobdanmark-search/cli/src/cli.ts categories [--format json|table|plain]
``` ```
Returns all 10 job categories with current live job counts. Useful for giving the user an overview of the job market. Returns all 10 job categories with current live job counts. Useful for giving the user an overview of the job market.
@@ -79,7 +79,7 @@ Returns all 10 job categories with current live job counts. Useful for giving th
### Autocomplete job titles and categories ### Autocomplete job titles and categories
```bash ```bash
bun run skills/jobdanmark-search/cli/src/cli.ts autocomplete --query "<text>" [--limit <n>] bun run .agents/skills/jobdanmark-search/cli/src/cli.ts autocomplete --query "<text>" [--limit <n>]
``` ```
Use this to resolve search terms into precise job title IDs (`--jobtitle-id`) or category IDs (`--category`) for `search`. The `value` field in results is the ID to pass to `search`. Use this to resolve search terms into precise job title IDs (`--jobtitle-id`) or category IDs (`--category`) for `search`. The `value` field in results is the ID to pass to `search`.
@@ -87,7 +87,7 @@ Use this to resolve search terms into precise job title IDs (`--jobtitle-id`) or
### Suggest locations ### Suggest locations
```bash ```bash
bun run skills/jobdanmark-search/cli/src/cli.ts locations --query "<text>" [--limit <n>] bun run .agents/skills/jobdanmark-search/cli/src/cli.ts locations --query "<text>" [--limit <n>]
``` ```
Returns matching municipalities, zip codes, and regions. Use `value` from results as `--municipality` or `--zip` in `search`. Returns matching municipalities, zip codes, and regions. Use `value` from results as `--municipality` or `--zip` in `search`.
@@ -116,13 +116,13 @@ Returns matching municipalities, zip codes, and regions. Use `value` from result
**Resolve locations first.** Use `locations` to find the correct municipality name or zip code before passing them to `search`: **Resolve locations first.** Use `locations` to find the correct municipality name or zip code before passing them to `search`:
```bash ```bash
bun run skills/jobdanmark-search/cli/src/cli.ts locations --query "Aarhus" --format plain bun run .agents/skills/jobdanmark-search/cli/src/cli.ts locations --query "Aarhus" --format plain
``` ```
**Resolve job titles for precision.** Use `autocomplete` to get the exact job title ID when the user wants a specific role: **Resolve job titles for precision.** Use `autocomplete` to get the exact job title ID when the user wants a specific role:
```bash ```bash
bun run skills/jobdanmark-search/cli/src/cli.ts autocomplete --query "sygeplejerske" --format plain bun run .agents/skills/jobdanmark-search/cli/src/cli.ts autocomplete --query "sygeplejerske" --format plain
``` ```
**Natural workflow: `search` → `detail`.** **Natural workflow: `search` → `detail`.**
@@ -142,7 +142,7 @@ bun run skills/jobdanmark-search/cli/src/cli.ts autocomplete --query "sygeplejer
### IT jobs in Copenhagen ### IT jobs in Copenhagen
```bash ```bash
bun run skills/jobdanmark-search/cli/src/cli.ts search \ bun run .agents/skills/jobdanmark-search/cli/src/cli.ts search \
--category 227978 \ --category 227978 \
--municipality "København" \ --municipality "København" \
--job-type fuldtid \ --job-type fuldtid \
@@ -152,7 +152,7 @@ bun run skills/jobdanmark-search/cli/src/cli.ts search \
### Nursing jobs anywhere in Denmark ### Nursing jobs anywhere in Denmark
```bash ```bash
bun run skills/jobdanmark-search/cli/src/cli.ts search \ bun run .agents/skills/jobdanmark-search/cli/src/cli.ts search \
--text "sygeplejerske" \ --text "sygeplejerske" \
--category 227975 \ --category 227975 \
--format table --format table
@@ -161,7 +161,7 @@ bun run skills/jobdanmark-search/cli/src/cli.ts search \
### Student jobs in Aarhus ### Student jobs in Aarhus
```bash ```bash
bun run skills/jobdanmark-search/cli/src/cli.ts search \ bun run .agents/skills/jobdanmark-search/cli/src/cli.ts search \
--municipality "Aarhus" \ --municipality "Aarhus" \
--job-type studiejob \ --job-type studiejob \
--format table --format table
@@ -170,25 +170,25 @@ bun run skills/jobdanmark-search/cli/src/cli.ts search \
### What job categories are most active right now? ### What job categories are most active right now?
```bash ```bash
bun run skills/jobdanmark-search/cli/src/cli.ts categories --format table bun run .agents/skills/jobdanmark-search/cli/src/cli.ts categories --format table
``` ```
### Full details for a specific job posting ### Full details for a specific job posting
```bash ```bash
bun run skills/jobdanmark-search/cli/src/cli.ts detail it-chef-soeges-til-rah --format plain bun run .agents/skills/jobdanmark-search/cli/src/cli.ts detail it-chef-soeges-til-rah --format plain
``` ```
### Find jobs in zip code 8000 ### Find jobs in zip code 8000
```bash ```bash
bun run skills/jobdanmark-search/cli/src/cli.ts search --zip 8000 --format table bun run .agents/skills/jobdanmark-search/cli/src/cli.ts search --zip 8000 --format table
``` ```
### What electrician jobs are available? ### What electrician jobs are available?
```bash ```bash
bun run skills/jobdanmark-search/cli/src/cli.ts search \ bun run .agents/skills/jobdanmark-search/cli/src/cli.ts search \
--text "elektriker" \ --text "elektriker" \
--category 227973 \ --category 227973 \
--job-type "fuldtid,deltid" \ --job-type "fuldtid,deltid" \
@@ -198,7 +198,7 @@ bun run skills/jobdanmark-search/cli/src/cli.ts search \
### Apprentice positions in all of Denmark ### Apprentice positions in all of Denmark
```bash ```bash
bun run skills/jobdanmark-search/cli/src/cli.ts search \ bun run .agents/skills/jobdanmark-search/cli/src/cli.ts search \
--job-type elev \ --job-type elev \
--page 1 \ --page 1 \
--format table --format table
+10 -10
View File
@@ -17,7 +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
allowed-tools: Bash(bun run skills/jobindex-search/cli/src/cli.ts *) allowed-tools: Bash(bun run .agents/skills/jobindex-search/cli/src/cli.ts *)
--- ---
# Jobindex Search Skill # Jobindex Search Skill
@@ -40,7 +40,7 @@ Invoke this skill when the user wants to:
### Search job listings ### Search job listings
```bash ```bash
bun run skills/jobindex-search/cli/src/cli.ts search [flags] bun run .agents/skills/jobindex-search/cli/src/cli.ts search [flags]
``` ```
Key flags: Key flags:
@@ -56,7 +56,7 @@ Key flags:
### Fetch full job detail ### Fetch full job detail
```bash ```bash
bun run skills/jobindex-search/cli/src/cli.ts detail <id> [--format json|plain] bun run .agents/skills/jobindex-search/cli/src/cli.ts detail <id> [--format json|plain]
``` ```
`id` is the job ID from `search` results (e.g. `h1647303`). You may also pass the full Jobindex URL. Returns the full job description, deadline, employment type, hours, and apply link. `id` is the job ID from `search` results (e.g. `h1647303`). You may also pass the full Jobindex URL. Returns the full job description, deadline, employment type, hours, and apply link.
@@ -86,7 +86,7 @@ bun run skills/jobindex-search/cli/src/cli.ts detail <id> [--format json|plain]
### Find Python jobs posted in the last 7 days ### Find Python jobs posted in the last 7 days
```bash ```bash
bun run skills/jobindex-search/cli/src/cli.ts search \ bun run .agents/skills/jobindex-search/cli/src/cli.ts search \
--query python \ --query python \
--jobage 7 \ --jobage 7 \
--sort date \ --sort date \
@@ -96,7 +96,7 @@ bun run skills/jobindex-search/cli/src/cli.ts search \
### Data engineer jobs in Copenhagen ### Data engineer jobs in Copenhagen
```bash ```bash
bun run skills/jobindex-search/cli/src/cli.ts search \ bun run .agents/skills/jobindex-search/cli/src/cli.ts search \
--query "data engineer københavn" \ --query "data engineer københavn" \
--sort score \ --sort score \
--format table --format table
@@ -105,7 +105,7 @@ bun run skills/jobindex-search/cli/src/cli.ts search \
### Graphic designer jobs — all time, by relevance ### Graphic designer jobs — all time, by relevance
```bash ```bash
bun run skills/jobindex-search/cli/src/cli.ts search \ bun run .agents/skills/jobindex-search/cli/src/cli.ts search \
--query "grafisk designer" \ --query "grafisk designer" \
--limit 10 \ --limit 10 \
--format table --format table
@@ -114,7 +114,7 @@ bun run skills/jobindex-search/cli/src/cli.ts search \
### Full-stack developer jobs, page 2 ### Full-stack developer jobs, page 2
```bash ```bash
bun run skills/jobindex-search/cli/src/cli.ts search \ bun run .agents/skills/jobindex-search/cli/src/cli.ts search \
--query "full stack developer" \ --query "full stack developer" \
--page 2 \ --page 2 \
--format json --format json
@@ -123,7 +123,7 @@ bun run skills/jobindex-search/cli/src/cli.ts search \
### Jobs posted today across all sectors ### Jobs posted today across all sectors
```bash ```bash
bun run skills/jobindex-search/cli/src/cli.ts search \ bun run .agents/skills/jobindex-search/cli/src/cli.ts search \
--jobage 1 \ --jobage 1 \
--sort date \ --sort date \
--limit 20 \ --limit 20 \
@@ -133,13 +133,13 @@ bun run skills/jobindex-search/cli/src/cli.ts search \
### Get full details for a specific job ### Get full details for a specific job
```bash ```bash
bun run skills/jobindex-search/cli/src/cli.ts detail h1647303 --format plain bun run .agents/skills/jobindex-search/cli/src/cli.ts detail h1647303 --format plain
``` ```
### Marketing jobs in Aarhus ### Marketing jobs in Aarhus
```bash ```bash
bun run skills/jobindex-search/cli/src/cli.ts search \ bun run .agents/skills/jobindex-search/cli/src/cli.ts search \
--query "marketing aarhus" \ --query "marketing aarhus" \
--jobage 30 \ --jobage 30 \
--sort date \ --sort date \
+14 -14
View File
@@ -18,7 +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
allowed-tools: Bash(bun run skills/jobnet-search/cli/src/cli.ts *) allowed-tools: Bash(bun run .agents/skills/jobnet-search/cli/src/cli.ts *)
--- ---
# Jobnet-Search Skill # Jobnet-Search Skill
@@ -45,7 +45,7 @@ Invoke this skill when the user wants to:
### Search for job ads ### Search for job ads
```bash ```bash
bun run skills/jobnet-search/cli/src/cli.ts search [flags] bun run .agents/skills/jobnet-search/cli/src/cli.ts search [flags]
``` ```
Key flags: Key flags:
@@ -65,7 +65,7 @@ Key flags:
### Full job ad detail ### Full job ad detail
```bash ```bash
bun run skills/jobnet-search/cli/src/cli.ts detail <jobAdId> [--format json|plain] bun run .agents/skills/jobnet-search/cli/src/cli.ts detail <jobAdId> [--format json|plain]
``` ```
`jobAdId` is the UUID from `search` results (the `jobAdId` field). Returns the complete job `jobAdId` is the UUID from `search` results (the `jobAdId` field). Returns the complete job
@@ -74,7 +74,7 @@ description, contact persons, application deadline, employer details, and direct
### Search occupation types ### Search occupation types
```bash ```bash
bun run skills/jobnet-search/cli/src/cli.ts occupations --search-string <text> [--per-page <n>] bun run .agents/skills/jobnet-search/cli/src/cli.ts occupations --search-string <text> [--per-page <n>]
``` ```
Use this to discover ESCO occupation identifiers before passing them to `search` with Use this to discover ESCO occupation identifiers before passing them to `search` with
@@ -83,7 +83,7 @@ Use this to discover ESCO occupation identifiers before passing them to `search`
### Typeahead suggestions ### Typeahead suggestions
```bash ```bash
bun run skills/jobnet-search/cli/src/cli.ts suggestions --query <text> [--limit <n>] bun run .agents/skills/jobnet-search/cli/src/cli.ts suggestions --query <text> [--limit <n>]
``` ```
Returns Danish job title autocomplete strings. Useful for exploring valid Danish Returns Danish job title autocomplete strings. Useful for exploring valid Danish
@@ -97,8 +97,8 @@ job titles before constructing a `search` query.
term or ESCO identifier before running a `search`: term or ESCO identifier before running a `search`:
```bash ```bash
bun run skills/jobnet-search/cli/src/cli.ts suggestions --query "syge" bun run .agents/skills/jobnet-search/cli/src/cli.ts suggestions --query "syge"
bun run skills/jobnet-search/cli/src/cli.ts occupations --search-string "sygeplejerske" bun run .agents/skills/jobnet-search/cli/src/cli.ts occupations --search-string "sygeplejerske"
``` ```
**Natural workflow: `search` → `detail`.** **Natural workflow: `search` → `detail`.**
@@ -128,7 +128,7 @@ CLI outputs. Use `--page` + `--per-page` to iterate through large result sets.
### Jobs in Copenhagen area ### Jobs in Copenhagen area
```bash ```bash
bun run skills/jobnet-search/cli/src/cli.ts search \ bun run .agents/skills/jobnet-search/cli/src/cli.ts search \
--region HovedstadenOgBornholm \ --region HovedstadenOgBornholm \
--per-page 10 \ --per-page 10 \
--format table --format table
@@ -137,7 +137,7 @@ bun run skills/jobnet-search/cli/src/cli.ts search \
### Nurse jobs nationwide ### Nurse jobs nationwide
```bash ```bash
bun run skills/jobnet-search/cli/src/cli.ts search \ bun run .agents/skills/jobnet-search/cli/src/cli.ts search \
--search-string "sygeplejerske" \ --search-string "sygeplejerske" \
--work-hours FullTime \ --work-hours FullTime \
--duration Permanent \ --duration Permanent \
@@ -149,7 +149,7 @@ bun run skills/jobnet-search/cli/src/cli.ts search \
### IT jobs near Aarhus within 30km ### IT jobs near Aarhus within 30km
```bash ```bash
bun run skills/jobnet-search/cli/src/cli.ts search \ bun run .agents/skills/jobnet-search/cli/src/cli.ts search \
--search-string "udvikler" \ --search-string "udvikler" \
--postal-code 8000 \ --postal-code 8000 \
--radius 30 \ --radius 30 \
@@ -160,13 +160,13 @@ bun run skills/jobnet-search/cli/src/cli.ts search \
### Full details of a job ad ### Full details of a job ad
```bash ```bash
bun run skills/jobnet-search/cli/src/cli.ts detail 9ef43bce-d82b-4ea1-a098-7ff6520f99be --format plain bun run .agents/skills/jobnet-search/cli/src/cli.ts detail 9ef43bce-d82b-4ea1-a098-7ff6520f99be --format plain
``` ```
### Jobs sorted by application deadline (urgent first) ### Jobs sorted by application deadline (urgent first)
```bash ```bash
bun run skills/jobnet-search/cli/src/cli.ts search \ bun run .agents/skills/jobnet-search/cli/src/cli.ts search \
--search-string "pædagog" \ --search-string "pædagog" \
--region OevrigeSjaelland \ --region OevrigeSjaelland \
--order ApplicationDate \ --order ApplicationDate \
@@ -176,8 +176,8 @@ bun run skills/jobnet-search/cli/src/cli.ts search \
### Discover occupation terms ### Discover occupation terms
```bash ```bash
bun run skills/jobnet-search/cli/src/cli.ts suggestions --query "ingeniør" --limit 5 bun run .agents/skills/jobnet-search/cli/src/cli.ts suggestions --query "ingeniør" --limit 5
bun run skills/jobnet-search/cli/src/cli.ts occupations --search-string "lærer" --per-page 5 bun run .agents/skills/jobnet-search/cli/src/cli.ts occupations --search-string "lærer" --per-page 5
``` ```
--- ---
+7 -7
View File
@@ -11,7 +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
allowed-tools: Bash(bun run skills/linkedin-search/cli/src/cli.ts *) allowed-tools: Bash(bun run .agents/skills/linkedin-search/cli/src/cli.ts *)
--- ---
# LinkedIn Search Skill # LinkedIn Search Skill
@@ -42,7 +42,7 @@ Run it on your own responsibility.
### Search job listings ### Search job listings
```bash ```bash
bun run skills/linkedin-search/cli/src/cli.ts search --location "<place>" [flags] bun run .agents/skills/linkedin-search/cli/src/cli.ts search --location "<place>" [flags]
``` ```
Key flags: Key flags:
@@ -57,7 +57,7 @@ Key flags:
### Fetch full job detail ### Fetch full job detail
```bash ```bash
bun run skills/linkedin-search/cli/src/cli.ts detail <id|url> [--format json|plain] bun run .agents/skills/linkedin-search/cli/src/cli.ts detail <id|url> [--format json|plain]
``` ```
`id` is the job ID from `search` results (e.g. `4426311357`). You may also pass a full `id` is the job ID from `search` results (e.g. `4426311357`). You may also pass a full
@@ -68,16 +68,16 @@ seniority, employment type, job function, industries, and apply link.
```bash ```bash
# Data engineer roles in Bengaluru, last 30 days # Data engineer roles in Bengaluru, last 30 days
bun run skills/linkedin-search/cli/src/cli.ts search -q "data engineer" -l "Bengaluru, Karnataka, India" --jobage 30 --format table bun run .agents/skills/linkedin-search/cli/src/cli.ts search -q "data engineer" -l "Bengaluru, Karnataka, India" --jobage 30 --format table
# Product manager roles in Berlin, remote # Product manager roles in Berlin, remote
bun run skills/linkedin-search/cli/src/cli.ts search -q "product manager" -l "Berlin, Germany" --remote remote --format table bun run .agents/skills/linkedin-search/cli/src/cli.ts search -q "product manager" -l "Berlin, Germany" --remote remote --format table
# Any role, fully remote # Any role, fully remote
bun run skills/linkedin-search/cli/src/cli.ts search -q "paralegal" -l "Remote" --format table bun run .agents/skills/linkedin-search/cli/src/cli.ts search -q "paralegal" -l "Remote" --format table
# Full details for a specific job # Full details for a specific job
bun run skills/linkedin-search/cli/src/cli.ts detail 4426311357 --format plain bun run .agents/skills/linkedin-search/cli/src/cli.ts detail 4426311357 --format plain
``` ```
## Output formats ## Output formats
+1 -1
View File
@@ -3,7 +3,7 @@ name: job-scraper
description: > description: >
Scrapes Danish job sites for new positions matching your profile. Deduplicates across runs. Scrapes Danish job sites for new positions matching your profile. Deduplicates across runs.
Triggers on: job scrape, find jobs, search jobs, new jobs, job search, scrape jobs, /scrape Triggers on: job scrape, find jobs, search jobs, new jobs, job search, scrape jobs, /scrape
allowed-tools: Read, Write, Edit, Glob, Grep, Bash, WebFetch, WebSearch, Agent, AskUserQuestion allowed-tools: Read, Write, Edit, Glob, Grep, Bash(bun --version), Bash(bun run .agents/skills/*/cli/src/cli.ts *), WebFetch, WebSearch, Agent, AskUserQuestion
--- ---
# Job Scraper # Job Scraper
-1
View File
@@ -1 +0,0 @@
date,company,sector,role,role_type,channel,status,contact_person,fit_rating,notes,cv_file,cover_letter_file,source
1 date company sector role role_type channel status contact_person fit_rating notes cv_file cover_letter_file source
+13 -5
View File
@@ -55,11 +55,19 @@ def check_skill(path: Path) -> None:
allowed = data.get("allowed-tools", "") allowed = data.get("allowed-tools", "")
if isinstance(allowed, str): if isinstance(allowed, str):
for match in re.finditer(r"bun run ([^\s*)]+)", allowed): for match in re.finditer(r"bun run ([^\s)]+)", allowed):
target = match.group(1) target = match.group(1).rstrip("*")
candidates = [ROOT / target, ROOT / ".agents" / target] if not target or target.endswith("/"):
if not any(c.is_file() for c in candidates): continue
errors.append(f"{rel(path)}: allowed-tools references a missing file: {target}") # Targets may contain globs (e.g. .agents/skills/*/cli/src/cli.ts);
# require at least one existing file to match.
if "*" in target:
if not list(ROOT.glob(target)) and not list((ROOT / ".agents").glob(target)):
errors.append(f"{rel(path)}: allowed-tools glob matches no files: {target}")
else:
candidates = [ROOT / target, ROOT / ".agents" / target]
if not any(c.is_file() for c in candidates):
errors.append(f"{rel(path)}: allowed-tools references a missing file: {target}")
def check_command(path: Path) -> None: def check_command(path: Path) -> None: