skills/boliga/SKILL.md
Make sure to use this skill whenever the user mentions anything related to Danish property data, housing prices, real estate statistics, sold homes, property history, BBR data, or the Danish housing market — even if they don't mention boliga.dk explicitly. Also invoke this skill for questions about specific Danish addresses, zip codes, or municipalities in a housing context. Trigger phrases include: danish property, danish real estate, danish housing market, boliga, bolig til salg, solgte boliger, boligpriser, ejendomspriser, ejendom, ejerlejlighed, villa, rækkehus, sommerhus, fritidshus, andelsbolig, helårsgrund, landejendom, BBR data, bygningsregistret, property for sale denmark, sold homes denmark, house prices denmark, apartment prices copenhagen, aarhus housing, odense real estate, housing statistics denmark, quarterly price index denmark, most viewed properties denmark, property valuation denmark, ejendomsvurdering, salgspris, kvadratmeterpris, days on market, dage til salg, boligsøgning, address lookup denmark, property history denmark.
npx skillsauth add mikkelkrogsholm/skills boligaInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Access live Danish property data from the Boliga.dk public API. No authentication needed. Covers ~42,000 active listings, ~1.8 million sold records, and comprehensive BBR building data.
Invoke this skill when the user wants to:
change field in sold results)bun run skills/boliga/cli/src/cli.ts search [flags]
Key flags:
--zip-codes <codes> — e.g. 2100,2200--municipality <code> — e.g. 101 for Copenhagen--property-type <code> — 1=Villa, 2=Townhouse, 3=Apartment, 4=Holiday, 5=Co-op, 6=Residential plot, 7=Holiday plot, 8=Farm, 9=Other--price-min / --price-max — DKK--size-min / --size-max — m²--rooms <n>--build-year-min / --build-year-max--energy-class <classes> — e.g. a,b,c--sort <order> — date-d (default), views-d, price-a, price-d, sqmPrice-a, sqmPrice-d, daysForSale-d--page / --page-size / --limit--format json|table|plainbun run skills/boliga/cli/src/cli.ts sold [flags]
Same location/size/type filters as search, plus:
--sort — soldDate-d (default), price-d, price-a, sqmPrice-dDo not use
soldDate-a— the API returns HTTP 500 for ascending sold date sort.
When using
--zip-codeswithsold, filtering is done client-side (the API does not support it natively). The CLI fetches in batches of 100 and filters locally — it may be slower thansearchwith zip codes.
bun run skills/boliga/cli/src/cli.ts detail <id> [--format json|plain]
id is the numeric estate ID from search results. Returns full listing with agent info, images, connectivity data (4G/5G), and cadastral info.
bun run skills/boliga/cli/src/cli.ts property <ouId> [--format json|plain]
ouId is the ownership unit ID — stable across listing cycles, returned as ouId in all search/detail results. This endpoint returns everything about a physical address: current listing, BBR building data, all prior sales, all prior listings, and official valuations.
bun run skills/boliga/cli/src/cli.ts suggestions --query "<text>" [--area-limit 10] [--address-limit 10]
Use this to resolve an address, street, city, or zip code into structured IDs before passing them to other commands.
bun run skills/boliga/cli/src/cli.ts stats [--format json|plain]
Returns real-time counts: total for-sale listings, new today, price drops today, foreclosures, etc.
bun run skills/boliga/cli/src/cli.ts prices [--property-type <n>] [--area-type zip] [--area-id <zip>] [--limit <n>]
RKR (Realkreditrådet) quarterly data back to ~1992. Filter by property type and zip code area.
bun run skills/boliga/cli/src/cli.ts mostviewed [--page <n>] [--page-size <n>] [--limit <n>]
Resolve locations first. Use suggestions to find the correct zip code or municipality code before passing them to search or sold:
bun run skills/boliga/cli/src/cli.ts suggestions --query "Nørrebro" --format plain
Natural workflow: search → detail → property.
search to get a list of matching estates with their id and ouId.detail <id> to get the full listing with agent info and images.property <ouId> to get the complete address history (all prior sales, BBR data, valuations).Use --format table for comparisons, --format json for data processing, and --format plain for single-record detail views.
Pagination: --page-size controls server-side results per page. --limit caps what the CLI outputs regardless of page size. Use --page + --page-size to iterate through large result sets.
ouId vs id: id identifies a specific listing (changes each time a property is re-listed). ouId identifies the physical address and is stable — use it for property to get the full history.
bun run skills/boliga/cli/src/cli.ts search \
--zip-codes 2100 \
--sort date-d \
--page-size 10 \
--format table
bun run skills/boliga/cli/src/cli.ts search \
--municipality 101 \
--property-type 3 \
--price-max 3000000 \
--sort price-a \
--format table
bun run skills/boliga/cli/src/cli.ts sold \
--zip-codes 8000,8200,8210 \
--sort soldDate-d \
--page-size 10 \
--format table
# First find the ouId from search results, then:
bun run skills/boliga/cli/src/cli.ts property 1052179426 --format plain
bun run skills/boliga/cli/src/cli.ts prices --property-type 1 --limit 20 --format table
bun run skills/boliga/cli/src/cli.ts prices \
--property-type 3 \
--area-type zip \
--area-id 2200 \
--limit 8 \
--format table
bun run skills/boliga/cli/src/cli.ts stats --format plain
bun run skills/boliga/cli/src/cli.ts mostviewed --page-size 10 --format table
| Format | Best for |
|--------|----------|
| json | Default — programmatic use, data processing, passing IDs between commands |
| table | Quick human-readable overviews and comparisons |
| plain | Single-record detail views (detail, property, stats) |
All errors are written to stderr as { "error": "...", "code": "..." } and the process exits with code 1.
api.boliga.dk REST API — no credentials required.--page 1 is the first page).maxPage field in API responses is capped at 6 (display limitation); totalPages and totalCount are accurate.mostviewed returns a bare JSON array — no meta wrapper.change field in sold results is the % difference between asking price and sold price.https://i.boliga.org/dk/550x/{first4digits}/{id}.jpgdevelopment
Make sure to use this skill whenever the user asks about food waste deals, madspild tilbud, discounted groceries near expiry, yellow-label products, cheap food items, last-chance food, or reduced-price items at Danish supermarkets — even if they just mention wanting cheap groceries or food waste near a ZIP code or city without naming Salling or a specific store. Also use this skill when the user asks about food waste at Netto, føtex, Bilka, Salling, BR, or any Salling Group store. Trigger phrases include: madspild, food waste, food waste tilbud, madspild netto, madspild bilka, madspild føtex, cheap food, discounted groceries, near-expiry food, reduced price groceries, yellow label, salling food waste, salling group tilbud, find food waste near me, food waste deals Copenhagen, madspild i nærheden, tilbud på dagligvarer, cheap grocery deals, netto tilbud, føtex tilbud, bilka tilbud, where can I find cheap food, what food waste is available near ZIP, food waste near zip code.
testing
Make sure to use this skill whenever the user asks about public transport in Denmark, train schedules, bus times, metro departures, journey planning between Danish cities, or travel routes using Danish public transport — even if they just ask how to get from one place to another in Denmark without naming Rejseplanen specifically. Also use this skill when the user asks about departures or arrivals at a Danish station, next train/bus/metro from a stop, or wants to look up a Danish transit stop or station. Trigger phrases include: rejseplanen, offentlig transport, tog, bus, metro, s-tog, letbane, rejse, afgange, ankomster, køreplan, how to get from, next train, next bus, departures from, arrivals at, rejsetid, togplan, bustider, DSB, Movia, Midttrafik, Nordjyllands Trafikselskab, FynBus, Sydtrafik, offentlig transport Danmark, public transport Denmark, Danish train, Danish bus, hvornår kører, hvordan kommer jeg til, find station, find stop, disruptions, driftsforstyrrelser, forsinkelser, delays, nearby stops, nærmeste stationer, cykel, bike access, wheelchair, kørestol, stoppesteder i nærheden.
tools
Make sure to use this skill whenever the user asks about biomedical or life sciences literature, medical research, clinical trials, systematic reviews, meta-analyses, drug studies, or any topic that might be in PubMed or MEDLINE — even if they don't mention PubMed explicitly. Also invoke for questions about specific PMIDs, DOIs, journal articles, abstracts, or citation lookups. Trigger phrases include: pubmed, medline, ncbi, biomedical research, medical literature, clinical trial, systematic review, meta-analysis, randomized controlled trial, RCT, MeSH terms, PMID, biomedical journal, life sciences paper, find article by author, find study on, search medical literature, evidence-based medicine, drug efficacy study, cancer research papers, diabetes research, cardiovascular study, neurology research, infectious disease literature, genomics paper, CRISPR study, COVID-19 research, vaccine efficacy study, find papers on, what does the literature say about, research on treatment of, studies on, cite this paper, look up this PMID, what papers exist on, what is the evidence for, find me studies about, medical journal search, biomedical database, abstract for paper, find citation, citation lookup, journal article search.
tools
Make sure to use this skill whenever the user asks about medical preprints, clinical research papers, epidemiology studies, public health research, or any biomedical literature that may be available as a preprint — even if they don't mention medRxiv explicitly. Also invoke this skill when the user wants to find the latest research on a medical topic before journal publication, look up a specific paper by DOI, or browse available research categories. Trigger phrases include: medrxiv, medical preprint, clinical preprint, preprint server, clinical research, epidemiology study, public health paper, infectious disease research, oncology preprint, cardiology study, neurology research, COVID research, vaccine efficacy study, clinical trial results, biomedical literature, latest medical research, unpublished medical study, preprint doi lookup, find medical paper, search medrxiv, medical research database, health research paper, preprint search, medrxiv search, find clinical study, research on disease, find papers about treatment, what's the latest research on, new studies about, recent publications on, preprint about.