import-format-add

Adds native importers for genealogy file formats to Släktforskning via Tauri bytes loading and dual-path/-bytes variants.

2|Updated Apr 2, 2026
One-click install
npx skills add https://github.com/jonaseck2/slaktforskning --skill import-format-add
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: import-format-add
Source: https://github.com/jonaseck2/slaktforskning/tree/main/.claude/skills/import-format-add
Command: npx skills add https://github.com/jonaseck2/slaktforskning --skill import-format-add

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It helps you extend Släktforskning by adding a native importer when users have genealogy data from another desktop app, so their files can be imported directly instead of requiring an intermediate GEDCOM export.

Core Features & Use Cases

  • Native importer blueprint for new formats: Defines the end-to-end wiring (picker, bytes-based loading, transform pipeline, UI tab, and MCP discovery) so the new format behaves like existing GEDCOM/Genney/RootsMagic/Gramps/Holger imports.
  • Format-shape driven implementation guidance: Recommends diffing against the closest existing importer shape (SQLite-like vs XML-like vs wrapped bundles) to minimize guesswork and match Släktforskning’s import conventions.
  • Correct Tauri + renderer integration: Covers using invoke('fs_read_bytes_base64') for renderer-side file loading, implementing both file-path and bytes-based importer variants, and ensuring fireDataChanged() refreshes the UI.
  • Schema discovery and transform correctness: Provides concrete steps to inspect real samples (e.g., SQLite .schema, XML scanning) and mandates multi-phase entity creation, event/person/place linkage, citations, media, and transaction handling.
  • Safety against data loss: Includes guardrails to avoid silent drops by reporting skipped/unrepresentable data in summaries or notes.

Quick Start

Add a native importer for your genealogy format by creating the expected src/import/<format>/ structure, wiring the SKILL.md-driven picker and bytes-based run flow, and implementing a transform that imports persons, relationships, events, citations, and media while updating progress and summaries.

Frequently Asked Questions about import-format-add

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a native genealogy file importer for a custom SQLite or XML format?

You add a native importer by creating an import module that inspects the SQLite schema or XML structure, builds a multi-phase transform pipeline, and wires it into the UI and MCP via the expected directory structure.

How do I load file bytes in a Tauri renderer for a custom import pipeline?

To load file bytes in a Tauri renderer, you call invoke('fs_read_bytes_base64') to fetch the data, enabling a bytes-based importer variant that reads files directly without intermediate exports.

Does this importer architecture support both SQLite-like and XML-like genealogy formats?

Yes, the importer architecture supports both SQLite-like and XML-like genealogy formats, including optional wrapped bundles, by recommending you diff against the closest existing importer shape to match conventions.

How do I handle skipped or unrepresentable data when transforming genealogy records?

To handle skipped data when transforming genealogy records, you implement guardrails that report unrepresentable data in summaries or notes, ensuring transaction-safe writes prevent silent drops during the import.

What is the best way to structure a multi-phase transform for importing genealogy data?

The best way to structure a multi-phase transform is to sequence entity creation, event-person-place linkage, citations, and media handling, using deterministic transaction-safe writes with fixture-based tests.

Can I use this to import genealogy data directly from another desktop app without GEDCOM?

Yes, you can import genealogy data directly from another desktop app without GEDCOM by adding a native importer that reads the foreign app's export format directly through the transform pipeline.