.cursor/skills/create-taginfo-project-file/SKILL.md
Generate taginfo project JSON files for TILDA topics, extracting OSM tags from processing code.
npx skillsauth add FixMyBerlin/tilda-geo create-taginfo-project-fileInstall 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.
Generate valid taginfo project files for TILDA topics by analyzing processing code to extract OSM tags.
Identify topic: Read processing/constants/topics.const.ts or ask user which topic to process
Read topic file: processing/topics/<topic>/<topic>.lua
*_todoList.lua) are ignored - they are for QA purposes and don't represent the main processing logicExtract OSM tags: See references/tag-extraction.md for detailed rules
:left, :right, :both variants - extract all usedCopyTags() with tags_cc are for data storage only, not filtering/processing logicCreate tag entries: For each tag, determine:
value (specific values only) or omit (all values)object_types from processing functions (see references/tag-extraction.md)description focusing on TILDA's use case, not general OSM docsGenerate JSON: Use assets/example.json as template
<topic> and <timestamp> placeholdersyyyymmddThhmmssZ (e.g., 20260123T143022Z)Save file: app/public/taginfo/tilda-<topic>.json (create directory if needed)
references/taginfo-schema.md)data_format, project.*, tags"node", "way", "relation", "area" onlyreferences/taginfo-schema.mdreferences/tag-extraction.mdassets/example.jsonprocessing/constants/topics.const.tstools
Build type-safe global state in React with Zustand. Supports TypeScript, persist middleware, devtools, slices pattern, and Next.js SSR with hydration handling. Prevents 6 documented errors. Use when setting up React state, migrating from Redux/Context, or troubleshooting hydration errors, TypeScript inference, infinite render loops, or persist race conditions.
testing
Run local Docker processing in reference then fixed diffing mode to validate Lua/SQL topic changes via public.*_diff tables. From app/, use `processing-generate-command` to print a copy-paste shell line (interactive Clack on a TTY); agents/CI pass the full non-interactive flag set (see --help). Triggers on processing verification, bbox/topic-limited runs, or diff regression after editing processing/topics.
development
Migrate Next.js apps to TanStack Start. Covers setup (Vinxi/Vite), data handling with route loaders, converting Server Actions to Server Functions, API routes, and optional Server Component patterns. Use when migrating from Next.js to TanStack Start, setting up TanStack Start, or refactoring server actions, getServerSideProps, getStaticProps, or API routes.
development
React useEffect best practices from official docs and naming discipline. Use when writing/reviewing useEffect, naming effects, useState for derived values, data fetching, or state synchronization. Strong recommendation to name every effect; teaches when NOT to use Effect and better alternatives.