بنقرة واحدة
tilda-geo
يحتوي tilda-geo على 21 من skills المجمعة من FixMyBerlin، مع تغطية مهنية على مستوى المستودع وصفحات skill داخل الموقع.
Skills في هذا المستودع
Default FMC tech stack for geo-heavy React SPAs: Bun/Vite, React 19, TanStack, maps, styling, TypeScript editor/CLI alignment, tsconfig templates, browserslist client targets, Cursor MCP (Postgres, agent-browser), and when to pick sibling skills. Use when scaffolding a new app, evaluating libraries, setting up Bun install/global store or Knip, changing supported browsers or compat lint, setting up Cursor MCP, or making stack/architecture decisions on existing apps.
Premium orchestrator (Fable 5, Sonnet 5, or GPT-5.6 Sol) with Composer 2.5 workers. Two separate setups: Cursor IDE (subagents in .cursor/agents) or Claude Code (cursor-agent CLI + .claude/skills). Use when configuring orchestration; pick the guide for your host.
FMC finish-work workflow: run bun run check, fix failures, commit with a user-facing English message by default, and only show a draft when the user clearly did not want a commit. Use for finish work, run checks, wrap up, land changes, or create commits.
E2E testing and browser automation for TanStack Start apps (FMC/TILDA). Use @playwright/test for committed suites/CI; agent-browser MCP (skill tech-stack) for agent exploration; this skill for smoke tests, stubbed auth, map hooks, and quick /tmp scripts. Not for Next.js.
React 19 + TypeScript for FMC TanStack Start apps: typed components, events, generics, ref-as-prop, Compiler-first memoization, and useEffect discipline (naming, when not to use Effect, alternatives). Use when typing React components/hooks/events, or writing/reviewing useEffect, useEffectEvent, derived state, data-fetch effects, or eslint-plugin-react-hooks effect rules. Not for routing/server boundaries (see tanstack-start-* skills).
react-map-gl/maplibre patterns for FMC geo apps: declarative Source/Layer (never addSource/addLayer), MapProvider + useMap(), interactiveLayerIds, flat Source/Layer, map-loaded guard, window.__mainMap debug exposure, Map event handlers (not useEffect), URL map state, initialViewState, cursor, feature state, missing images. Use when building or reviewing Map components, layers, click/hover handlers, setFeatureState, map URL sync, or agent/test map inspection in TanStack Start / Vite apps. Reference implementation: tilda-geo/app.
Review and merge open Dependabot PRs in the current workspace repo: changelog triage, risk classification, CI verification, and rebase merge. Use for "/review dependabot" or similar — always scoped to the repo you have open. Weekly Bun/GitHub Actions/Docker bumps, grouped patches, security updates, semver-major upgrades.
Direct-to-S3 uploads in TanStack Start with @better-upload/server and @better-upload/client (presigned PUT, API route POST handlers, useUploadFiles/useUploadFile, S3 object helpers). Optional react-dropzone add-on only for multi-file drag-and-drop UX. Use for upload API routes, presigned S3, upload progress, post-upload DB persistence, or the dropzone component stack.
Better Auth on TanStack Start: betterAuth() config, plugins, adapters, sessions, and FMC route protection (layout beforeLoad for route UX, endpointAuth/guards for data boundaries, headers, tanstackStartCookies plugin, OAuth sign-in). Use for auth.ts, Better Auth, sign-in flows, session helpers, or secured routes/APIs.
TanStack Start and Router conventions for FixMyBerlin/FMC: app folder layout, thin routes, client/server file suffixes, loaders vs React Query, selective SSR, experimental server components (RSC), router search serialization (clean share URLs), and UI vs API route param/search validation. Use when scaffolding or refactoring app/src structure, working on TanStack Start routes, server functions, loaders, router.tsx parseSearch/stringifySearch, renderServerComponent, createCompositeComponent, validateSearch, or API routes under routes/api/.
Weekly end-user release notes from Git commits — German prose in docs/user-changelog.md, not a technical changelog. Reads commit subjects and bodies; diffs only when needed. SHA boundaries in section headings avoid duplicate work. Use for user changelog, weekly user summary, end-user release notes, or Nutzer-Zusammenfassung.
Guides agents working in tilda-geo through repo setup, sibling git worktrees, predev-managed Docker stacks, local dummy DB seeding, bun run processing, agent-browser map debugging, and tilda-static-data symlink rules. Use when starting work in this repo, setting up short work branches, running processing, touching static datasets, or debugging maps in the browser.
Two-remote workflow between public FixMyBerlin/tilda-geo (origin) and private FixMyBerlin/tilda-geo-private (private). Use when pushing experimental branches privately, syncing develop, or opening PRs back to the public repo.
Runs bounded implementation via cursor-agent CLI with Composer 2.5. Use when Fable has a clear plan and bulk edits, migrations, or multi-file work should not run on Fable tokens. Requires cursor-agent on PATH and Cursor subscription.
Independent read-only review via cursor-agent CLI (Composer 2.5, ask mode). Use for skeptical validation of diffs, plans, or claimed completion before Fable declares done. Requires cursor-agent on PATH.
FMC Prisma schema conventions: singular PascalCase models, camelCase fields, plural camelCase list relations, singular to-one relations, relation renames, Prisma Client regeneration, and migrations. Use when editing or reviewing schema.prisma in tilda-geo, trassenscout, or sibling FMC apps.
Add a new static dataset to tilda-static-data geojson and integrate it through tilda-geo. Requires a matching tilda-static-data worktree, relinked geojson symlink, inferred config, missing-data questions, and type-guided meta.ts.
Run local Docker processing in reference then fixed diffing mode to validate Lua/SQL topic changes via public.*_diff tables. From app/, use `processing` (interactive Clack on a TTY: show or run the compose line; agents/CI pass the full non-interactive flag set and capture stdout). Triggers on processing verification, bbox/topic-limited runs, or diff regression after editing processing/topics.
Rust/WASM geo for FixMyBerlin FMC geo-heavy React apps: when to leave Turf for WASM, crate selection (geo, rstar, fast_paths, osm-reader, i_overlay, …), wasm-bindgen boundaries, and Vite integration for SPAs and TanStack Start. Use when adding WASM geo crates, profiling slow Turf, OSM/routing/isochrones, spatial indexes, or wiring wasm-pack into Vite.
Generate taginfo project JSON files for TILDA topics, extracting OSM tags from processing code.
Author and review `topic-docs` YAML files with valid field combinations, refs, and value reuse patterns. Use when creating or editing `topic-docs/*.yaml`, `topic-docs/groups.yml`, or chapter references.