# Create Taginfo Project File

> Generate taginfo project JSON files for TILDA topics, extracting OSM tags from processing code.

- Skill: `fixmyberlin/create-taginfo-project-file` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add fixmyberlin/create-taginfo-project-file`
- Raw SKILL.md: https://api.skillmd.com/api/skills/fixmyberlin/create-taginfo-project-file/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: fixmyberlin (https://skillmd.com/u/fixmyberlin)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/fixmyberlin/create-taginfo-project-file

---


# Create Taginfo Project File

Generate valid [taginfo project files](https://wiki.openstreetmap.org/wiki/Taginfo/Projects) for TILDA topics by analyzing processing code to extract OSM tags.

## When to Use

- User wants to create taginfo project files for TILDA topics
- User mentions taginfo, OSM tag documentation, or taginfo project files

## Process

1. **Identify topic**: Read `processing/constants/topics.const.ts` or ask user which topic to process

2. **Read topic file**: `processing/topics/<topic>/<topic>.lua`
   - **SQL files are ignored** - they never introduce new tags
   - **TodoList files (`*_todoList.lua`) are ignored** - they are for QA purposes and don't represent the main processing logic
   - Check for README files that may document OSM tags

3. **Extract OSM tags**: See `references/tag-extraction.md` for detailed rules
   - Extract only raw OSM tags (before transformations)
   - Watch for `:left`, `:right`, `:both` variants - extract all used
   - Infer values from conditional checks and allowed value lists
   - **Exclude tags_cc** - Tags copied via `CopyTags()` with `tags_cc` are for data storage only, not filtering/processing logic

4. **Create tag entries**: For each tag, determine:
   - Whether to include `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 docs

5. **Generate JSON**: Use `assets/example.json` as template
   - Replace `<topic>` and `<timestamp>` placeholders
   - Timestamp format: `yyyymmddThhmmssZ` (e.g., `20260123T143022Z`)

6. **Save file**: `app/public/taginfo/tilda-<topic>.json` (create directory if needed)

## Validation

- JSON validates against taginfo schema (see `references/taginfo-schema.md`)
- Required fields present: `data_format`, `project.*`, `tags`
- Email format valid, URLs valid URIs
- Object types: `"node"`, `"way"`, `"relation"`, `"area"` only
- No wildcards in values, plain text descriptions
- Only raw OSM tags (no processed/result tags)

## References

- Schema details: `references/taginfo-schema.md`
- Tag extraction rules: `references/tag-extraction.md`
- Template: `assets/example.json`
- Taginfo docs: https://wiki.openstreetmap.org/wiki/Taginfo/Projects
- Topics: `processing/constants/topics.const.ts`

## TILDA Project Info

- Name: TILDA
- URL: https://tilda-geo.de/
- Contact: FixMyCity <tilda@fixmycity.de>
- Topics: roads_bikelanes, bikeroutes, bicycleParking, trafficSigns, boundaries, places, publicTransport, poiClassification, barriers, landuse, parking

