Install in Claude Code
Copygit clone --depth 1 https://github.com/MadsLorentzen/ai-job-search /tmp/jobindex-search && cp -r /tmp/jobindex-search/.agents/skills/jobindex-search ~/.claude/skills/jobindex-searchThen start a new Claude Code session; the skill loads automatically.
Definition
SKILL.md
# Jobindex Search Skill
Search live Danish job listings from Jobindex.dk. No authentication needed.
Covers thousands of job postings across all sectors, updated in real time.
## When to use this skill
Invoke this skill when the user wants to:
- Search for job openings in Denmark by keyword, job title, or technology
- Find jobs in a specific Danish city (use keyword with city name, e.g. `python aarhus`)
- Filter jobs by recency (posted today, last 7 days, last 30 days)
- Get the full description of a specific job listing
- Explore the Danish job market for a given profession or skill set
## Commands
### Search job listings
```bash
bun run .agents/skills/jobindex-search/cli/src/cli.ts search [flags]
```
Key flags:
- `--query <text>` / `-q <text>` — keyword search (job title, skill, company, city). **Required** for meaningful results.
- `--jobage <days>` — filter by posting age: `1` (today), `7`, `14`, `30`, or `9999` (all, default)
- `--sort <order>` — `score` (relevance, default) or `date` (newest first)
- `--page <n>` — page number (1-indexed, 20 results per page, fixed)
- `--limit <n>` — cap total results the CLI outputs (client-side)
- `--format json|table|plain`
> **Area note**: The Jobindex API does not support area filtering via params. To find jobs in a specific city, include the city in `--query` (e.g. `--query "data engineer københavn"` or `--query "python aarhus"`).
### Fetch full job detail
```bash
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.
---
## How to use effectively
**Always start with `search`.** Pass the job title, skill, or profession as `--query`. Combine with a city name in the query to narrow by location (e.g. `--query "frontend developer odense"`).
**Use `--jobage 7` or `--jobage 1` for fresh listings.** Without it, results include all historical postings.
**Use `--sort date` to see the most recently posted jobs first.** Default `score` sorts by relevance.
**Natural workflow: `search` → `detail`.**
1. Use `search` to find matching jobs and their `id` values.
2. Call `detail <id>` to get the full description, deadline, and apply link.
**Use `--format table` for quick scanning**, `--format json` for data processing, and `--format plain` for reading a single job's full details.
**Pagination**: The API always returns 20 results per page. Use `--page` to navigate pages. Use `--limit` to cap results across one page fetch.
---
## Usage examples
### Find Python jobs posted in the last 7 days
```bash
bun run .agents/skills/jobindex-search/cli/src/cli.ts search \
--query python \
--jobage 7 \
--sort date \
--format table
```
### Data engineer jobs in Copenhagen
```bash
bun run .agents/skills/jobindex-search/cli/src/cli.ts search \
--query "data engineer københavn" \
--sort score \
--format table
```
### Graphic designer jobs — all time, by relevance
```bash
bun run .agents/skills/jobindex-search/cli/src/cli.ts search \
--query "grafisk designer" \
--limit 10 \
--format table
```
### Full-stack developer jobs, page 2
```bash
bun run .agents/skills/jobindex-search/cli/src/cli.ts search \
--query "full stack developer" \
--page 2 \
--format json
```
### Jobs posted today across all sectors
```bash
bun run .agents/skills/jobindex-search/cli/src/cli.ts search \
--jobage 1 \
--sort date \
--limit 20 \
--format table
```
### Get full details for a specific job
```bash
bun run .agents/skills/jobindex-search/cli/src/cli.ts detail h1647303 --format plain
```
### Marketing jobs in Aarhus
```bash
bun run .agents/skills/jobindex-search/cli/src/cli.ts search \
--query "marketing aarhus" \
--jobage 30 \
--sort date \
--format table
```
---
## Output formats
| Format | Best for |
|--------|----------|
| `json` | Default — programmatic use, data processing, passing IDs to `detail` |
| `table` | Quick human-readable overview and scanning |
| `plain` | Reading a single job's full detail (`detail` command) |
All errors are written to **stderr** as `{ "error": "...", "code": "..." }` and the process exits with code `1`.
---
## Notes
- All data is from the public `jobindex.dk` API — no credentials required.
- Page size is fixed at 20 results per page (Jobindex API limitation).
- Area/region filtering via API params does not work — include city names in `--query` instead.
- `--jobage 9999` is the default and includes all postings regardless of age.
- Total count in `meta.total` uses Danish dot-thousands notation internally (e.g. `18.903`) — the CLI normalizes this to a plain integer.
- Job IDs are string-prefixed (e.g. `h1647303`) — pass them as-is to `detail`.More from this repository
freehire-searchSkill
>
jobbank-searchSkill
>
jobdanmark-searchSkill
>
jobnet-searchSkill
>
linkedin-searchSkill
>
gemini-research-expertSubagent
Use this agent when the user needs to perform research tasks, gather information from external sources, or investigate topics that require web searches and synthesis of information.
job-application-assistantSkill
>
scrapeSkill
>