A Claude Code skill that guides full migrations from FileMaker Pro to modern open-source stacks.
Give it a FileMaker Database Design Report (DDR) XML export and it will parse every component, walk you through requirements discovery, recommend a tech stack, and produce a complete migration plan with SQL schema, API design, and UI spec.
- Claude Code CLI
- Python 3.6+ — used by the DDR XML parser (
scripts/parse_ddr.py)
Copy or symlink into your Claude Code skills directory:
# Personal skills (available in all projects)
cp -r migrate-filemaker ~/.claude/skills/migrate-filemaker
# Or project-local skills
cp -r migrate-filemaker .claude/skills/migrate-filemakerFrom Claude Code, provide a path to your DDR export:
/migrate-filemaker /path/to/ddr-export/
The input can be:
- A single
FMPReport type="Report"XML file - A directory containing one or more Report XMLs (multi-file DDR)
Multi-file solutions (e.g. UI file + data file) are auto-detected. All files are parsed and merged into unified specs.
The skill runs in four phases, each producing checkpoint files so work can resume across sessions:
Runs parse_ddr.py on the DDR XML and extracts 9 JSON spec files:
| File | Contents |
|---|---|
00_topology.json |
File inventory, cross-file references |
01_tables.json |
Tables with fields, calculated fields, summaries, globals |
02_table_occurrences.json |
Table occurrences (graph nodes) |
03_relationships.json |
Relationships with join predicates |
04_layouts.json |
Layouts with fields, portals, buttons |
05_scripts.json |
Scripts with parsed steps and parameters |
06_value_lists.json |
Value lists (custom and field-based) |
07_security.json |
Accounts and privilege sets |
08_custom_functions.json |
Custom functions with calculations |
Then analyzes the specs and produces an application summary with complexity scoring, data model overview, feature map, and red flags.
Interactive requirements gathering — asks about goals, users, UI preferences, technical constraints, and integrations. Adapts questions based on earlier answers.
Recommends a tech stack (database, backend, frontend, auth, deployment), architecture pattern, migration strategy, and feature priority order.
Generates the full migration plan:
| Output | Description |
|---|---|
03_migration_plan.md |
Phased plan with effort estimates and risk register |
04_database_schema.sql |
Production-ready SQL DDL |
05_api_design.md |
RESTful API endpoints grouped by domain |
06_ui_spec.md |
Frontend spec with page inventory, component mapping, form specs |
migrate-filemaker/
SKILL.md # Skill definition (instructions for Claude)
scripts/
parse_ddr.py # DDR XML parser (Python)
reference/
ddr-xml-reference.md # DDR XML structure documentation
filemaker-concepts.md # FileMaker-to-modern concept mapping
schema-translation-guide.md
script-translation-patterns.md
tech-stack-decision-matrix.md
templates/
00_app_summary.md # Output templates for each phase
01_discovery_answers.md
02_recommendations.md
03_migration_plan.md
04_database_schema.sql
05_api_design.md
06_ui_spec.md
The parser can also be run directly outside of Claude Code:
# Parse a single file
python3 scripts/parse_ddr.py /path/to/report.xml
# Parse a directory of DDR XMLs
python3 scripts/parse_ddr.py /path/to/ddr-export/
# Specify output directory
python3 scripts/parse_ddr.py /path/to/ddr-export/ /path/to/output/If no output directory is given, specs are written to a specs/ folder next to the input.
MIT