add-static-dataset — community add-static-dataset, tilda-geo, community, ide skills, Claude Code, Cursor, Windsurf

v1.0.0
GitHub

About this Skill

Ideal for Geographic Information System (GIS) Agents requiring seamless integration of static GeoJSON datasets. TILDA provides access to bicycle and parking infrastructure data from OpenStreetMap (OSM) for administrative staff.

FixMyBerlin FixMyBerlin
[0]
[0]
Updated: 3/5/2026

Agent Capability Analysis

The add-static-dataset skill by FixMyBerlin 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.

Ideal Agent Persona

Ideal for Geographic Information System (GIS) Agents requiring seamless integration of static GeoJSON datasets.

Core Value

Empowers agents to efficiently manage and add new static dataset folders to the `app/scripts/StaticDatasets/geojson` directory, utilizing GeoJSON file formats and symlinks for streamlined data access and analysis.

Capabilities Granted for add-static-dataset

Adding new administrative region datasets
Integrating custom GeoJSON files for data visualization
Uploading static datasets for urban planning analysis

! Prerequisites & Limits

  • Requires user-provided group folder and sub-folder names
  • Limited to GeoJSON file format
  • Dependent on access to the `app/scripts/StaticDatasets/geojson` directory
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-static-dataset

Install add-static-dataset, 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 Static Dataset

Adds a new static dataset folder to app/scripts/StaticDatasets/geojson. The /geojson folder is a symlink.

When to Use

  • User wants to add a new GeoJSON dataset
  • User mentions adding static data, geojson files, "uploads", or datasets
  • User provides a geojson file path and wants it integrated

Required Information

Extract from user prompt or ask if missing:

  1. Group folder (e.g., region-berlin, region-bb) - parent folder name
  2. Sub-folder name (e.g., berlin-bezirke) - dataset folder name (must be valid slug). Must include region/group prefix: for region-berlin use berlin-<name>, not just <name>
  3. GeoJSON file path - absolute path to source file on disk
  4. Regions - array of region slugs (e.g., ['infravelo'], ['berlin'])
  5. Optional: transformation needs, style preferences, category, attribution, license

Process

1. Create Folder Structure

bash
1app/scripts/StaticDatasets/geojson/<GROUP_FOLDER>/<SUB_FOLDER>/

Important: /geojson is a symlink. Create folders in app/scripts/StaticDatasets/geojson/ path.

Create directory if group folder doesn't exist. Ensure sub-folder name follows naming convention (see Required Information above).

2. Move GeoJSON File

  • Move source file to <SUB_FOLDER>/<FILENAME>.geojson
  • Run prettier from app/ directory (prettier config is in app/): cd app && bunx prettier --write scripts/StaticDatasets/geojson/<GROUP_FOLDER>/<SUB_FOLDER>/<FILENAME>.geojson

3. Create transform.ts (if needed)

Only if transformation required. Use helpers from app/scripts/StaticDatasets/geojson/_utils:

  • transformUtils.ts - property transformations
  • defaultLayerStyles.ts - default styling helpers
  • translateUtils.ts - translation helpers

Example:

typescript
1import { FeatureCollection } from "geojson"; 2 3export const transform = (data: FeatureCollection) => { 4 // Use helper functions from _utils when possible 5 return data; 6};

4. Create meta.ts

Critical: Research similar datasets in same group folder first.

Before writing meta.ts:

  1. List all datasets in <GROUP_FOLDER>/ directory
  2. Read 2-3 similar meta.ts files (similar geometry type, similar purpose)
  3. Infer patterns:
    • Category from similar datasets
    • Attribution patterns
    • License conventions
    • Style patterns
    • Inspector settings
  4. If unclear, ask user to confirm or provide missing data

Required fields (from app/scripts/StaticDatasets/types.ts):

  • regions: RegionSlug[] (required)
  • public: boolean (required)
  • dataSourceType: 'local' (required)
  • configs: Array with at least one config (required)

Config required fields:

  • name: string
  • attributionHtml: string
  • inspector: { enabled: boolean, ... } or { enabled: false }
  • layers: Layer[] (required)

Config optional fields:

  • category: StaticDatasetCategoryKey | null
  • updatedAt: string
  • description: string
  • dataSourceMarkdown: string
  • licence: License type (see types.ts)
  • licenceOsmCompatible: 'licence' | 'waiver' | 'no'
  • legends: Legend[]

Style/Legend: If not specified, make best guess:

  • Use defaultLayerStyles() from _utils/defaultLayerStyles.ts for simple cases
  • For polygons: fill + outline
  • For lines: colored line with width
  • For points: circle markers
  • Create appropriate legend entries

Example structure:

typescript
1import { MetaData } from "../../../types"; 2import { defaultLayerStyles } from "../../_utils/defaultLayerStyles"; 3 4export const data: MetaData = { 5 regions: ["infravelo"], // From user or infer from group folder 6 public: true, 7 dataSourceType: "local", 8 configs: [ 9 { 10 name: "Dataset Name", 11 category: "berlin/misc", // Infer from similar datasets 12 attributionHtml: "Source Name", // Ask if unclear 13 licence: "DL-DE/ZERO-2.0", // Infer from similar datasets 14 inspector: { enabled: false }, // Default unless specified 15 layers: defaultLayerStyles(), // Or custom layers 16 }, 17 ], 18};

5. Verify Command

Check app/scripts/StaticDatasets/updateStaticDatasets.ts for correct params:

  • --folder-filter=<SUB_FOLDER_NAME> (matches full path, so sub-folder name works)
  • --env=dev (or staging/production, required)

One-click command (replace <SUB_FOLDER_NAME> with actual folder name):

bash
1bun --env-file=.env ./scripts/StaticDatasets/updateStaticDatasets.ts --folder-filter=<SUB_FOLDER_NAME> --env=dev

Note: updateDownloadSources.ts is for WFS downloads (requires downloadConfig.ts). Use updateStaticDatasets.ts for local GeoJSON files.

6. Verify TypeScript Compilation

Always run this after creating or modifying TypeScript files (meta.ts, transform.ts, or any imports):

bash
1npm run type-check:deploy

This temporarily removes the geojson symlink, runs TypeScript type-checking, and restores the symlink. It simulates the Docker build environment where symlinks aren't available, ensuring your code will compile correctly during builds.

Validation

Before completing:

  1. ✅ Folder structure created
  2. ✅ GeoJSON file moved and prettier run
  3. ✅ transform.ts created only if needed
  4. ✅ meta.ts follows type structure (check with TypeScript)
  5. ✅ Similar datasets in group folder reviewed for patterns
  6. ✅ Command verified and provided as one-click action
  7. npm run type-check:deploy run successfully (see Step 6)

References

  • Types: app/scripts/StaticDatasets/types.ts
  • Examples: app/scripts/StaticDatasets/geojson/region-berlin/*/meta.ts
  • Utils: app/scripts/StaticDatasets/geojson/_utils/
  • Docs: docs/Features-Parameter-Deeplinks.md, docs/Regional-Masks.md
  • Update script: app/scripts/StaticDatasets/updateStaticDatasets.ts

FAQ & Installation Steps

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

? Frequently Asked Questions

What is add-static-dataset?

Ideal for Geographic Information System (GIS) Agents requiring seamless integration of static GeoJSON datasets. TILDA provides access to bicycle and parking infrastructure data from OpenStreetMap (OSM) for administrative staff.

How do I install add-static-dataset?

Run the command: npx killer-skills add FixMyBerlin/tilda-geo/add-static-dataset. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for add-static-dataset?

Key use cases include: Adding new administrative region datasets, Integrating custom GeoJSON files for data visualization, Uploading static datasets for urban planning analysis.

Which IDEs are compatible with add-static-dataset?

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-static-dataset?

Requires user-provided group folder and sub-folder names. Limited to GeoJSON file format. Dependent on access to the `app/scripts/StaticDatasets/geojson` directory.

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 FixMyBerlin/tilda-geo/add-static-dataset. 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-static-dataset immediately in the current project.

Related Skills

Looking for an alternative to add-static-dataset 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