add-cave — cave-survey add-cave, Jaskiniowy-Kataster-Tatr-Zachodnich, community, cave-survey, ide skills, jaskinie, Claude Code, Cursor, Windsurf

v1.0.0
GitHub

About this Skill

Perfect for Geographic Information System (GIS) Agents needing cave registry management capabilities. Jaskiniowy Kataster Tatr | Tatra Cave Registry | Tatranský kataster jaskýň

# Core Topics

dlubom dlubom
[7]
[1]
Updated: 2/27/2026

Agent Capability Analysis

The add-cave skill by dlubom is an open-source community AI agent skill for Claude Code and other IDE workflows, helping agents execute tasks with better context, repeatability, and domain-specific guidance. Optimized for cave-survey, jaskinie.

Ideal Agent Persona

Perfect for Geographic Information System (GIS) Agents needing cave registry management capabilities.

Core Value

Empowers agents to manage cave data by adding new caves to the kataster project, utilizing JSONL file parsing and grep commands for efficient data retrieval, and handling ASCII equivalents for diacritics in cave names.

Capabilities Granted for add-cave

Registering newly discovered caves in the Tatra Cave Registry
Updating cave information in the kataster project
Parsing JSONL files for cave data analysis

! Prerequisites & Limits

  • Requires access to the PIG database
  • Dependent on grep command for data retrieval
  • Limited to ASCII character set for cave IDs
Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

add-cave

Install add-cave, an AI agent skill for AI agent workflows and automation. Works with Claude Code, Cursor, and Windsurf with one-command setup.

SKILL.md
Readonly

Add a new cave to the kataster project.

Arguments: $ARGUMENTS Expected format: <cave-id> "<valley/subdir/path>" [/path/to/source.zip] Example: /add-cave T.D-08.07 "Dolina Koscieliska/Organy" /tmp/MROZN.SRV.zip


Step 1 — Look up cave data in PIG database (single call)

The cave ID is ASCII — search for it directly with a single grep:

bash
1grep '"<cave-id>"' doc/jaskinie_polski_pig_dump.jsonl

Parse the returned JSON for:

  • name → CAVE_NAME (use ASCII equivalents for diacritics: ą→a, ć→c, ł→l, ó→o, ś→s, ź/ż→z, ę→e, ń→n)
  • latitude, longitude, absolute_height_masl → entrance coordinates
  • other_names, authors_of_study, editorial → for README and metadata

If not found by ID, try searching by partial ASCII name.

Step 2 — Convert coordinates to DMS (single Node.js call)

Run one Node.js command to produce both the DMS string and verify the location:

bash
1node -e " 2const lat = <latitude>; const lon = <longitude>; 3const toDMS = (v) => { 4 const d = Math.floor(v), m = Math.floor((v-d)*60); 5 const s = (((v-d)*60-m)*60).toFixed(3).padStart(6,'0'); 6 return d+':'+String(m).padStart(2,'0')+':'+s; 7}; 8console.log('N'+toDMS(lat)+' E'+toDMS(lon)); 9"

Step 3 — Determine directory path

Valley path from arguments (use ASCII, no diacritics in directory names): Jaskinie-poligony/<valley-path>/<Cave Name ASCII>/

Check if the valley subdirectory already exists. Match the style of neighbouring caves in that directory.

Step 4 — Handle source files

If a source ZIP was provided:

  1. Extract: unzip -o <source.zip> -d /tmp/<cave_ascii>_raw/
  2. List contents: find /tmp/<cave_ascii>_raw -not -path "*/__MACOSX*" -type f
  3. Read each survey file to understand its format (units, station naming, number of readings)

Step 5 — Create directory structure

bash
1mkdir -p "Jaskinie-poligony/<valley-path>/<Cave Name>/_RAW"

Copy source files to _RAW/ preserving original names (never rename raw files):

bash
1cp /tmp/<cave_ascii>_raw/<file> "Jaskinie-poligony/<valley-path>/<Cave Name>/_RAW/"

Step 6 — Create _RAW/README.md

Use Polish language. Required fields:

  • Źródło — origin / who provided the data
  • Autorzy pomiarów — survey authors (from PIG authors_of_study)
  • Data pomiaru — survey date (from PIG or source file headers)
  • Data pozyskania — date the file was obtained (from file timestamp if unknown)
  • Dodał — who added it to _RAW/ (ask user if unknown)
  • Kompletność — completeness notes (format, number of files, missing data)
  • ## Pliki — list every file in _RAW/ with a one-line description

Leave any genuinely unknown fields as nieznany / nieznane.

Step 7 — Determine station prefix

From cave ID T.X-NN.MM → prefix = tXNNMM (e.g., T.D-08.07 → td0807). Or use a short cave name abbreviation (e.g., MROZN) — check what style neighbouring caves use.

Step 8 — Create CAVE_M.SRV

#[
CAVE_ID         "T.X-NN.MM"
CAVE_NAME       "Cave Name ASCII"
UPDATE_DATE     <today YYYY-MM-DD>
PROJECT_NAME    "Kataster jaskin tatrzanskich"
COORDINATOR     "Dariusz Lubomski"
COORDINATOR_EMAIL "darek.lubomski@gmail.com"
REFERENCE_SYSTEM "WGS84"
COORDINATE_SYSTEM "UTM"
DATA_SOURCE     "Panstwowy Instytut Geologiczny"
LICENSE         "http://creativecommons.org/licenses/by-sa/2.0/"
#]

#prefix <PREFIX>
#flag   <STATION>   /<Cave Label>
#note   <STATION>   /<Cave Label>
#fix    <STATION>   E<lon-dms>  N<lat-dms>  <elevation>m

<STATION> is the entrance station name in the survey (e.g. td0807.1.3). If the entrance station is unknown, comment out all three lines and add a TODO note:

; #flag  ???  /<Cave Label>
; #note  ???  /<Cave Label>
; #fix   ???  E<lon-dms>  N<lat-dms>  <elevation>m  ; TODO: uzupelnic numer stacji wejscia

Step 9 — Create CAVE_S.SRV

#[
CAVE_ID         "T.X-NN.MM"
CAVE_NAME       "Cave Name ASCII"
SURVEY_ID       <PREFIX>
SURVEY_NAME     "<Cave Name ASCII>"
UPDATE_DATE     <today YYYY-MM-DD>
PROJECT_NAME    "Kataster jaskin tatrzanskich"
COORDINATOR     "Dariusz Lubomski"
COORDINATOR_EMAIL "darek.lubomski@gmail.com"
DATA_SOURCE     "<source or nieznane>"
LICENSE         "http://creativecommons.org/licenses/by-sa/2.0/"

TEAM "<authors from PIG or nieznany>"
INSTRUMENT "<instrument or nieznany>"
#]

#prefix <PREFIX>
#date <YYYY-MM-DD>
#units meters order=DAV
#units A=D V=D

;<Section description>

FROM    TO      DISTANCE    AZIMUTH     INCLINATION
0       1       4.61        293         2
1       2       2.06        303         7

;Splay shots (cross-sections)

0       -       5.52        51          8
0       -       5.47        265         76

SURVEY_ID and SURVEY_NAME are inside #[...] which is a block comment — Walls ignores it entirely. These fields are project convention only; omit them if unknown.

If the raw source file contains multiple readings per shot, note this and leave measurements as TODO:

; TODO: przetworzyc pomiary z _RAW/<filename>
; Plik zrodlowy zawiera pomiary potrojne — wymagaja usrednienia lub konwersji.
; Stacje numerowane od <first-station> — numer stacji otworu nieznany.

Step 10 — Update KATASTER.wpj

IMPORTANT: Ask the user to close Walls before this step. Walls overwrites the .wpj file when it saves, discarding any manually added entries.

Find the correct .BOOK parent in KATASTER.wpj. The path hierarchy corresponds to the directory structure:

  • Each .BOOK with .PATH <dir> builds the cumulative path from the project root
  • Surveys without their own .PATH inherit the parent book's path

Insert a new .BOOK block for the cave in the correct location:

.BOOK	<Cave Name ASCII>
.NAME	<SHORT_ID>
.PATH	<Cave Name ASCII>
.STATUS	8
.SURVEY	<Cave Name ASCII> meta
.NAME	<PREFIX>_M
.STATUS	8
.SURVEY	<Cave Name ASCII> pomiary
.NAME	<PREFIX>_S
.STATUS	8
.ENDBOOK

Use Edit tool with sufficient surrounding context to make the match unique. Verify with: grep -n "<PREFIX>" KATASTER.wpj

Step 11 — Summary

Report to the user:

  • Files created (list all paths)
  • Data filled in vs left as TODO/unknown
  • Any fields needing manual follow-up (entrance station, instrument, who added raw files)
  • Reminder: if Walls was open, it may overwrite the .wpj entry — check after reopening

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is add-cave?

Perfect for Geographic Information System (GIS) Agents needing cave registry management capabilities. Jaskiniowy Kataster Tatr | Tatra Cave Registry | Tatranský kataster jaskýň

How do I install add-cave?

Run the command: npx killer-skills add dlubom/Jaskiniowy-Kataster-Tatr-Zachodnich/add-cave. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for add-cave?

Key use cases include: Registering newly discovered caves in the Tatra Cave Registry, Updating cave information in the kataster project, Parsing JSONL files for cave data analysis.

Which IDEs are compatible with add-cave?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for add-cave?

Requires access to the PIG database. Dependent on grep command for data retrieval. Limited to ASCII character set for cave IDs.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add dlubom/Jaskiniowy-Kataster-Tatr-Zachodnich/add-cave. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use add-cave immediately in the current project.

Related Skills

Looking for an alternative to add-cave or another community skill for your workflow? Explore these related open-source skills.

View All

widget-generator

Logo of f
f

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

149.6k
0
AI

flags

Logo of vercel
vercel

flags is a Next.js feature management skill that enables developers to efficiently add or modify framework feature flags, streamlining React application development.

138.4k
0
Browser

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI