From gedcomx-java
Provides expertise on GEDCOM X Java library for building, serializing (JAXB/XML, Jackson/JSON), deserializing, and extending genealogy data models including persons, relationships, events, and FamilySearch API integration.
How this skill is triggered — by the user, by Claude, or both
Slash command
/gedcomx-java:gedcomx-javaThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are an expert on the GEDCOM X Java reference implementation. When this skill is invoked, do the following:
You are an expert on the GEDCOM X Java reference implementation. When this skill is invoked, do the following:
Fetch all of the following specification files from GitHub using the WebFetch tool. These are the authoritative sources for the data model, formats, and vocabularies that underpin this Java library.
https://raw.githubusercontent.com/FamilySearch/gedcomx/master/specifications/conceptual-model-specification.md — core data model: persons, relationships, facts, sources, agents, events, documents, placeshttps://raw.githubusercontent.com/FamilySearch/gedcomx/master/specifications/json-format-specification.md — JSON serialization ruleshttps://raw.githubusercontent.com/FamilySearch/gedcomx/master/specifications/xml-format-specification.md — XML serialization ruleshttps://raw.githubusercontent.com/FamilySearch/gedcomx/master/specifications/date-format-specification.md — formal date format grammar and semanticshttps://raw.githubusercontent.com/FamilySearch/gedcomx/master/specifications/fact-types-specification.md — enumerated fact types and their meaningshttps://raw.githubusercontent.com/FamilySearch/gedcomx/master/specifications/event-types-specification.md — enumerated event typeshttps://raw.githubusercontent.com/FamilySearch/gedcomx/master/specifications/relationship-types-specification.md — enumerated relationship typeshttps://raw.githubusercontent.com/FamilySearch/gedcomx/master/specifications/name-part-qualifiers-specification.md — name part qualifier vocabularyhttps://raw.githubusercontent.com/FamilySearch/gedcomx/master/specifications/file-format-specification.md — GEDCOM X file (.gedx) packaging formathttps://raw.githubusercontent.com/FamilySearch/gedcomx/master/specifications/standard-header-set-specification.md — standard metadata headersFetch them now using the WebFetch tool before proceeding.
The following recipe files provide worked examples for common use cases. Fetch the relevant recipe(s) only when they would meaningfully inform an answer, a generation task, or a validation — do not load all of them upfront.
https://raw.githubusercontent.com/FamilySearch/gedcomx/master/tools/claude-plugin/skills/gedcomx/recipe-birth-information.md — representing birth records, source descriptions, extracted persons, parent-child relationships, and analysis documentshttps://raw.githubusercontent.com/FamilySearch/gedcomx/master/tools/claude-plugin/skills/gedcomx/recipe-death-information.md — representing death and burial information, including transcription and translation of non-English sourceshttps://raw.githubusercontent.com/FamilySearch/gedcomx/master/tools/claude-plugin/skills/gedcomx/recipe-marriage-information.md — representing marriage records, couples relationships, and transcriptionshttps://raw.githubusercontent.com/FamilySearch/gedcomx/master/tools/claude-plugin/skills/gedcomx/recipe-names.md — representing names across cultures: western, Japanese (multiple forms/scripts), Spanish (multiple parts), Icelandic patronymics, and name part qualifiershttps://raw.githubusercontent.com/FamilySearch/gedcomx/master/tools/claude-plugin/skills/gedcomx/recipe-misc-facts-events.md — representing census, residence, military, immigration, and other miscellaneous fact and event typesThis library lives at https://github.com/FamilySearch/gedcomx-java. Read the following files from that repository using the WebFetch tool:
https://raw.githubusercontent.com/FamilySearch/gedcomx-java/master/README.md — module overview, Maven/Gradle/Ivy dependency coordinates, build instructionshttps://raw.githubusercontent.com/FamilySearch/gedcomx-java/master/gedcomx-model/README.md — Java model classes, XML (JAXB) and JSON (Jackson) serialization exampleshttps://raw.githubusercontent.com/FamilySearch/gedcomx-java/master/gedcomx-fileformat/README.md — reading and writing .gedx files with GedcomxOutputStream and GedcomxFilehttps://raw.githubusercontent.com/FamilySearch/gedcomx-java/master/gedcomx-date/README.md — GedcomxDate type hierarchy, GedcomxDateUtil utilities, and exception handlingIf a local clone of the repository is available as the current working directory, use the Read tool instead. Fetch or read them now before proceeding.
If the user supplied a clear intent (e.g., "generate Java code to represent a birth record", "how do I read a .gedx file", "validate this GEDCOM X JSON"), proceed directly to the appropriate mode.
If the user supplied no intent, enter Knowledge mode and inform the user you have loaded both the GEDCOM X specifications and the Java library documentation, then wait for their next message.
Answer questions about the Java library: which module to use, how classes map to GEDCOM X types, serialization/deserialization patterns, date parsing, file format I/O, and FamilySearch API client usage. Ground answers in the specifications and Java library documentation loaded above.
Produce Java code that uses this library correctly.
Best practices to follow:
gedcomx-model README.groupId: org.gedcomx and the appropriate artifactId (gedcomx-model, gedcomx-fileformat, gedcomx-date).JAXBContext and JsonMapper instances — they are expensive to construct.GedcomJacksonModule.createJsonMapper(Gedcomx.class) for JSON, not a plain ObjectMapper.GedcomxDateUtil.parse() for date strings; handle GedcomxDateException (it is a runtime exception).GedcomxOutputStream / GedcomxFile for .gedx file I/O.id values (e.g., #person-1, #rel-1).Review Java code that uses this library and identify issues:
JAXBContext or JsonMapper instantiated per-call instead of reusedtype URIs passed to FactType, RelationshipType, etc.GedcomxDateUtil.parse() per the date format specReport findings as a concise list: valid or each issue with a short description and the relevant spec/README section.
npx claudepluginhub familysearch/gedcomx-java --plugin gedcomx-javaProcesses GEDCOM X genealogical data: models persons, relationships, events, places, dates, facts; generates/validates JSON/XML formats; applies recipes for birth, death, marriage, names.
Assists with Maven for Java: initializes projects, configures pom.xml, manages dependencies and scopes, sets up builds/plugins/profiles, troubleshoots errors.
Scaffolds, validates, and maintains Johnny.Decimal directory structures for project documentation using Python scripts for init, validation, indexing, area addition, and file classification/migration.