fvtt-v13-migration

Converts Foundry VTT modules from V12 to V13 using ES modules and DataModel.

1|Updated Jan 4, 2026
One-click install
npx skills add https://github.com/ImproperSubset/hh-agentics --skill fvtt-v13-migration
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fvtt-v13-migration
Source: https://github.com/ImproperSubset/hh-agentics/tree/main/fvtt-dev/skills/fvtt-v13-migration
Command: npx skills add https://github.com/ImproperSubset/hh-agentics --skill fvtt-v13-migration

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill helps Foundry VTT developers migrate modules and systems from V12 (or earlier) to V13 by converting to ES modules, updating data access patterns, and aligning with V13 APIs.

Core Features & Use Cases

  • Migration guidance: Step-by-step guidance to convert CommonJS to ESM, switch actor.data.data to actor.system, and update manifest settings.
  • DataModel adoption: Encourages using foundry.abstract.DataModel for data structures and demonstrates migration strategies.
  • Use Case: Suppose you maintain a module with V12 code; this skill provides a structured migration plan and examples to implement the changes safely.

Quick Start

Apply the migration guide to a sample module by converting its codebase to ES modules, updating data access to .system, and adjusting the manifest to declare esmodules.

Frequently Asked Questions about fvtt-v13-migration

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

FAQPage Schema
How do I migrate Foundry VTT modules from V12 to V13?

Migrate Foundry VTT modules to V13 by converting CommonJS to ES modules, replacing actor.data.data with actor.system, adopting foundry.abstract.DataModel, updating hook signatures, and configuring the module.json manifest to declare esmodules for V13 compatibility.

What changes are needed for Foundry V13 data access patterns?

Foundry V13 data access patterns require switching from actor.data.data to actor.system. Additionally, developers should adopt foundry.abstract.DataModel for defining data structures and apply proper i18n practices to align with the updated V13 APIs.

Do I need to convert CommonJS to ESM for Foundry V13?

Yes, converting CommonJS to ESM is required for Foundry V13. You must update your codebase to use ES modules and adjust the module.json manifest to declare esmodules instead of standard scripts for successful V13 compatibility.

How do I configure module.json for Foundry V13?

Configure module.json for Foundry V13 by updating the manifest to declare esmodules. This ensures the system recognizes your ES module structure and aligns with the V13 API requirements for proper module loading.

Why do my Foundry VTT hook signatures break after upgrading to V13?

Foundry VTT hook signatures break after upgrading to V13 because the API updated its data models and access patterns. You must update hook signatures to align with V13 APIs, replacing deprecated data paths with the actor.system structure.

Can I use foundry.abstract.DataModel when updating modules for V13?

Yes, adopting foundry.abstract.DataModel is recommended when updating modules for V13. It provides a structured approach for defining data structures and ensures your module aligns with the modern V13 data architecture requirements.